وِکیٖپیٖڈیا 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.22 first-letter میڈیا خاص کَتھ رُکُن رُکُن کَتھ وِکیٖپیٖڈیا وِکیٖپیٖڈیا کَتھ فَیِل فَیِل کَتھ میٖڈیاوِکی میٖڈیاوِکی کَتھ فرما فرما کَتھ مَدَتھ مَدَتھ کَتھ زٲژ زٲژ کَتھ TimedText TimedText talk Module Module talk Event Event talk سَلمان خان 0 4775 153461 147592 2026-10-07T09:19:24Z آیات محراج 11062 153461 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = شٔریٖکہِ حَیات، P973 | data1 = [[فَیِل:Salman Khan signature.svg|125px]] | customheader1 = دستخط }} سلمان سلیم خان (پیدٲیشی ناو: عبدالرشید سلیم سلمان خان، 27 دَسَمبَر 1965) چھُ اَکھ ہِندوستٲنؠ اداکار، فِلِم پروڈیوسر، تہٕ ٹیلی وِجَن شخصیت یُس زیٛادٕ تر ہندی فلمَن مَنٛز کٲم کران چھُ۔ ترٛؠو ؤرِیو کھۄتہٕ زِیٛادٕ وقتَس پؠٹھ پھٔہلِتھ پیشورانہٕ زِندگی مَنٛز چھِ أمہِ سٕنٛدؠن ایوارڈَن مَنٛز بطور فِلِم پروڈیوسر زٕ نیشنل فِلِم ایوارڈ تہٕ بطورِ اداکار زٕ فِلِم فِیَر ایوارڈ شٲمِل۔ میڈیاہَس مَنٛز چھُ أمِس ہِندوستٲنؠ سنیما ہُنٛد ساروٕے کھۄتہٕ مشہوٗر تہٕ تجارتی لحاظٕ کامیاب اداکارَن مَنٛز اَکھ ماننہٕ یِوان۔ فوربسن کٔر سُہ 2015 تہٕ 2018 ہَس مَنٛز دُنؠ‌یاہٕک ساروٕے کھۄتہٕ زِیٛادٕ معاوضہٕ نِنہٕ والؠن مشہوٗر شخصیاتن ہٕنٛدِس فہرستس مَنٛز شٲمِل۔<ref>{{cite news|title=Box Office Special Features – Highest Grosser of The Year|url=https://www.bollywoodhungama.com/news/box-office-special-features/highest-grosser-year-1990-2020-salman-khan-aamir-khan-shah-rukh-khan-dominate-hrithik-roshan-climbs-ladder/|website=[[Bollywood Hungama]]|date=29 December 2020|access-date=3 August 2021}}</ref> == فِلِموگرٛافی== <div style="text-align:center; margin-top:10px;"> [https://reasonator.toolforge.org/?q={{#invoke:Wikidades|claim|property=P31|formatting=raw|listmax=1|item={{{qid|}}}}}&lang=ks <span style="background-color:#202122; color:#ffffff; padding:8px 15px; font-family:sans-serif; font-size:14px; font-weight:bold; border-radius:20px; text-decoration:none; display:inline-block; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">🎬 پوٗرٕ فِلمی سَفَر وُچھِو</span>] </div> == حَوالہٕ == {{نامُکَمَل مَضموٗن}} [[زٲژ:زِنٛدٕ لوٗکھ]] [[زٲژ:ہِندوستٲنؠ اَداکار]] [[زٲژ:ہِندوستٲنؠ مُسَلمان]] 92qykolbig7obvz6sf81nhh6nztz87o 153462 153461 2026-10-07T09:22:43Z آیات محراج 11062 /* فِلِموگرٛافی */ 153462 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = شٔریٖکہِ حَیات، P973 | data1 = [[فَیِل:Salman Khan signature.svg|125px]] | customheader1 = دستخط }} سلمان سلیم خان (پیدٲیشی ناو: عبدالرشید سلیم سلمان خان، 27 دَسَمبَر 1965) چھُ اَکھ ہِندوستٲنؠ اداکار، فِلِم پروڈیوسر، تہٕ ٹیلی وِجَن شخصیت یُس زیٛادٕ تر ہندی فلمَن مَنٛز کٲم کران چھُ۔ ترٛؠو ؤرِیو کھۄتہٕ زِیٛادٕ وقتَس پؠٹھ پھٔہلِتھ پیشورانہٕ زِندگی مَنٛز چھِ أمہِ سٕنٛدؠن ایوارڈَن مَنٛز بطور فِلِم پروڈیوسر زٕ نیشنل فِلِم ایوارڈ تہٕ بطورِ اداکار زٕ فِلِم فِیَر ایوارڈ شٲمِل۔ میڈیاہَس مَنٛز چھُ أمِس ہِندوستٲنؠ سنیما ہُنٛد ساروٕے کھۄتہٕ مشہوٗر تہٕ تجارتی لحاظٕ کامیاب اداکارَن مَنٛز اَکھ ماننہٕ یِوان۔ فوربسن کٔر سُہ 2015 تہٕ 2018 ہَس مَنٛز دُنؠ‌یاہٕک ساروٕے کھۄتہٕ زِیٛادٕ معاوضہٕ نِنہٕ والؠن مشہوٗر شخصیاتن ہٕنٛدِس فہرستس مَنٛز شٲمِل۔<ref>{{cite news|title=Box Office Special Features – Highest Grosser of The Year|url=https://www.bollywoodhungama.com/news/box-office-special-features/highest-grosser-year-1990-2020-salman-khan-aamir-khan-shah-rukh-khan-dominate-hrithik-roshan-climbs-ladder/|website=[[Bollywood Hungama]]|date=29 December 2020|access-date=3 August 2021}}</ref> == فِلِموگرٛافی== <div style="text-align:center; margin-top:10px;"> [https://reasonator.toolforge.org/?q={{#invoke:Wikidades|claim|property=P31|formatting=raw|listmax=1|item={{{qid|Q9543}}}}}&lang=ks <span style="background-color:#202122; color:#ffffff; padding:8px 15px; font-family:sans-serif; font-size:14px; font-weight:bold; border-radius:20px; text-decoration:none; display:inline-block; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">🎬 پوٗرٕ فِلمی سَفَر وُچھِو</span>] </div> == حَوالہٕ == {{نامُکَمَل مَضموٗن}} [[زٲژ:زِنٛدٕ لوٗکھ]] [[زٲژ:ہِندوستٲنؠ اَداکار]] [[زٲژ:ہِندوستٲنؠ مُسَلمان]] 9w37zj2fzkkw0sgr1rfr0k6epfrrppf 153466 153462 2026-10-07T09:43:12Z آیات محراج 11062 /* فِلِموگرٛافی */ 153466 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = شٔریٖکہِ حَیات، P973 | data1 = [[فَیِل:Salman Khan signature.svg|125px]] | customheader1 = دستخط }} سلمان سلیم خان (پیدٲیشی ناو: عبدالرشید سلیم سلمان خان، 27 دَسَمبَر 1965) چھُ اَکھ ہِندوستٲنؠ اداکار، فِلِم پروڈیوسر، تہٕ ٹیلی وِجَن شخصیت یُس زیٛادٕ تر ہندی فلمَن مَنٛز کٲم کران چھُ۔ ترٛؠو ؤرِیو کھۄتہٕ زِیٛادٕ وقتَس پؠٹھ پھٔہلِتھ پیشورانہٕ زِندگی مَنٛز چھِ أمہِ سٕنٛدؠن ایوارڈَن مَنٛز بطور فِلِم پروڈیوسر زٕ نیشنل فِلِم ایوارڈ تہٕ بطورِ اداکار زٕ فِلِم فِیَر ایوارڈ شٲمِل۔ میڈیاہَس مَنٛز چھُ أمِس ہِندوستٲنؠ سنیما ہُنٛد ساروٕے کھۄتہٕ مشہوٗر تہٕ تجارتی لحاظٕ کامیاب اداکارَن مَنٛز اَکھ ماننہٕ یِوان۔ فوربسن کٔر سُہ 2015 تہٕ 2018 ہَس مَنٛز دُنؠ‌یاہٕک ساروٕے کھۄتہٕ زِیٛادٕ معاوضہٕ نِنہٕ والؠن مشہوٗر شخصیاتن ہٕنٛدِس فہرستس مَنٛز شٲمِل۔<ref>{{cite news|title=Box Office Special Features – Highest Grosser of The Year|url=https://www.bollywoodhungama.com/news/box-office-special-features/highest-grosser-year-1990-2020-salman-khan-aamir-khan-shah-rukh-khan-dominate-hrithik-roshan-climbs-ladder/|website=[[Bollywood Hungama]]|date=29 December 2020|access-date=3 August 2021}}</ref> == فِلِموگرٛافی== {{مشہوٗر کامہِ}} == حَوالہٕ == {{نامُکَمَل مَضموٗن}} [[زٲژ:زِنٛدٕ لوٗکھ]] [[زٲژ:ہِندوستٲنؠ اَداکار]] [[زٲژ:ہِندوستٲنؠ مُسَلمان]] manwpjimnfscnfy0npxg0bx7aanwsy5 153471 153466 2026-10-07T10:03:19Z آیات محراج 11062 /* فِلِموگرٛافی */ 153471 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = شٔریٖکہِ حَیات، P973 | data1 = [[فَیِل:Salman Khan signature.svg|125px]] | customheader1 = دستخط }} سلمان سلیم خان (پیدٲیشی ناو: عبدالرشید سلیم سلمان خان، 27 دَسَمبَر 1965) چھُ اَکھ ہِندوستٲنؠ اداکار، فِلِم پروڈیوسر، تہٕ ٹیلی وِجَن شخصیت یُس زیٛادٕ تر ہندی فلمَن مَنٛز کٲم کران چھُ۔ ترٛؠو ؤرِیو کھۄتہٕ زِیٛادٕ وقتَس پؠٹھ پھٔہلِتھ پیشورانہٕ زِندگی مَنٛز چھِ أمہِ سٕنٛدؠن ایوارڈَن مَنٛز بطور فِلِم پروڈیوسر زٕ نیشنل فِلِم ایوارڈ تہٕ بطورِ اداکار زٕ فِلِم فِیَر ایوارڈ شٲمِل۔ میڈیاہَس مَنٛز چھُ أمِس ہِندوستٲنؠ سنیما ہُنٛد ساروٕے کھۄتہٕ مشہوٗر تہٕ تجارتی لحاظٕ کامیاب اداکارَن مَنٛز اَکھ ماننہٕ یِوان۔ فوربسن کٔر سُہ 2015 تہٕ 2018 ہَس مَنٛز دُنؠ‌یاہٕک ساروٕے کھۄتہٕ زِیٛادٕ معاوضہٕ نِنہٕ والؠن مشہوٗر شخصیاتن ہٕنٛدِس فہرستس مَنٛز شٲمِل۔<ref>{{cite news|title=Box Office Special Features – Highest Grosser of The Year|url=https://www.bollywoodhungama.com/news/box-office-special-features/highest-grosser-year-1990-2020-salman-khan-aamir-khan-shah-rukh-khan-dominate-hrithik-roshan-climbs-ladder/|website=[[Bollywood Hungama]]|date=29 December 2020|access-date=3 August 2021}}</ref> == فِلِموگرٛافی== {{مشہوٗر کامہِ}} == حَوالہٕ == {{نامُکَمَل مَضموٗن}} [[زٲژ:زِنٛدٕ لوٗکھ]] [[زٲژ:ہِندوستٲنؠ اَداکار]] [[زٲژ:ہِندوستٲنؠ مُسَلمان]] h9ci0cj7haxzfyxkqituvx5rbp2feo7 Module:Infobox 828 6461 153322 54020 2026-06-08T00:50:22Z en>Zackmann08 0 hiding un-needed blank rows that show up in child infoboxes per [[Template_talk:Infobox#Blank_rows_on_child_infoboxes....|talk page]] 153322 Scribunto text/plain local p = {} local args = {} local origArgs = {} local root local empty_row_categories = {} local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]' local has_rows = false local yesno = require("Module:Yesno") local lists = { plainlist_t = { patterns = { '^plainlist$', '%splainlist$', '^plainlist%s', '%splainlist%s' }, found = false, styles = 'Plainlist/styles.css' }, hlist_t = { patterns = { '^hlist$', '%shlist$', '^hlist%s', '%shlist%s' }, found = false, styles = 'Hlist/styles.css' } } local function has_list_class(args_to_check) for _, list in pairs(lists) do if not list.found then for _, arg in pairs(args_to_check) do for _, pattern in ipairs(list.patterns) do if mw.ustring.find(arg or '', pattern) then list.found = true break end end if list.found then break end end end end end local function isUntitledChildBox(sval) return sval and ( sval:match( '^%s*<%s*[Tt][Rr]' ) or sval:match( '^%s*\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127%s*<%s*[Tt][Rr]' ) ) end local function fixChildBoxes(sval, tt) local function notempty( s ) return s and s:match( '%S' ) end if notempty(sval) then local marker = '<span class=special_infobox_marker>' local s = sval -- start moving templatestyles and categories inside of table rows local slast = '' while slast ~= s do slast = s s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*%]%])', '%2%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)', '%2%1') end -- end moving templatestyles and categories inside of table rows s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)', '%1' .. marker) if s:match(marker) then s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '') s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '%s*([\r\n]|-)', '%1') s = mw.ustring.gsub(s, '(</[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '(<%s*[Tt][Aa][Bb][Ll][Ee][^<>]*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '^(%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '([\r\n]%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '(%s*</[Tt][Aa][Bb][Ll][Ee]%s*>)', '%1') s = mw.ustring.gsub(s, marker .. '(%s*\n|%})', '%1') end if s:match(marker) then local subcells = mw.text.split(s, marker) s = '' for k = 1, #subcells do if k == 1 then s = s .. subcells[k] .. '</' .. tt .. '></tr>' elseif k == #subcells then local rowstyle = ' style="display:none"' if notempty(subcells[k]) then rowstyle = '' end s = s .. '<tr' .. rowstyle ..'><' .. tt .. ' colspan=2>\n' .. subcells[k] elseif notempty(subcells[k]) then if (k % 2) == 0 then s = s .. subcells[k] else s = s .. '<tr><' .. tt .. ' colspan=2>\n' .. subcells[k] .. '</' .. tt .. '></tr>' end end end end -- the next two lines add a newline at the end of lists for the PHP parser -- [[Special:Diff/849054481]] -- remove when [[:phab:T191516]] is fixed or OBE s = mw.ustring.gsub(s, '([\r\n][%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:])', '\n%1') s = mw.ustring.gsub(s, '^(%{%|)', '\n%1') return s else return sval end end -- Cleans empty tables local function cleanInfobox() root = tostring(root) if has_rows == false then root = mw.ustring.gsub(root, '<table[^<>]*>%s*</table>', '') end end -- Returns the union of the values of two tables, as a sequence. local function union(t1, t2) local vals = {} for k, v in pairs(t1) do vals[v] = true end for k, v in pairs(t2) do vals[v] = true end local ret = {} for k, v in pairs(vals) do table.insert(ret, k) end return ret end -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix. For example, if the prefix was 'data', and -- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}. local function getArgNums(prefix) local nums = {} for k, v in pairs(args) do local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -- Adds a row to the infobox, with either a header cell -- or a label/data cell combination. local function addRow(rowArgs) if rowArgs.header and rowArgs.header ~= '_BLANK_' then has_rows = true has_list_class({ rowArgs.rowclass, rowArgs.class, args.headerclass }) root :tag('tr') :addClass(rowArgs.rowclass) :addClass( isUntitledChildBox( rowArgs.header ) and 'infobox-hiddenrow' or nil ) :cssText(rowArgs.rowstyle) :tag('th') :attr('colspan', '2') :addClass('infobox-header') :addClass(rowArgs.class) :addClass(args.headerclass) -- @deprecated next; target .infobox-<name> .infobox-header :cssText(args.headerstyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.header, 'th')) if rowArgs.data and not yesno(args.decat) then root:wikitext( '[[Category:Pages using infobox templates with ignored data cells]]' ) end elseif rowArgs.data and rowArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true has_list_class({ rowArgs.rowclass, rowArgs.class }) local row = root:tag('tr') row:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) if rowArgs.label then row :tag('th') :attr('scope', 'row') :addClass('infobox-label') -- @deprecated next; target .infobox-<name> .infobox-label :cssText(args.labelstyle) :cssText(rowArgs.rowcellstyle) :wikitext(rowArgs.label) :done() else row:addClass( isUntitledChildBox( rowArgs.data ) and 'infobox-hiddenrow' or nil ) end local dataCell = row:tag('td') dataCell :attr('colspan', not rowArgs.label and '2' or nil) :addClass(not rowArgs.label and 'infobox-full-data' or 'infobox-data') :addClass(rowArgs.class) -- @deprecated next; target .infobox-<name> .infobox(-full)-data :cssText(rowArgs.datastyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.data, 'td')) else table.insert(empty_row_categories, rowArgs.data or '') end end local function renderTitle() if not args.title then return end has_rows = true has_list_class({args.titleclass}) root :tag('caption') :addClass('infobox-title') :addClass(args.titleclass) -- @deprecated next; target .infobox-<name> .infobox-title :cssText(args.titlestyle) :wikitext(args.title) end local function renderAboveRow() if not args.above then return end has_rows = true has_list_class({ args.aboveclass }) root :tag('tr') :addClass( isUntitledChildBox( args.above ) and 'infobox-hiddenrow' or nil ) :tag('th') :attr('colspan', '2') :addClass('infobox-above') :addClass(args.aboveclass) -- @deprecated next; target .infobox-<name> .infobox-above :cssText(args.abovestyle) :wikitext(fixChildBoxes(args.above,'th')) end local function renderBelowRow() if not args.below then return end has_rows = true has_list_class({ args.belowclass }) root :tag('tr') :addClass( isUntitledChildBox( args.below ) and 'infobox-hiddenrow' or nil ) :tag('td') :attr('colspan', '2') :addClass('infobox-below') :addClass(args.belowclass) -- @deprecated next; target .infobox-<name> .infobox-below :cssText(args.belowstyle) :wikitext(fixChildBoxes(args.below,'td')) end local function addSubheaderRow(subheaderArgs) if subheaderArgs.data and subheaderArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true has_list_class({ subheaderArgs.rowclass, subheaderArgs.class }) local row = root:tag('tr') row:addClass(subheaderArgs.rowclass) row:addClass( isUntitledChildBox( subheaderArgs.data ) and 'infobox-hiddenrow' or nil ) local dataCell = row:tag('td') dataCell :attr('colspan', '2') :addClass('infobox-subheader') :addClass(subheaderArgs.class) :cssText(subheaderArgs.datastyle) :cssText(subheaderArgs.rowcellstyle) :wikitext(fixChildBoxes(subheaderArgs.data, 'td')) else table.insert(empty_row_categories, subheaderArgs.data or '') end end local function renderSubheaders() if args.subheader then args.subheader1 = args.subheader end if args.subheaderrowclass then args.subheaderrowclass1 = args.subheaderrowclass end local subheadernums = getArgNums('subheader') for k, num in ipairs(subheadernums) do addSubheaderRow({ data = args['subheader' .. tostring(num)], -- @deprecated next; target .infobox-<name> .infobox-subheader datastyle = args.subheaderstyle, rowcellstyle = args['subheaderstyle' .. tostring(num)], class = args.subheaderclass, rowclass = args['subheaderrowclass' .. tostring(num)] }) end end local function addImageRow(imageArgs) if imageArgs.data and imageArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true has_list_class({ imageArgs.rowclass, imageArgs.class }) local row = root:tag('tr') row:addClass(imageArgs.rowclass) row:addClass( isUntitledChildBox( imageArgs.data ) and 'infobox-hiddenrow' or nil ) local dataCell = row:tag('td') dataCell :attr('colspan', '2') :addClass('infobox-image') :addClass(imageArgs.class) :cssText(imageArgs.datastyle) :wikitext(fixChildBoxes(imageArgs.data, 'td')) else table.insert(empty_row_categories, imageArgs.data or '') end end local function renderImages() if args.image then args.image1 = args.image end if args.caption then args.caption1 = args.caption end local imagenums = getArgNums('image') for k, num in ipairs(imagenums) do local caption = args['caption' .. tostring(num)] local data = mw.html.create():wikitext(args['image' .. tostring(num)]) if caption then data :tag('div') :addClass('infobox-caption') -- @deprecated next; target .infobox-<name> .infobox-caption :cssText(args.captionstyle) :wikitext(caption) end addImageRow({ data = tostring(data), -- @deprecated next; target .infobox-<name> .infobox-image datastyle = args.imagestyle, class = args.imageclass, rowclass = args['imagerowclass' .. tostring(num)] }) end end -- When autoheaders are turned on, preprocesses the rows local function preprocessRows() if not args.autoheaders then return end local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) local lastheader for k, num in ipairs(rownums) do if args['header' .. tostring(num)] then if lastheader then args['header' .. tostring(lastheader)] = nil end lastheader = num elseif args['data' .. tostring(num)] and args['data' .. tostring(num)]:gsub( category_in_empty_row_pattern, '' ):match('^%S') then local data = args['data' .. tostring(num)] if data:gsub(category_in_empty_row_pattern, ''):match('%S') then lastheader = nil end end end if lastheader then args['header' .. tostring(lastheader)] = nil end end -- Gets the union of the header and data argument numbers, -- and renders them all in order local function renderRows() local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) for k, num in ipairs(rownums) do addRow({ header = args['header' .. tostring(num)], label = args['label' .. tostring(num)], data = args['data' .. tostring(num)], datastyle = args.datastyle, class = args['class' .. tostring(num)], rowclass = args['rowclass' .. tostring(num)], -- @deprecated next; target .infobox-<name> rowclass rowstyle = args['rowstyle' .. tostring(num)], rowcellstyle = args['rowcellstyle' .. tostring(num)] }) end end local function renderNavBar() if not args.name then return end has_rows = true root :tag('tr') :tag('td') :attr('colspan', '2') :addClass('infobox-navbar') :wikitext(require('Module:Navbar')._navbar{ args.name, mini = 1, }) end local function renderItalicTitle() local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then root:wikitext(require('Module:Italic title')._main({})) end end -- Categories in otherwise empty rows are collected in empty_row_categories. -- This function adds them to the module output. It is not affected by -- args.decat because this module should not prevent module-external categories -- from rendering. local function renderEmptyRowCategories() for _, s in ipairs(empty_row_categories) do root:wikitext(s) end end -- Render tracking categories. args.decat == turns off tracking categories. local function renderTrackingCategories() if yesno(args.decat) then return end if args.child == 'yes' then if args.title then root:wikitext( '[[Category:Pages using embedded infobox templates with the title parameter]]' ) end elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then root:wikitext('[[Category:Articles using infobox templates with no data rows]]') end end --[=[ Loads the templatestyles for the infobox. TODO: FINISH loading base templatestyles here rather than in MediaWiki:Common.css. There are 4-5000 pages with 'raw' infobox tables. See [[Mediawiki_talk:Common.css/to_do#Infobox]] and/or come help :). When we do this we should clean up the inline CSS below too. Will have to do some bizarre conversion category like with sidebar. ]=] local function loadTemplateStyles() local frame = mw.getCurrentFrame() local hlist_templatestyles = '' if lists.hlist_t.found then hlist_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = lists.hlist_t.styles } } end local plainlist_templatestyles = '' if lists.plainlist_t.found then plainlist_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = lists.plainlist_t.styles } } end -- See function description local base_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Infobox/styles.css' } } local templatestyles = '' if args['templatestyles'] then templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['templatestyles'] } } end local child_templatestyles = '' if args['child templatestyles'] then child_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['child templatestyles'] } } end local grandchild_templatestyles = '' if args['grandchild templatestyles'] then grandchild_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['grandchild templatestyles'] } } end return table.concat({ -- hlist -> plainlist -> base is best-effort to preserve old Common.css ordering. -- this ordering is not a guarantee because the rows of interest invoking -- each class may not be on a specific page hlist_templatestyles, plainlist_templatestyles, base_templatestyles, templatestyles, child_templatestyles, grandchild_templatestyles }) end -- common functions between the child and non child cases local function structure_infobox_common() renderSubheaders() renderImages() preprocessRows() renderRows() renderBelowRow() renderNavBar() renderItalicTitle() renderEmptyRowCategories() renderTrackingCategories() cleanInfobox() end -- Specify the overall layout of the infobox, with special settings if the -- infobox is used as a 'child' inside another infobox. local function _infobox() if args.child ~= 'yes' then root = mw.html.create('table') root :addClass(args.subbox == 'yes' and 'infobox-subbox' or 'infobox') :addClass(args.bodyclass) -- @deprecated next; target .infobox-<name> :cssText(args.bodystyle) has_list_class({ args.bodyclass }) renderTitle() renderAboveRow() else root = mw.html.create() root :wikitext(args.title) end structure_infobox_common() return loadTemplateStyles() .. root end -- If the argument exists and isn't blank, add it to the argument table. -- Blank arguments are treated as nil to match the behaviour of ParserFunctions. local function preprocessSingleArg(argName) if origArgs[argName] and origArgs[argName] ~= '' then args[argName] = origArgs[argName] end end -- Assign the parameters with the given prefixes to the args table, in order, in -- batches of the step size specified. This is to prevent references etc. from -- appearing in the wrong order. The prefixTable should be an array containing -- tables, each of which has two possible fields, a "prefix" string and a -- "depend" table. The function always parses parameters containing the "prefix" -- string, but only parses parameters in the "depend" table if the prefix -- parameter is present and non-blank. local function preprocessArgs(prefixTable, step) if type(prefixTable) ~= 'table' then error("Non-table value detected for the prefix table", 2) end if type(step) ~= 'number' then error("Invalid step value detected", 2) end -- Get arguments without a number suffix, and check for bad input. for i,v in ipairs(prefixTable) do if type(v) ~= 'table' or type(v.prefix) ~= "string" or (v.depend and type(v.depend) ~= 'table') then error('Invalid input detected to preprocessArgs prefix table', 2) end preprocessSingleArg(v.prefix) -- Only parse the depend parameter if the prefix parameter is present -- and not blank. if args[v.prefix] and v.depend then for j, dependValue in ipairs(v.depend) do if type(dependValue) ~= 'string' then error('Invalid "depend" parameter value detected in preprocessArgs') end preprocessSingleArg(dependValue) end end end -- Get arguments with number suffixes. local a = 1 -- Counter variable. local moreArgumentsExist = true while moreArgumentsExist == true do moreArgumentsExist = false for i = a, a + step - 1 do for j,v in ipairs(prefixTable) do local prefixArgName = v.prefix .. tostring(i) if origArgs[prefixArgName] then -- Do another loop if any arguments are found, even blank ones. moreArgumentsExist = true preprocessSingleArg(prefixArgName) end -- Process the depend table if the prefix argument is present -- and not blank, or we are processing "prefix1" and "prefix" is -- present and not blank, and if the depend table is present. if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then for j,dependValue in ipairs(v.depend) do local dependArgName = dependValue .. tostring(i) preprocessSingleArg(dependArgName) end end end end a = a + step end end -- Parse the data parameters in the same order that the old {{infobox}} did, so -- that references etc. will display in the expected places. Parameters that -- depend on another parameter are only processed if that parameter is present, -- to avoid phantom references appearing in article reference lists. local function parseDataParameters() preprocessSingleArg('autoheaders') preprocessSingleArg('child') preprocessSingleArg('bodyclass') preprocessSingleArg('subbox') preprocessSingleArg('bodystyle') preprocessSingleArg('title') preprocessSingleArg('titleclass') preprocessSingleArg('titlestyle') preprocessSingleArg('above') preprocessSingleArg('aboveclass') preprocessSingleArg('abovestyle') preprocessArgs({ {prefix = 'subheader', depend = {'subheaderstyle', 'subheaderrowclass'}} }, 10) preprocessSingleArg('subheaderstyle') preprocessSingleArg('subheaderclass') preprocessArgs({ {prefix = 'image', depend = {'caption', 'imagerowclass'}} }, 10) preprocessSingleArg('captionstyle') preprocessSingleArg('imagestyle') preprocessSingleArg('imageclass') preprocessArgs({ {prefix = 'header'}, {prefix = 'data', depend = {'label'}}, {prefix = 'rowclass'}, {prefix = 'rowstyle'}, {prefix = 'rowcellstyle'}, {prefix = 'class'} }, 50) preprocessSingleArg('headerclass') preprocessSingleArg('headerstyle') preprocessSingleArg('labelstyle') preprocessSingleArg('datastyle') preprocessSingleArg('below') preprocessSingleArg('belowclass') preprocessSingleArg('belowstyle') preprocessSingleArg('name') -- different behaviour for italics if blank or absent args['italic title'] = origArgs['italic title'] preprocessSingleArg('decat') preprocessSingleArg('templatestyles') preprocessSingleArg('child templatestyles') preprocessSingleArg('grandchild templatestyles') end -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. function p.infobox(frame) if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end parseDataParameters() return _infobox() end -- For calling via #invoke within a template function p.infoboxTemplate(frame) origArgs = {} for k,v in pairs(frame.args) do origArgs[k] = mw.text.trim(v) end parseDataParameters() return _infobox() end return p kueb5p6xeoq6x7bxu2zyyl7pmxgesrs 153323 153322 2026-10-06T18:16:03Z 511KeV 8268 1 revision imported from [[:en:Module:Infobox]]: Needed locally 153322 Scribunto text/plain local p = {} local args = {} local origArgs = {} local root local empty_row_categories = {} local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]' local has_rows = false local yesno = require("Module:Yesno") local lists = { plainlist_t = { patterns = { '^plainlist$', '%splainlist$', '^plainlist%s', '%splainlist%s' }, found = false, styles = 'Plainlist/styles.css' }, hlist_t = { patterns = { '^hlist$', '%shlist$', '^hlist%s', '%shlist%s' }, found = false, styles = 'Hlist/styles.css' } } local function has_list_class(args_to_check) for _, list in pairs(lists) do if not list.found then for _, arg in pairs(args_to_check) do for _, pattern in ipairs(list.patterns) do if mw.ustring.find(arg or '', pattern) then list.found = true break end end if list.found then break end end end end end local function isUntitledChildBox(sval) return sval and ( sval:match( '^%s*<%s*[Tt][Rr]' ) or sval:match( '^%s*\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127%s*<%s*[Tt][Rr]' ) ) end local function fixChildBoxes(sval, tt) local function notempty( s ) return s and s:match( '%S' ) end if notempty(sval) then local marker = '<span class=special_infobox_marker>' local s = sval -- start moving templatestyles and categories inside of table rows local slast = '' while slast ~= s do slast = s s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*%]%])', '%2%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)', '%2%1') end -- end moving templatestyles and categories inside of table rows s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)', '%1' .. marker) if s:match(marker) then s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '') s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '%s*([\r\n]|-)', '%1') s = mw.ustring.gsub(s, '(</[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '(<%s*[Tt][Aa][Bb][Ll][Ee][^<>]*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '^(%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '([\r\n]%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '(%s*</[Tt][Aa][Bb][Ll][Ee]%s*>)', '%1') s = mw.ustring.gsub(s, marker .. '(%s*\n|%})', '%1') end if s:match(marker) then local subcells = mw.text.split(s, marker) s = '' for k = 1, #subcells do if k == 1 then s = s .. subcells[k] .. '</' .. tt .. '></tr>' elseif k == #subcells then local rowstyle = ' style="display:none"' if notempty(subcells[k]) then rowstyle = '' end s = s .. '<tr' .. rowstyle ..'><' .. tt .. ' colspan=2>\n' .. subcells[k] elseif notempty(subcells[k]) then if (k % 2) == 0 then s = s .. subcells[k] else s = s .. '<tr><' .. tt .. ' colspan=2>\n' .. subcells[k] .. '</' .. tt .. '></tr>' end end end end -- the next two lines add a newline at the end of lists for the PHP parser -- [[Special:Diff/849054481]] -- remove when [[:phab:T191516]] is fixed or OBE s = mw.ustring.gsub(s, '([\r\n][%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:])', '\n%1') s = mw.ustring.gsub(s, '^(%{%|)', '\n%1') return s else return sval end end -- Cleans empty tables local function cleanInfobox() root = tostring(root) if has_rows == false then root = mw.ustring.gsub(root, '<table[^<>]*>%s*</table>', '') end end -- Returns the union of the values of two tables, as a sequence. local function union(t1, t2) local vals = {} for k, v in pairs(t1) do vals[v] = true end for k, v in pairs(t2) do vals[v] = true end local ret = {} for k, v in pairs(vals) do table.insert(ret, k) end return ret end -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix. For example, if the prefix was 'data', and -- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}. local function getArgNums(prefix) local nums = {} for k, v in pairs(args) do local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -- Adds a row to the infobox, with either a header cell -- or a label/data cell combination. local function addRow(rowArgs) if rowArgs.header and rowArgs.header ~= '_BLANK_' then has_rows = true has_list_class({ rowArgs.rowclass, rowArgs.class, args.headerclass }) root :tag('tr') :addClass(rowArgs.rowclass) :addClass( isUntitledChildBox( rowArgs.header ) and 'infobox-hiddenrow' or nil ) :cssText(rowArgs.rowstyle) :tag('th') :attr('colspan', '2') :addClass('infobox-header') :addClass(rowArgs.class) :addClass(args.headerclass) -- @deprecated next; target .infobox-<name> .infobox-header :cssText(args.headerstyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.header, 'th')) if rowArgs.data and not yesno(args.decat) then root:wikitext( '[[Category:Pages using infobox templates with ignored data cells]]' ) end elseif rowArgs.data and rowArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true has_list_class({ rowArgs.rowclass, rowArgs.class }) local row = root:tag('tr') row:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) if rowArgs.label then row :tag('th') :attr('scope', 'row') :addClass('infobox-label') -- @deprecated next; target .infobox-<name> .infobox-label :cssText(args.labelstyle) :cssText(rowArgs.rowcellstyle) :wikitext(rowArgs.label) :done() else row:addClass( isUntitledChildBox( rowArgs.data ) and 'infobox-hiddenrow' or nil ) end local dataCell = row:tag('td') dataCell :attr('colspan', not rowArgs.label and '2' or nil) :addClass(not rowArgs.label and 'infobox-full-data' or 'infobox-data') :addClass(rowArgs.class) -- @deprecated next; target .infobox-<name> .infobox(-full)-data :cssText(rowArgs.datastyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.data, 'td')) else table.insert(empty_row_categories, rowArgs.data or '') end end local function renderTitle() if not args.title then return end has_rows = true has_list_class({args.titleclass}) root :tag('caption') :addClass('infobox-title') :addClass(args.titleclass) -- @deprecated next; target .infobox-<name> .infobox-title :cssText(args.titlestyle) :wikitext(args.title) end local function renderAboveRow() if not args.above then return end has_rows = true has_list_class({ args.aboveclass }) root :tag('tr') :addClass( isUntitledChildBox( args.above ) and 'infobox-hiddenrow' or nil ) :tag('th') :attr('colspan', '2') :addClass('infobox-above') :addClass(args.aboveclass) -- @deprecated next; target .infobox-<name> .infobox-above :cssText(args.abovestyle) :wikitext(fixChildBoxes(args.above,'th')) end local function renderBelowRow() if not args.below then return end has_rows = true has_list_class({ args.belowclass }) root :tag('tr') :addClass( isUntitledChildBox( args.below ) and 'infobox-hiddenrow' or nil ) :tag('td') :attr('colspan', '2') :addClass('infobox-below') :addClass(args.belowclass) -- @deprecated next; target .infobox-<name> .infobox-below :cssText(args.belowstyle) :wikitext(fixChildBoxes(args.below,'td')) end local function addSubheaderRow(subheaderArgs) if subheaderArgs.data and subheaderArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true has_list_class({ subheaderArgs.rowclass, subheaderArgs.class }) local row = root:tag('tr') row:addClass(subheaderArgs.rowclass) row:addClass( isUntitledChildBox( subheaderArgs.data ) and 'infobox-hiddenrow' or nil ) local dataCell = row:tag('td') dataCell :attr('colspan', '2') :addClass('infobox-subheader') :addClass(subheaderArgs.class) :cssText(subheaderArgs.datastyle) :cssText(subheaderArgs.rowcellstyle) :wikitext(fixChildBoxes(subheaderArgs.data, 'td')) else table.insert(empty_row_categories, subheaderArgs.data or '') end end local function renderSubheaders() if args.subheader then args.subheader1 = args.subheader end if args.subheaderrowclass then args.subheaderrowclass1 = args.subheaderrowclass end local subheadernums = getArgNums('subheader') for k, num in ipairs(subheadernums) do addSubheaderRow({ data = args['subheader' .. tostring(num)], -- @deprecated next; target .infobox-<name> .infobox-subheader datastyle = args.subheaderstyle, rowcellstyle = args['subheaderstyle' .. tostring(num)], class = args.subheaderclass, rowclass = args['subheaderrowclass' .. tostring(num)] }) end end local function addImageRow(imageArgs) if imageArgs.data and imageArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true has_list_class({ imageArgs.rowclass, imageArgs.class }) local row = root:tag('tr') row:addClass(imageArgs.rowclass) row:addClass( isUntitledChildBox( imageArgs.data ) and 'infobox-hiddenrow' or nil ) local dataCell = row:tag('td') dataCell :attr('colspan', '2') :addClass('infobox-image') :addClass(imageArgs.class) :cssText(imageArgs.datastyle) :wikitext(fixChildBoxes(imageArgs.data, 'td')) else table.insert(empty_row_categories, imageArgs.data or '') end end local function renderImages() if args.image then args.image1 = args.image end if args.caption then args.caption1 = args.caption end local imagenums = getArgNums('image') for k, num in ipairs(imagenums) do local caption = args['caption' .. tostring(num)] local data = mw.html.create():wikitext(args['image' .. tostring(num)]) if caption then data :tag('div') :addClass('infobox-caption') -- @deprecated next; target .infobox-<name> .infobox-caption :cssText(args.captionstyle) :wikitext(caption) end addImageRow({ data = tostring(data), -- @deprecated next; target .infobox-<name> .infobox-image datastyle = args.imagestyle, class = args.imageclass, rowclass = args['imagerowclass' .. tostring(num)] }) end end -- When autoheaders are turned on, preprocesses the rows local function preprocessRows() if not args.autoheaders then return end local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) local lastheader for k, num in ipairs(rownums) do if args['header' .. tostring(num)] then if lastheader then args['header' .. tostring(lastheader)] = nil end lastheader = num elseif args['data' .. tostring(num)] and args['data' .. tostring(num)]:gsub( category_in_empty_row_pattern, '' ):match('^%S') then local data = args['data' .. tostring(num)] if data:gsub(category_in_empty_row_pattern, ''):match('%S') then lastheader = nil end end end if lastheader then args['header' .. tostring(lastheader)] = nil end end -- Gets the union of the header and data argument numbers, -- and renders them all in order local function renderRows() local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) for k, num in ipairs(rownums) do addRow({ header = args['header' .. tostring(num)], label = args['label' .. tostring(num)], data = args['data' .. tostring(num)], datastyle = args.datastyle, class = args['class' .. tostring(num)], rowclass = args['rowclass' .. tostring(num)], -- @deprecated next; target .infobox-<name> rowclass rowstyle = args['rowstyle' .. tostring(num)], rowcellstyle = args['rowcellstyle' .. tostring(num)] }) end end local function renderNavBar() if not args.name then return end has_rows = true root :tag('tr') :tag('td') :attr('colspan', '2') :addClass('infobox-navbar') :wikitext(require('Module:Navbar')._navbar{ args.name, mini = 1, }) end local function renderItalicTitle() local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then root:wikitext(require('Module:Italic title')._main({})) end end -- Categories in otherwise empty rows are collected in empty_row_categories. -- This function adds them to the module output. It is not affected by -- args.decat because this module should not prevent module-external categories -- from rendering. local function renderEmptyRowCategories() for _, s in ipairs(empty_row_categories) do root:wikitext(s) end end -- Render tracking categories. args.decat == turns off tracking categories. local function renderTrackingCategories() if yesno(args.decat) then return end if args.child == 'yes' then if args.title then root:wikitext( '[[Category:Pages using embedded infobox templates with the title parameter]]' ) end elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then root:wikitext('[[Category:Articles using infobox templates with no data rows]]') end end --[=[ Loads the templatestyles for the infobox. TODO: FINISH loading base templatestyles here rather than in MediaWiki:Common.css. There are 4-5000 pages with 'raw' infobox tables. See [[Mediawiki_talk:Common.css/to_do#Infobox]] and/or come help :). When we do this we should clean up the inline CSS below too. Will have to do some bizarre conversion category like with sidebar. ]=] local function loadTemplateStyles() local frame = mw.getCurrentFrame() local hlist_templatestyles = '' if lists.hlist_t.found then hlist_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = lists.hlist_t.styles } } end local plainlist_templatestyles = '' if lists.plainlist_t.found then plainlist_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = lists.plainlist_t.styles } } end -- See function description local base_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Infobox/styles.css' } } local templatestyles = '' if args['templatestyles'] then templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['templatestyles'] } } end local child_templatestyles = '' if args['child templatestyles'] then child_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['child templatestyles'] } } end local grandchild_templatestyles = '' if args['grandchild templatestyles'] then grandchild_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['grandchild templatestyles'] } } end return table.concat({ -- hlist -> plainlist -> base is best-effort to preserve old Common.css ordering. -- this ordering is not a guarantee because the rows of interest invoking -- each class may not be on a specific page hlist_templatestyles, plainlist_templatestyles, base_templatestyles, templatestyles, child_templatestyles, grandchild_templatestyles }) end -- common functions between the child and non child cases local function structure_infobox_common() renderSubheaders() renderImages() preprocessRows() renderRows() renderBelowRow() renderNavBar() renderItalicTitle() renderEmptyRowCategories() renderTrackingCategories() cleanInfobox() end -- Specify the overall layout of the infobox, with special settings if the -- infobox is used as a 'child' inside another infobox. local function _infobox() if args.child ~= 'yes' then root = mw.html.create('table') root :addClass(args.subbox == 'yes' and 'infobox-subbox' or 'infobox') :addClass(args.bodyclass) -- @deprecated next; target .infobox-<name> :cssText(args.bodystyle) has_list_class({ args.bodyclass }) renderTitle() renderAboveRow() else root = mw.html.create() root :wikitext(args.title) end structure_infobox_common() return loadTemplateStyles() .. root end -- If the argument exists and isn't blank, add it to the argument table. -- Blank arguments are treated as nil to match the behaviour of ParserFunctions. local function preprocessSingleArg(argName) if origArgs[argName] and origArgs[argName] ~= '' then args[argName] = origArgs[argName] end end -- Assign the parameters with the given prefixes to the args table, in order, in -- batches of the step size specified. This is to prevent references etc. from -- appearing in the wrong order. The prefixTable should be an array containing -- tables, each of which has two possible fields, a "prefix" string and a -- "depend" table. The function always parses parameters containing the "prefix" -- string, but only parses parameters in the "depend" table if the prefix -- parameter is present and non-blank. local function preprocessArgs(prefixTable, step) if type(prefixTable) ~= 'table' then error("Non-table value detected for the prefix table", 2) end if type(step) ~= 'number' then error("Invalid step value detected", 2) end -- Get arguments without a number suffix, and check for bad input. for i,v in ipairs(prefixTable) do if type(v) ~= 'table' or type(v.prefix) ~= "string" or (v.depend and type(v.depend) ~= 'table') then error('Invalid input detected to preprocessArgs prefix table', 2) end preprocessSingleArg(v.prefix) -- Only parse the depend parameter if the prefix parameter is present -- and not blank. if args[v.prefix] and v.depend then for j, dependValue in ipairs(v.depend) do if type(dependValue) ~= 'string' then error('Invalid "depend" parameter value detected in preprocessArgs') end preprocessSingleArg(dependValue) end end end -- Get arguments with number suffixes. local a = 1 -- Counter variable. local moreArgumentsExist = true while moreArgumentsExist == true do moreArgumentsExist = false for i = a, a + step - 1 do for j,v in ipairs(prefixTable) do local prefixArgName = v.prefix .. tostring(i) if origArgs[prefixArgName] then -- Do another loop if any arguments are found, even blank ones. moreArgumentsExist = true preprocessSingleArg(prefixArgName) end -- Process the depend table if the prefix argument is present -- and not blank, or we are processing "prefix1" and "prefix" is -- present and not blank, and if the depend table is present. if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then for j,dependValue in ipairs(v.depend) do local dependArgName = dependValue .. tostring(i) preprocessSingleArg(dependArgName) end end end end a = a + step end end -- Parse the data parameters in the same order that the old {{infobox}} did, so -- that references etc. will display in the expected places. Parameters that -- depend on another parameter are only processed if that parameter is present, -- to avoid phantom references appearing in article reference lists. local function parseDataParameters() preprocessSingleArg('autoheaders') preprocessSingleArg('child') preprocessSingleArg('bodyclass') preprocessSingleArg('subbox') preprocessSingleArg('bodystyle') preprocessSingleArg('title') preprocessSingleArg('titleclass') preprocessSingleArg('titlestyle') preprocessSingleArg('above') preprocessSingleArg('aboveclass') preprocessSingleArg('abovestyle') preprocessArgs({ {prefix = 'subheader', depend = {'subheaderstyle', 'subheaderrowclass'}} }, 10) preprocessSingleArg('subheaderstyle') preprocessSingleArg('subheaderclass') preprocessArgs({ {prefix = 'image', depend = {'caption', 'imagerowclass'}} }, 10) preprocessSingleArg('captionstyle') preprocessSingleArg('imagestyle') preprocessSingleArg('imageclass') preprocessArgs({ {prefix = 'header'}, {prefix = 'data', depend = {'label'}}, {prefix = 'rowclass'}, {prefix = 'rowstyle'}, {prefix = 'rowcellstyle'}, {prefix = 'class'} }, 50) preprocessSingleArg('headerclass') preprocessSingleArg('headerstyle') preprocessSingleArg('labelstyle') preprocessSingleArg('datastyle') preprocessSingleArg('below') preprocessSingleArg('belowclass') preprocessSingleArg('belowstyle') preprocessSingleArg('name') -- different behaviour for italics if blank or absent args['italic title'] = origArgs['italic title'] preprocessSingleArg('decat') preprocessSingleArg('templatestyles') preprocessSingleArg('child templatestyles') preprocessSingleArg('grandchild templatestyles') end -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. function p.infobox(frame) if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end parseDataParameters() return _infobox() end -- For calling via #invoke within a template function p.infoboxTemplate(frame) origArgs = {} for k,v in pairs(frame.args) do origArgs[k] = mw.text.trim(v) end parseDataParameters() return _infobox() end return p kueb5p6xeoq6x7bxu2zyyl7pmxgesrs فرما:Main other 10 6467 153316 61764 2025-07-28T14:53:49Z en>Pppery 0 Make substable per request 153316 wikitext text/x-wiki {{safesubst:<noinclude/>#switch: <noinclude><!-- If no or empty "demospace" parameter then detect namespace --></noinclude> {{safesubst:<noinclude/>#if:{{{demospace|}}} | {{safesubst:<noinclude/>lc: {{{demospace}}} }} <noinclude><!-- Use lower case "demospace" --></noinclude> | {{safesubst:<noinclude/>#ifeq:{{safesubst:<noinclude/>NAMESPACE}}|{{safesubst:<noinclude/>ns:0}} | main | other }} }} | main = {{{1|}}} | other | #default = {{{2|}}} }}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --> </noinclude> aljcm6nr1pwk5dw5g13lyhxhplulpg5 153317 153316 2026-10-06T18:16:03Z 511KeV 8268 1 revision imported from [[:en:Template:Main_other]]: Needed locally 153316 wikitext text/x-wiki {{safesubst:<noinclude/>#switch: <noinclude><!-- If no or empty "demospace" parameter then detect namespace --></noinclude> {{safesubst:<noinclude/>#if:{{{demospace|}}} | {{safesubst:<noinclude/>lc: {{{demospace}}} }} <noinclude><!-- Use lower case "demospace" --></noinclude> | {{safesubst:<noinclude/>#ifeq:{{safesubst:<noinclude/>NAMESPACE}}|{{safesubst:<noinclude/>ns:0}} | main | other }} }} | main = {{{1|}}} | other | #default = {{{2|}}} }}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --> </noinclude> aljcm6nr1pwk5dw5g13lyhxhplulpg5 Module:Check for unknown parameters 828 6474 153320 77642 2026-06-28T22:16:03Z en>MSGJ 0 +pushpin_map 153320 Scribunto text/plain -- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list require ('strict'); local p = {} local pushpin_map_params = { 'coordinates', 'pushpin_caption', 'pushpin_relief', 'pushpin_label', 'pushpin_label_position', 'pushpin_label_size', 'pushpin_map', 'pushpin_mark', 'pushpin_mark_size', 'pushpin_alt', 'pushpin_background', 'pushpin_map_size' } local mapframe_params = { 'coord', 'coordinates', 'id', 'qid', 'mapframe', 'mapframe-area_km2', 'mapframe-area_mi2', 'mapframe-caption', 'mapframe-coord', 'mapframe-coordinates', 'mapframe-custom', 'mapframe-frame-coord', 'mapframe-frame-coordinates', 'mapframe-frame-height', 'mapframe-frame-width', 'mapframe-geomask', 'mapframe-geomask-fill', 'mapframe-geomask-fill-opacity', 'mapframe-geomask-stroke-color', 'mapframe-geomask-stroke-colour', 'mapframe-geomask-stroke-width', 'mapframe-height', 'mapframe-id', 'mapframe-length_km', 'mapframe-length_mi', 'mapframe-line', 'mapframe-line-stroke-color', 'mapframe-line-stroke-colour', 'mapframe-marker', 'mapframe-marker-color', 'mapframe-marker-colour', 'mapframe-point', 'mapframe-population', 'mapframe-shape', 'mapframe-shape-fill', 'mapframe-shape-fill-opacity', 'mapframe-shape-stroke-color', 'mapframe-shape-stroke-colour', 'mapframe-stroke-color', 'mapframe-stroke-colour', 'mapframe-stroke-width', 'mapframe-switcher', 'mapframe-type', 'mapframe-width', 'mapframe-wikidata', 'mapframe-zoom' } local function trim(s) return s:match('^%s*(.-)%s*$') end local function isnotempty(s) return s and s:match('%S') end local function clean(text) -- Return text cleaned for display and truncated if too long. -- Strip markers are replaced with dummy text representing the original wikitext. local pos, truncated local function truncate(text) if truncated then return '' end if mw.ustring.len(text) > 25 then truncated = true text = mw.ustring.sub(text, 1, 25) .. '...' end return mw.text.nowiki(text) end local parts = {} for before, tag, remainder in text:gmatch('([^\127]*)\127[^\127]*%-(%l+)%-[^\127]*\127()') do pos = remainder table.insert(parts, truncate(before) .. '&lt;' .. tag .. '&gt;...&lt;/' .. tag .. '&gt;') end table.insert(parts, truncate(text:sub(pos or 1))) return table.concat(parts) end function p._check(args, pargs) if type(args) ~= "table" or type(pargs) ~= "table" then -- TODO: error handling return end -- create the list of known args, regular expressions, and the return string local knownargs = {} if isnotempty(args['mapframe_args']) then for _, v in ipairs(mapframe_params) do knownargs[v] = 1 end end if isnotempty(args['pushpin_map_args']) then for _, v in ipairs(pushpin_map_params) do knownargs[v] = 1 end end local regexps = {} for k, v in pairs(args) do if type(k) == 'number' then v = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end -- loop over the parent args, and make sure they are on the list local ignoreblank = isnotempty(args['ignoreblank']) local showblankpos = isnotempty(args['showblankpositional']) local values = {} for k, v in pairs(pargs) do if type(k) == 'string' and knownargs[k] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(k, regexp) then knownflag = true break end end if not knownflag and ( not ignoreblank or isnotempty(v) ) then table.insert(values, clean(k)) end elseif type(k) == 'number' and knownargs[tostring(k)] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(tostring(k), regexp) then knownflag = true break end end if not knownflag and ( showblankpos or isnotempty(v) ) then table.insert(values, k .. ' = ' .. clean(v)) end end end -- add results to the output tables local res = {} if #values > 0 then local unknown_text = args['unknown'] or 'Found _VALUE_, ' if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then local preview_text = args['preview'] if isnotempty(preview_text) then preview_text = require('Module:If preview')._warning({preview_text}) elseif preview_text == nil then preview_text = unknown_text end unknown_text = preview_text end for _, v in pairs(values) do -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links if v == '' then v = ' ' end -- avoid error with v = 'example%2' ("invalid capture index") local r = unknown_text:gsub('_VALUE_', {_VALUE_ = v}) table.insert(res, r) end end return table.concat(res) end function p.check(frame) local args = frame.args local pargs = frame:getParent().args return p._check(args, pargs) end return p kohqf9fxewyce9gq1kljbz0180u8sl1 153321 153320 2026-10-06T18:16:03Z 511KeV 8268 1 revision imported from [[:en:Module:Check_for_unknown_parameters]]: Needed locally 153320 Scribunto text/plain -- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list require ('strict'); local p = {} local pushpin_map_params = { 'coordinates', 'pushpin_caption', 'pushpin_relief', 'pushpin_label', 'pushpin_label_position', 'pushpin_label_size', 'pushpin_map', 'pushpin_mark', 'pushpin_mark_size', 'pushpin_alt', 'pushpin_background', 'pushpin_map_size' } local mapframe_params = { 'coord', 'coordinates', 'id', 'qid', 'mapframe', 'mapframe-area_km2', 'mapframe-area_mi2', 'mapframe-caption', 'mapframe-coord', 'mapframe-coordinates', 'mapframe-custom', 'mapframe-frame-coord', 'mapframe-frame-coordinates', 'mapframe-frame-height', 'mapframe-frame-width', 'mapframe-geomask', 'mapframe-geomask-fill', 'mapframe-geomask-fill-opacity', 'mapframe-geomask-stroke-color', 'mapframe-geomask-stroke-colour', 'mapframe-geomask-stroke-width', 'mapframe-height', 'mapframe-id', 'mapframe-length_km', 'mapframe-length_mi', 'mapframe-line', 'mapframe-line-stroke-color', 'mapframe-line-stroke-colour', 'mapframe-marker', 'mapframe-marker-color', 'mapframe-marker-colour', 'mapframe-point', 'mapframe-population', 'mapframe-shape', 'mapframe-shape-fill', 'mapframe-shape-fill-opacity', 'mapframe-shape-stroke-color', 'mapframe-shape-stroke-colour', 'mapframe-stroke-color', 'mapframe-stroke-colour', 'mapframe-stroke-width', 'mapframe-switcher', 'mapframe-type', 'mapframe-width', 'mapframe-wikidata', 'mapframe-zoom' } local function trim(s) return s:match('^%s*(.-)%s*$') end local function isnotempty(s) return s and s:match('%S') end local function clean(text) -- Return text cleaned for display and truncated if too long. -- Strip markers are replaced with dummy text representing the original wikitext. local pos, truncated local function truncate(text) if truncated then return '' end if mw.ustring.len(text) > 25 then truncated = true text = mw.ustring.sub(text, 1, 25) .. '...' end return mw.text.nowiki(text) end local parts = {} for before, tag, remainder in text:gmatch('([^\127]*)\127[^\127]*%-(%l+)%-[^\127]*\127()') do pos = remainder table.insert(parts, truncate(before) .. '&lt;' .. tag .. '&gt;...&lt;/' .. tag .. '&gt;') end table.insert(parts, truncate(text:sub(pos or 1))) return table.concat(parts) end function p._check(args, pargs) if type(args) ~= "table" or type(pargs) ~= "table" then -- TODO: error handling return end -- create the list of known args, regular expressions, and the return string local knownargs = {} if isnotempty(args['mapframe_args']) then for _, v in ipairs(mapframe_params) do knownargs[v] = 1 end end if isnotempty(args['pushpin_map_args']) then for _, v in ipairs(pushpin_map_params) do knownargs[v] = 1 end end local regexps = {} for k, v in pairs(args) do if type(k) == 'number' then v = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end -- loop over the parent args, and make sure they are on the list local ignoreblank = isnotempty(args['ignoreblank']) local showblankpos = isnotempty(args['showblankpositional']) local values = {} for k, v in pairs(pargs) do if type(k) == 'string' and knownargs[k] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(k, regexp) then knownflag = true break end end if not knownflag and ( not ignoreblank or isnotempty(v) ) then table.insert(values, clean(k)) end elseif type(k) == 'number' and knownargs[tostring(k)] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(tostring(k), regexp) then knownflag = true break end end if not knownflag and ( showblankpos or isnotempty(v) ) then table.insert(values, k .. ' = ' .. clean(v)) end end end -- add results to the output tables local res = {} if #values > 0 then local unknown_text = args['unknown'] or 'Found _VALUE_, ' if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then local preview_text = args['preview'] if isnotempty(preview_text) then preview_text = require('Module:If preview')._warning({preview_text}) elseif preview_text == nil then preview_text = unknown_text end unknown_text = preview_text end for _, v in pairs(values) do -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links if v == '' then v = ' ' end -- avoid error with v = 'example%2' ("invalid capture index") local r = unknown_text:gsub('_VALUE_', {_VALUE_ = v}) table.insert(res, r) end end return table.concat(res) end function p.check(frame) local args = frame.args local pargs = frame:getParent().args return p._check(args, pargs) end return p kohqf9fxewyce9gq1kljbz0180u8sl1 رُکُن:511KeV 2 6535 153299 152784 2026-10-06T18:11:14Z 511KeV 8268 /* */ 153299 wikitext text/x-wiki {{Template:Year in various calendars}} {{ImageStackPopup |start = 177 |list = User:511KeV/Appendicitis_CT#medical |caption = [[سی ٹی سکین]] ہاون پرٕ أنٛدرَم |title = |file = [[File:Appendicitis_(CT_angiogram)_(Radiopaedia_154713-127660_Axial_1).jpg|link=|thumb|upright=1.3|سی ٹی سیکینس پؠٹھ پَر أنٛدرَم]] }} {{کیلَنڑر}} بہٕ چھُس صٲرِف '''511KeV'''، مےٚ ووت یَتھ وِکی پؠٹھ واریاہ کال کٲم کَران۔ مٚے چھُ کٲشرِ زَبانہِ ہُنٛد سؠٹھا لول، تہٕ چھُس یَژھان کٲشُر مُکَمَل پٲٹھؠ وَرتاوُن تہٕ باقیَن لوٗکَن تام واتٕناوُن. از چھِ اَلہٕ پَلہٕ 50 فی صد کھوتہٕ زیٛادٕ کٲشِر لوٗکھ باقی زَبانہٕ استِمال کَران، یُس زَنہٕ غلط چھُنہٕ، مَگر باقی زَبان وَرتاونَس سٟتؠ سٟتؠ چھُ ایسہٕ پؠٹھ فرض زِ أس بَرو پَنہٕ ماجہِ زؠوِ لول. اَکھ کٲشُر شٲیِر چھُ وَنان: {{Randomquote}} بہِ چھُس اَکھ [[ریڈیالجی]] طٲلبہِ عٔلِم تہٕ چھُ عام طور طِبی مَضموٗن لیٚکھان. بہٕ چھُس یَتھ وِکیٖپیٖڈیاہَس پؠٹھ اِنتِظٲمؠ جَمٲژ ہُنٛد رُکُن مَطلب بہٕ چھُس ہیکان تِم کامہِ اَنجام دِتھ یِم نہٕ عام صٲرِف ہیکَن کٔرِتھ مِثال، صَفہٕ مِٹٲوِتھ رٲچھؠ کٔرِتھ تہٕ باقی کامہِ اَنجام دِتھ۔ اَگر تُہؠ چھِو کانٛہہ یِژھ کٲم تیلہِ کٔرِو [[رُکُن کَتھ:511KeV|کَتھ صَفَس]] پؠٹھ اَمِیُک اِظہار. == تۄہہِ چھا پَتا == {{Random subpage|وِکیٖپیٖڈیا:تۄہہِ چھا پَتا/کانٛہہ تہِ|1|2|3|4|5}} {{رُکُن:Uhaas bot/last7}} "اگرچہ کیٚنٛہہ پاسن منٛز ہیٚکہِ سٲنؠ مہارت محدوٗد ٲسِتھ، مَگر یمہٕ کَتھ باتھ سٟتؠ گوو اسہٕ منٛز تحریکس اندر ملکیت تہٕ اہمیتُک احساس پٲدٕ ، یمہٕ سٟتؠ یتہٕ صحیٖح معنن منٛز قدر ہُنٛداحساس چھُ گژھان ۔" r8ae19gel086li2xr8ser3sytssgvma 153304 153299 2026-10-06T18:12:48Z 511KeV 8268 /* */ 153304 wikitext text/x-wiki {{Year in various calendars}} {{ImageStackPopup |start = 177 |list = User:511KeV/Appendicitis_CT#medical |caption = [[سی ٹی سکین]] ہاون پرٕ أنٛدرَم |title = |file = [[File:Appendicitis_(CT_angiogram)_(Radiopaedia_154713-127660_Axial_1).jpg|link=|thumb|upright=1.3|سی ٹی سیکینس پؠٹھ پَر أنٛدرَم]] }} {{کیلَنڑر}} بہٕ چھُس صٲرِف '''511KeV'''، مےٚ ووت یَتھ وِکی پؠٹھ واریاہ کال کٲم کَران۔ مٚے چھُ کٲشرِ زَبانہِ ہُنٛد سؠٹھا لول، تہٕ چھُس یَژھان کٲشُر مُکَمَل پٲٹھؠ وَرتاوُن تہٕ باقیَن لوٗکَن تام واتٕناوُن. از چھِ اَلہٕ پَلہٕ 50 فی صد کھوتہٕ زیٛادٕ کٲشِر لوٗکھ باقی زَبانہٕ استِمال کَران، یُس زَنہٕ غلط چھُنہٕ، مَگر باقی زَبان وَرتاونَس سٟتؠ سٟتؠ چھُ ایسہٕ پؠٹھ فرض زِ أس بَرو پَنہٕ ماجہِ زؠوِ لول. اَکھ کٲشُر شٲیِر چھُ وَنان: {{Randomquote}} بہِ چھُس اَکھ [[ریڈیالجی]] طٲلبہِ عٔلِم تہٕ چھُ عام طور طِبی مَضموٗن لیٚکھان. بہٕ چھُس یَتھ وِکیٖپیٖڈیاہَس پؠٹھ اِنتِظٲمؠ جَمٲژ ہُنٛد رُکُن مَطلب بہٕ چھُس ہیکان تِم کامہِ اَنجام دِتھ یِم نہٕ عام صٲرِف ہیکَن کٔرِتھ مِثال، صَفہٕ مِٹٲوِتھ رٲچھؠ کٔرِتھ تہٕ باقی کامہِ اَنجام دِتھ۔ اَگر تُہؠ چھِو کانٛہہ یِژھ کٲم تیلہِ کٔرِو [[رُکُن کَتھ:511KeV|کَتھ صَفَس]] پؠٹھ اَمِیُک اِظہار. == تۄہہِ چھا پَتا == {{Random subpage|وِکیٖپیٖڈیا:تۄہہِ چھا پَتا/کانٛہہ تہِ|1|2|3|4|5}} {{رُکُن:Uhaas bot/last7}} "اگرچہ کیٚنٛہہ پاسن منٛز ہیٚکہِ سٲنؠ مہارت محدوٗد ٲسِتھ، مَگر یمہٕ کَتھ باتھ سٟتؠ گوو اسہٕ منٛز تحریکس اندر ملکیت تہٕ اہمیتُک احساس پٲدٕ ، یمہٕ سٟتؠ یتہٕ صحیٖح معنن منٛز قدر ہُنٛداحساس چھُ گژھان ۔" 74a3fdtnmds2jhhvklvnk22v9khi4n6 Module:Effective protection level 828 6659 153326 85515 2025-09-25T02:35:06Z en>Pppery 0 Handle gadget page 153326 Scribunto text/plain local p = {} -- Returns the permission required to perform a given action on a given title. -- If no title is specified, the title of the page being displayed is used. function p._main(action, pagename) local title if type(pagename) == 'table' and pagename.prefixedText then title = pagename elseif pagename then title = mw.title.new(pagename) else title = mw.title.getCurrentTitle() end pagename = title.prefixedText if action == 'autoreview' then local level = mw.ext.FlaggedRevs.getStabilitySettings(title) level = level and level.autoreview if level == 'review' then return 'reviewer' elseif level ~= '' then return level else return nil -- not '*'. a page not being PC-protected is distinct from it being PC-protected with anyone able to review. also not '', as that would mean PC-protected but nobody can review end elseif action ~= 'edit' and action ~= 'move' and action ~= 'create' and action ~= 'upload' and action ~= 'undelete' then error( 'First parameter must be one of edit, move, create, upload, undelete, autoreview', 2 ) end if title.namespace == 8 then -- MediaWiki namespace if title.text:sub(-3) == '.js' or title.text:sub(-4) == '.css' or title.contentModel == 'javascript' or title.contentModel == 'css' then -- site JS or CSS page return 'interfaceadmin' elseif title.baseText == "Gadgets-definition" then return 'interfaceadmin' else -- any non-JS/CSS MediaWiki page return 'sysop' end elseif title.namespace == 2 and title.isSubpage then if title.contentModel == 'javascript' or title.contentModel == 'css' then -- user JS or CSS page return 'interfaceadmin' elseif title.contentModel == 'json' then -- user JSON page return 'sysop' end end if action == 'undelete' then return 'sysop' end local level = title.protectionLevels[action] and title.protectionLevels[action][1] if level == 'sysop' or level == 'editprotected' then return 'sysop' elseif title.cascadingProtection.restrictions[action] and title.cascadingProtection.restrictions[action][1] then -- used by a cascading-protected page return 'sysop' elseif level == 'templateeditor' then return 'templateeditor' elseif action == 'move' then local blacklistentry = mw.ext.TitleBlacklist.test('edit', pagename) -- Testing action edit is correct, since this is for the source page. The target page name gets tested with action move. if blacklistentry and not blacklistentry.params.autoconfirmed then return 'templateeditor' elseif title.namespace == 6 then return 'filemover' elseif level == 'extendedconfirmed' then return 'extendedconfirmed' else return 'autoconfirmed' end end local blacklistentry = mw.ext.TitleBlacklist.test(action, pagename) if blacklistentry then if not blacklistentry.params.autoconfirmed then return 'templateeditor' elseif level == 'extendedconfirmed' then return 'extendedconfirmed' else return 'autoconfirmed' end elseif level == 'editsemiprotected' then -- create-semiprotected pages return this for some reason return 'autoconfirmed' elseif level then return level elseif action == 'upload' then return 'autoconfirmed' elseif action == 'create' and title.namespace % 2 == 0 and title.namespace ~= 118 then -- You need to be registered, but not autoconfirmed, to create non-talk pages other than drafts if title.namespace == 0 then return 'autoconfirmed' -- Per [[WP:ACPERM]], you need to be autoconfirmed to create pages in mainspace end return 'user' else return '*' end end setmetatable(p, { __index = function(t, k) return function(frame) return t._main(k, frame.args[1]) end end }) return p nacj9lsnya0896kpkyuy2onbc6mm6xw 153327 153326 2026-10-06T18:16:03Z 511KeV 8268 1 revision imported from [[:en:Module:Effective_protection_level]]: Needed locally 153326 Scribunto text/plain local p = {} -- Returns the permission required to perform a given action on a given title. -- If no title is specified, the title of the page being displayed is used. function p._main(action, pagename) local title if type(pagename) == 'table' and pagename.prefixedText then title = pagename elseif pagename then title = mw.title.new(pagename) else title = mw.title.getCurrentTitle() end pagename = title.prefixedText if action == 'autoreview' then local level = mw.ext.FlaggedRevs.getStabilitySettings(title) level = level and level.autoreview if level == 'review' then return 'reviewer' elseif level ~= '' then return level else return nil -- not '*'. a page not being PC-protected is distinct from it being PC-protected with anyone able to review. also not '', as that would mean PC-protected but nobody can review end elseif action ~= 'edit' and action ~= 'move' and action ~= 'create' and action ~= 'upload' and action ~= 'undelete' then error( 'First parameter must be one of edit, move, create, upload, undelete, autoreview', 2 ) end if title.namespace == 8 then -- MediaWiki namespace if title.text:sub(-3) == '.js' or title.text:sub(-4) == '.css' or title.contentModel == 'javascript' or title.contentModel == 'css' then -- site JS or CSS page return 'interfaceadmin' elseif title.baseText == "Gadgets-definition" then return 'interfaceadmin' else -- any non-JS/CSS MediaWiki page return 'sysop' end elseif title.namespace == 2 and title.isSubpage then if title.contentModel == 'javascript' or title.contentModel == 'css' then -- user JS or CSS page return 'interfaceadmin' elseif title.contentModel == 'json' then -- user JSON page return 'sysop' end end if action == 'undelete' then return 'sysop' end local level = title.protectionLevels[action] and title.protectionLevels[action][1] if level == 'sysop' or level == 'editprotected' then return 'sysop' elseif title.cascadingProtection.restrictions[action] and title.cascadingProtection.restrictions[action][1] then -- used by a cascading-protected page return 'sysop' elseif level == 'templateeditor' then return 'templateeditor' elseif action == 'move' then local blacklistentry = mw.ext.TitleBlacklist.test('edit', pagename) -- Testing action edit is correct, since this is for the source page. The target page name gets tested with action move. if blacklistentry and not blacklistentry.params.autoconfirmed then return 'templateeditor' elseif title.namespace == 6 then return 'filemover' elseif level == 'extendedconfirmed' then return 'extendedconfirmed' else return 'autoconfirmed' end end local blacklistentry = mw.ext.TitleBlacklist.test(action, pagename) if blacklistentry then if not blacklistentry.params.autoconfirmed then return 'templateeditor' elseif level == 'extendedconfirmed' then return 'extendedconfirmed' else return 'autoconfirmed' end elseif level == 'editsemiprotected' then -- create-semiprotected pages return this for some reason return 'autoconfirmed' elseif level then return level elseif action == 'upload' then return 'autoconfirmed' elseif action == 'create' and title.namespace % 2 == 0 and title.namespace ~= 118 then -- You need to be registered, but not autoconfirmed, to create non-talk pages other than drafts if title.namespace == 0 then return 'autoconfirmed' -- Per [[WP:ACPERM]], you need to be autoconfirmed to create pages in mainspace end return 'user' else return '*' end end setmetatable(p, { __index = function(t, k) return function(frame) return t._main(k, frame.args[1]) end end }) return p nacj9lsnya0896kpkyuy2onbc6mm6xw Module:High-use 828 6661 153344 85394 2026-07-30T21:52:39Z en>Andrybak 0 Set `approx_num_total_pages = 66000000` (66 million). [[Special:Statistics]] shows 65,988,696 right now. We don't need a lot of precision here. Next update can be at 67 million. 153344 Scribunto text/plain require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local _fetch = require('Module:Transclusion_count')._fetch -- _fetch looks at the 'demo' argument local yesno = require('Module:Yesno') local lang_obj = mw.getContentLanguage() -- this here because the language object is used multiple places in the module local large_count_cutoff = 100000 local approx_num_total_pages = 66000000 local user_subpage_info_page = 'Wikipedia:User pages#SUB' local sandbox_module_page = 'Module:Sandbox' local system_messages_cat = 'Pages used in system messages needing protection' local sandbox_word = 'sandbox' local testcases_word = 'testcases' local doc_word = 'doc' local function count_from_args(args) if tonumber(args.count) then -- check if function has already been used return tonumber(args.count) -- early exit if so end local count if yesno(args['fetch']) ~= false then count = _fetch(args) -- fetch transclusion count end -- use explicitly-provided count when fetch fails if count == nil and args[1] ~= nil and args[1] ~= '' then -- convert local language number string to a number understandable by Lua count = mw.ustring.gsub(args[1], '+$', '') count = lang_obj:parseFormattedNumber(args[1]) end -- in case someone writes a non-positive number if count and count > 0 then return count end return nil end -- Actions if there is a large (greater than or equal to 100,000) transclusion count local function risk_boolean(args) if args.risk == true or args.risk == false then return args.risk elseif args[1] == 'risk' then return true else local count = count_from_args(args) if count and count >= large_count_cutoff then return true end end return false end -- function retained for backwards compatibility function p._risk(args) return risk_boolean(args) and 'risk' or '' end -- function retained for backwards compatibility function p.risk(frame) return p._risk(getArgs(frame)) end -- count and no_percent arguments retained for backwards compatibility function p._num(args, count, no_percent) if count == nil then count = count_from_args(args) end args.count = count args.risk = risk_boolean(args) -- Build output string local return_value = '' if args.count == nil and args.risk then return 'a very large number of' elseif args.count == nil then return 'many' else -- Use 2 significant figures for smaller numbers and 3 for larger ones local sigfig = 2 if args.count >= large_count_cutoff then sigfig = 3 end -- Prepare to round to appropriate number of sigfigs local f = math.floor(math.log10(args.count)) - sigfig + 1 -- Round and insert 'approximately' or '+' when appropriate if yesno(args[2]) == true or (type(args[1]) == 'string' and (mw.ustring.sub(args[1], -1) == '+')) then -- Round down return_value = string.format('%s+', lang_obj:formatNum(math.floor( (args.count / 10^(f)) ) * (10^(f))) ) else -- Round to nearest return_value = string.format('approximately&#x20;%s', lang_obj:formatNum(math.floor( (args.count / 10^(f)) + 0.5) * (10^(f))) ) end -- Insert percentage of pages if that is likely to be >= 1% and when |no-percent= not set to yes no_percent = yesno(no_percent or args['no-percent']) if args.count and args.count >= approx_num_total_pages/100 and not no_percent then local num_total_pages = mw.getCurrentFrame():callParserFunction('NUMBEROFPAGES', 'R') local total_percent = math.floor( ( ( args.count/num_total_pages ) * 100) + 0.5) if total_percent >= 1 then return_value = string.format('%s&#x20;pages, or roughly %s%% of all', return_value, total_percent) end end end return return_value end -- used by [[Template:Stub documentation]] and other pages -- count argument retained for backwards compatibility function p.num(frame, count) return p._num(getArgs(frame), count) end -- count argument retained for backwards compatibility function p._text(args, count) --[=[ Only show the information about how this template gets updated if someone is actually editing the page and maybe trying to update the count. ]=] local bot_text = (mw.getCurrentFrame():preprocess('{{REVISIONID}}') == '') and ("\n\n----\n'''Preview message''':" .. ' Transclusion count updated automatically ([[Template:High-use/doc#Technical details|see documentation]]).') or '' if count == nil then count = count_from_args(args) end args.count = count args.risk = risk_boolean(args) -- trim /doc, /sandbox and /testcases local title = args.title or (args.demo and args.demo ~= '' and mw.title.new(args.demo, 'Template')) or mw.title.getCurrentTitle() if title.subpageText == doc_word or title.subpageText == sandbox_word or title.subpageText == testcases_word then title = title.basePageTitle end -- use /testcases of base template local testcases_page = mw.title.new(title.prefixedText .. '/' .. testcases_word) -- exists is expensive while testcases_page.basePageTitle.isSubpage and not testcases_page.exists do testcases_page = mw.title.new(testcases_page.basePageTitle.basePageTitle.prefixedText .. '/' .. testcases_word) end local systemMessages = (args['system'] or '') ~= '' -- This retrieves the project URL automatically to simplify localization. local templateCount = ('on [https://linkcount.toolforge.org/?project=%s&page=%s#transclusions %s pages]'):format( title:fullUrl():gsub('//(.-)/.*', '%1'), mw.uri.encode(title.fullText), p._num(args)) local used_on_text = "'''This " .. (title:inNamespace('Module') and 'Lua module' or 'template') .. ' is used ' if systemMessages then used_on_text = used_on_text .. args['system'] .. ((args.count and args.count > 2000) and ("''', and " .. templateCount) or ("'''")) else used_on_text = used_on_text .. templateCount .. "'''" end local sandbox_text = ('%s\'s [[%s/sandbox|/sandbox]] or [[%s|/testcases]] subpages, or in your own [[%s]]. '):format( title:inNamespace('Module') and 'module' or 'template', title.fullText, testcases_page.fullText, title:inNamespace('Module') and (sandbox_module_page .. '|module sandbox') or (user_subpage_info_page .. '|user subpage') ) local infoArg = args['info'] ~= '' and args['info'] if (systemMessages or args.risk) then local info = '.' if systemMessages then info = info .. '<br />Changes to it can cause immediate changes to the ' .. mw.site.namespaces.Project.name .. ' user interface.' end if infoArg then info = info .. '<br />' .. infoArg end sandbox_text = info .. '<br /> To avoid major disruption' .. (args.count and args.count >= large_count_cutoff and ' and server load' or '') .. -- should this use args.risk? ', any changes should be tested in the ' .. sandbox_text .. 'The tested changes can be added to this page in a single edit. ' else sandbox_text = (infoArg and ('.<br />' .. infoArg .. ' C') or ' and c') .. 'hanges may be widely noticed. Test changes in the ' .. sandbox_text end local discussion_text = systemMessages and 'Please discuss changes ' or 'Consider discussing changes ' if args[2] ~= nil and args[2] ~= '' and yesno(args[2]) == nil then discussion_text = string.format('%sat [[%s]]', discussion_text, args[2]) else discussion_text = string.format('%son the [[%s|talk page]]', discussion_text, title.talkPageTitle.fullText) end return used_on_text .. sandbox_text .. discussion_text .. ' before implementing them.' .. bot_text end -- used by [[Template:R from high-use template]] -- count argument retained for backwards compatibility function p.text(frame, count) return p._text(getArgs(frame), count) end -- nocat argument retained for backwards compatibility function p._main(args, nocat) args.count = count_from_args(args) args.risk = risk_boolean(args) args.title = (args.demo and args.demo ~= '' and mw.title.new(args.demo, 'Template')) or mw.title.getCurrentTitle() local image = 'Ambox warning yellow.svg' local type_param = 'style' local epilogue = '' if args['system'] and args['system'] ~= '' then image = 'Ambox important.svg' type_param = 'content' if yesno(nocat or args['nocat']) ~= true and not args.title.isRedirect then local protection_action = (args.title:inNamespace('File') and 'upload') or 'edit' local protection_level = require('Module:Effective protection level')._main(protection_action, args.title.fullText) if protection_level ~= 'sysop' and protection_level ~= 'templateeditor' and protection_level ~= 'interfaceadmin' then epilogue = mw.getCurrentFrame():expandTemplate { title = 'sandbox other', args = { [2] = '[[Category:' .. system_messages_cat .. ']]' } } end end elseif args.risk then image = 'Ambox warning orange.svg' type_param = 'content' end image = '[[File:' .. image .. '|40px|alt=Warning|link=]]' if args['form'] == 'editnotice' then return mw.getCurrentFrame():expandTemplate{ title = 'editnotice', args = { ['image'] = image, ['text'] = p._text(args), ['expiry'] = (args['expiry'] or '') } } .. epilogue else return require('Module:Message box').main('ombox', { type = type_param, image = image, text = p._text(args), expiry = (args['expiry'] or '') }) .. epilogue end end function p.main(frame) return p._main(getArgs(frame)) end return p qkt57qdst1ol2kbo88d4jxkr0ibiuy4 153345 152863 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Module:High-use]]: Needed locally 152863 Scribunto text/plain local p = {} -- _fetch looks at the "demo" argument. local _fetch = require('Module:Transclusion_count').fetch local yesno = require('Module:Yesno') function p.num(frame, count) if count == nil then if yesno(frame.args['fetch']) == false then if (frame.args[1] or '') ~= '' then count = tonumber(frame.args[1]) end else count = _fetch(frame) end end -- Build output string local return_value = "" if count == nil then if frame.args[1] == "risk" then return "a very large number of" else return "many" end else -- Use 2 significant figures for smaller numbers and 3 for larger ones local sigfig = 2 if count >= 10000 then sigfig = 3 end -- Prepare to round to appropriate number of sigfigs local f = math.floor(math.log10(count)) - sigfig + 1 -- Round and insert "approximately" or "+" when appropriate if (frame.args[2] == "yes") or (mw.ustring.sub(frame.args[1],-1) == "+") then -- Round down return_value = string.format("%s+", mw.getContentLanguage():formatNum(math.floor( (count / 10^(f)) ) * (10^(f))) ) else -- Round to nearest return_value = string.format("لگہٕ بگہٕ&#x20;%s", mw.getContentLanguage():formatNum(math.floor( (count / 10^(f)) + 0.5) * (10^(f))) ) end -- Insert percentage of pages if that is likely to be >= 1% and when |no-percent= not set to yes if count and count > 2500 and not yesno (frame:getParent().args['no-percent']) then local percent = math.floor( ( (count/frame:callParserFunction('NUMBEROFPAGES', 'R') ) * 100) + 0.5) if percent >= 1 then return_value = string.format("%s&#x20;صَفن, یا یا تمام صفن ہند %s%% پؠٹھ", return_value, percent) end end end return return_value end -- Actions if there is a large (greater than or equal to 10000) transclusion count function p.risk(frame) if frame.args[1] == "risk" then return "risk" else local count = _fetch(frame) if count and count >= 10000 then return "risk" end end return "" end function p.text(frame, count) -- Only show the information about how this template gets updated if someone -- is actually editing the page and maybe trying to update the count. local bot_text = (frame:preprocess("{{REVISIONID}}") == "") and "\n\n----\n'''Preview message''': Transclusion count updated automatically ([[Template:High-use/doc#Technical details|see documentation]])." or '' if count == nil then if yesno(frame.args['fetch']) == false then if (frame.args[1] or '') ~= '' then count = tonumber(frame.args[1]) end else count = _fetch(frame) end end local title = mw.title.getCurrentTitle() if title.subpageText == "doc" or title.subpageText == "sandbox" then title = title.basePageTitle end local systemMessages = frame.args['system'] if frame.args['system'] == '' then systemMessages = nil end -- This retrieves the project URL automatically to simplify localiation. local templateCount = ('بییہ [https://linkcount.toolforge.org/index.php?project=%s&page=%s %s]'):format( mw.title.getCurrentTitle():fullUrl():gsub('//(.-)/.*', '%1'), mw.uri.encode(title.fullText), p.num(frame, count)) local used_on_text = "'''یہِ " .. (mw.title.getCurrentTitle().namespace == 828 and "Lua module" or "فرما") .. ' چھُ اِستِمال '; if systemMessages then used_on_text = used_on_text .. systemMessages .. ((count and count > 2000) and ("''', تہِ " .. templateCount) or ("'''")) else used_on_text = used_on_text .. templateCount .. "'''" end local sandbox_text = ("%s کِس [[%s/سینڈ بکس|/سیند بکس]] یا [[%s/ٹؠسٹ|/ٹؠسٹ]] بچہٕ صفسس، یا پننِس [[%s]]۔ "):format( (mw.title.getCurrentTitle().namespace == 828 and "ماڈیول" or "فرما"), title.fullText, title.fullText, mw.title.getCurrentTitle().namespace == 828 and "Module:Sandbox|module sandbox" or "Wikipedia:User pages#SUB|رُکن بَچہٕ صفس" ) local infoArg = frame.args["info"] ~= "" and frame.args["info"] if (systemMessages or frame.args[1] == "risk" or (count and count >= 10000) ) then local info = systemMessages and '.<br/>یہِ بَدلاونہٕ سٍتۍ ہیکہِ وِکیٖپیٖڈیاہَس مَنٛز بَدلاو گَژھِتھ۔' or '.' if infoArg then info = info .. "<br />" .. infoArg end sandbox_text = info .. '<br /> بٔڑۍ مسلہٕ نِش بچنہٕ خٲطرٕ' .. (count and count >= 10000 and ' تہٕ سرور لوڈ' or '') .. ', کانٛہہ تہِ تبدیلی گژھِ آزماونہٕ یِنۍ ' .. sandbox_text .. 'تُہۍ ہیکِو یِم تبدیلیہٕ یِم تُہۍ ٹیسٹ کران چھِو یِم یَتھ پیجَس منٛز اَکی ساتہٕ شٲمِل کٔرِتھ۔ ' else sandbox_text = (infoArg and ('.<br />' .. infoArg .. ' C') or ' and c') .. 'hanges may be widely noticed. Test changes in the ' .. sandbox_text end local discussion_text = systemMessages and 'مہربٲنی کٔرِتھ کٔرِو تبدیلین مُتلِق کتھ باتھ ' or 'تبدیلین پیٹھ کتھ کرنہٕ مُتعلِق سونچِو ' if frame.args["2"] and frame.args["2"] ~= "" and frame.args["2"] ~= "yes" then discussion_text = string.format("%sat [[%s]]", discussion_text, frame.args["2"]) else discussion_text = string.format("%s [[%s|بَحث صَفس]] پؠٹھ", discussion_text, title.talkPageTitle.fullText ) end return used_on_text .. sandbox_text .. discussion_text .. " لاگو کَرنہِ برونہہ." .. bot_text end function p.main(frame) local count = nil if yesno(frame.args['fetch']) == false then if (frame.args[1] or '') ~= '' then count = tonumber(frame.args[1]) end else count = _fetch(frame) end local image = "[[File:Ambox warning yellow.svg|40px|alt=Warning|link=]]" local type_param = "style" local epilogue = '' if frame.args['system'] and frame.args['system'] ~= '' then image = "[[File:Ambox important.svg|40px|alt=Warning|link=]]" type_param = "content" local nocat = frame:getParent().args['nocat'] or frame.args['nocat'] local categorise = (nocat == '' or not yesno(nocat)) if categorise and not mw.title.getCurrentTitle().isRedirect then epilogue = frame:preprocess('{{Sandbox other||{{#switch:{{#invoke:Effective protection level|{{#switch:{{NAMESPACE}}|File=upload|#default=edit}}|{{FULLPAGENAME}}}}|sysop|templateeditor|interfaceadmin=|#default=[[Category:Pages used in system messages needing protection]]}}}}') end elseif (frame.args[1] == "risk" or (count and count >= 10000)) then image = "[[File:Ambox warning orange.svg|40px|alt=Warning|link=]]" type_param = "content" end if frame.args["form"] == "editnotice" then return frame:expandTemplate{ title = 'editnotice', args = { ["image"] = image, ["text"] = p.text(frame, count), ["expiry"] = (frame.args["expiry"] or "") } } .. epilogue else return require('Module:Message box').main('ombox', { type = type_param, image = image, text = p.text(frame, count), expiry = (frame.args["expiry"] or "") }) .. epilogue end end return p eqekg0uurzbih0x2t8fmwcx76zzcpc9 Module:Protection banner 828 6663 153328 77525 2026-08-30T17:20:50Z en>Primefac 0 Primefac moved page [[Module:Protection banner]] to [[Module:Protected page]]: update following [[Special:Permalink/1372151970#Requested_move_16_August_2026|RM]] 153328 Scribunto text/plain return require [[Module:Protected page]] szdce6cijto5md3vglrgsqmjww4leo2 153329 153328 2026-10-06T18:16:03Z 511KeV 8268 1 revision imported from [[:en:Module:Protection_banner]]: Needed locally 153328 Scribunto text/plain return require [[Module:Protected page]] szdce6cijto5md3vglrgsqmjww4leo2 Module:Transclusion count 828 6665 153346 83541 2025-08-11T22:36:46Z en>Pppery 0 Add protection level for top 400 rows 153346 Scribunto text/plain local p = {} function p._fetch(args) local template = nil local return_value = nil -- Use demo parameter if it exists, otherwise use current template name local namespace = mw.title.getCurrentTitle().namespace if args["demo"] and args["demo"] ~= "" then template = mw.ustring.gsub(args["demo"],"^[Tt]emplate:","") elseif namespace == 10 then -- Template namespace template = mw.title.getCurrentTitle().text elseif namespace == 828 then -- Module namespace template = (mw.site.namespaces[828].name .. ":" .. mw.title.getCurrentTitle().text) end -- If in template or module namespace, look up count in /data if template ~= nil then namespace = mw.title.new(template, "Template").namespace if namespace == 10 or namespace == 828 then template = mw.ustring.gsub(template, "/doc$", "") -- strip /doc from end template = mw.ustring.gsub(template, "/sandbox$", "") -- strip /sandbox from end local index = mw.ustring.sub(mw.title.new(template).text,1,1) local status, data = pcall(function () return(mw.loadData('Module:Transclusion_count/data/' .. (mw.ustring.find(index, "%a") and index or "other"))) end) if status then return_value = tonumber(data[mw.ustring.gsub(template, " ", "_")]) end end end -- If database value doesn't exist, use value passed to template if return_value == nil and args[1] ~= nil then local arg1=mw.ustring.match(args[1], '[%d,]+') if arg1 and arg1 ~= '' then return_value = tonumber(mw.getCurrentFrame():callParserFunction('formatnum', arg1, 'R')) end end return return_value end function p.fetch(frame) return p._fetch(frame.args) end -- Tabulate this data for [[Wikipedia:Database reports/Templates transcluded on the most pages]] function p.tabulate() local list = {} for i = 65, 91 do local data = mw.loadData('Module:Transclusion count/data/' .. ((i == 91) and 'other' or string.char(i))) for name, count in pairs(data) do local title = mw.title.new(name, "Template") table.insert(list, {title, count}) end end table.sort(list, function(a, b) return (a[2] == b[2]) and (a[1] < b[1]) or (a[2] > b[2]) end) local lang = mw.getContentLanguage(); for i = 1, #list do local protLevel = "" local title = list[i][1] if i < 400 then -- Stop at 400 to avoid breaching the expensive parser function call limit protLevel = title.protectionLevels.edit[1] or "(unprotected)" end list[i] = ('|-\n| %d || [[%s]] || %s || %s \n'):format(i, title.fullText:gsub('_', ' '), lang:formatNum(list[i][2]), protLevel) end return table.concat(list) end return p gbl6ss0edudar6ja2191jv0zv8o86gv 153347 153346 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Module:Transclusion_count]]: Needed locally 153346 Scribunto text/plain local p = {} function p._fetch(args) local template = nil local return_value = nil -- Use demo parameter if it exists, otherwise use current template name local namespace = mw.title.getCurrentTitle().namespace if args["demo"] and args["demo"] ~= "" then template = mw.ustring.gsub(args["demo"],"^[Tt]emplate:","") elseif namespace == 10 then -- Template namespace template = mw.title.getCurrentTitle().text elseif namespace == 828 then -- Module namespace template = (mw.site.namespaces[828].name .. ":" .. mw.title.getCurrentTitle().text) end -- If in template or module namespace, look up count in /data if template ~= nil then namespace = mw.title.new(template, "Template").namespace if namespace == 10 or namespace == 828 then template = mw.ustring.gsub(template, "/doc$", "") -- strip /doc from end template = mw.ustring.gsub(template, "/sandbox$", "") -- strip /sandbox from end local index = mw.ustring.sub(mw.title.new(template).text,1,1) local status, data = pcall(function () return(mw.loadData('Module:Transclusion_count/data/' .. (mw.ustring.find(index, "%a") and index or "other"))) end) if status then return_value = tonumber(data[mw.ustring.gsub(template, " ", "_")]) end end end -- If database value doesn't exist, use value passed to template if return_value == nil and args[1] ~= nil then local arg1=mw.ustring.match(args[1], '[%d,]+') if arg1 and arg1 ~= '' then return_value = tonumber(mw.getCurrentFrame():callParserFunction('formatnum', arg1, 'R')) end end return return_value end function p.fetch(frame) return p._fetch(frame.args) end -- Tabulate this data for [[Wikipedia:Database reports/Templates transcluded on the most pages]] function p.tabulate() local list = {} for i = 65, 91 do local data = mw.loadData('Module:Transclusion count/data/' .. ((i == 91) and 'other' or string.char(i))) for name, count in pairs(data) do local title = mw.title.new(name, "Template") table.insert(list, {title, count}) end end table.sort(list, function(a, b) return (a[2] == b[2]) and (a[1] < b[1]) or (a[2] > b[2]) end) local lang = mw.getContentLanguage(); for i = 1, #list do local protLevel = "" local title = list[i][1] if i < 400 then -- Stop at 400 to avoid breaching the expensive parser function call limit protLevel = title.protectionLevels.edit[1] or "(unprotected)" end list[i] = ('|-\n| %d || [[%s]] || %s || %s \n'):format(i, title.fullText:gsub('_', ' '), lang:formatNum(list[i][2]), protLevel) end return table.concat(list) end return p gbl6ss0edudar6ja2191jv0zv8o86gv فرما:Module rating 10 6671 153362 77768 2025-09-10T15:49:37Z en>Waddie96 0 Modifying [[WP:RCAT|redirect categories]] using [[User:Wugapodes/Capricorn|Capricorn ♑]] 153362 wikitext text/x-wiki #REDIRECT [[Template:Template rating]] {{Redirect category shell| {{R from merge}} {{R mentioned in hatnote}} }} 1foept7zoaam5vjrfz3pyntp5xbpjv4 153363 153362 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Template:Module_rating]]: Needed locally 153362 wikitext text/x-wiki #REDIRECT [[Template:Template rating]] {{Redirect category shell| {{R from merge}} {{R mentioned in hatnote}} }} 1foept7zoaam5vjrfz3pyntp5xbpjv4 Module:Transclusion count/data/P 828 6683 153423 153153 2026-10-07T03:20:44Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153423 Scribunto text/plain return { ["P1"] = 140, ["P2"] = 130, ["PAGENAMEBASE"] = 3800, ["PImplemented"] = 100, ["Pagetype"] = 2500, ["Para"] = 230, ["Partly_done"] = 100, ["Pass"] = 100, ["Passed"] = 100, ["Pblock"] = 100, ["PendingRequest"] = 100, ["Pixiedust"] = 100, ["Plain_link"] = 480, ["Plainlist"] = 110, ["Plainlist/styles.css"] = 1500, ["Possible"] = 100, ["Possibly"] = 100, ["Possilikely"] = 100, ["Posted"] = 100, ["Pp-template"] = 120, ["Precision"] = 830, ["Principal_rank"] = 120, ["Property"] = 300, ["ProposalOnHold"] = 100, ["ProposalOutOfScope"] = 100, ["Psblock"] = 100, ["Purge"] = 150, ["Module:Pagetype"] = 2500, ["Module:Pagetype/config"] = 2500, ["Module:Pagetype/disambiguation"] = 2500, ["Module:Pagetype/setindex"] = 2500, ["Module:Pagetype/softredirect"] = 2500, ["Module:Plain_text"] = 2500, ["Module:PositionHandler"] = 200, ["Module:Protection_banner"] = 290, ["Module:Protection_banner/config"] = 290, ["Module:Purge"] = 160, } 7mx0gf1i7zje688k7jru6w1tsaqbmwe فرما:Pp 10 6684 153330 36219 2026-08-30T17:52:03Z en>Asukite 0 fix double redirect [[:w:en:User:Ponor/wAwB| #wAwB]] 153330 wikitext text/x-wiki #REDIRECT [[Template:Protected page]] {{Redirect category shell| {{R from move}} {{R from template shortcut}} }} isvqshsbl6kwg3hu0omhis38t2yg816 153331 153330 2026-10-06T18:16:03Z 511KeV 8268 1 revision imported from [[:en:Template:Pp]]: Needed locally 153330 wikitext text/x-wiki #REDIRECT [[Template:Protected page]] {{Redirect category shell| {{R from move}} {{R from template shortcut}} }} isvqshsbl6kwg3hu0omhis38t2yg816 Module:Submit an edit request 828 6693 153364 36241 2024-12-16T15:29:26Z en>HouseBlaster 0 bypass redirect 153364 Scribunto text/plain -- This module implements {{Submit an edit request}}. local CONFIG_MODULE = 'Module:Submit an edit request/config' -- Load necessary modules local mRedirect = require('Module:Redirect') local cfg = mw.loadData(CONFIG_MODULE) local effectiveProtectionLevel = require('Module:Effective protection level')._main local escape = require("Module:String")._escapePattern local lang = mw.language.getContentLanguage() local p = {} local validLevels = { semi = 'semi', extended = 'extended', template = 'template', full = 'full', interface = 'interface', manual = 'manual' } local function message(key, ...) local params = {...} local msg = cfg[key] if #params < 1 then return msg else return mw.message.newRawMessage(msg):params(params):plain() end end local function validateLevel(level) return level and validLevels[level] or 'full' end local function getLevelInfo(level, field) return cfg.protectionLevels[level][field] end local function resolveRedirect(page) return mRedirect.luaMain(page) end local function isProtected(page) local action = mw.title.new(page).exists and 'edit' or 'create' return effectiveProtectionLevel(action, page) ~= '*' end function p.makeRequestUrl(level, titleObj) titleObj = titleObj or mw.title.getCurrentTitle() local basePage = titleObj.basePageTitle.fullText if cfg['main-page-content'][basePage] then return tostring(mw.uri.fullUrl(message('main-page-request-page'))) end local talkPageName = titleObj.talkPageTitle if talkPageName == nil then return tostring(mw.uri.fullUrl(message('protected-talk-page-request-page'))) end talkPageName = resolveRedirect(talkPageName.prefixedText) if isProtected(talkPageName) then return tostring(mw.uri.fullUrl(message('protected-talk-page-request-page'))) end level = validateLevel(level) if level == 'manual' then return tostring(mw.uri.fullUrl(talkPageName, { action = 'edit', section = 'new' })) end local sectionname = message( 'preload-title-text', getLevelInfo(level, 'levelText'), lang:formatDate(message('preload-title-date-format')) ) local content = mw.title.new(talkPageName):getContent() if content and content:find("== *" .. escape(sectionname) .. " *==") then local dedup = 2 while true do local newname = message("preload-title-dedup-suffix", sectionname, dedup) if not content:find("== *" .. escape(newname) .. " *==") then sectionname = newname break end dedup = dedup + 1 end end local url = mw.uri.fullUrl(talkPageName, { action = 'edit', editintro = getLevelInfo(level, 'editintro'), preload = message('preload-template'), preloadtitle = sectionname, section = 'new' }) url = tostring(url) -- Add the preload parameters. @TODO: merge this into the mw.uri.fullUrl -- query table once [[phab:T93059]] is fixed. local function encodeParam(key, val) return string.format('&%s=%s', mw.uri.encode(key), mw.uri.encode(val)) end url = url .. encodeParam('preloadparams[]', getLevelInfo(level, 'requestTemplate')) url = url .. encodeParam('preloadparams[]', titleObj.prefixedText) return url end function p._link(args) return string.format( '<span class="plainlinks">[%s %s]</span>', p.makeRequestUrl(args.type), args.display or message('default-display-value') ) end function p._button(args) return require('Module:Clickable button').main{ [1] = args.display or message('default-display-value'), url = p.makeRequestUrl(args.type), class = 'mw-ui-progressive' } end local function makeInvokeFunc(func, wrapper) return function (frame) local args = require('Module:Arguments').getArgs(frame, { wrappers = {wrapper} }) return func(args) end end p.link = makeInvokeFunc(p._link, message('link-wrapper-template')) p.button = makeInvokeFunc(p._button, message('button-wrapper-template')) return p nk1nb7zr3yxhcpwmhyp0oewkuy26v66 153365 153364 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Module:Submit_an_edit_request]]: Needed locally 153364 Scribunto text/plain -- This module implements {{Submit an edit request}}. local CONFIG_MODULE = 'Module:Submit an edit request/config' -- Load necessary modules local mRedirect = require('Module:Redirect') local cfg = mw.loadData(CONFIG_MODULE) local effectiveProtectionLevel = require('Module:Effective protection level')._main local escape = require("Module:String")._escapePattern local lang = mw.language.getContentLanguage() local p = {} local validLevels = { semi = 'semi', extended = 'extended', template = 'template', full = 'full', interface = 'interface', manual = 'manual' } local function message(key, ...) local params = {...} local msg = cfg[key] if #params < 1 then return msg else return mw.message.newRawMessage(msg):params(params):plain() end end local function validateLevel(level) return level and validLevels[level] or 'full' end local function getLevelInfo(level, field) return cfg.protectionLevels[level][field] end local function resolveRedirect(page) return mRedirect.luaMain(page) end local function isProtected(page) local action = mw.title.new(page).exists and 'edit' or 'create' return effectiveProtectionLevel(action, page) ~= '*' end function p.makeRequestUrl(level, titleObj) titleObj = titleObj or mw.title.getCurrentTitle() local basePage = titleObj.basePageTitle.fullText if cfg['main-page-content'][basePage] then return tostring(mw.uri.fullUrl(message('main-page-request-page'))) end local talkPageName = titleObj.talkPageTitle if talkPageName == nil then return tostring(mw.uri.fullUrl(message('protected-talk-page-request-page'))) end talkPageName = resolveRedirect(talkPageName.prefixedText) if isProtected(talkPageName) then return tostring(mw.uri.fullUrl(message('protected-talk-page-request-page'))) end level = validateLevel(level) if level == 'manual' then return tostring(mw.uri.fullUrl(talkPageName, { action = 'edit', section = 'new' })) end local sectionname = message( 'preload-title-text', getLevelInfo(level, 'levelText'), lang:formatDate(message('preload-title-date-format')) ) local content = mw.title.new(talkPageName):getContent() if content and content:find("== *" .. escape(sectionname) .. " *==") then local dedup = 2 while true do local newname = message("preload-title-dedup-suffix", sectionname, dedup) if not content:find("== *" .. escape(newname) .. " *==") then sectionname = newname break end dedup = dedup + 1 end end local url = mw.uri.fullUrl(talkPageName, { action = 'edit', editintro = getLevelInfo(level, 'editintro'), preload = message('preload-template'), preloadtitle = sectionname, section = 'new' }) url = tostring(url) -- Add the preload parameters. @TODO: merge this into the mw.uri.fullUrl -- query table once [[phab:T93059]] is fixed. local function encodeParam(key, val) return string.format('&%s=%s', mw.uri.encode(key), mw.uri.encode(val)) end url = url .. encodeParam('preloadparams[]', getLevelInfo(level, 'requestTemplate')) url = url .. encodeParam('preloadparams[]', titleObj.prefixedText) return url end function p._link(args) return string.format( '<span class="plainlinks">[%s %s]</span>', p.makeRequestUrl(args.type), args.display or message('default-display-value') ) end function p._button(args) return require('Module:Clickable button').main{ [1] = args.display or message('default-display-value'), url = p.makeRequestUrl(args.type), class = 'mw-ui-progressive' } end local function makeInvokeFunc(func, wrapper) return function (frame) local args = require('Module:Arguments').getArgs(frame, { wrappers = {wrapper} }) return func(args) end end p.link = makeInvokeFunc(p._link, message('link-wrapper-template')) p.button = makeInvokeFunc(p._button, message('button-wrapper-template')) return p nk1nb7zr3yxhcpwmhyp0oewkuy26v66 Module:Submit an edit request/config 828 6694 153366 74772 2026-01-11T00:43:40Z en>Pppery 0 Bypass rdr 153366 Scribunto text/plain -- This module contains configuration data for [[Module:Submit an edit request]]. return { -------------------------------------------------------------------------------- -- Messages -------------------------------------------------------------------------------- -- The default display value for edit requests. ['default-display-value'] = 'Submit an edit request', -- The template that stores the edit request preload text ['preload-template'] = 'Template:Submit an edit request/preload', -- The section heading that is generated when a user clicks on an edit request -- link. $1 is the protection level text, e.g. "Semi-protected" or -- "Template-protected". $2 is the current date, in the format specified by the -- "preload-title-date-format" message. ['preload-title-text'] = '$1 edit request on $2', -- The date format for the automatically-generated section heading. The format -- must be valid input for the #time parser function. ['preload-title-date-format'] = 'j F Y', -- What do do with the generated section header if another header with the same section already exists -- $1 is the original section header. $2 is an automatically generated number, starting at 2 and increasing -- by one until a unique header is found. ['preload-title-dedup-suffix'] = '$1 ($2)', -- The names of pages (and their subpages) that make up the content of the main page for this wiki ['main-page-content'] = { ['Wikipedia:Today\'s featured article'] = true, ['Template:In the news'] = true, ['Template:Did you know'] = true, ['Wikipedia:Selected anniversaries'] = true, ['Template:POTD protected'] = true, ['Wikipedia:Today\'s featured list'] = true }, -- The page used to request changes to things on the Main Page. ['main-page-request-page'] = 'Wikipedia:Main Page/Errors', -- The page used to request edits to protected talk pages. ['protected-talk-page-request-page'] = 'Wikipedia:Requests for page protection/Edit', -- The names of the templates to be used as wrappers for the "link" and "button" -- functions. These are passed as arguments to the "wrappers" option of -- [[Module:Arguments]]. ['link-wrapper-template'] = 'Template:Submit an edit request/link', ['button-wrapper-template'] = 'Template:Submit an edit request', -------------------------------------------------------------------------------- -- Protection level config -------------------------------------------------------------------------------- protectionLevels = { --[[ -- These settings are for the different protection levels which the module can -- output edit request links for. -- -- editintro: -- The template to use as the edit intro users see when they click on an edit -- request link. -- -- request-template: -- The name of the edit request template for that protection level. Do not -- include the "Template:" text. -- -- protectionlevel: -- The name of the protection level, used for formatting the automatically- -- generated section headings. --]] -- Semi-protection semi = { editintro = 'Template:Edit semi-protected/editintro', requestTemplate = 'edit semi-protected', levelText = 'Semi-protected', }, -- Extended-confirmed-protection extended = { editintro = 'Template:Edit extended-protected/editintro', requestTemplate = 'edit extended-protected', levelText = 'Extended-confirmed-protected', }, -- Template-protection template = { editintro = 'Template:Edit template-protected/editintro', requestTemplate = 'edit template-protected', levelText = 'Template-protected', }, -- Full protection full = { editintro = 'Template:Edit fully-protected/editintro', requestTemplate = 'edit fully-protected', levelText = 'Protected', }, -- Interface-protection interface = { editintro = 'Template:Edit interface-protected/editintro', requestTemplate = 'edit interface-protected', levelText = 'Interface-protected', }, } } pt4ho7slt5fo4w5xg1pn6u5vzde87r1 153367 153366 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Module:Submit_an_edit_request/config]]: Needed locally 153366 Scribunto text/plain -- This module contains configuration data for [[Module:Submit an edit request]]. return { -------------------------------------------------------------------------------- -- Messages -------------------------------------------------------------------------------- -- The default display value for edit requests. ['default-display-value'] = 'Submit an edit request', -- The template that stores the edit request preload text ['preload-template'] = 'Template:Submit an edit request/preload', -- The section heading that is generated when a user clicks on an edit request -- link. $1 is the protection level text, e.g. "Semi-protected" or -- "Template-protected". $2 is the current date, in the format specified by the -- "preload-title-date-format" message. ['preload-title-text'] = '$1 edit request on $2', -- The date format for the automatically-generated section heading. The format -- must be valid input for the #time parser function. ['preload-title-date-format'] = 'j F Y', -- What do do with the generated section header if another header with the same section already exists -- $1 is the original section header. $2 is an automatically generated number, starting at 2 and increasing -- by one until a unique header is found. ['preload-title-dedup-suffix'] = '$1 ($2)', -- The names of pages (and their subpages) that make up the content of the main page for this wiki ['main-page-content'] = { ['Wikipedia:Today\'s featured article'] = true, ['Template:In the news'] = true, ['Template:Did you know'] = true, ['Wikipedia:Selected anniversaries'] = true, ['Template:POTD protected'] = true, ['Wikipedia:Today\'s featured list'] = true }, -- The page used to request changes to things on the Main Page. ['main-page-request-page'] = 'Wikipedia:Main Page/Errors', -- The page used to request edits to protected talk pages. ['protected-talk-page-request-page'] = 'Wikipedia:Requests for page protection/Edit', -- The names of the templates to be used as wrappers for the "link" and "button" -- functions. These are passed as arguments to the "wrappers" option of -- [[Module:Arguments]]. ['link-wrapper-template'] = 'Template:Submit an edit request/link', ['button-wrapper-template'] = 'Template:Submit an edit request', -------------------------------------------------------------------------------- -- Protection level config -------------------------------------------------------------------------------- protectionLevels = { --[[ -- These settings are for the different protection levels which the module can -- output edit request links for. -- -- editintro: -- The template to use as the edit intro users see when they click on an edit -- request link. -- -- request-template: -- The name of the edit request template for that protection level. Do not -- include the "Template:" text. -- -- protectionlevel: -- The name of the protection level, used for formatting the automatically- -- generated section headings. --]] -- Semi-protection semi = { editintro = 'Template:Edit semi-protected/editintro', requestTemplate = 'edit semi-protected', levelText = 'Semi-protected', }, -- Extended-confirmed-protection extended = { editintro = 'Template:Edit extended-protected/editintro', requestTemplate = 'edit extended-protected', levelText = 'Extended-confirmed-protected', }, -- Template-protection template = { editintro = 'Template:Edit template-protected/editintro', requestTemplate = 'edit template-protected', levelText = 'Template-protected', }, -- Full protection full = { editintro = 'Template:Edit fully-protected/editintro', requestTemplate = 'edit fully-protected', levelText = 'Protected', }, -- Interface-protection interface = { editintro = 'Template:Edit interface-protected/editintro', requestTemplate = 'edit interface-protected', levelText = 'Interface-protected', }, } } pt4ho7slt5fo4w5xg1pn6u5vzde87r1 فرما:Pp-protected 10 6696 153477 36250 2026-10-07T11:18:34Z EmausBot 1793 Fixing double redirect from [[فرما:Pp]] to [[فرما:Protected page]] 153477 wikitext text/x-wiki #REDIRECT [[فرما:Protected page]] {{Rcat shell| {{R from move}} {{R from long name}} {{R with history}} {{R for convenience}} }} [[Category:Top icon protection templates]] hgr2w1gj5qtjt1ogtsv3wid85aelajs Module:Transclusion count/data/D 828 7056 153416 152721 2026-10-07T03:18:44Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153416 Scribunto text/plain return { ["DMCA"] = 360, ["Databox"] = 1000, ["Dated_maintenance_category"] = 360, ["Day"] = 360, ["Death_date_and_age"] = 420, ["Death_date_and_age_WD"] = 130, ["Decline"] = 100, ["Decline-IP"] = 100, ["Declined"] = 100, ["Deferabusefilter"] = 100, ["Deferblack"] = 100, ["Defermetablack"] = 100, ["Deferred"] = 100, ["Deferrsn"] = 100, ["Deferspam"] = 100, ["Deferspambot"] = 100, ["Deferwhite"] = 100, ["Deleted"] = 100, ["Deleted-image"] = 100, ["Delink"] = 260, ["Delisted"] = 100, ["Denied"] = 100, ["Detect_singular"] = 2200, ["Dir"] = 260, ["Disagree"] = 100, ["Discussing"] = 100, ["Dislike"] = 100, ["Div_col"] = 120, ["Div_col/styles.css"] = 120, ["Div_col_end"] = 120, ["Documentation"] = 2500, ["Documentation_subpage"] = 330, ["Doing"] = 100, ["Don't_edit_this_line"] = 120, ["Don't_edit_this_line_always_display"] = 120, ["Don't_edit_this_line_extinct"] = 120, ["Don't_edit_this_line_link_target"] = 120, ["Don't_edit_this_line_link_text"] = 120, ["Don't_edit_this_line_parent"] = 120, ["Don't_edit_this_line_rank"] = 120, ["Don't_edit_this_line_refs"] = 100, ["Don't_edit_this_line_same_as"] = 120, ["Done"] = 130, ["Done/See_also"] = 100, ["Donetask"] = 100, ["Duck"] = 100, ["DuplicateProposal"] = 100, ["Duplicate_bug"] = 100, ["Module:Databox"] = 4600, ["Module:Databox/extra_images"] = 4600, ["Module:Databox/qualifiers"] = 4600, ["Module:Databox/theme"] = 4600, ["Module:Date"] = 2700, ["Module:DateI18n"] = 2400, ["Module:Delink"] = 450, ["Module:Dimensions"] = 110, ["Module:Disambiguation/templates"] = 2500, ["Module:Documentation"] = 2500, ["Module:Documentation/config"] = 2500, ["Module:Documentation/styles.css"] = 2500, } ba6tgoi8qny9b10j1gpjlv1hs3zkgmw فرما:Hlist 10 7162 153318 37398 2026-09-12T17:59:44Z en>MusikBot II 0 Protected "[[Template:Hlist]]": [[Wikipedia:High-risk templates|High-risk template or module]]: 310424 transclusions ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 153318 wikitext text/x-wiki #REDIRECT [[Template:Horizontal list]] j3di4tswthkvewum4j2tczpbseqofxy 153319 153318 2026-10-06T18:16:03Z 511KeV 8268 1 revision imported from [[:en:Template:Hlist]]: Needed locally 153318 wikitext text/x-wiki #REDIRECT [[Template:Horizontal list]] j3di4tswthkvewum4j2tczpbseqofxy Module:Transclusion count/data/I 828 7194 153418 153150 2026-10-07T03:19:34Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153418 Scribunto text/plain return { ["IPA"] = 140, ["IPAc-en"] = 120, ["IPblock"] = 100, ["IUCNstatus"] = 150, ["Icon"] = 130, ["Idea"] = 100, ["Identificador"] = 310, ["Identifiers"] = 310, ["Idkc"] = 100, ["If_both"] = 380, ["If_empty"] = 4500, ["If_then_show"] = 1200, ["Ifsubst"] = 100, ["Imbox"] = 110, ["Implemented"] = 100, ["Impossible"] = 100, ["InGroup"] = 140, ["Inconclusive"] = 100, ["InfoNeeded"] = 100, ["Infobox"] = 4800, ["InfoboxFrame"] = 310, ["Infobox_language/family-color"] = 130, ["Infobox_number/link"] = 110, ["Infobox_number/range"] = 100, ["Infobox_officeholder/Wikidata"] = 170, ["Infobox_officeholder/office"] = 110, ["Infobox_person"] = 150, ["Infobox_person/Wikidata"] = 490, ["Infobox_person/ca"] = 140, ["Infobox_person/formatglobal"] = 140, ["Infobox_person/styles_ca.css"] = 140, ["Infobox_person_ca/catalan"] = 140, ["Infobox_settlement"] = 2000, ["Infobox_settlement/Wikidata"] = 840, ["Infobox_settlement/areadisp"] = 800, ["Infobox_settlement/columns"] = 480, ["Infobox_settlement/densdisp"] = 1700, ["Infobox_settlement/link"] = 480, ["Infobox_settlement/metric"] = 830, ["Infobox_settlement/pref"] = 830, ["Infotaula"] = 320, ["Inprogress"] = 100, ["Invalid"] = 100, ["Investigating"] = 100, ["Ipbedone"] = 100, ["IsIPAddress"] = 440, ["Is_italic_taxon"] = 120, ["Isdoing"] = 100, ["Italic_title"] = 140, ["Module:I18n"] = 3600, ["Module:I18n/complex_date"] = 2400, ["Module:IPAc-en"] = 120, ["Module:IPAc-en/data"] = 120, ["Module:IPAc-en/phonemes"] = 120, ["Module:IPAc-en/pronunciation"] = 120, ["Module:IPAddress"] = 440, ["Module:ISO_3166"] = 210, ["Module:ISO_3166/data/National"] = 210, ["Module:ISOdate"] = 2400, ["Module:IUCNstatus"] = 150, ["Module:Icon"] = 130, ["Module:Icon/data"] = 130, ["Module:If_empty"] = 4500, ["Module:Infobox"] = 5600, ["Module:Infobox/styles.css"] = 5600, ["Module:InfoboxImage"] = 3900, ["Module:Infobox_dim"] = 120, ["Module:Infobox_dim/data"] = 110, ["Module:Infobox_mapframe"] = 220, ["Module:Italic_title"] = 140, ["Module:Itemgroup"] = 370, ["Module:Itemgroup/groups"] = 140, ["Module:Itemgroup/list"] = 360, } 2ykt2fzrhdurgr5l3dsuo5tsl3on5al Module:Transclusion count/data/A 828 7403 153415 152718 2026-10-07T03:18:14Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153415 Scribunto text/plain return { ["A_note"] = 110, ["Abbr"] = 120, ["Accepted"] = 100, ["Added"] = 100, ["Administrator_note"] = 100, ["AfC_age_category"] = 440, ["AfC_date_category"] = 440, ["AfC_status/age"] = 440, ["AfC_status/backlog"] = 440, ["AfC_submission"] = 440, ["AfC_submission/helptools"] = 440, ["AfC_submission/pending"] = 440, ["AfC_submission/tools"] = 440, ["Age_in_years"] = 190, ["Agree"] = 100, ["Align"] = 240, ["Aligned_table"] = 120, ["Allow_wrap"] = 130, ["Already_declined"] = 100, ["Already_done"] = 100, ["Ambox"] = 2300, ["Anglicise_rank"] = 120, ["Approved"] = 110, ["Archive_now"] = 100, ["Audio"] = 140, ["Automated_tools"] = 440, ["Autp"] = 100, ["Await"] = 110, ["Awaiting"] = 100, ["Awaitingadmin"] = 100, ["Aye"] = 100, ["Module:AfC_submission_catcheck"] = 440, ["Module:Age"] = 2000, ["Module:Aligned_table"] = 130, ["Module:Arguments"] = 12000, ["Module:Autotaxobox"] = 130, } rst337vhcxqt3omo8j53g7wy3mp6d8z فرما:Pp-semi-protected 10 7453 153478 38322 2026-10-07T11:18:44Z EmausBot 1793 Fixing double redirect from [[فرما:Pp]] to [[فرما:Protected page]] 153478 wikitext text/x-wiki #REDIRECT [[فرما:Protected page]] [[Category:Top icon protection templates|{{PAGENAME}}]] ncplaihqy1syk0zdoit967amyqbbp86 Module:Transclusion count/data/L 828 7790 153419 152727 2026-10-07T03:20:04Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153419 Scribunto text/plain return { ["Lang"] = 780, ["Later"] = 100, ["LcPlainText"] = 280, ["Lenny"] = 100, ["Like"] = 100, ["Likely"] = 100, ["Llista_desplegable_condicional"] = 120, ["Location_map"] = 270, ["Longitem"] = 350, ["Lua"] = 120, ["Module:Lang"] = 1000, ["Module:Lang/ISO_639_synonyms"] = 1000, ["Module:Lang/data"] = 1000, ["Module:Language/data/iana_languages"] = 1100, ["Module:Language/data/iana_regions"] = 1000, ["Module:Language/data/iana_scripts"] = 1000, ["Module:Language/data/iana_suppressed_scripts"] = 1000, ["Module:Language/data/iana_variants"] = 1000, ["Module:List"] = 1700, ["Module:Location"] = 180, ["Module:Location/ks"] = 180, ["Module:Location_map"] = 300, ["Module:Location_map/styles.css"] = 290, ["Module:Lua_banner"] = 120, } pnu8yolzx94zwjwn31n43i0uoc0652g فرما:PP 10 8620 153476 43583 2026-10-07T11:18:24Z EmausBot 1793 Fixing double redirect from [[فرما:Pp]] to [[فرما:Protected page]] 153476 wikitext text/x-wiki #REDIRECT [[فرما:Protected page]] e68inpaoq9d1amurmtp2y7dgiccvown Module:Transclusion count/data/N 828 8647 153421 153152 2026-10-07T03:20:24Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153421 Scribunto text/plain return { ["N&"] = 100, ["N.b."] = 100, ["N/A_icon"] = 100, ["NOINDEX"] = 470, ["NUMBEROFSECTIONS"] = 440, ["Namespace_detect"] = 2100, ["Navbar"] = 110, ["Navbox"] = 200, ["Nay"] = 100, ["Nayc"] = 100, ["Nayg"] = 100, ["Nbsp"] = 1600, ["Nc"] = 100, ["NeedsDiscussion"] = 100, ["NewBug"] = 100, ["NewProposal"] = 100, ["No_action"] = 100, ["No_comment_IP"] = 100, ["No_mark"] = 100, ["No_redirect"] = 160, ["No_tags"] = 100, ["Nocomment"] = 100, ["Nojoy"] = 100, ["Nosleepers"] = 100, ["NotBug"] = 100, ["Not_a_bug"] = 100, ["Not_done"] = 110, ["Not_done-t"] = 100, ["Not_done_empty_request"] = 100, ["Not_done_for_now"] = 100, ["Not_done_not_likely"] = 100, ["Not_done_unclear"] = 100, ["Not_sure"] = 100, ["Notabug"] = 100, ["Notfixed"] = 100, ["Notsure"] = 100, ["Novalue"] = 200, ["Nowrap"] = 790, ["Ns0"] = 130, ["Ns_has_subpages"] = 470, ["Module:Namespace_detect"] = 2100, ["Module:Namespace_detect/config"] = 4700, ["Module:Namespace_detect/data"] = 4700, ["Module:Navbar"] = 550, ["Module:Navbar/configuration"] = 550, ["Module:Navbar/styles.css"] = 470, ["Module:Navbox"] = 220, ["Module:Navbox/configuration"] = 220, ["Module:Navbox/styles.css"] = 220, ["Module:Ns_has_subpages"] = 470, } cmrxlixmpz3dzp4jgvarqu9nvmvcfg2 Module:Transclusion count/data/S 828 8655 153425 153154 2026-10-07T03:21:14Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153425 Scribunto text/plain return { ["SDcat"] = 2400, ["SHORTDESC:Natural_number"] = 100, ["SHORTDESC:Place"] = 2100, ["SULcheck"] = 100, ["Sandbox_other"] = 330, ["Sblock"] = 100, ["Scissors"] = 100, ["Self-trout"] = 100, ["Self-whale"] = 100, ["Semi-done"] = 100, ["Sent"] = 100, ["Sfn"] = 110, ["Short_description"] = 2500, ["Short_description/lowercasecheck"] = 2500, ["Shrug"] = 100, ["Small"] = 140, ["Smallrejected"] = 100, ["Snow"] = 100, ["Socks_tagged"] = 100, ["Somevalue"] = 270, ["Sorry"] = 100, ["Spaces"] = 1600, ["Stale-small"] = 100, ["StaleIP"] = 100, ["Stale_GAN"] = 100, ["Started"] = 100, ["Str_find"] = 140, ["Str_left"] = 730, ["Str_len"] = 210, ["Str_len1"] = 260, ["Str_number/trim"] = 150, ["Str_split"] = 250, ["Strong"] = 110, ["Stub"] = 1600, ["Suggestion"] = 100, ["Switcher2"] = 220, ["Switcher2/styles.css"] = 220, ["Module:SDcat"] = 2400, ["Module:Separated_entries"] = 1900, ["Module:Settlement_short_description"] = 2200, ["Module:Shortcut"] = 130, ["Module:Shortcut/config"] = 130, ["Module:Shortcut/styles.css"] = 130, ["Module:String"] = 8000, ["Module:String1"] = 460, ["Module:String2"] = 890, } kx6gcgyaz09gweq4vzmopakwb0jwyhd فرما:Pre 10 9670 153332 124112 2026-06-29T14:46:36Z en>ABreault (WMF) 0 For [[phab:T353697|T353697]]. See the talk page discussion 153332 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/>{{#if:{{{space|}}}{{{width|}}}{{{style|}}}|{{#tag:pre|{{{1|<noinclude>Sample text</noinclude>}}}|format=wikitext|class=pre {{#ifeq:{{{border|}}}|no|pre-borderless}}|style={{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}}}|{{#tag:pre|{{{1|<noinclude>Sample text</noinclude>}}}|format=wikitext|class=pre {{#ifeq:{{{border|}}}|no|pre-borderless}}}}}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 22sa1k0u2jf83124swp5gn7on8cvfol 153333 153332 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Template:Pre]]: Needed locally 153332 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/>{{#if:{{{space|}}}{{{width|}}}{{{style|}}}|{{#tag:pre|{{{1|<noinclude>Sample text</noinclude>}}}|format=wikitext|class=pre {{#ifeq:{{{border|}}}|no|pre-borderless}}|style={{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}}}|{{#tag:pre|{{{1|<noinclude>Sample text</noinclude>}}}|format=wikitext|class=pre {{#ifeq:{{{border|}}}|no|pre-borderless}}}}}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 22sa1k0u2jf83124swp5gn7on8cvfol فرما:Microformat message 10 10038 153368 50217 2024-01-18T06:15:23Z en>Jonesey95 0 why? This layout is standard 153368 wikitext text/x-wiki The [[Help:HTML in wikitext|HTML mark-up]] produced by this template includes {{#if:{{{type|}}} |{{{type}}} |an [[{{{format}}} microformat]]}} that makes {{{data}}} readily [[Parsing|parsable]] by computer programs. This aids tasks such as the cataloguing of articles and maintenance of databases. For more information about the use of microformats on Wikipedia, please visit [[Wikipedia:WikiProject Microformats|the Microformat WikiProject]].<!-- -->{{#if:{{{subtemplates<includeonly>|</includeonly>}}} | <div style="margin-top:0.5em;margin-bottom:0.65em;"> ; {{large|Subtemplates}} {{{subtemplates}}} '''''Please do not remove instances of these subtemplates.''''' </div>}}<!-- -->{{#if:{{{subsection1|}}} | <div style="margin-top:0.5em;margin-bottom:0.65em;"><!--(newline in case subsection begins with heading:)--> {{{subsection1}}} </div>}}<!-- -->{{#if:{{{1<includeonly>|</includeonly>}}} <!--(i.e. if at least one unnamed parameter supplied:)--> | <div style="margin-top:0.5em;margin-bottom:0.65em;"> ; {{large|Classes used}} The [[HTML attribute|HTML class]]es of this microformat include: : {{hlist |item_style=font-size:110%;{{{itemstyle|}}} |{{{1}}} |{{{2<includeonly>|</includeonly>}}} |{{{3|<noinclude>{{nobold|……}}</noinclude>}}} |{{{4|}}} |{{{5|}}} |{{{6|}}} |{{{7|}}} |{{{8|}}} |{{{9|}}} |{{{10|}}} |{{{11|}}} |{{{12|}}} |{{{13|}}} |{{{14|}}} |{{{15|}}} |{{{16|}}} |{{{17|}}} |{{{18|}}} |{{{19|}}} |{{{20|}}} }} </div> {{longitem|style=line-height:1.3em|'''''Please do not rename or remove these classes{{#if:{{{nocollapse<includeonly>|</includeonly>}}} |<br/>nor collapse nested elements which use them}}.'''''}}<!-- -->}}<!--(end #if:[1])--><noinclude> {{documentation}} </noinclude> m6k2h5dfubh33h98ip1hm7dkz3tgtpg 153369 153368 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Template:Microformat_message]]: Needed locally 153368 wikitext text/x-wiki The [[Help:HTML in wikitext|HTML mark-up]] produced by this template includes {{#if:{{{type|}}} |{{{type}}} |an [[{{{format}}} microformat]]}} that makes {{{data}}} readily [[Parsing|parsable]] by computer programs. This aids tasks such as the cataloguing of articles and maintenance of databases. For more information about the use of microformats on Wikipedia, please visit [[Wikipedia:WikiProject Microformats|the Microformat WikiProject]].<!-- -->{{#if:{{{subtemplates<includeonly>|</includeonly>}}} | <div style="margin-top:0.5em;margin-bottom:0.65em;"> ; {{large|Subtemplates}} {{{subtemplates}}} '''''Please do not remove instances of these subtemplates.''''' </div>}}<!-- -->{{#if:{{{subsection1|}}} | <div style="margin-top:0.5em;margin-bottom:0.65em;"><!--(newline in case subsection begins with heading:)--> {{{subsection1}}} </div>}}<!-- -->{{#if:{{{1<includeonly>|</includeonly>}}} <!--(i.e. if at least one unnamed parameter supplied:)--> | <div style="margin-top:0.5em;margin-bottom:0.65em;"> ; {{large|Classes used}} The [[HTML attribute|HTML class]]es of this microformat include: : {{hlist |item_style=font-size:110%;{{{itemstyle|}}} |{{{1}}} |{{{2<includeonly>|</includeonly>}}} |{{{3|<noinclude>{{nobold|……}}</noinclude>}}} |{{{4|}}} |{{{5|}}} |{{{6|}}} |{{{7|}}} |{{{8|}}} |{{{9|}}} |{{{10|}}} |{{{11|}}} |{{{12|}}} |{{{13|}}} |{{{14|}}} |{{{15|}}} |{{{16|}}} |{{{17|}}} |{{{18|}}} |{{{19|}}} |{{{20|}}} }} </div> {{longitem|style=line-height:1.3em|'''''Please do not rename or remove these classes{{#if:{{{nocollapse<includeonly>|</includeonly>}}} |<br/>nor collapse nested elements which use them}}.'''''}}<!-- -->}}<!--(end #if:[1])--><noinclude> {{documentation}} </noinclude> m6k2h5dfubh33h98ip1hm7dkz3tgtpg Module:Infobox/styles.css 828 10044 153324 54019 2026-06-09T21:49:34Z en>Izno 0 spaceeeee 153324 sanitized-css text/css /* {{pp|small=y}} */ /* * This TemplateStyles sheet deliberately does NOT include the full set of * infobox styles. We are still working to migrate all of the manual * infoboxes. See [[MediaWiki talk:Common.css/to do#Infobox]] * DO NOT ADD THEM HERE */ /* NOTE: This is maintained both here and in [[MediaWiki:Common.css]] until migration is complete. * Starting with bare minimum for the benefit of [[mw:Manual:Safemode]]. */ @media (min-width: 640px) { .infobox { /* @noflip */ margin-left: 1em; /* @noflip */ float: right; /* @noflip */ clear: right; width: 22em; } } /* * not strictly certain these styles are necessary since the modules now * exclusively output infobox-subbox or infobox, not both * just replicating the module faithfully */ .infobox-subbox { padding: 0; border: none; margin: -3px; width: auto; min-width: 100%; font-size: 100%; clear: none; float: none; background-color: transparent; color:inherit; } .infobox-3cols-child { margin: -3px; } .infobox .navbar { font-size: 100%; } /* remove when infobox is not a table anymore */ .infobox-hiddenrow, /* we mean it, Minerva. but also Vector 2022 in the future at some point */ body.skin--responsive.skin--responsive .infobox .infobox-hiddenrow { display: none; } /* Dark theme: [[William Wragg]], [[Coral Castle]] */ @media screen { html.skin-theme-clientpref-night .infobox-full-data:not(.notheme) > div:not(.notheme)[style] { background: #1f1f23 !important; /* switch with var( --color-base ) when supported. */ color: #f8f9fa; } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .infobox-full-data:not(.notheme) > div:not(.notheme)[style] { background: #1f1f23 !important; /* switch with var( --color-base ) when supported. */ color: #f8f9fa; } } /* Since infobox is a table, many infobox templates take advantage of this to * add columns and rows to the infobox itself rather than as part of a new table * inside them. This class should be discouraged and removed on the long term, * but allows us to at least identify these tables going forward * Currently in use on: [[Module:Infobox3cols]] * Fixes issue described in [[phab:F55300125]] on Vector 2022. */ @media (min-width: 640px) { body.skin--responsive .infobox-table { display: table !important; } body.skin--responsive .infobox-table > caption { display: table-caption !important; } body.skin--responsive .infobox-table > tbody { display: table-row-group; } body.skin--responsive .infobox-table th, body.skin--responsive .infobox-table td { padding-left: inherit; padding-right: inherit; } } bi1nsztkx4350a55cuzjhaotvp5h216 153325 153324 2026-10-06T18:16:03Z 511KeV 8268 1 revision imported from [[:en:Module:Infobox/styles.css]]: Needed locally 153324 sanitized-css text/css /* {{pp|small=y}} */ /* * This TemplateStyles sheet deliberately does NOT include the full set of * infobox styles. We are still working to migrate all of the manual * infoboxes. See [[MediaWiki talk:Common.css/to do#Infobox]] * DO NOT ADD THEM HERE */ /* NOTE: This is maintained both here and in [[MediaWiki:Common.css]] until migration is complete. * Starting with bare minimum for the benefit of [[mw:Manual:Safemode]]. */ @media (min-width: 640px) { .infobox { /* @noflip */ margin-left: 1em; /* @noflip */ float: right; /* @noflip */ clear: right; width: 22em; } } /* * not strictly certain these styles are necessary since the modules now * exclusively output infobox-subbox or infobox, not both * just replicating the module faithfully */ .infobox-subbox { padding: 0; border: none; margin: -3px; width: auto; min-width: 100%; font-size: 100%; clear: none; float: none; background-color: transparent; color:inherit; } .infobox-3cols-child { margin: -3px; } .infobox .navbar { font-size: 100%; } /* remove when infobox is not a table anymore */ .infobox-hiddenrow, /* we mean it, Minerva. but also Vector 2022 in the future at some point */ body.skin--responsive.skin--responsive .infobox .infobox-hiddenrow { display: none; } /* Dark theme: [[William Wragg]], [[Coral Castle]] */ @media screen { html.skin-theme-clientpref-night .infobox-full-data:not(.notheme) > div:not(.notheme)[style] { background: #1f1f23 !important; /* switch with var( --color-base ) when supported. */ color: #f8f9fa; } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .infobox-full-data:not(.notheme) > div:not(.notheme)[style] { background: #1f1f23 !important; /* switch with var( --color-base ) when supported. */ color: #f8f9fa; } } /* Since infobox is a table, many infobox templates take advantage of this to * add columns and rows to the infobox itself rather than as part of a new table * inside them. This class should be discouraged and removed on the long term, * but allows us to at least identify these tables going forward * Currently in use on: [[Module:Infobox3cols]] * Fixes issue described in [[phab:F55300125]] on Vector 2022. */ @media (min-width: 640px) { body.skin--responsive .infobox-table { display: table !important; } body.skin--responsive .infobox-table > caption { display: table-caption !important; } body.skin--responsive .infobox-table > tbody { display: table-row-group; } body.skin--responsive .infobox-table th, body.skin--responsive .infobox-table td { padding-left: inherit; padding-right: inherit; } } bi1nsztkx4350a55cuzjhaotvp5h216 فرما:Country data ایٖران 10 10130 153253 133560 2026-10-06T17:02:36Z CommonsDelinker 131 Removing [[:c:File:Safavid_Flag.svg|Safavid_Flag.svg]], it has been deleted from Commons by [[:c:User:Jameslwoodward|Jameslwoodward]] because: per [[:c:Commons:Deletion requests/Files uploaded by ConflictFan|]]. 153253 wikitext text/x-wiki {{ {{{1<noinclude>|country showdata</noinclude>}}} | alias = ایٖران | flag alias = Flag of Iran.svg | flag alias-1502 = | flag alias-1576 = | flag alias-1665 = Flag of Persia (1665).svg | flag alias-1736 = Nadir Shah Flag.svg | flag alias-1760 = Zand Dynasty flag.svg | border-1760 = | flag alias-1796 = Qajar Naval Ensign.svg | flag alias-1849 = Amir Kabir Flag.svg | flag alias-1907 = Flag of Persia (1907).svg | flag alias-1910 = Flag of Persia (1910-1925).svg | flag alias-1925 = State Flag of Iran (1925).svg | flag alias-1964 = State Flag of Iran (1964).svg | flag alias-air force = Flag of the Islamic Republic of Iran Air Force.svg | flag alias-army = Flag of the Islamic Republic of Iran Army Ground Forces.svg | link alias-army = Islamic Republic of Iran Army Ground Forces | flag alias-coast guard=Flag of the Army of the Guardians of the Islamic Revolution.svg | link alias-coast guard=Navy of the Islamic Revolutionary Guard Corps | flag alias-navy=Flag of the Islamic Republic of Iran Navy.svg | link alias-navy=Islamic Republic of Iran Navy | link alias-naval = Islamic Republic of Iran Navy | flag alias-military=Flag of the Islamic Republic of Iran Army.svg | link alias-military=Islamic Republic of Iran Army | link alias-air force = Islamic Republic of Iran Air Force | size = {{{size|}}} | name = {{{name|}}} | altlink = {{{altlink|}}} | variant = {{{variant|}}} <noinclude> | var1 = 1502 | var2 = 1576 | var3 = 1665 | var4 = 1736 | var5 = 1760 | var6 = 1796 | var7 = 1849 | var8 = 1907 | var9 = 1910 | var10 = 1925 | var11 = 1964 | redir1 = IRN | redir2 = IRI </noinclude> | related1 = Persia | related2 = Pahlavi dynasty | related3 = Qajar dynasty }} 6v17tq8p6ogo1na4iwn61kovs42745s 153262 153253 2026-10-06T17:53:32Z CommonsDelinker 131 Removing [[:c:File:Nadir_Shah_Flag.svg|Nadir_Shah_Flag.svg]], it has been deleted from Commons by [[:c:User:Jameslwoodward|Jameslwoodward]] because: per [[:c:Commons:Deletion requests/Files uploaded by ConflictFan|]]. 153262 wikitext text/x-wiki {{ {{{1<noinclude>|country showdata</noinclude>}}} | alias = ایٖران | flag alias = Flag of Iran.svg | flag alias-1502 = | flag alias-1576 = | flag alias-1665 = Flag of Persia (1665).svg | flag alias-1736 = | flag alias-1760 = Zand Dynasty flag.svg | border-1760 = | flag alias-1796 = Qajar Naval Ensign.svg | flag alias-1849 = Amir Kabir Flag.svg | flag alias-1907 = Flag of Persia (1907).svg | flag alias-1910 = Flag of Persia (1910-1925).svg | flag alias-1925 = State Flag of Iran (1925).svg | flag alias-1964 = State Flag of Iran (1964).svg | flag alias-air force = Flag of the Islamic Republic of Iran Air Force.svg | flag alias-army = Flag of the Islamic Republic of Iran Army Ground Forces.svg | link alias-army = Islamic Republic of Iran Army Ground Forces | flag alias-coast guard=Flag of the Army of the Guardians of the Islamic Revolution.svg | link alias-coast guard=Navy of the Islamic Revolutionary Guard Corps | flag alias-navy=Flag of the Islamic Republic of Iran Navy.svg | link alias-navy=Islamic Republic of Iran Navy | link alias-naval = Islamic Republic of Iran Navy | flag alias-military=Flag of the Islamic Republic of Iran Army.svg | link alias-military=Islamic Republic of Iran Army | link alias-air force = Islamic Republic of Iran Air Force | size = {{{size|}}} | name = {{{name|}}} | altlink = {{{altlink|}}} | variant = {{{variant|}}} <noinclude> | var1 = 1502 | var2 = 1576 | var3 = 1665 | var4 = 1736 | var5 = 1760 | var6 = 1796 | var7 = 1849 | var8 = 1907 | var9 = 1910 | var10 = 1925 | var11 = 1964 | redir1 = IRN | redir2 = IRI </noinclude> | related1 = Persia | related2 = Pahlavi dynasty | related3 = Qajar dynasty }} qyiw7w8k1hoy01qnixtma9m9zbj9uv5 Module:Roman 828 10507 153338 52482 2023-02-08T20:14:10Z en>Uzume 0 strict 153338 Scribunto text/plain -- This module implements {{Roman}}. require[[strict]] local p = {} -- This function implements the {{overline}} template. local function overline(s) return mw.ustring.format( '<span style="text-decoration:overline;">%s</span>', s ) end -- Gets the Roman numerals for a given numeral table. Returns both the string of -- numerals and the value of the number after it is finished being processed. local function getLetters(num, t) local ret = {} for _, v in ipairs(t) do local val, letter = unpack(v) while num >= val do num = num - val table.insert(ret, letter) end end return table.concat(ret), num end -- The main control flow of the module. local function _main(args) -- Get input and exit displaying nothing if the input is empty. if args[1] == nil then return end local num = tonumber(args[1]) if not num or num < 0 or num == math.huge then error('Invalid number ' .. args[1], 2) elseif num == 0 then return 'N' end -- Return a message for numbers too big to be expressed in Roman numerals. if num >= 5000000 then return args[2] or 'N/A' end local ret = '' -- Find the Roman numerals for the large part of numbers. -- 23 April 2016 - tweaked to >= 4000 to accept big Roman 'IV' -- The if statement is not strictly necessary, but makes the algorithm -- more efficient for smaller numbers. if num >= 4000 then local bigRomans = { { 1000000, 'M' }, { 900000, 'CM' }, { 500000, 'D' }, { 400000, 'CD' }, { 100000, 'C' }, { 90000, 'XC' }, { 50000, 'L' }, { 40000, 'XL' }, { 10000, 'X' }, { 9000, 'IX' }, { 5000, 'V' }, { 4000, 'IV' }, } local bigLetters bigLetters, num = getLetters(num, bigRomans) ret = overline(bigLetters) end -- Find the Roman numerals for numbers less than the big Roman threshold. local smallRomans = { { 1000, 'M' }, { 900, 'CM' }, { 500, 'D' }, { 400, 'CD' }, { 100, 'C' }, { 90, 'XC' }, { 50, 'L' }, { 40, 'XL' }, { 10, 'X' }, { 9, 'IX' }, { 5, 'V' }, { 4, 'IV' }, { 1, 'I' } } local smallLetters = getLetters( num, smallRomans ) ret = ret .. smallLetters if args.fraction == 'yes' then -- Find the Roman numerals for the fractional parts of numbers. -- If num is not a whole number, add half of 1/1728 (the smallest unit) to equate to rounding. -- Ensure we're not less than the smallest unit or larger than 1 - smallest unit -- to avoid getting two "half" symbols or no symbols at all num = num - math.floor(num) if num ~= 0 then num = math.max(1.1/1728, math.min(1727.1/1728, num + 1/3456)) end local fractionalRomans = { { 1/2, 'S' }, { 5/12, "''':'''•''':'''" }, { 1/3, "'''::'''" }, { 1/4, "''':'''•" }, { 1/6, "''':'''" }, { 1/12, '•' }, { 1/24, 'Є' }, { 1/36, 'ƧƧ' }, { 1/48, 'Ɔ' }, { 1/72, 'Ƨ' }, { 1/144, '<s>Ƨ</s>' }, { 1/288, '℈' }, { 1/1728, '»' }, } local fractionalLetters = getLetters(num, fractionalRomans) ret = ret .. fractionalLetters end return ret end function p.main(frame) -- If called via #invoke, use the args passed into the invoking -- template, or the args passed to #invoke if any exist. Otherwise -- assume args are being passed directly in from the debug console -- or from another Lua module. local origArgs if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args for k, v in pairs(frame.args) do origArgs = frame.args break end else origArgs = frame end -- Trim whitespace and remove blank arguments. local args = {} for k, v in pairs(origArgs) do if type( v ) == 'string' then v = mw.text.trim(v) end if v ~= '' then args[k] = v end end -- exit if not given anything if args == nil or args == {} then return end -- Given mathematical expression, simplify to a number if type(args[1]) == 'string' then local success, result = pcall(mw.ext.ParserFunctions.expr, args[1]) if success then args[1] = result end -- else, pass to _main routine and try to let Lua's tonumber handle it end return _main(args) end return p 4wa0ln3ffmm2ip5y87j3mrl9kt1i95w 153339 153338 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Module:Roman]]: Needed locally 153338 Scribunto text/plain -- This module implements {{Roman}}. require[[strict]] local p = {} -- This function implements the {{overline}} template. local function overline(s) return mw.ustring.format( '<span style="text-decoration:overline;">%s</span>', s ) end -- Gets the Roman numerals for a given numeral table. Returns both the string of -- numerals and the value of the number after it is finished being processed. local function getLetters(num, t) local ret = {} for _, v in ipairs(t) do local val, letter = unpack(v) while num >= val do num = num - val table.insert(ret, letter) end end return table.concat(ret), num end -- The main control flow of the module. local function _main(args) -- Get input and exit displaying nothing if the input is empty. if args[1] == nil then return end local num = tonumber(args[1]) if not num or num < 0 or num == math.huge then error('Invalid number ' .. args[1], 2) elseif num == 0 then return 'N' end -- Return a message for numbers too big to be expressed in Roman numerals. if num >= 5000000 then return args[2] or 'N/A' end local ret = '' -- Find the Roman numerals for the large part of numbers. -- 23 April 2016 - tweaked to >= 4000 to accept big Roman 'IV' -- The if statement is not strictly necessary, but makes the algorithm -- more efficient for smaller numbers. if num >= 4000 then local bigRomans = { { 1000000, 'M' }, { 900000, 'CM' }, { 500000, 'D' }, { 400000, 'CD' }, { 100000, 'C' }, { 90000, 'XC' }, { 50000, 'L' }, { 40000, 'XL' }, { 10000, 'X' }, { 9000, 'IX' }, { 5000, 'V' }, { 4000, 'IV' }, } local bigLetters bigLetters, num = getLetters(num, bigRomans) ret = overline(bigLetters) end -- Find the Roman numerals for numbers less than the big Roman threshold. local smallRomans = { { 1000, 'M' }, { 900, 'CM' }, { 500, 'D' }, { 400, 'CD' }, { 100, 'C' }, { 90, 'XC' }, { 50, 'L' }, { 40, 'XL' }, { 10, 'X' }, { 9, 'IX' }, { 5, 'V' }, { 4, 'IV' }, { 1, 'I' } } local smallLetters = getLetters( num, smallRomans ) ret = ret .. smallLetters if args.fraction == 'yes' then -- Find the Roman numerals for the fractional parts of numbers. -- If num is not a whole number, add half of 1/1728 (the smallest unit) to equate to rounding. -- Ensure we're not less than the smallest unit or larger than 1 - smallest unit -- to avoid getting two "half" symbols or no symbols at all num = num - math.floor(num) if num ~= 0 then num = math.max(1.1/1728, math.min(1727.1/1728, num + 1/3456)) end local fractionalRomans = { { 1/2, 'S' }, { 5/12, "''':'''•''':'''" }, { 1/3, "'''::'''" }, { 1/4, "''':'''•" }, { 1/6, "''':'''" }, { 1/12, '•' }, { 1/24, 'Є' }, { 1/36, 'ƧƧ' }, { 1/48, 'Ɔ' }, { 1/72, 'Ƨ' }, { 1/144, '<s>Ƨ</s>' }, { 1/288, '℈' }, { 1/1728, '»' }, } local fractionalLetters = getLetters(num, fractionalRomans) ret = ret .. fractionalLetters end return ret end function p.main(frame) -- If called via #invoke, use the args passed into the invoking -- template, or the args passed to #invoke if any exist. Otherwise -- assume args are being passed directly in from the debug console -- or from another Lua module. local origArgs if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args for k, v in pairs(frame.args) do origArgs = frame.args break end else origArgs = frame end -- Trim whitespace and remove blank arguments. local args = {} for k, v in pairs(origArgs) do if type( v ) == 'string' then v = mw.text.trim(v) end if v ~= '' then args[k] = v end end -- exit if not given anything if args == nil or args == {} then return end -- Given mathematical expression, simplify to a number if type(args[1]) == 'string' then local success, result = pcall(mw.ext.ParserFunctions.expr, args[1]) if success then args[1] = result end -- else, pass to _main routine and try to let Lua's tonumber handle it end return _main(args) end return p 4wa0ln3ffmm2ip5y87j3mrl9kt1i95w Module:Ordinal 828 10509 153294 79659 2026-10-06T18:06:41Z 511KeV 8268 153294 Scribunto text/plain --[[ This template will add the appropriate ordinal suffix to a given integer. Please do not modify this code without applying the changes first at Module:Ordinal/sandbox and testing. ]] local p = {} local yesno = require('Module:Yesno') -- boolean value interpretation --[[ This function converts an integer value into a numeral followed by ordinal indicator. The output string might contain HTML tags. Usage: {{#invoke:Ordinal|ordinal|1=|2=|sup=}} {{#invoke:Ordinal|ordinal}} - uses the caller's parameters Parameters 1: Any number or string. 2: Set to "d" if the module should display "d" instead of "nd" and "rd". sup: Set to yes/no to toggle superscript ordinal suffix. ]] function p.ordinal(frame) local args = frame.args if args[1] == nil then args = frame:getParent().args end if args[1] == nil then args[1] = "{{{1}}}" end return p._ordinal(args[1], (args[2] == 'd'), yesno(args.sup)) end function p._ordinal(n, d, sup) local x = tonumber(mw.ustring.match(n, "(%d*)%W*$")) local suffix = "یِم" -- If tonumber(n) worked: if x then local mod10 = math.abs(x) % 10 local mod100 = math.abs(x) % 100 if mod10 == 1 and mod100 ~= 11 then suffix = "یِم" elseif mod10 == 2 and mod100 ~= 12 then if d then suffix = "d" else suffix = "یِم" end elseif mod10 == 3 and mod100 ~= 13 then if d then suffix = "d" else suffix = "یِم" end end end if sup then suffix = "<sup>" .. suffix .. "</sup>" end return n .. suffix end return p 7k0cv751m2v2ppdcuqyhke5be9po035 وِکیٖپیٖڈیا:رُکُن فِہرِست اؠڈِٹ تَعداد مُطٲبِق 4 14505 153293 153129 2026-10-06T18:02:27Z Nadeemulhaqmir-bot 9480 Updated List of Wikipedians 153293 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/آیات محراج|38079]] |- | 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|21628]] |- | 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|14844]] |- | 4 | [[User: Uhaas bot | Uhaas bot]] | [[Special:Contributions/Uhaas bot|11856]] |- | 5 | [[User: SakuraBot | SakuraBot]] | [[Special:Contributions/SakuraBot|3612]] |- | 6 | [[User: SieBot | SieBot]] | [[Special:Contributions/SieBot|2432]] |- | 7 | [[User: Xqbot | Xqbot]] | [[Special:Contributions/Xqbot|2374]] |- | 8 | [[User: Humzah Rouf Phumboo | Humzah Rouf Phumboo]] | [[Special:Contributions/Humzah Rouf Phumboo|2268]] |- | 9 | [[User: Koshur | Koshur]] | [[Special:Contributions/Koshur|2227]] |- | 10 | —[[User:InternetArchiveBot|'''<span style="color:darkgrey;font-family:Courier New">InternetArchiveBot</span>''']] <span style="color:green;font-family:Rockwell">([[:en:User talk:InternetArchiveBot|Report bug]])</span> | [[Special:Contributions/InternetArchiveBot|1912]] |- |} </div> g3fay1tjo9cs2jixspwomms5ys1txzu فرما:Hlist/styles.css 10 16290 153382 77577 2026-09-12T00:40:45Z en>BD2412 0 BD2412 moved page [[Template:Horizontal list/styles.css]] to [[Template:Hlist/styles.css]] without leaving a redirect: move back for now 153382 sanitized-css text/css /* {{pp-template}} */ /* * hlist styles are defined in core and Minerva and differ in Minerva. The * current definitions here (2023-01-01) are sufficient to override Minerva * without use of the hlist-separated class. The most problematic styles were * related to margin, padding, and the bullet. Check files listed at * [[MediaWiki talk:Common.css/to do#hlist-separated]] */ /* * TODO: When the majority of readership supports it (or some beautiful world * in which grade C support is above the minimum threshold), use :is() */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { /* * don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again * We also want to reset margin-right in Minerva */ margin: 0; display: inline; } /* Display requested top-level lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, /* Display nested lists inline */ .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* TODO: :not() can maybe be used here to remove the later rule. naive test * seems to work. more testing needed. like so: *.hlist dt:not(:last-child)::after { * content: ": "; *} *.hlist dd:not(:last-child)::after, *.hlist li:not(:last-child)::after { * content: " · "; * font-weight: bold; *} */ /* Generate interpuncts */ .hlist dt::after { content: ": "; } .hlist dd::after, .hlist li::after { content: "\a0· "; font-weight: bold; } .hlist dd:last-child::after, .hlist dt:last-child::after, .hlist li:last-child::after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child::before, .hlist dd dt:first-child::before, .hlist dd li:first-child::before, .hlist dt dd:first-child::before, .hlist dt dt:first-child::before, .hlist dt li:first-child::before, .hlist li dd:first-child::before, .hlist li dt:first-child::before, .hlist li li:first-child::before { content: " ("; font-weight: normal; } .hlist dd dd:last-child::after, .hlist dd dt:last-child::after, .hlist dd li:last-child::after, .hlist dt dd:last-child::after, .hlist dt dt:last-child::after, .hlist dt li:last-child::after, .hlist li dd:last-child::after, .hlist li dt:last-child::after, .hlist li li:last-child::after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li::before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child::before, .hlist dt ol > li:first-child::before, .hlist li ol > li:first-child::before { content: " (" counter(listitem) "\a0"; } c4a9gdxc068l0us4sz11634bne7iv2z 153383 153382 2026-10-06T18:16:06Z 511KeV 8268 1 revision imported from [[:en:Template:Hlist/styles.css]]: Needed locally 153382 sanitized-css text/css /* {{pp-template}} */ /* * hlist styles are defined in core and Minerva and differ in Minerva. The * current definitions here (2023-01-01) are sufficient to override Minerva * without use of the hlist-separated class. The most problematic styles were * related to margin, padding, and the bullet. Check files listed at * [[MediaWiki talk:Common.css/to do#hlist-separated]] */ /* * TODO: When the majority of readership supports it (or some beautiful world * in which grade C support is above the minimum threshold), use :is() */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { /* * don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again * We also want to reset margin-right in Minerva */ margin: 0; display: inline; } /* Display requested top-level lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, /* Display nested lists inline */ .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* TODO: :not() can maybe be used here to remove the later rule. naive test * seems to work. more testing needed. like so: *.hlist dt:not(:last-child)::after { * content: ": "; *} *.hlist dd:not(:last-child)::after, *.hlist li:not(:last-child)::after { * content: " · "; * font-weight: bold; *} */ /* Generate interpuncts */ .hlist dt::after { content: ": "; } .hlist dd::after, .hlist li::after { content: "\a0· "; font-weight: bold; } .hlist dd:last-child::after, .hlist dt:last-child::after, .hlist li:last-child::after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child::before, .hlist dd dt:first-child::before, .hlist dd li:first-child::before, .hlist dt dd:first-child::before, .hlist dt dt:first-child::before, .hlist dt li:first-child::before, .hlist li dd:first-child::before, .hlist li dt:first-child::before, .hlist li li:first-child::before { content: " ("; font-weight: normal; } .hlist dd dd:last-child::after, .hlist dd dt:last-child::after, .hlist dd li:last-child::after, .hlist dt dd:last-child::after, .hlist dt dt:last-child::after, .hlist dt li:last-child::after, .hlist li dd:last-child::after, .hlist li dt:last-child::after, .hlist li li:last-child::after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li::before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child::before, .hlist dt ol > li:first-child::before, .hlist li ol > li:first-child::before { content: " (" counter(listitem) "\a0"; } c4a9gdxc068l0us4sz11634bne7iv2z فرما:Pre/styles.css 10 18577 153334 83445 2024-01-15T20:21:34Z en>Pppery 0 Padlock 153334 sanitized-css text/css /* {{pp-template}} */ .pre-borderless { border: none; } lr9ssbn3d1gy0eko4cg1ybqfok23ynd 153335 153334 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Template:Pre/styles.css]]: Needed locally 153334 sanitized-css text/css /* {{pp-template}} */ .pre-borderless { border: none; } lr9ssbn3d1gy0eko4cg1ybqfok23ynd Module:Transclusion count/data/F 828 18914 153417 152806 2026-10-07T03:19:04Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153417 Scribunto text/plain return { ["FULLROOTPAGENAME"] = 460, ["Facepalm"] = 100, ["Fail"] = 100, ["File_other"] = 120, ["Find_sources"] = 450, ["Find_sources_mainspace"] = 2100, ["First_word"] = 120, ["Fishing"] = 100, ["Fixed"] = 100, ["Fixed_by_reporter"] = 100, ["Flag"] = 510, ["Flag/core"] = 510, ["Flagcountry"] = 120, ["Flagicon"] = 1300, ["Flagicon/core"] = 1300, ["For_nowiki"] = 110, ["Module:Factorization"] = 100, ["Module:File_link"] = 300, ["Module:Find_sources"] = 2500, ["Module:Find_sources/config"] = 2500, ["Module:Find_sources/links/free_news_sources"] = 450, ["Module:Find_sources/links/google"] = 2500, ["Module:Find_sources/links/google_books"] = 2500, ["Module:Find_sources/links/google_free_images"] = 450, ["Module:Find_sources/links/google_news"] = 2500, ["Module:Find_sources/links/google_newspapers"] = 2500, ["Module:Find_sources/links/google_scholar"] = 2500, ["Module:Find_sources/links/jstor"] = 2500, ["Module:Find_sources/links/new_york_times"] = 450, ["Module:Find_sources/links/wikipedia_library"] = 450, ["Module:Find_sources/links/wikipedia_reference_search"] = 450, ["Module:Find_sources/templates/Find_sources"] = 450, ["Module:Find_sources/templates/Find_sources_mainspace"] = 2100, ["Module:Footnotes"] = 130, ["Module:Footnotes/anchor_id_list"] = 130, ["Module:Footnotes/anchor_id_list/data"] = 130, ["Module:Footnotes/whitelist"] = 130, ["Module:For_nowiki"] = 110, ["Module:Format_link"] = 200, } rsqn9v298fcsywlnlybu3wqb8b636fq Module:Transclusion count/data/M 828 18917 153420 153151 2026-10-07T03:20:14Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153420 Scribunto text/plain return { ["MONTHNAME"] = 180, ["MONTHNUMBER"] = 180, ["Main_other"] = 8100, ["Map_draw"] = 100, ["Maplink"] = 130, ["Marked"] = 100, ["MatchRegex"] = 310, ["Max"] = 920, ["Maybe-i"] = 100, ["Maybe-t"] = 100, ["Mbox"] = 430, ["Megaphoneduck"] = 100, ["Merge_done"] = 100, ["MoreInfo"] = 100, ["Moved_to_commons"] = 100, ["Multiple_issues"] = 140, ["MyValue"] = 360, ["Module:Map/i18n"] = 100, ["Module:Map1"] = 100, ["Module:Mapframe"] = 360, ["Module:Math"] = 6100, ["Module:Message_box"] = 4400, ["Module:Message_box/ambox.css"] = 2400, ["Module:Message_box/configuration"] = 4400, ["Module:Message_box/imbox.css"] = 110, ["Module:Message_box/ombox.css"] = 1200, ["Module:Message_box/tmbox.css"] = 640, } cnye33kgpbdhzroj4xv3yjsb7ks7ecp Module:Transclusion count/data/O 828 18918 153422 152730 2026-10-07T03:20:35Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153422 Scribunto text/plain return { ["Off-topic_talk"] = 100, ["Ombox"] = 740, ["OnHoldUntil"] = 100, ["On_hold"] = 100, ["Opblocked"] = 100, ["OpenDivRTL"] = 230, ["Order_of_magnitude"] = 840, ["Ordinal"] = 500, ["Orphan"] = 300, ["Orz"] = 100, ["Module:OfficialName"] = 820, ["Module:Ordinal"] = 500, } c4i7pjyvoj4zrzi5hxz5npr241l4zyk Module:Transclusion count/data/R 828 18920 153424 152732 2026-10-07T03:21:04Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153424 Scribunto text/plain return { ["Rblock"] = 100, ["Read"] = 100, ["Redflag"] = 100, ["Redirect_template"] = 120, ["Redundant_symbol"] = 100, ["Reflist"] = 170, ["Relist_icon"] = 100, ["Relisted"] = 100, ["Remark"] = 100, ["Remind"] = 100, ["Removed"] = 100, ["Renamer_note"] = 100, ["Reopened"] = 100, ["Replace"] = 1900, ["Replaced"] = 100, ["Reply_to"] = 130, ["Resize"] = 160, ["Resolved1"] = 100, ["Resolved_mark"] = 100, ["Resolved_mark_large"] = 100, ["Responded"] = 100, ["Reverted"] = 100, ["Reviewing"] = 100, ["Reviewing_request"] = 100, ["Right"] = 100, ["Rimshot"] = 100, ["Roman"] = 130, ["Round"] = 880, ["Module:Redirect"] = 690, ["Module:Redirect_template"] = 120, ["Module:Reply_to"] = 130, ["Module:Roman"] = 130, } g2vpe2u215m7wg1b5zj2otv8t7ln2z4 Module:Transclusion count/data/U 828 18921 153426 152735 2026-10-07T03:21:34Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153426 Scribunto text/plain return { ["URL"] = 890, ["Ubl"] = 730, ["Unapproved"] = 100, ["Unbulleted_list"] = 1300, ["UnderReview"] = 100, ["Undone"] = 100, ["Unlikely"] = 100, ["Unnecessary"] = 100, ["Unprod"] = 100, ["Unrelated"] = 100, ["Uploaded"] = 100, ["Urgent"] = 100, ["User-blocked"] = 100, ["Module:URL"] = 930, ["Module:Unicode_data"] = 1000, ["Module:Unicode_data/scripts"] = 800, ["Module:Unsubst"] = 2300, } kdpkfi4vp82035kol7v6x0tz5vn9o9p Module:Transclusion count/data/Y 828 18924 153374 152737 2026-10-04T05:11:17Z en>Ahechtbot 0 [[Wikipedia:BOT|Bot]]: Updated page. 153374 Scribunto text/plain return { ["Y"] = 7500, ["YEAR"] = 113000, ["YUG"] = 2100, ["YYYY_crimes_in_countryname_category_header"] = 3000, ["YYYY_crimes_in_countryname_category_header/inner_core"] = 3000, ["YYYY_crimes_in_countryname_category_header/outer_core"] = 3000, ["YYYY_disasters_in_countryname_category_header"] = 2700, ["YYYY_disasters_in_countryname_category_header/inner_core"] = 2700, ["YYYY_disasters_in_countryname_category_header/outer_core"] = 2700, ["YYYY_elections_in_countryname_category_header"] = 3600, ["YYYY_elections_in_countryname_category_header/inner_core"] = 3600, ["YYYY_elections_in_countryname_category_header/outer_core"] = 3600, ["YYYY_foos_category_header"] = 2100, ["YYYY_foos_category_header/core"] = 2100, ["YYYY_genre_films_category_header"] = 2400, ["YYYY_genre_films_category_header/core"] = 2400, ["YYYY_in_nationality_sport_category_header"] = 13000, ["YYYY_in_nationality_sport_category_header/inner_core"] = 13000, ["YYYY_in_nationality_sport_category_header/outer_core"] = 13000, ["YYYY_in_nationality_women's_sport_category_header"] = 2400, ["YYYY_in_nationality_women's_sport_category_header/core"] = 2400, ["YYYY_in_sport_category_header"] = 6900, ["YYYY_in_sport_category_header/inner_core"] = 6900, ["YYYY_in_sport_category_header/outer_core"] = 6900, ["YYYY_nationality_films_category_header"] = 3200, ["YYYY_nationality_films_category_header/core"] = 3200, ["Ya"] = 5300, ["Year"] = 6600, ["Year2range"] = 8000, ["YearInCountryPortalBox"] = 39000, ["Year_article"] = 11000, ["Year_births_or_deaths_category_header"] = 4500, ["Year_births_or_deaths_category_header/core"] = 4500, ["Year_category_header"] = 3000, ["Year_category_header/core"] = 3000, ["Year_category_name"] = 7100, ["Year_category_name/AD_year"] = 6400, ["Year_in_Europe"] = 6200, ["Year_in_Europe/expr"] = 6200, ["Year_in_US_state_category"] = 9600, ["Year_in_US_state_category/core"] = 9600, ["Year_in_continent/expr"] = 9300, ["Year_in_continent/link"] = 9300, ["Year_in_continent_category"] = 3700, ["Year_in_continent_category/core"] = 3700, ["Year_in_country_by_month"] = 2700, ["Year_in_country_by_month/core"] = 2700, ["Year_in_country_category"] = 36000, ["Year_in_country_category/inner_core"] = 36000, ["Year_in_country_category/outer_core"] = 36000, ["Year_in_country_portal_box"] = 86000, ["Year_in_country_portal_box/make"] = 86000, ["Year_in_country_portal_box/parse"] = 86000, ["Year_in_football"] = 2600, ["Year_in_nationality_television_category"] = 3400, ["Year_in_nationality_television_category/core"] = 3400, ["Year_in_region"] = 14000, ["Year_in_region/link"] = 14000, ["Year_in_various_calendars"] = 2600, ["Year_nationality_television_series_debuts_or_endings_category"] = 5100, ["Year_nationality_television_series_debuts_or_endings_category/core"] = 5100, ["Year_nav"] = 2600, ["Year_nav_topic5"] = 5600, ["Year_topic_navigation"] = 7300, ["Yearly_archive_list"] = 877000, ["Yearly_archive_list/display"] = 877000, ["Years_or_months_ago"] = 110000, ["Yel"] = 19000, ["Yellow_card"] = 19000, ["Yes"] = 14000, ["Yes2"] = 13000, ["YesNo"] = 2800, ["YesNo-Yes"] = 57000, ["Yesno"] = 10400000, ["Yesno-no"] = 2250000, ["Yesno-yes"] = 725000, ["Ygm"] = 2000, ["Yo"] = 27000, ["You've_got_mail"] = 12000, ["YouTube"] = 76000, ["Youtube"] = 2300, ["Yy"] = 11000, ["Yycat"] = 2400, ["Yyend"] = 11000, ["Yytop"] = 11000, ["Module:Year_category_type"] = 3000, ["Module:Year_in_various_calendars"] = 2600, ["Module:Yesno"] = 33400000, } 41qjbc83u821406q8cn41t2olhwg37d 153375 153374 2026-10-06T18:16:06Z 511KeV 8268 1 revision imported from [[:en:Module:Transclusion_count/data/Y]]: Needed locally 153374 Scribunto text/plain return { ["Y"] = 7500, ["YEAR"] = 113000, ["YUG"] = 2100, ["YYYY_crimes_in_countryname_category_header"] = 3000, ["YYYY_crimes_in_countryname_category_header/inner_core"] = 3000, ["YYYY_crimes_in_countryname_category_header/outer_core"] = 3000, ["YYYY_disasters_in_countryname_category_header"] = 2700, ["YYYY_disasters_in_countryname_category_header/inner_core"] = 2700, ["YYYY_disasters_in_countryname_category_header/outer_core"] = 2700, ["YYYY_elections_in_countryname_category_header"] = 3600, ["YYYY_elections_in_countryname_category_header/inner_core"] = 3600, ["YYYY_elections_in_countryname_category_header/outer_core"] = 3600, ["YYYY_foos_category_header"] = 2100, ["YYYY_foos_category_header/core"] = 2100, ["YYYY_genre_films_category_header"] = 2400, ["YYYY_genre_films_category_header/core"] = 2400, ["YYYY_in_nationality_sport_category_header"] = 13000, ["YYYY_in_nationality_sport_category_header/inner_core"] = 13000, ["YYYY_in_nationality_sport_category_header/outer_core"] = 13000, ["YYYY_in_nationality_women's_sport_category_header"] = 2400, ["YYYY_in_nationality_women's_sport_category_header/core"] = 2400, ["YYYY_in_sport_category_header"] = 6900, ["YYYY_in_sport_category_header/inner_core"] = 6900, ["YYYY_in_sport_category_header/outer_core"] = 6900, ["YYYY_nationality_films_category_header"] = 3200, ["YYYY_nationality_films_category_header/core"] = 3200, ["Ya"] = 5300, ["Year"] = 6600, ["Year2range"] = 8000, ["YearInCountryPortalBox"] = 39000, ["Year_article"] = 11000, ["Year_births_or_deaths_category_header"] = 4500, ["Year_births_or_deaths_category_header/core"] = 4500, ["Year_category_header"] = 3000, ["Year_category_header/core"] = 3000, ["Year_category_name"] = 7100, ["Year_category_name/AD_year"] = 6400, ["Year_in_Europe"] = 6200, ["Year_in_Europe/expr"] = 6200, ["Year_in_US_state_category"] = 9600, ["Year_in_US_state_category/core"] = 9600, ["Year_in_continent/expr"] = 9300, ["Year_in_continent/link"] = 9300, ["Year_in_continent_category"] = 3700, ["Year_in_continent_category/core"] = 3700, ["Year_in_country_by_month"] = 2700, ["Year_in_country_by_month/core"] = 2700, ["Year_in_country_category"] = 36000, ["Year_in_country_category/inner_core"] = 36000, ["Year_in_country_category/outer_core"] = 36000, ["Year_in_country_portal_box"] = 86000, ["Year_in_country_portal_box/make"] = 86000, ["Year_in_country_portal_box/parse"] = 86000, ["Year_in_football"] = 2600, ["Year_in_nationality_television_category"] = 3400, ["Year_in_nationality_television_category/core"] = 3400, ["Year_in_region"] = 14000, ["Year_in_region/link"] = 14000, ["Year_in_various_calendars"] = 2600, ["Year_nationality_television_series_debuts_or_endings_category"] = 5100, ["Year_nationality_television_series_debuts_or_endings_category/core"] = 5100, ["Year_nav"] = 2600, ["Year_nav_topic5"] = 5600, ["Year_topic_navigation"] = 7300, ["Yearly_archive_list"] = 877000, ["Yearly_archive_list/display"] = 877000, ["Years_or_months_ago"] = 110000, ["Yel"] = 19000, ["Yellow_card"] = 19000, ["Yes"] = 14000, ["Yes2"] = 13000, ["YesNo"] = 2800, ["YesNo-Yes"] = 57000, ["Yesno"] = 10400000, ["Yesno-no"] = 2250000, ["Yesno-yes"] = 725000, ["Ygm"] = 2000, ["Yo"] = 27000, ["You've_got_mail"] = 12000, ["YouTube"] = 76000, ["Youtube"] = 2300, ["Yy"] = 11000, ["Yycat"] = 2400, ["Yyend"] = 11000, ["Yytop"] = 11000, ["Module:Year_category_type"] = 3000, ["Module:Year_in_various_calendars"] = 2600, ["Module:Yesno"] = 33400000, } 41qjbc83u821406q8cn41t2olhwg37d 153427 153375 2026-10-07T03:22:15Z Uhaas bot 8335 [[وپ:باٹ |باٹ]]: چھُ صَفہٕ اؠڈِٹ کَران۔ 153427 Scribunto text/plain return { ["Y&"] = 100, ["Yeac"] = 100, ["Yeag"] = 100, ["Yellow_tick"] = 100, ["Yes_check"] = 100, ["Yesno"] = 3500, ["Yesno-no"] = 1500, ["You're_welcome"] = 100, ["Module:Yesno"] = 8300, } ergv6tclhuqgg79fftgesyjdrbzflpk فرما:Year article header/zc 10 18948 153256 153147 2026-10-06T17:44:46Z 511KeV 8268 /* */ 153256 wikitext text/x-wiki <includeonly><!--Zeller's congruence, modified -->{{#ifexpr:{{{1}}}>1582|{{#ifeq: {{#expr:{{{1}}} mod 100}} | 0 | {{#ifeq: {{#expr:{{{1}}} mod 400}} | 0 | a [[لیپ ؤری یُس{{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ |سینچری لیپ ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]] | an [[عام ؤری یُس {{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ|غیر معمولی کامن ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]]}} | {{#ifeq: {{#expr:{{{1}}} mod 4}} | 0 | a [[لیپ ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]] | اَکھ [[عام ؤری یُس {{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ]]}}}} [[گریگورین کیلنڈر]] مُطٲبِق۔ یہٕ چھُ {{#ifexpr:{{{1}}}<1923|&nbsp;and {{Year article header/Julian start|{{{1}}}}}}}|{{Year article header/Julian start|{{{1}}}}}}}، [[عام زَمانہٕ|عام زَمانُک]] {{ordinal|{{{1}}}}} ؤری، {{Year article header/year number|{{{1}}}}}</includeonly><noinclude>{{Short description|Computes Zeller's Congruence to determine whether a year is a leap year}} {{Documentation}} </noinclude> 8i5al90kgpxqe3nsmrdfxxwbbpqw5am 153259 153256 2026-10-06T17:51:29Z 511KeV 8268 /* */ 153259 wikitext text/x-wiki <includeonly><!--Zeller's congruence, modified -->{{#ifexpr:{{{1}}}>1582|{{#ifeq: {{#expr:{{{1}}} mod 100}} | 0 | {{#ifeq: {{#expr:{{{1}}} mod 400}} | 0 | اکھ [[لیپ ؤری یُس{{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ |سینچری لیپ ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]] | an [[عام ؤری یُس {{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ|غیر معمولی کامن ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]]}} | {{#ifeq: {{#expr:{{{1}}} mod 4}} | 0 |اکھ [[لیپ ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]] | اَکھ [[عام ؤری یُس {{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ]]}}}} [[گریگورین کیلنڈر]] مُطٲبِق۔ یہٕ چھُ {{#ifexpr:{{{1}}}<1923|&nbsp;and {{Year article header/Julian start|{{{1}}}}}}}|{{Year article header/Julian start|{{{1}}}}}}}، [[عام زَمانہٕ|عام زَمانُک]] {{ordinal|{{{1}}}}} ؤری، {{Year article header/year number|{{{1}}}}}</includeonly><noinclude>{{Short description|Computes Zeller's Congruence to determine whether a year is a leap year}} {{Documentation}} </noinclude> hmfg6x7b5i2blntliar7wr4v9175km6 153269 153259 2026-10-06T17:57:54Z 511KeV 8268 /* */ 153269 wikitext text/x-wiki <includeonly><!--Zeller's congruence, modified -->{{#ifexpr:{{{1}}}>1582|{{#ifeq: {{#expr:{{{1}}} mod 100}} | 0 | {{#ifeq: {{#expr:{{{1}}} mod 400}} | 0 | اکھ [[لیپ ؤری یُس{{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ |سینچری لیپ ؤری یُس {{#time:l|{{{1}}}-01-01}} پیٹھ شروع گژھان چُھ ]] | an [[عام ؤری یُس {{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ|غیر معمولی کامن ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]]}} | {{#ifeq: {{#expr:{{{1}}} mod 4}} | 0 |اکھ [[لیپ ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]] | اَکھ [[عام ؤری یُس {{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ]]}}}} [[گریگورین کیلنڈر]] مُطٲبِق۔ یہٕ چھُ {{#ifexpr:{{{1}}}<1923|&nbsp;and {{Year article header/Julian start|{{{1}}}}}}}|{{Year article header/Julian start|{{{1}}}}}}}، [[عام زَمانہٕ|عام زَمانُک]] {{ordinal|{{{1}}}}} ؤری، {{Year article header/year number|{{{1}}}}}</includeonly><noinclude>{{Short description|Computes Zeller's Congruence to determine whether a year is a leap year}} {{Documentation}} </noinclude> oxoku154hi75ce8m7mm0679wv2pa7na 153270 153269 2026-10-06T17:59:15Z 511KeV 8268 /* */ 153270 wikitext text/x-wiki <includeonly><!--Zeller's congruence, modified -->{{#ifexpr:{{{1}}}>1582|{{#ifeq: {{#expr:{{{1}}} mod 100}} | 0 | {{#ifeq: {{#expr:{{{1}}} mod 400}} | 0 | اکھ [[لیپ ؤری یُس{{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ |سینچری لیپ ؤری یُس {{#time:l|{{{1}}}-01-01}} پیٹھ شروع گژھان چُھ ]] | an [[عام ؤری یُس {{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ|غیر معمولی کامن ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]]}} | {{#ifeq: {{#expr:{{{1}}} mod 4}} | 0 |اکھ [[لیپ ؤری یُس پیٹھ شروع گژھان چُھ {{#time:l|{{{1}}}-01-01}}]] | اَکھ [[عام ؤری یُس {{#time:l|{{{1}}}-01-01}} پؠٹھ شروع گژھان چھُ]]}}}} [[گریگورین کیلنڈر]] مُطٲبِق۔ یہٕ چھُ {{#ifexpr:{{{1}}}<1923|&nbsp;تہٕ {{Year article header/Julian start|{{{1}}}}}}}|{{Year article header/Julian start|{{{1}}}}}}}، [[عام زَمانہٕ|عام زَمانُک]] {{ordinal|{{{1}}}}} ؤری، {{Year article header/year number|{{{1}}}}}</includeonly><noinclude>{{Short description|Computes Zeller's Congruence to determine whether a year is a leap year}} {{Documentation}} </noinclude> m8aeshd59h51a2cm5abqpjdg9cb2yzu فرما:Year article header/year number 10 18949 153260 93280 2026-10-06T17:52:30Z 511KeV 8268 /* */ 153260 wikitext text/x-wiki <includeonly> {{ordinal|{{#ifeq: {{#expr:{{#time:Y|{{{1}}}-01-01}} mod 1000}} | 0 | 1000 |{{#expr:{{#time:Y|{{{1}}}-01-01}} mod 1000}}}}}} {{#ifeq: {{#expr:{{#time:Y|{{{1}}}-01-01}} mod 1000}} | 0 | and last|}} ؤری {{dr|y|m|{{{1}}}|0|ys}}<!-- if same for century and millenium, use "and" -->{{#ifexpr:{{#time:Y|{{{1}}}-01-01}} mod 1000>=1 and {{#time:Y|{{{1}}}-01-01}} mod 1000<=99|&#32;تہٕ|، {{ordinal|{{#ifeq: {{#expr:{{#time:y|{{{1}}}-01-01}}}} | 0 | 100 |{{#expr:{{#time:y|{{{1}}}-01-01}}}}}}}} {{#ifeq: {{#expr:{{#time:y|{{{1}}}-01-01}}}} | 0 | and last|}} ؤری}} {{dr|y|c|{{{1}}}|0|y}}، تہٕ {{ordinal| {{#expr:({{#time:y|{{{1}}}-01-01}} mod 10)+1}}}} {{#ifeq: {{#expr:({{#time:y|{{{1}}}-01-01}} mod 10)+1}}|Opt1|Opt2}} {{#ifeq: {{#expr:({{#time:y|{{{1}}}-01-01}} mod 10)+1}}| 10 | تہٕ ٲخری |}} ؤری {{dr|y|d|{{{1}}}|0|ys}} دَہٲیی ہُند</includeonly><noinclude> {{Documentation}} </noinclude> cf2tg1xxe5eshlnshb30kdnpjbkgofw 153271 153260 2026-10-06T18:00:39Z 511KeV 8268 /* */ 153271 wikitext text/x-wiki <includeonly> {{ordinal|{{#ifeq: {{#expr:{{#time:Y|{{{1}}}-01-01}} mod 1000}} | 0 | 1000 |{{#expr:{{#time:Y|{{{1}}}-01-01}} mod 1000}}}}}} {{#ifeq: {{#expr:{{#time:Y|{{{1}}}-01-01}} mod 1000}} | 0 | and last|}} ؤری {{dr|y|m|{{{1}}}|0|ys}}<!-- if same for century and millenium, use "and" -->{{#ifexpr:{{#time:Y|{{{1}}}-01-01}} mod 1000>=1 and {{#time:Y|{{{1}}}-01-01}} mod 1000<=99|&#32;تہٕ|، {{ordinal|{{#ifeq: {{#expr:{{#time:y|{{{1}}}-01-01}}}} | 0 | 100 |{{#expr:{{#time:y|{{{1}}}-01-01}}}}}}}} {{#ifeq: {{#expr:{{#time:y|{{{1}}}-01-01}}}} | 0 | تہٕ ٲخری|}} ؤری}} {{dr|y|c|{{{1}}}|0|y}}، تہٕ {{ordinal| {{#expr:({{#time:y|{{{1}}}-01-01}} mod 10)+1}}}} {{#ifeq: {{#expr:({{#time:y|{{{1}}}-01-01}} mod 10)+1}}|Opt1|Opt2}} {{#ifeq: {{#expr:({{#time:y|{{{1}}}-01-01}} mod 10)+1}}| 10 | تہٕ ٲخری |}} ؤری {{dr|y|d|{{{1}}}|0|ys}} دَہٲیی ہُند</includeonly><noinclude> {{Documentation}} </noinclude> 5himjwth8c5bao38x63qpmonthm7i4l 153285 153271 2026-10-06T18:01:49Z 511KeV 8268 /* */ 153285 wikitext text/x-wiki <includeonly> {{ordinal|{{#ifeq: {{#expr:{{#time:Y|{{{1}}}-01-01}} mod 1000}} | 0 | 1000 |{{#expr:{{#time:Y|{{{1}}}-01-01}} mod 1000}}}}}} {{#ifeq: {{#expr:{{#time:Y|{{{1}}}-01-01}} mod 1000}} | 0 | تہٕ ٲخری|}} ؤری {{dr|y|m|{{{1}}}|0|ys}}<!-- if same for century and millenium, use "and" -->{{#ifexpr:{{#time:Y|{{{1}}}-01-01}} mod 1000>=1 and {{#time:Y|{{{1}}}-01-01}} mod 1000<=99|&#32;تہٕ|، {{ordinal|{{#ifeq: {{#expr:{{#time:y|{{{1}}}-01-01}}}} | 0 | 100 |{{#expr:{{#time:y|{{{1}}}-01-01}}}}}}}} {{#ifeq: {{#expr:{{#time:y|{{{1}}}-01-01}}}} | 0 | تہٕ ٲخری|}} ؤری}} {{dr|y|c|{{{1}}}|0|y}}، تہٕ {{ordinal| {{#expr:({{#time:y|{{{1}}}-01-01}} mod 10)+1}}}} {{#ifeq: {{#expr:({{#time:y|{{{1}}}-01-01}} mod 10)+1}}|Opt1|Opt2}} {{#ifeq: {{#expr:({{#time:y|{{{1}}}-01-01}} mod 10)+1}}| 10 | تہٕ ٲخری |}} ؤری {{dr|y|d|{{{1}}}|0|ys}} دَہٲیی ہُند</includeonly><noinclude> {{Documentation}} </noinclude> oh5kdfund47tseebdbl1cslygw6k3ms رُکُن:Uhaas bot/last7 2 18970 153237 153234 2026-10-06T12:30:35Z Uhaas bot 8335 Updating recent articles 153237 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اتھ پھیٛار]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> e9s88larmdy2n0srwdb6mvtd6etw6gh 153246 153237 2026-10-06T14:30:50Z Uhaas bot 8335 Updating recent articles 153246 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اتھ پھیٛار]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[علی محمد ساگر]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> 710c880zkw31fjvifk8p6bt7ifftfhm 153247 153246 2026-10-06T15:30:30Z Uhaas bot 8335 Updating recent articles 153247 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اتھ پھیٛار]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> e9s88larmdy2n0srwdb6mvtd6etw6gh 153252 153247 2026-10-06T16:30:33Z Uhaas bot 8335 Updating recent articles 153252 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اتھ پھیٛار]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایلیٖن وۄارنوس]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> 3c0zrjpak30b2brir57d324qxyboub8 153255 153252 2026-10-06T17:30:31Z Uhaas bot 8335 Updating recent articles 153255 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اتھ پھیٛار]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[علی محمد ساگر]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> 710c880zkw31fjvifk8p6bt7ifftfhm 153397 153255 2026-10-06T18:30:33Z Uhaas bot 8335 Updating recent articles 153397 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اتھ پھیٛار]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> noukwt9vuaxc4wa98gw41xtx8rf3drx 153408 153397 2026-10-06T19:30:36Z Uhaas bot 8335 Updating recent articles 153408 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اتھ پھیٛار]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> owyq1e42okpwfwxuifdbozvnjnu2vgg 153410 153408 2026-10-06T20:30:34Z Uhaas bot 8335 Updating recent articles 153410 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اتھ پھیٛار]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> jh47a24f4qx3s6c8sy87nhp37j67f3j 153411 153410 2026-10-06T21:30:32Z Uhaas bot 8335 Updating recent articles 153411 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایشوریا راے]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> 402sgcnsmoov8q75p48ruxslk8m6hgf 153412 153411 2026-10-06T23:30:47Z Uhaas bot 8335 Updating recent articles 153412 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایلیٖن وۄارنوس]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 06 October 2026 پؠٹھ۔</small> qtqefpd85bto5u5z4d43n14np7zpt6a 153413 153412 2026-10-07T00:30:38Z Uhaas bot 8335 Updating recent articles 153413 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایشوریا راے]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 07 October 2026 پؠٹھ۔</small> hxf55d1eziayn3ywruduy0yr8qdro3u 153414 153413 2026-10-07T01:30:36Z Uhaas bot 8335 Updating recent articles 153414 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اوتھیلو]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 07 October 2026 پؠٹھ۔</small> 2s5pj4txosxnfhu6oymrkidj8xfcz2u 153428 153414 2026-10-07T03:30:33Z Uhaas bot 8335 Updating recent articles 153428 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایشوریا راے]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 07 October 2026 پؠٹھ۔</small> huv88p6qpz13dj3wvscfmsy96j6jvmm 153431 153428 2026-10-07T04:30:36Z Uhaas bot 8335 Updating recent articles 153431 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اوتھیلو]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 07 October 2026 پؠٹھ۔</small> 2s5pj4txosxnfhu6oymrkidj8xfcz2u 153439 153431 2026-10-07T06:30:39Z Uhaas bot 8335 Updating recent articles 153439 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[علی محمد ساگر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 07 October 2026 پؠٹھ۔</small> 9npae0o72rb0viko8kgiursazxqigzt 153463 153439 2026-10-07T09:30:32Z Uhaas bot 8335 Updating recent articles 153463 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[علی محمد ساگر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 07 October 2026 پؠٹھ۔</small> 4cn2ajdi35obswytsrqnbuob5r233df 153475 153463 2026-10-07T10:30:32Z Uhaas bot 8335 Updating recent articles 153475 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[علی محمد ساگر]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 07 October 2026 پؠٹھ۔</small> pqscow9bts5xgm0on5hau2qjccd6z9v 153479 153475 2026-10-07T11:30:35Z Uhaas bot 8335 Updating recent articles 153479 wikitext text/x-wiki {| |- | style="text-align:center; font-size:130%; color:white; background:rgb(255, 0, 0); padding:0.2em; vertical-align:middle;" | 22&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مۄغَل سَلطَنَت]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(197, 57, 0); padding:0.2em; vertical-align:middle;" | 17&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[لام]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(185, 69, 0); padding:0.2em; vertical-align:middle;" | 16&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[شِوکُمار شرما]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[فٕلَے دُبَے پرواز 1073]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(162, 92, 0); padding:0.2em; vertical-align:middle;" | 14&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[ایڈولٕف ہِٹلر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(139, 115, 0); padding:0.2em; vertical-align:middle;" | 12&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[دُبَے بین الاقوٲمی ہوٲیی اڈٕ]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(127, 127, 0); padding:0.2em; vertical-align:middle;" | 11&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[مَنوٗ بھاکر]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[تَنویٖر صادِق]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(115, 139, 0); padding:0.2em; vertical-align:middle;" | 10&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[سٔیِد میٖر قاسِم]] |- | style="text-align:center; font-size:130%; color:white; background:rgb(104, 150, 0); padding:0.2em; vertical-align:middle;" | 9&nbsp;<span style="font-size:60%">اؠڈِٹ</span> | style="padding: 0.4em;" | [[اوتھیلو]] |} <small>ٲخری اَپڈیٹ [[User:Uhaas_bot|Uhaas_bot]] دٔسؠ 07 October 2026 پؠٹھ۔</small> 9fbkcesoqiodmyj4cg8roh9xppfu62z سید محمد نقیٖب العطاس 0 19795 153254 153187 2026-10-06T17:26:00Z 511KeV 8268 /* */ اوس 153254 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{مولوٗماتھ}} سید محمد نقیٖب ابن علی العطاس (عربی: سید محمد قیب العطاس)، پٲدٲیِش (5 سَتَمبَر 1931) اوس اَکھ ملائیشیاہک مُسلمان فلاسفر۔ سہُ چھُ تمن کینٛہہ ہم عصر سکالرزو مَنٛز اَکھ یم روٲیتی اسلامی عٕلمس مَنٛز پوٗرٕ پٲٹھؠ جڑتھ چھ تہٕ چھ الہیات، فلسفہٕ، مابعد بُھوَن زان metaphysics، تٲریخ تہٕ ادبک مطٲلعہٕ کران۔  {{citation needed|date=September 2017}}تم کر علم اسلامائزیشن کہ تصورک علمبردار۔ العطاس سُنٛد فلسفہٕ تہٕ تٲلیٖم کس طریقہٕ کارک چھِ اَکھ مقصد: ذہن، جسم تہٕ روحک اسلامائزیشن تہٕ امکہٕ ذأتی تہٕ اجتمأعی زندگی پؠٹھ مسلمانن سٟتؠ سٟتؠ دۆیمن پؠٹھ اثرات، بشمول روحأنی تہٕ جسمأنی غیر انسأنی ماحول چھِ شأمل۔ سہُ چھُ اِسلأمی فکر تہٕ تہذیٖبٕک مختلف پہلوو، خاص طور پٲنٹھ [[صوٗفیه|صوفی ازم]] کائنات، مابعد بُھون زان، فلسفہٕ تہٕ [[ملے زَبان]] تہٕ ادبس پؠٹھ 27 کامؠن ہُنٛد مصنف کران۔ ==ایوارڈ تہٕ کامیٲبی== العطاسن کوٛر اَکھ انداز تہٕ عین مطأبق الفاظ تیار یُس تہنزٕ مالے تحریرن تہٕ زبانہٕ ہنٛز خاص خصوصیت چھُ۔ تٔمؠ چھُ اِسلٲمی تہٕ مالے تہذیبَن ہُنٛد تہِ مُطالعہٕ کوٚرمُت۔ 1975 مَنٛز، آو تمس تقابلی فلسفہٕ کس میدانس مَنٛز تہنزٕ شراکت خاطرٕ امپیریل ایرانی اکیڈمی آف فلاسفی ہنٛد فیلو عطا کرنہٕ۔ سُہ اوس 1977 تھس مَنٛز مکہَس مَنٛز مُنعقد اِسلٲمی تعلیٖمہِ پؠٹھ گۄڈٕنِچہِ عالمی کانفرنسَس مَنٛز اَکھ اسپیکر تہٕ سرگرم حصہٕ نِنہٕ وول تہِ، ییٚتہِ تٔمؠ اِسلٲمی تعلیٖمہِ ہٕنٛدِ مقصد تہٕ تعریفَن پؠٹھ کمیٹی ہٕنٛز صدارت کٔر۔ 1976 پٮ۪ٹھٕ 1977 تھس تام اوس سُہ ٹیمپل یونیورسٹی، فلاڈیلفیا، امریکہَس مَنٛز اسلامک وزٹنگ پروفیسر۔ 1978 مَنٛز۔ تٔمؠ کٔر حلب، شامس مَنٛز منعقد گژھن وٲلؠ اسلامی تٲریخس پیٚٹھ ماہرینن ہٕنٛدس یونیسکو اجلاسٕچ صدارت۔ سُہٕ چھُ نیشنل یونیورسٹی آف ملائیشیا (1970–84) مَنٛز مالائی زبان تہٕ ادبُک چیئر گۄڈنیُک ہولڈر، تہٕ اوہائیو یونیورسٹی (1980–82) مَنٛز جۆنوٗب مشرقی ایشیائی مطالعک تون عبدالرزاق چیئرک گۄڈنیُٛک ہولڈر تہٕ بین الاقوامی اسلامی یونیورسٹی ملائیشیا (1987 پیٹھہٕ) مَنٛز انٹرنیشنل انسٹی ٹیوٹ آف اسلامک تھٹ اینڈ تہذیبک (آئی ایس ٹی اے سی) بانی ڈائریکٹر کس طورس پؠٹھ۔ تٔمؠ چھِ پوٗرٕ یورپ، امریکہ، جاپان، مشرق بعید تہٕ مسلم دنیاہَس مَنٛز 400 کھۄتہٕ زِیٛادٕ لیکچر دِتؠمٕتؠ۔ انور ابراہیمَن کوٚر 1993 تھس مَنٛز سُہ آئی ایس ٹی اے سی یَس مَنٛز ابو حامد الغزالی چیئر آف اسلامک تھاٹُک گۄڈنیُٛک ہولڈر مقرر۔ اردنک بادشاہ حسینن بنوو سُہٕ 1994 مَنٛز اردن کس رائل اکیڈمی ہنٛد رکن، تہٕ جون 1995 مَنٛز کوٚر خرطوم یونیورسٹی تمس آرٹس (ڈی لٹ) اعزازی ڈاکٹریٹ ڈگری عطا۔ سُہ اوس اَکھ خطاط تہِ، تہنٛز کٲم ٲس 1954 مَنٛز ایمسٹرڈیم کِس ٹروپن میوزیمس مَنٛز نُمٲیِش کرنہٕ آمٕژ۔ تیم کوٚر منصوبہٕ بندی تہٕ ڈیزائن: ISTAC عمارت۔ الغزالی چیئرک منفرد طومار (1993)۔ آئی ایس ٹی اے سی (1994) ہنٛد آڈیٹوریم تہٕ مسجد۔ سٟتؠ سٟتؠ یمن ہنٛز لینڈ سکیپنگ تہٕ اۆنٛدروٗنی سجاوٹ۔ ===ملائیشیا ہُک اعزاز=== *ملائیشیا کِس تاجس سٟتؠ وفاداری ہنٛد آرڈرُک کمانڈر (P.S.M.) (2011) == حَوالہٕ == [[زٲژ:1931 پٲدٲیِش]] [[زٲژ:2026 وَفات]] mfwgne2e3l49td6ueujwhsyd37cmmip 153279 153254 2026-10-06T18:01:20Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153279 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{مولوٗماتھ}} سید محمد نقیٖب ابن علی العطاس (عربی: سید محمد قیب العطاس)، پٲدٲیِش (5 سَتَمبَر 1931) اوس اَکھ ملایشیاہک مُسلمان فلاسفر۔ سُہ چھُ تمن کینٛہہ ہم عصر سکالرزو مَنٛز اَکھ یم روٲیتی اسلامی عٕلمس مَنٛز پوٗرٕ پٲٹھؠ جڑتھ چھ تہٕ چھ الہیات، فلسفہٕ، مابعد بھُوَن زان metaphysics، تٲریخ تہٕ ادبک مطٲلعہٕ کران۔  {{citation needed|date=September 2017}}تم کر علم اسلامایزیشن کہ تصورک علمبردار۔ العطاس سُنٛد فلسفہٕ تہٕ تٲلیٖم کس طریقہٕ کارک چھِ اَکھ مقصد: ذہن، جسم تہٕ روحک اسلامایزیشن تہٕ امکہٕ ذأتی تہٕ اجتمأعی زندگی پؠٹھ مسلمانن سٟتؠ سٟتؠ دۆیمن پؠٹھ اثرات، بشمول روحأنی تہٕ جسمأنی غیر انسأنی ماحول چھِ شأمل۔ سُہ چھُ اِسلأمی فکر تہٕ تہذیٖبٕک مختلف پہلوو، خاص طور پٲٹھؠ [[صوٗفیه|صوفی ازم]] کاینات، مابعد بھُون زان، فلسفہٕ تہٕ [[ملے زَبان]] تہٕ ادبس پؠٹھ 27 کامؠن ہُنٛد مصنف کران۔ ==ایوارڈ تہٕ کامیٲبی== العطاسن کوٛر اَکھ انداز تہٕ عین مطأبق الفاظ تیار یُس تہنزٕ مالے تحریرن تہٕ زبانہٕ ہنٛز خاص خصوصیت چھُ۔ تٔمؠ چھُ اِسلٲمی تہٕ مالے تہذیبَن ہُنٛد تہِ مُطالعہٕ کوٚرمُت۔ 1975 مَنٛز، آو تمس تقابلی فلسفہٕ کس میدانس مَنٛز تہنزٕ شراکت خاطرٕ امپیریل ایرانی اکیڈمی آف فلاسفی ہنٛد فیلو عطا کرنہٕ۔ سُہ اوس 1977 تھس مَنٛز مکہَس مَنٛز مُنعقد اِسلٲمی تعلیٖمہِ پؠٹھ گۄڈٕنِچہِ عالمی کانفرنسَس مَنٛز اَکھ اسپیکر تہٕ سرگرم حصہٕ نِنہٕ وول تہِ، ییٚتہِ تٔمؠ اِسلٲمی تعلیٖمہِ ہٕنٛدِ مقصد تہٕ تعریفَن پؠٹھ کمیٹی ہٕنٛز صدارت کٔر۔ 1976 پؠٹھٕ 1977 تھس تام اوس سُہ ٹیمپل یوٗنِوَرسِٹی، فلاڈیلفیا، امریکہَس مَنٛز اسلامک وزٹنگ پروفیسر۔ 1978 مَنٛز۔ تٔمؠ کٔر حلب، شامس مَنٛز منعقد گژھن وٲلؠ اسلامی تٲریخس پیٚٹھ ماہرینن ہٕنٛدس یونیسکو اجلاسٕچ صدارت۔ سُہٕ چھُ نیشنل یوٗنِوَرسِٹی آف ملایشیا (1970–84) مَنٛز مالایی زبان تہٕ ادبُک چییَر گۄڈنیُک ہولڈر، تہٕ اوہایو یوٗنِوَرسِٹی (1980–82) مَنٛز جۆنوٗب مشرقی ایشیایی مطالعک تون عبدالرزاق چییَرک گۄڈنُیٛک ہولڈر تہٕ بین الاقوامی اسلامی یوٗنِوَرسِٹی ملایشیا (1987 پیٹھہٕ) مَنٛز انٹرنیشنل انسٹی ٹیوٹ آف اسلامک تھٹ اینڈ تہذیبک (اَے ایس ٹی اے سی) بانی ڈایریکٹر کس طورس پؠٹھ۔ تٔمؠ چھِ پوٗرٕ یورپ، امریکہ، جاپان، مشرق بعید تہٕ مسلم دُنؠ‌یاہَس مَنٛز 400 کھۄتہٕ زِیٛادٕ لیکچر دِتؠمٕتؠ۔ انور ابراہیمَن کوٚر 1993 تھس مَنٛز سُہ اَے ایس ٹی اے سی یَس مَنٛز ابو حامد الغزالی چییَر آف اسلامک تھاٹُک گۄڈنُیٛک ہولڈر مقرر۔ اردنک بادشاہ حسینن بنوو سُہٕ 1994 مَنٛز اردن کس رایل اکیڈمی ہنٛد رکن، تہٕ جون 1995 مَنٛز کوٚر خرطوم یوٗنِوَرسِٹی تمس آرٹس (ڈی لٹ) اعزازی ڈاکٹریٹ ڈگری عطا۔ سُہ اوس اَکھ خطاط تہِ، تہنٛز کٲم ٲس 1954 مَنٛز ایمسٹرڈیم کِس ٹروپن میوزیمس مَنٛز نُمٲیِش کرنہٕ آمٕژ۔ تیم کوٚر منصوبہٕ بندی تہٕ ڈیزاین: ISTAC عمارت۔ الغزالی چییَرک منفرد طومار (1993)۔ اَے ایس ٹی اے سی (1994) ہنٛد آڈیٹوریم تہٕ مسجد۔ سٟتؠ سٟتؠ یمن ہنٛز لینڈ سکیپنگ تہٕ اۆنٛدروٗنی سجاوٹ۔ ===ملایشیا ہُک اعزاز=== *ملایشیا کِس تاجس سٟتؠ وفاداری ہنٛد آرڈرُک کمانڈر (P.S.M.) (2011) == حَوالہٕ == [[زٲژ:1931 پٲدٲیِش]] [[زٲژ:2026 وَفات]] tvwfxtd2rvyzyhk5jlibiabbescglvz 2025 0 22020 153284 153224 2026-10-06T18:01:45Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153284 wikitext text/x-wiki {{مولوٗماتھ | صِرِف کٲشُر = آ }} {{Template:Year article header|2025}} ؤریک شروٗعٲتی حصس مَنٛز چھ بٔڑؠ مسلح تصادمک تسلسل وچھنہٕ آمت، یمن مَنٛز یوکرینس پؠٹھ روسی حملہٕ، سوڈانٕچ خانہ جنگی تہٕ۔ == 2025 ہس مَنٛز واقعات == وُچھِو «{{Catlist|2025 واقعات}}» پوٗرٕ فہرست خٲطرٕ {{#invoke:catlist|main|2025 واقعات}} == 2025 ہس مَنٛز موتہٕ == وُچھِو «{{Catlist|2025 وَفات}}» پوٗرٕ فہرست خٲطرٕ {{#invoke:catlist|main|2025 وَفات}} == حَوالہٕ == {{حَوالہٕ وَرٲے}} ixlsywuhmjct5aij95m1vbh7gzx6hrg ژمر گاو 0 22517 153429 144666 2026-10-07T04:01:10Z Humzah Rouf Phu 12982 /* */ 153429 wikitext text/x-wiki {{زٲژ معلوٗمات ڈَبہٕ|title=ژمر گاو </br> یاک|image=File:Sarlyk Yak2.jpg|image_caption=[[روٗس]] سُک یاک|domain=[[یوٗکیریوٹ]]|kingdom=[[جانوَر]]|phylum=[[کورڈیٹا]]|class=[[مۄمَل جانور]]|family=بوویڈے|sub_family=بووینے|genus=بوس|species='''یاک (b.grunniens)'''|order=آرٹیوڈیکٹیلیا|binomial name='''Bos grunniens'''|conservative status='''پالتوٗ '''}} یاک (بوس گرنین، یَتھ ٹارٹری دانٛد، گرنٹنگ دانٛد، مس دار گُپُن، یا '''گھریلو یاک''' یا '''زۄمبہٕ گاو'''<ref>{{کِتاب حَوالہٕ|url=https://dsal.uchicago.edu/cgi-bin/app/grierson_query.py?qs=zo%CC%86mba&searchhws=yes&matchtype=exact}}</ref> یا '''ژمر گاو'''<ref>{{https://dsal.uchicago.edu/cgi-bin/app/grierson_query.py?page=1073}}</ref> تہٕ چھ ونان، چھ زیٖٹھ مس ہنٛد پالتوٗ مویشی ہند اَکھ نسل یوس پورٕ ہمالیٲیی خطس، تبتی سطح مرتفع [[تاجیکِستان|تاجیکستان]] پامیر پہاڑ تہٕ دور شمالس مَنٛز [[منگولیا]] تہٕ [[سایبِریا]] تام لبنہٕ چھ '''یاک۔'''<ref>{{Cite journal|last=Scherf|first=Beate|date=2000|title=World Watch List for Domestic Animal Diversity|url=https://www.fao.org/3/x8750e/x8750e.pdf|journal=World Watch List for Domestic Animal Diversity|publisher=FAO|pages=653}}</ref> یہِ چھ [[جنگٕلؠ یاک]] (بوس میوٹس) پیٹھہٕ آمت۔ == حَوالہٕ == [[زٲژ:جانوَر]] pb5xm8whaawexp0h4kktfgci6dk19p6 153430 153429 2026-10-07T04:01:51Z Humzah Rouf Phu 12982 /* */ 153430 wikitext text/x-wiki {{زٲژ معلوٗمات ڈَبہٕ|title=ژمر گاو </br> یاک|image=File:Sarlyk Yak2.jpg|image_caption=[[روٗس]] سُک یاک|domain=[[یوٗکیریوٹ]]|kingdom=[[جانوَر]]|phylum=[[کورڈیٹا]]|class=[[مۄمَل جانور]]|family=بوویڈے|sub_family=بووینے|genus=بوس|species='''یاک (b.grunniens)'''|order=آرٹیوڈیکٹیلیا|binomial name='''Bos grunniens'''|conservative status='''پالتوٗ '''}} یاک (بوس گرنین، یَتھ ٹارٹری دانٛد، گرنٹنگ دانٛد، مس دار گُپُن، یا '''گھریلو یاک''' یا '''زۄمبہٕ گاو'''<ref>{{کِتاب حَوالہٕ|url=https://dsal.uchicago.edu/cgi-bin/app/grierson_query.py?qs=zo%CC%86mba&matchtype=default#gsc.tab=0}}</ref> یا '''ژمر گاو'''<ref>{{https://dsal.uchicago.edu/cgi-bin/app/grierson_query.py?page=1073}}</ref> تہٕ چھ ونان، چھ زیٖٹھ مس ہنٛد پالتوٗ مویشی ہند اَکھ نسل یوس پورٕ ہمالیٲیی خطس، تبتی سطح مرتفع [[تاجیکِستان|تاجیکستان]] پامیر پہاڑ تہٕ دور شمالس مَنٛز [[منگولیا]] تہٕ [[سایبِریا]] تام لبنہٕ چھ '''یاک۔'''<ref>{{Cite journal|last=Scherf|first=Beate|date=2000|title=World Watch List for Domestic Animal Diversity|url=https://www.fao.org/3/x8750e/x8750e.pdf|journal=World Watch List for Domestic Animal Diversity|publisher=FAO|pages=653}}</ref> یہِ چھ [[جنگٕلؠ یاک]] (بوس میوٹس) پیٹھہٕ آمت۔ == حَوالہٕ == [[زٲژ:جانوَر]] o5qgk8472rnw52qknk4b21jt7mhor7z فرما:Large 10 22685 153336 2023-01-16T01:12:34Z en>Jonesey95 0 use this template's own documentation 153336 wikitext text/x-wiki <span style="font-size:120%">{{{1}}}</span><noinclude> {{Documentation}} </noinclude> gb9jg7srxpcm0n8wv0k3unldj3qzdrc 153337 108444 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Template:Large]]: Needed locally 108444 wikitext text/x-wiki <span style="font-size:120%">{{{1}}}</span><noinclude> {{Documentation}} </noinclude> gb9jg7srxpcm0n8wv0k3unldj3qzdrc 2000 0 23227 153396 112680 2026-10-06T18:26:04Z 511KeV 8268 /* */ 153396 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{مولوٗماتھ}} {{Template:Year article header|2000}} {{Year in various calendars}} 2000 ہس مَنٛز آو [[کووڈ-19]] وبائی مرض کہِ شدتس مَنٛز کمی وٕچھنہٕ، ڈبلیو ایچ او ([[ورلڈ ہیلتھ آرگنائزیشن]]) کٕر مئی مَنٛز پنٕنؠ عالمی صحت ایمرجنسی سٹیٹس ختم۔ تباہ کن قدرتی آفات مَنٛز ٲس 20 مہِ صدی ہند ترکی تہٕ شام کہِ پانژِم مہلک ترین زلزلہٕ شٲمل، یَتھ مَنٛز 62,000 تام لوک ہلاک گٔیہٕ، سائیکلون فریڈی - تٲریخس مَنٛز سارِوٕے کھۄتہٕ زیٛادٕ وقتس تام روزن وول اشنکٹبندیی سمندری طوفان - یمہِ کہِ وجہ سٟتؠ ملاوی تہٕ موزمبیقس مَنٛز 1,400 کھۄتہٕ زیٛادٕ ہلاکتہٕ گٔیہٕ۔  طوفان ڈینیئل، یُس لیبیاہَس مَنٛز کم از کم 11,000 افراد ہلاک گژھنہٕ پتہٕ سمندری طوفان نرگس پتہٕ دنیاہَس مَنٛز سارِوٕے کھۄتہٕ خطرناک سمندری طوفان بنیومُت، مغربی مراکشس مَنٛز 6.8 شدت ہُنٛد بوٚڑ بُنیُل، یَتھ مَنٛز 2,960 افراد ہلاک تہٕ 6.3 شدت ہُنٛد ژۄگنہٕ بُنیُل مغربی افغانستانَس مَنٛز آو یَتھ مَنٛز 1400 کھۄتہٕ زِیٛادٕ افراد ہلاک گٔیہِ۔ cu9hrgo86h38its81qx5d361yk0et43 1992 0 23245 153258 111711 2026-10-06T17:50:21Z 511KeV 8268 /* */ Add 153258 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{Template:Year article header|1992}} gz95s51mc4ce8fha4bmeenobb5lh2pn 1991 0 23495 153257 113040 2026-10-06T17:49:36Z 511KeV 8268 /* */ Add 153257 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{Template:Year article header|1991}} lg4evjvq0recjgqp9qlgx47d75b9iex اے ایچ 5 0 23809 153460 114725 2026-10-07T08:51:33Z آیات محراج 11062 /* */ 153460 wikitext text/x-wiki {{Infobox road|terminus_a=[[شَنٛگھاے]], [[چیٖن]]|terminus_b={{A|Istanbul}}، [[تُرکی]]|textcolor=White|headerstyle=#000080|below=[[File:AH5 Route Map.svg]]}} '''ایشین ہائی وے 5''' ('''اے۔ ایچ۔ 5''') چھ ایشین ہائی وے نیٹ ورک اَکھ مشرقی-مغربی وتھ، یس [[شَنٛگھاے]] چیٖن پؠٹھ [[قازقستان]] [[کِرغِزستان|کرغزستان]] [[اُزبیکِستان|ازبکستان]] [[تُرٛکمانستان|ترکمانستان]] [[آذرِبایجان|آزربائیجان]]، [[جورجِیٛا (مُلٕک)|جارجیا]] کہ وتہِ [[تُرکی|ترکی]] تہٕ [[بُلغاریہ]] کہ درمیان سرحدس تام 10,380 کلومیٹر (6,450 میٖل) پکان چھ۔<ref>Economic and Social Commission for Asia and the Pacific, [http://www.unescap.org/ttdw/Publications/TIS_pubs/pub_2303/Full%20version.pdf 2003 Asian Highway Handbook] {{webarchive|url=https://web.archive.org/web/20120414184019/http://www.unescap.org/ttdw/Publications/TIS_pubs/pub_2303/Full%20version.pdf |date=2012-04-14 }}, 2003, page 32</ref>&nbsp;&nbsp; ==حَوالہٕ== [[زٲژ:سڑکہٕ]] peyq93f0bmiyhzz5h7mogwd8fcimozl مِصری ہتھیار دَر فوج 0 24600 153311 130107 2026-10-06T18:14:55Z CommonsDelinker 131 Removing [[:c:File:Egyptian_Armed_Forces_Logo.png|Egyptian_Armed_Forces_Logo.png]], it has been deleted from Commons by [[:c:User:Jameslwoodward|Jameslwoodward]] because: per [[:c:Commons:Deletion requests/File:Egyptian Armed Forces Logo.png|]]. 153311 wikitext text/x-wiki {{مولوٗماتھ | image = | bgcolor = #cdff }} '''مِصری ہتھیار دَر فوج''' چھِ [[مِصر|عرب جمہوٗریَتھ مِصرُک]] فوج ۔<ref>{{Cite news|url=http://english.ahram.org.eg/NewsContentP/48/320871/--/Yearender--Egypts-burgeoning-domestic-arms-industr.aspx|title=Yearender 2018: Egypt's burgeoning domestic arms industry|access-date=2019-12-31|language=en}}</ref> ==حَوالہٕ== [[زٲژ:مِصر]] [[زٲژ:فوج]] 6m2cbv21re72f4zcrnirfmirn2tshz2 153409 153311 2026-10-06T19:33:25Z آیات محراج 11062 /* */ 153409 wikitext text/x-wiki {{مولوٗماتھ | bgcolor = #cdff }} '''مِصری ہتھیار دَر فوج''' چھِ [[مِصر|عرب جمہوٗریَتھ مِصرُک]] فوج ۔<ref>{{Cite news|url=http://english.ahram.org.eg/NewsContentP/48/320871/--/Yearender--Egypts-burgeoning-domestic-arms-industr.aspx|title=Yearender 2018: Egypt's burgeoning domestic arms industry|access-date=2019-12-31|language=en}}</ref> ==حَوالہٕ== [[زٲژ:مِصر]] [[زٲژ:فوج]] audxdyetspunfxv876ohfc0w04z3irp فرما:Year in various calendars 10 24646 153295 2018-02-23T17:03:38Z en>Primefac 0 Changed protection level for "[[Template:Year in various calendars]]": [[WP:HIGHRISK|high-risk]] template with 2000+ transclusions ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 153295 wikitext text/x-wiki <includeonly>{{#invoke:Year in various calendars|main}}</includeonly><noinclude> {{Documentation}} </noinclude> 1diqm0ady3aevewz3y882c7jui67ufw 153296 119064 2026-10-06T18:10:17Z 511KeV 8268 1 revision imported from [[:en:Template:Year_in_various_calendars]]: Needed locally 119064 wikitext text/x-wiki <includeonly>{{#invoke:Year in various calendars|main}}</includeonly><noinclude> {{Documentation}} </noinclude> 1diqm0ady3aevewz3y882c7jui67ufw قاضی تَوقیٖر 0 24895 153235 152251 2026-10-06T12:24:54Z آیات محراج 11062 /* */ image added 153235 wikitext text/x-wiki {{Infobox musical artist|name=قاضی تَوقیٖر|background=solo_singer|birth_date=1986 یا 1987|origin=[[سِریٖنَگَر]]، [[جۆم تہٕ کٔشیٖر (رِیاسَتھ)|جۆم تہٕ کٔشیٖر]]، ہِندوستان|genre={{hlist|پاپ|[[پاپ راک]]|[[الیکٹرانِک میوزک]]|نژُن}}|occupations={{hlist|گلوکار|اداکار|یوٗٹیوبر}}|years_active=2005~ازکال|label=[[سونی بی ایم جی|سونی]]|image=File:Qazi Touqeer in 2026.jpg|spouse=اِفسہ تَوقیٖر}} '''قاضی تَوقیٖر''' چھُ اَکھ [[کٲشِرؠ لوٗکھ|کٲشُر]] گُلوکار، یٔمؠ [[رُپریٖکھا بنرجی]] یَس سٟتؠ [[فیم گُرُکُل]] شو زیوٗن۔<ref name="TOI">{{cite news|last1=Olivera|first1=Roshni K.|title=Move over Hrithik, Qazi's here! - Times of India|url=https://timesofindia.indiatimes.com/tv/news/hindi/Move-over-HrithikQazis-here/articleshow/2569287.cms|access-date=3 November 2020|work=The Times of India|date=26 November 2007|language=en}}</ref> سُہ چھُ [[کٲشِر زَبان|کٲشِرؠ]]، [[ہِندی زَبان|ہِنٛدی]] تہٕ [[اُردوٗ زَبان|اُردوٗ]] زبانَن مَنٛز گؠوان ۔ 20 اکتوبر 2005 ژس مَنٛز گوٚو سُہ [[رُپریٖکھا بنرجی]] یس سٟتہِ تھٔدِس انعام حٲصِل کرنس مَنٛز کامیاب۔ تٔمس آو ہِندوستٲنؠ عوامن "فیم اکیڈمی" ہنٛد ہنٛد ہنٛدستانُک ؤرجَن ''فیم گُرُکُل'' زیننہٕ بناونہٕ خٲطرٕ ووٹ دِنہٕ۔ صَدٕرِ بَہارَت کوٚر قاضی تَوقیٖر کِس حوالہٕ سٟتؠ تٔمس کشمیرک ہیٖرو قرار۔<ref name="Ananya Jahanara Kabir">{{کِتاب حَوالہٕ|last=Kabir|first=Ananya Jahanara|url=https://books.google.com/books?id=9JpMR9ftG4cC&q=kashmiris+and+qazi+touqeer&pg=PA12|title=Territory of desire: representing the Valley of Kashmir|publisher=U of Minnesota Press|year=2009|isbn=9780816653560|access-date=2 December 2010}}</ref><ref name="Territory of desire">{{کِتاب حَوالہٕ|last=Ananya Jahanara Kabir|url=https://books.google.com/books?id=9JpMR9ftG4cC&q=kashmiris+and+qazi+touqeer&pg=PA12|title=Territory of desire: representing the Valley of Kashmir|publisher=[[University of Minnesota Press]]|year=2009|isbn=9780816653560|access-date=2 December 2010}}</ref> قاضی سٕنٛزِ کامیٲبی ہٕنٛدِس نٔتیٖجَس مَنٛز کٔر واریاہَن کٲشِرؠ نوجوانَن [[اِنٛڈین اَیڈل]] آزمٲیشَن مَنٛز آڈِشن، یُس [[وادی کٔشیٖر|وادی کشمیر]] کِس أکِس شَہَر، [[سِریٖنَگَر|سرینگرَس]] مَنٛز مُنعقد سپدان اوس۔<ref name="BBC">{{cite news|url=https://news.bbc.co.uk/2/hi/south_asia/6382051.stm|title=Indian Idol creates Kashmir stir|author=Altaf Hussain|publisher=[[British Broadcasting Corporation]]|access-date=2 December 2010|date=21 February 2007}}</ref> أمہِ کوٚر 2005 کِس ٲخرس مَنٛز رُپریٖکھا بنرجی یَس سٟتہِ اَکھ نوٚو البم جٲری۔ قاضیَس ٲس نہٕ شہرت گُرُکُل برٛونٛہہ کانٛہہ باقاعدٕ تربِیت حٲصِل کٔرمٕژ۔ پنٛنہِ اداکٲری ہِنٛزِ گۄڈٕنِچہِ فِلمہِ، ٹیک آف چہِ ریہرسل کران لوٚگ تٔمؠ پنُن پان زخمی۔ قاضی اوس گنیش آچاریہ سٹوڈیوَس مَنٛز ریہرسل کران ییٚلہِ سُہ پیوٚو پیٚتھ تہٕ أمؠ سٕنٛز گردن لوٚگ۔<ref>{{cite web|title=Fame Gurukul winner Qazi Tauqeer hospitalised &#124; Bollywood News Movies|url=http://bollywood.nkut.com/fame-gurukul-winner-qazi-tauqeer-hospitalised/#sthash.58Kp6JvC.dpuf|url-status=dead|archive-url=https://web.archive.org/web/20131217224037/http://bollywood.nkut.com/fame-gurukul-winner-qazi-tauqeer-hospitalised/|archive-date=17 December 2013|access-date=17 December 2013}}</ref> سَتَمبَر 2026 ہَس مَنٛز گوٚو قاضی توقیٖر بطور مُقابلہٕ کَرن وٲلؠ ہندی زبانہِ ہُنٛد رییَلٹی ٹیلی وِجَن شو بِگ باس کِس وُہِمِس سیزنَس مَنٛز دٲخل۔ أمؠ سٕنٛز شرکتَت گٔیہِ 2005 مَنٛز گیون رییَلٹی شو فیم گروکول زیننہٕ پتہٕ تَقریٖبَن دۄیہِ دٔہلہِ پتہٕ مرکزی دھارٕ ٹیلی وِجنَس مَنٛز واپسی۔ [[بِگ بوس 20 (ہِندی ٹی وی سیریٖز) سیزن 20|بِگ بوس 20]] ہَس مَنٛز پننِس وقتَس دوران کٔر توقیٖرَن گرَس مَنٛز پننہِ کتھ باتھ تہٕ سرگرمیَن خٲطرٕ توجہ پانس کُن پانس کُن پھِرُن، یَتھ مَنٛز اَکھ مذاق تہِ شٲمِل چھُ یُس پتہٕ میزبان [[سَلمان خان|سلمان خانَن]] خطاب کوٚر۔ ==اِبتدٲے زِندگی == قاضی سُنٛد مول اوس ؤکیٖل تہٕ پتہٕ بنیٛوو صوٗفی۔ سُہ چھُ [[کٔشیٖر]]، [[ممبئی]]، [[دِل|دِلہِ]] تہٕ [[دُبَے|دُبَیَس]] مَنٛز روزان۔ تمہِ سٟنٛز موج چھےٚ وۄستاد، تہٕ یِمو سُنٛد پیتٕر قاضی رَفی اوس اَکھ کٲشُر گؠوَن وول۔ یہِ نوجوان بَڑیٛوو سِریٖنَگَر کِس مغل باغَس مَنٛز ہِندوستٲنؠ فلمن ہٕنٛدؠن مرکزی کِردارن ہٕنٛز نقٕل کٔرِتھ، تہٕ أمؠ سٕنٛدِس بٲے سٕنٛدِس اتھس مَنٛز ویٖڈیو کیمرہ برٛونٛہہ کنہِ پوسٹ کٔرِتھ۔ تٔمِس ٲس مٲلؠ وَتھ ہٲمٕژ یٔمِس [[موٗسیٖقی]] ہُنٛد کیٚنٛہہ عٔلِم اوس۔ [[زٲژ:کٲشِرؠ اَداکار]] [[زٲژ:کٲشِرؠ مُسَلمان]] == [[نَژُن|نَژَن]] سٲزی == === البم === {| class="wikitable" ! align="left" |البمٕچ زانکٲری ! align="left" |آفیشل سنگلز |- | align="left" |'''یہِ پل'''<br />{{small|(as Yeh Pal)}} * ریلیز کرنہٕ آمُت: 1 جَنؤری 2006 {{small|(India)}} * لیبل: [[سونی بی ایم جی]] * پیک اِنڈیا بِل بورڈ: 1 * ہِندوستانٕچ فروخت: 2,354,353 * آر اَے اے اے سرٹیفیکیشن: 2× پلاٹینم | align="left" | * 2005: "یہِ پل" * 2005: "کارو کیا" * 2005: "ہیٖرو" * 2005: "میری محبوبہ" * 2005: "یہِ پل ریمکس" * 2005: "مدھم سی چاندنی" * 2005: "کہکاشن" ہا |} == ٹی وی چہِ پیشی == {| class="wikitable" !ؤری !عنوان !کِردار |- |2005 |''[[Fame Gurukul|فیم گُرُکُل]]'' |'''پانہٕ''' |- |2009 |''[[Sarkaar Ki Duniya|سرکار کی دنیا]]'' |'''پانہٕ''' |} تٔمؠ پھُٹرٲو تمہِ وقتہٕ کُنہِ تہِ رییَلٹی شوہس مَنٛز ساروٕے کھۄتہٕ زیٛادٕ ووٹ حٲصِل کرنُک ریکارڈ۔ سُہ آو پرؠتھ لٹہِ ییٚلہِ سُہ ہِندوستٲنؠ عوامَن خطرٕک زونَس مَنٛز گژھان اوس سُہ واپس محفوٗظ بناونہٕ خٲطرٕ ووٹ دِنہٕ۔ تٔمؠ سٕنٛزِ دلکش شکلہٕ تہٕ اِخلاص کٔر تٔمِس ٹی وی یَس پیٚٹھ گۄڑنٕچ شہرت۔<ref name="Ananya Jahanara Kabir">{{cite book|last1=Kabir|first1=Ananya Jahanara|url=https://books.google.com/books?id=9JpMR9ftG4cC&q=kashmiris+and+qazi+touqeer&pg=PA12|title=Territory of desire: representing the Valley of Kashmir|publisher=U of Minnesota Press|year=2009|isbn=9780816653560|access-date=2 December 2010}}</ref> == فِلموگرافی == {| class="wikitable" !ؤری !عنوان !کِردار |- |2009 |''ٹیک آف'' | |- |2015 |[[Phantom (2015 film)|''فینٹم'']] |افغان جلبی بٲتھ |} ==حَوالہٕ == {{حَوالہٕ}} ==نیٚبرِم کُنٛڈٕ== *[https://web.archive.org/web/20060117040637/http://www.indiaglitz.com/channels/hindi/albumreview/3017.html Review of Qazi Touqeer and Ruprekha Banerjee's first album: Jodi No۔ 1] *[https://web.archive.org/web/20060110132544/http://img278.imageshack.us/img278/9019/130e92c8b0dcad7a4752529c5cfeb3.jpg A picture of Qazi Touqeer] [[زٲژ:زِنٛدٕ لوٗکھ]] 4ep4d81zlrzd38r1d66mjrbat4nxke3 جۆم-وَرمُل لٲن 0 26676 153405 140397 2026-10-06T19:19:39Z آیات محراج 11062 /* */ 153405 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = Route diagram template }} جوٚم-وَرمُل لٲن (بشمول اُدھم پور–سرینگر–وَرمُل ریل لنک (یو ایس بی آر ایل) سب سیکشن) چھِ جموں و کشمیر، ہندوستانَس مَنٛز [[جۆم]] تہٕ [[وَرمُل]] شہرَن درمیان 324 کلومیٹر زیٖٹھ ریلوے۔ یہِ چھُ 7 جوٗن 2025 تام پوٗرٕ پٲٹھؠ کٲم کَران۔ وادی کشمیر باقٕے ہِنٛدُستانس سٕتہِ رَلاوِتھ چھےٚ یہِ ریل لنک [[ہِندوستٲنؠ ہتھیار دَر فوج|ہِندوستٲنؠ ہتھیار دَر فوجن]] خٲطرٕ بٔڑ جیو سٹریٹجک اہمِیَت ۔ أمؠ چھُ [[جۆم]] تہٕ [[سرینگر|سرینگرَس]] درمیان سفرُک وَقٕت 7 گٲنٛٹہٕ پؠٹھٕ 3 گٲنٛٹہٕ تام کم کوٚرمُت۔ یہِ چھُ ماتا [[ویشنو دیوی مندر]] تہٕ [[امَرناتھ مَنٛدَر|امر ناتھ مندرٕک]] اہم مذہبی زیارت گاہَن تہِ رلاوان۔ واریاہَن مرحلَن مَنٛز مُکمل گٔمٕژ، اَتھ لنکَس مَنٛز چھِ انجینیرنگ ہٕنٛزِ واریاہ کامیٲبی شٲمِل یِمَن مَنٛز [[چیناب ریل کٔدٕل|چناب کٔدٕل]] - دُنؠ‌یاہُک ساروٕے کھۄتہٕ تھوٚد ریلوے کٔدٕل، [[انجی کھاڈ کٔدٕل]] - ہندوستانُک گۄڈنُیٛک کیبل سٹے ریلوے کٔدٕل، [[پیٖر پَنٛجال ریلوے ٹَنَل]] (بانِہَل ریلوے ٹنل) - 2025 تام ہندوستانٕچ ساروٕے کھۄتہٕ زیوٗٹھ ریلوے [[سۄرَنٛگ]]، تہٕ ٹی 33 سرنگ، یۄس لۄکٕٹ آسنہٕ وِزِ سؠٹھاہ چلینج چھِ تِکیازِ یہِ چھُ ہمالیہ کِس مرکزی سرحدَس پؠٹھ زور دِوان۔<ref name="amar1">{{Cite web |last=Excelsior |first=Daily |date=2025-06-01 |title=PM set to flag off train to Kashmir on June 6, address rally at Katra Stadium |url=https://www.dailyexcelsior.com/pm-set-to-flag-off-train-to-kashmir-on-june-6-address-rally-at-katra-stadium/ |access-date=2025-06-02 |website=Daily Excelsior |language=en-US}}</ref> ==حَوالہٕ== [[زٲژ: سِریٖنَگَر]] gmg3oswwjfg3f2pcyfz32n5vfq4se0h 153407 153405 2026-10-06T19:26:07Z آیات محراج 11062 /* */ 153407 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = Route diagram template | bgcolor = | titleborder = 3px solid brown }} جوٚم-وَرمُل لٲن (بشمول اُدھم پور–سرینگر–وَرمُل ریل لنک (یو ایس بی آر ایل) سب سیکشن) چھِ جموں و کشمیر، ہندوستانَس مَنٛز [[جۆم]] تہٕ [[وَرمُل]] شہرَن درمیان 324 کلومیٹر زیٖٹھ ریلوے۔ یہِ چھُ 7 جوٗن 2025 تام پوٗرٕ پٲٹھؠ کٲم کَران۔ وادی کشمیر باقٕے ہِنٛدُستانس سٕتہِ رَلاوِتھ چھےٚ یہِ ریل لنک [[ہِندوستٲنؠ ہتھیار دَر فوج|ہِندوستٲنؠ ہتھیار دَر فوجن]] خٲطرٕ بٔڑ جیو سٹریٹجک اہمِیَت ۔ أمؠ چھُ [[جۆم]] تہٕ [[سرینگر|سرینگرَس]] درمیان سفرُک وَقٕت 7 گٲنٛٹہٕ پؠٹھٕ 3 گٲنٛٹہٕ تام کم کوٚرمُت۔ یہِ چھُ ماتا [[ویشنو دیوی مندر]] تہٕ [[امَرناتھ مَنٛدَر|امر ناتھ مندرٕک]] اہم مذہبی زیارت گاہَن تہِ رلاوان۔ واریاہَن مرحلَن مَنٛز مُکمل گٔمٕژ، اَتھ لنکَس مَنٛز چھِ انجینیرنگ ہٕنٛزِ واریاہ کامیٲبی شٲمِل یِمَن مَنٛز [[چیناب ریل کٔدٕل|چناب کٔدٕل]] - دُنؠ‌یاہُک ساروٕے کھۄتہٕ تھوٚد ریلوے کٔدٕل، [[انجی کھاڈ کٔدٕل]] - ہندوستانُک گۄڈنُیٛک کیبل سٹے ریلوے کٔدٕل، [[پیٖر پَنٛجال ریلوے ٹَنَل]] (بانِہَل ریلوے ٹنل) - 2025 تام ہندوستانٕچ ساروٕے کھۄتہٕ زیوٗٹھ ریلوے [[سۄرَنٛگ]]، تہٕ ٹی 33 سرنگ، یۄس لۄکٕٹ آسنہٕ وِزِ سؠٹھاہ چلینج چھِ تِکیازِ یہِ چھُ ہمالیہ کِس مرکزی سرحدَس پؠٹھ زور دِوان۔<ref name="amar1">{{Cite web |last=Excelsior |first=Daily |date=2025-06-01 |title=PM set to flag off train to Kashmir on June 6, address rally at Katra Stadium |url=https://www.dailyexcelsior.com/pm-set-to-flag-off-train-to-kashmir-on-june-6-address-rally-at-katra-stadium/ |access-date=2025-06-02 |website=Daily Excelsior |language=en-US}}</ref> ==حَوالہٕ== [[زٲژ: سِریٖنَگَر]] ridg5vs26fdqchenqtsx2b0dk38ojrc سیویرس سٕنیپ 0 27000 153291 153136 2026-10-06T18:02:15Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153291 wikitext text/x-wiki {{Infobox character}} سیویرس سٕنیپ چھُ [[ہیری پوٹر|ہیری پوٹر ناول]] [[ہیری پوٹر (فِلِم )|سیریزُک]] اَکھ کردار، یُس [[جے کے رولِنٛگ|جے کے رولنگن]] لیکھمُت چھُ۔ سُہ چھُ [[ہاگ وارٛٹ|سکول آف ویچ کرافٹ اینڈ وزرڈری]] ہُنٛد پروفیسر۔ تٔمؠ ہیٚچھناوؠ اصلی دَوا ، مگر شیٚیمِس قٕسطس مَنٛز بنیوو سُہ کرٛہُن فنس خَلاف پانس بچاونُک وۄستاد۔ ناولن مَنٛز چھُ سنیپ سُنٛد کردار انتہٲیی تناز ۔ سُہ چھُ ہیری پوٹرس سٟتؠ واریاہ ناراضگی کران تہٕ تس چھُنہٕ تٔمِس تنگ کرنُک موقعہٕ زانہہ اَتھٕ کران۔ سُوٛ اوس گوڑنتھ شیطانی [[لارٛڈ وولڈیمورٛٹ|لارڈ وولڈیمورٹ]] سٕنٛدس گینگہٕ ہنٛد رکن، مگر پتہٕ ([[البس ڈَمبَلڈور|ڈمبلڈورس]] مطٲبق) تُل وولڈیمورٹس خَلاف پھیرنہٕ تہٕ ڈمبلڈورس سہارٕ دنہٕ خٲطرٕ پنٕنؠ زُو خطرس مَنٛز۔ ڈمبلڈور چھُ تٔمِس پؠٹھ واریاہ بروسہٕ کران، مگر سنیپ چھُ وولڈیمورٹ تہٕ تٔمؠ سٕنٛدیٚن سٲتھین سٟتؠ تہٕ رٲبطس مَنٛز۔ شیٚیمِس قسطس مَنٛز، چھ سنیپن ڈمبلڈورس قتٕل کران۔ ٲخری قسطس مَنٛز چھہ پتہ لگان زِ تمؠ اوس یہِ ڈمبلڈور سندِس اشارس پؠٹھ کورمت۔ تہٕ سُہ چھُ ہیری سٕنٛدِ رٲچھ خٲطرٕ اَکھ رٲچھدار سوزان، یُس اَکھ [[روٗسؠ کٔٹ]] چھُ۔<ref name="leakycauldron">{{cite web|date=30 July 2007|title=Transcript of webchat with J.K. Rowling|url=http://the-leaky-cauldron.org/2007/7/30/j-k-rowling-web-chat-transcript|url-status=live|archive-url=https://web.archive.org/web/20070824042509/http://www.the-leaky-cauldron.org/2007/7/30/j-k-rowling-web-chat-transcript|archive-date=24 August 2007|access-date=2 April 2008|publisher=the-leaky-cauldron.org}}</ref> == حَوالہٕ == i40s3dojtkziqpugkodgdzw4h93kort علیرضا تَنٛگسیری 0 27993 153434 134175 2026-10-07T05:48:53Z SakuraBot 9889 [[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران. 153434 wikitext text/x-wiki {{مولوٗماتھ | bgcolor = LightSteelBlue }} '''کموڈور علیرضا تَنٛگسیری''' ([[فارسی زَبان|فارسی]]: علیرضا تنگسیری؛ زامُت 1962 ) چھُ اَکھ ایرانی سمندری افسر یس 2018 مَنٛز مقرر آیی آر جی سی نیوی ہنٛد کمانڈر سٕنٛدؠ پٲٹھؠ کٲم چھُ کران۔<ref name="mehr">{{Cite news|title=Leader appoints new Revolutionary Guards' Navy cmdr.|url=https://en.mehrnews.com/news/137031/Leader-appoints-new-Revolutionary-Guards-Navy-cmdr|agency=[[Mehr News Agency]]|date=23 August 2018}}</ref><ref>{{ویب حَوالہٕ|title=Ayatollah Khamenei appoints new Commander of IRGC Navy, Coordinator|url=https://english.khamenei.ir/news/5886/Ayatollah-Khamenei-appoints-new-Commander-of-IRGC-Navy-Coordinator|access-date=Aug 26, 2018|website=khamenei.ir|archive-date=August 25, 2018|archive-url=https://web.archive.org/web/20180825180724/http://english.khamenei.ir/news/5886/Ayatollah-Khamenei-appoints-new-Commander-of-IRGC-Navy-Coordinator|url-status=dead}}</ref> ==حَوالہٕ== [[زٲژ:ایٖرٲنی لوٗکھ]] [[زٲژ:2026 وَفات]] guwva1ynfd0gahgnrf1jb96jat2zz3r Module:Databox/theme 828 31968 153243 152127 2026-10-06T13:10:19Z آیات محراج 11062 153243 Scribunto text/plain local p = {} -- Q-ID Lookup Table for Colors and Icons local themeMap = { ['Q5'] = { color = '#dce6f1', icon = '' }, ['Q1221280'] = { color = '#cef2e0', icon = '' }, ['Q47451145'] = { color = '#cef2e0', icon = '' }, ['Q11012'] = { color = '#D3D3D3', icon = 'OOjs UI icon robot.svg' }, ['Q584529'] = { color = '#D3D3D3', icon = 'OOjs UI icon robot.svg' }, ['Q17444909'] = { color = '#decd87', icon = 'Galaxy_symbol_(fixed_width).svg' }, ['Q15141321'] = { color = '#F2F2F2', icon = 'Train icon.svg' }, ['Q7889'] = { color = '#FFDEAD', icon = 'Gamepadicon.svg' }, ['Q906512'] = { color = '#cfd8dc', icon = 'Sinking-ship - Delapouite - game-icons.svg' }, ['Q2235325'] = { color = '#cfd8dc', icon = 'Sinking-ship - Delapouite - game-icons.svg' }, ['Q5393308'] = { color = '#800000', textcolor = '#FFFF00', icon = 'Maki7-religious-buddhist-white.svg' }, ['Q1127126'] = { color = '#dce6f1', icon = 'JS Icon Edit.svg' }, ['Q6934728'] = { color = '#dce6f1', icon = 'JS Icon Edit.svg' }, ['Q215380'] = { color = '#B0C4DE', icon = 'Simple Music.svg' }, ['Q3839081'] = { color = '#E6E6FA', icon = 'Earthquake House Icons.svg' }, ['Q7944'] = { color = '#E6E6FA', icon = 'Earthquake House Icons.svg' }, ['Q11032'] = { color = '#E0F2F1', icon = 'Noto Emoji KitKat 1f4f0 t.svg' }, ['Q1190554'] = { color = '#E6E6FA', icon = 'Breezeicons-actions-22-view-calendar.svg' }, ['Q2223653'] = { color = '#E6E6FA', icon = 'Breezeicons-actions-22-view-calendar.svg' }, ['Q25917186'] = { color = '#E6E6FA', icon = 'Breezeicons-actions-22-view-calendar.svg' }, ['Q8068'] = { color = '#E6E6FA', icon = 'Flood icon.png' }, ['Q3914'] = { color = '#F8D7DA', icon = 'School Transparent.png' }, ['Q180958'] = { color = '#F8D7DA', icon = 'School Transparent.png' }, ['Q9826'] = { color = '#F8D7DA', icon = 'School Transparent.png' }, ['Q11862829'] = { color = '#F8D7DA', icon = 'Noun Project science icon 334989 cc.svg' }, ['Q2465832'] = { color = '#F8D7DA', icon = 'Noun Project science icon 334989 cc.svg' }, ['Q12184'] = { color = '#FFCCCB', icon = 'Virus gray black.svg' }, ['Q3241045'] = { color = '#FFCCCB', icon = 'Virus gray black.svg' }, ['Q44512'] = { color = '#FFCCCB', icon = 'Virus gray black.svg' }, ['Q5058355'] = { color = '#B7D7C2', icon = 'Noun Project cell icon 3036233.svg' }, ['Q45948'] = { color = '#B7D7C2', icon = 'Noun Project cell icon 3036233.svg' }, ['Q515'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q11460'] = { color = '#F5F5DC', icon = 'Map icons by Scott de Jonge - clothing-store.svg' }, ['Q19832486'] = { color = '#F5F5DC', icon = 'Font Awesome 5 solid subway.svg' }, ['Q870'] = { color = '#F5F5DC', icon = 'Font Awesome 5 solid subway.svg' }, ['Q532'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q6256'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q4022'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q123705'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q8465'] = { color = '#CEE0F2', icon = 'Military symbol.svg' }, ['Q198'] = { color = '#b0c4de', icon = 'Military symbol.svg' }, ['Q178561'] = { color = '#b0c4de', icon = 'Military symbol.svg' }, ['Q728'] = { color = '#b0c4de', icon = 'Military symbol.svg' }, ['Q16521'] = { color = '#d0f0c0', icon = '' }, ['Q729'] = { color = '#d0f0c0', icon = '' }, ['Q756'] = { color = '#d0f0c0', icon = '' }, ['Q11424'] = { color = '#ffc0cb', icon = '' }, ['Q201658'] = { color = '#ffc0cb', icon = '' }, ['Q515'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- city ['Q532'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- village ['Q467745'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- ut ['Q6256'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- country ['Q4022'] = { color = '#cdff', icon = 'Watercources resources pl icon.svg' }, -- river ['Q9430'] = { color = '#cdff', icon = 'Watercources resources pl icon.svg' }, ['Q8502'] = { color = '#e7dcc3', icon = 'Mountain Icon.svg' }, -- mountain ['Q103495'] = { color = '#B0C4DE', icon = 'Battle_icon_gladii.svg' }, ['Q11514315'] = { color = '#B0C4DE', icon = 'Battle_icon_gladii.svg' }, ['Q123705'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- neighborhood ['Q11271835'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- provincial capital ['Q1549591'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- big city ['Q51929311'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- largest city ['Q6957341'] = { color = '#CCAA99', icon = 'ReligijneSymbole2.svg' }, ['Q9174'] = { color = '#CCAA99', icon = 'ReligijneSymbole2.svg' }, ['Q29517555'] = { color = '#dce6f1', icon = 'OOjs UI icon language-ltr.svg' }, ['Q8192'] = { color = '#dce6f1', icon = 'OOjs UI icon language-ltr.svg' }, ['Q119520394'] = { color = '#dce6f1', icon = 'OOjs UI icon language-ltr.svg' }, ['Q112826905'] = { color = '#f0dbb6', icon = 'Human brain icon.svg' }, ['Q103812529'] = { color = '#f0dbb6', icon = 'Human brain icon.svg' }, ['Q193622'] = { color = '#cdeeff', icon = 'OOjs UI icon ribbonPrize.svg' }, ['Q618779'] = { color = '#cdeeff', icon = 'OOjs UI icon ribbonPrize.svg' }, ['Q2003221'] = { color = '#cdeeff', icon = 'OOjs UI icon ribbonPrize.svg' }, ['Q116476516'] = { color = '#ffc0cb', icon = 'Emoji_u1f3ad-bw.svg' }, ['Q5398426'] = { color = '#ffc0cb', icon = '' }, ['Q482994'] = { color = '#ffc0cb', icon = '' }, ['default'] = { color = '#F2F2F2', icon = '' }, ['Q196600'] = { color = '#ffc0cb', icon = '' }, -- media franchise } -- Clean parameters passed from Template:Databox local function cleanParam(val) if val then val = mw.text.trim(val) if val ~= '' then return val end end return nil end function p.getTheme(args, item) -- Check for manual user parameters first local themeColor = cleanParam(args.bgcolor) or cleanParam(args['color']) or cleanParam(args['رَنٛگ']) local themeIcon = cleanParam(args.icon) or cleanParam(args['نِشان']) local themeTextColor = cleanParam(args.titletextcolor) -- If all are explicitly set by the user, return them immediately if themeColor and themeIcon and themeTextColor then return { color = themeColor, icon = themeIcon, textcolor = themeTextColor } end local autoColor = nil local autoIcon = nil local autoTextColor = nil -- Check Wikidata P31 (instance of) statements using the safest method if item and item.id then local statements = mw.wikibase.getBestStatements(item.id, 'P31') if statements then for _, stmt in ipairs(statements) do if stmt.mainsnak and stmt.mainsnak.snaktype == 'value' and stmt.mainsnak.datavalue then local qid = stmt.mainsnak.datavalue.value.id if themeMap[qid] then autoColor = themeMap[qid].color autoIcon = themeMap[qid].icon autoTextColor = themeMap[qid].textcolor break end end end end end return { color = themeColor or autoColor or themeMap['default'].color, icon = themeIcon or autoIcon or themeMap['default'].icon, textcolor = themeTextColor or autoTextColor or (themeMap['default'] and themeMap['default'].textcolor) or 'black' } end -- The foolproof debug function! function p.debugtest(frame) local qid = frame.args[1] or 'Q17042539' local item = mw.wikibase.getEntity(qid) local found_ids = {} if item and item.id then local statements = mw.wikibase.getBestStatements(item.id, 'P31') if statements then for _, stmt in ipairs(statements) do if stmt.mainsnak and stmt.mainsnak.snaktype == 'value' and stmt.mainsnak.datavalue then table.insert(found_ids, stmt.mainsnak.datavalue.value.id) end end end end local theme = p.getTheme({}, item) return "Debug Result for " .. qid .. " -> Color: " .. tostring(theme.color) .. " | Text: " .. tostring(theme.textcolor) .. " | Found P31 IDs on Wikidata: " .. table.concat(found_ids, ", ") end return p 06q12124v7kpos8kxnkutjcz6f2ds1t 153406 153243 2026-10-06T19:21:10Z آیات محراج 11062 153406 Scribunto text/plain local p = {} -- Q-ID Lookup Table for Colors and Icons local themeMap = { ['Q5'] = { color = '#dce6f1', icon = '' }, ['Q1221280'] = { color = '#cef2e0', icon = '' }, ['Q47451145'] = { color = '#cef2e0', icon = '' }, ['Q11012'] = { color = '#D3D3D3', icon = 'OOjs UI icon robot.svg' }, ['Q584529'] = { color = '#D3D3D3', icon = 'OOjs UI icon robot.svg' }, ['Q17444909'] = { color = '#decd87', icon = 'Galaxy_symbol_(fixed_width).svg' }, ['Q15141321'] = { color = '#F2F2F2', icon = 'Train icon.svg' }, ['Q728937'] = { color = '#F2F2F2', icon = 'Train icon.svg' }, ['Q7889'] = { color = '#FFDEAD', icon = 'Gamepadicon.svg' }, ['Q906512'] = { color = '#cfd8dc', icon = 'Sinking-ship - Delapouite - game-icons.svg' }, ['Q2235325'] = { color = '#cfd8dc', icon = 'Sinking-ship - Delapouite - game-icons.svg' }, ['Q5393308'] = { color = '#800000', textcolor = '#FFFF00', icon = 'Maki7-religious-buddhist-white.svg' }, ['Q1127126'] = { color = '#dce6f1', icon = 'JS Icon Edit.svg' }, ['Q6934728'] = { color = '#dce6f1', icon = 'JS Icon Edit.svg' }, ['Q215380'] = { color = '#B0C4DE', icon = 'Simple Music.svg' }, ['Q3839081'] = { color = '#E6E6FA', icon = 'Earthquake House Icons.svg' }, ['Q7944'] = { color = '#E6E6FA', icon = 'Earthquake House Icons.svg' }, ['Q11032'] = { color = '#E0F2F1', icon = 'Noto Emoji KitKat 1f4f0 t.svg' }, ['Q1190554'] = { color = '#E6E6FA', icon = 'Breezeicons-actions-22-view-calendar.svg' }, ['Q2223653'] = { color = '#E6E6FA', icon = 'Breezeicons-actions-22-view-calendar.svg' }, ['Q25917186'] = { color = '#E6E6FA', icon = 'Breezeicons-actions-22-view-calendar.svg' }, ['Q8068'] = { color = '#E6E6FA', icon = 'Flood icon.png' }, ['Q3914'] = { color = '#F8D7DA', icon = 'School Transparent.png' }, ['Q180958'] = { color = '#F8D7DA', icon = 'School Transparent.png' }, ['Q9826'] = { color = '#F8D7DA', icon = 'School Transparent.png' }, ['Q11862829'] = { color = '#F8D7DA', icon = 'Noun Project science icon 334989 cc.svg' }, ['Q2465832'] = { color = '#F8D7DA', icon = 'Noun Project science icon 334989 cc.svg' }, ['Q12184'] = { color = '#FFCCCB', icon = 'Virus gray black.svg' }, ['Q3241045'] = { color = '#FFCCCB', icon = 'Virus gray black.svg' }, ['Q44512'] = { color = '#FFCCCB', icon = 'Virus gray black.svg' }, ['Q5058355'] = { color = '#B7D7C2', icon = 'Noun Project cell icon 3036233.svg' }, ['Q45948'] = { color = '#B7D7C2', icon = 'Noun Project cell icon 3036233.svg' }, ['Q515'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q11460'] = { color = '#F5F5DC', icon = 'Map icons by Scott de Jonge - clothing-store.svg' }, ['Q19832486'] = { color = '#F5F5DC', icon = 'Font Awesome 5 solid subway.svg' }, ['Q870'] = { color = '#F5F5DC', icon = 'Font Awesome 5 solid subway.svg' }, ['Q532'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q6256'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q4022'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q123705'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, ['Q8465'] = { color = '#CEE0F2', icon = 'Military symbol.svg' }, ['Q198'] = { color = '#b0c4de', icon = 'Military symbol.svg' }, ['Q178561'] = { color = '#b0c4de', icon = 'Military symbol.svg' }, ['Q728'] = { color = '#b0c4de', icon = 'Military symbol.svg' }, ['Q16521'] = { color = '#d0f0c0', icon = '' }, ['Q729'] = { color = '#d0f0c0', icon = '' }, ['Q756'] = { color = '#d0f0c0', icon = '' }, ['Q11424'] = { color = '#ffc0cb', icon = '' }, ['Q201658'] = { color = '#ffc0cb', icon = '' }, ['Q515'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- city ['Q532'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- village ['Q467745'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- ut ['Q6256'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- country ['Q4022'] = { color = '#cdff', icon = 'Watercources resources pl icon.svg' }, -- river ['Q9430'] = { color = '#cdff', icon = 'Watercources resources pl icon.svg' }, ['Q8502'] = { color = '#e7dcc3', icon = 'Mountain Icon.svg' }, -- mountain ['Q103495'] = { color = '#B0C4DE', icon = 'Battle_icon_gladii.svg' }, ['Q11514315'] = { color = '#B0C4DE', icon = 'Battle_icon_gladii.svg' }, ['Q123705'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- neighborhood ['Q11271835'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- provincial capital ['Q1549591'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- big city ['Q51929311'] = { color = '#cdff', icon = ' Map marker font awesome.svg' }, -- largest city ['Q6957341'] = { color = '#CCAA99', icon = 'ReligijneSymbole2.svg' }, ['Q9174'] = { color = '#CCAA99', icon = 'ReligijneSymbole2.svg' }, ['Q29517555'] = { color = '#dce6f1', icon = 'OOjs UI icon language-ltr.svg' }, ['Q8192'] = { color = '#dce6f1', icon = 'OOjs UI icon language-ltr.svg' }, ['Q119520394'] = { color = '#dce6f1', icon = 'OOjs UI icon language-ltr.svg' }, ['Q112826905'] = { color = '#f0dbb6', icon = 'Human brain icon.svg' }, ['Q103812529'] = { color = '#f0dbb6', icon = 'Human brain icon.svg' }, ['Q193622'] = { color = '#cdeeff', icon = 'OOjs UI icon ribbonPrize.svg' }, ['Q618779'] = { color = '#cdeeff', icon = 'OOjs UI icon ribbonPrize.svg' }, ['Q2003221'] = { color = '#cdeeff', icon = 'OOjs UI icon ribbonPrize.svg' }, ['Q116476516'] = { color = '#ffc0cb', icon = 'Emoji_u1f3ad-bw.svg' }, ['Q5398426'] = { color = '#ffc0cb', icon = '' }, ['Q482994'] = { color = '#ffc0cb', icon = '' }, ['default'] = { color = '#F2F2F2', icon = '' }, ['Q196600'] = { color = '#ffc0cb', icon = '' }, -- media franchise } -- Clean parameters passed from Template:Databox local function cleanParam(val) if val then val = mw.text.trim(val) if val ~= '' then return val end end return nil end function p.getTheme(args, item) -- Check for manual user parameters first local themeColor = cleanParam(args.bgcolor) or cleanParam(args['color']) or cleanParam(args['رَنٛگ']) local themeIcon = cleanParam(args.icon) or cleanParam(args['نِشان']) local themeTextColor = cleanParam(args.titletextcolor) -- If all are explicitly set by the user, return them immediately if themeColor and themeIcon and themeTextColor then return { color = themeColor, icon = themeIcon, textcolor = themeTextColor } end local autoColor = nil local autoIcon = nil local autoTextColor = nil -- Check Wikidata P31 (instance of) statements using the safest method if item and item.id then local statements = mw.wikibase.getBestStatements(item.id, 'P31') if statements then for _, stmt in ipairs(statements) do if stmt.mainsnak and stmt.mainsnak.snaktype == 'value' and stmt.mainsnak.datavalue then local qid = stmt.mainsnak.datavalue.value.id if themeMap[qid] then autoColor = themeMap[qid].color autoIcon = themeMap[qid].icon autoTextColor = themeMap[qid].textcolor break end end end end end return { color = themeColor or autoColor or themeMap['default'].color, icon = themeIcon or autoIcon or themeMap['default'].icon, textcolor = themeTextColor or autoTextColor or (themeMap['default'] and themeMap['default'].textcolor) or 'black' } end -- The foolproof debug function! function p.debugtest(frame) local qid = frame.args[1] or 'Q17042539' local item = mw.wikibase.getEntity(qid) local found_ids = {} if item and item.id then local statements = mw.wikibase.getBestStatements(item.id, 'P31') if statements then for _, stmt in ipairs(statements) do if stmt.mainsnak and stmt.mainsnak.snaktype == 'value' and stmt.mainsnak.datavalue then table.insert(found_ids, stmt.mainsnak.datavalue.value.id) end end end end local theme = p.getTheme({}, item) return "Debug Result for " .. qid .. " -> Color: " .. tostring(theme.color) .. " | Text: " .. tostring(theme.textcolor) .. " | Found P31 IDs on Wikidata: " .. table.concat(found_ids, ", ") end return p 2tkkh63llvlpu5h2qaavb1t3pczwv6o فرٛینٛک میٚکڈونلڈ (صحافی) 0 32689 153436 151550 2026-10-07T05:58:33Z SakuraBot 9889 [[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران. 153436 wikitext text/x-wiki '''فرٛینٛک میٚکڈونلڈ''' (24 جنوری 1950-5 ستمبر 2026) اوس اکھ اَیرش [[لِکھٲرؠ]]، [[شؠچھ وٲنؠ|صحافی]]، ماحولیات دان تہٕ ''[[دی اَیرِش ٹایمز]]'' ماحولیات ایڈیٹر۔ [[زٲژ:2026 وَفات]] 6872c60i1x3g59hhf31f3b05e7zrku8 علی محمد ساگر 0 32874 153433 152544 2026-10-07T05:48:37Z SakuraBot 9889 [[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران. 153433 wikitext text/x-wiki {{دَفتَردار معلوٗمات ڈَبہٕ|office=جنرل نمبر [[جموں و کشمیر نیشنل کانفرنس]]|term_start=جوٗن 2014|children=یاسمیٖن ساگر، اِشفاق ساگر، سلمان ساگر|party=[[جموں و کشمیر نیشنل کانفرنس]]}} علی محمد ساگر (زامُت 1958) چھُ جموں و کشمیرُک اَکھ ہِنٛدُستٲنؠ سِیاسَت دان تہٕ [[جۆم تہٕ کٔشیٖر قومی کانفرٛنٕس|جموں و کشمیر نیشنل کانفرنسُک]] رُکُن۔ ساگر چھُ [[خانیار ایٚسمبلی حلقہٕ]] پؠٹھٕ ایم ایل اے سٕنٛدِ حثیتہٕ کٲم کران۔ امہِ برٛونٛہہ اوس [[عمر عبداللہ]] سٕنٛدِس قیادتس مَنٛز کابینہٕ مَنٛز دِہٲتی ترقی ہُنٛد ؤزیٖر تہٕ 2014 ہَس مَنٛز [[جۆم تہٕ کٔشیٖر قومی کانفرٛنٕس|جۆم تہٕ کٔشیٖر قومی کانفرٛنٕسُک]] جنرل سیکرٹری مقرر کرنہٕ آمُت۔ == شُروٲتی زِنٛدگی == علی محمد ساگر چھُ [[حَبہٕ کٔدٕل|حبہٕ کٔدٕل]]، جۆم تہٕ کٔشیٖر ہُنٛد۔ سُہ چھُ غۄلام قٲدِر سُنٛد نیٚچُو۔ تٔمؠ کٔر 1978 مَنٛز ایم اے تہٕ 1983 مَنٛز [[یونِورسِٹی آف کَشمیٖر]] مَنٛز ایل ایل بی پوٗرٕ۔ أمؠ سٕنٛدِ نیٚچِوِ سلمان ساگرَن لوٚڑ [[2024 جۆم تہٕ کٔشیٖر قونوٗن ساز ایٚسمبلی چُناو|2024 کِس اِنتِخابَس]] مَنٛز۔ == پیشہٕ == ساگرَن زیٛوٗن [[2024 جۆم تہٕ کٔشیٖر قونوٗن ساز ایٚسمبلی چُناو|2024 جموں و کشمیر قونوٗن ساز اسمبلی اِنتِخابس]] تہٕ [[2014 جۆم تہٕ کٔشیٖر قونوٗن ساز ایٚسمبلی چُناو|2014 کِس جموں و کشمیر قونوٗن ساز اسمبلی اِنتِخابس]] مَنٛز جموں و کشمیر نیشنل کانفرنسٕچ نُمٲینٛدگی کٔرِتھ کھنیار اسمبلی حلقہٕ پؠٹھٕ۔ تٔمؠ کٔر 6,505 ووٹ حٲصِل تہٕ ہارنووُن پنُن ساروٕے کھۄتہٕ نزدیکی حریف جے کے پی ڈی پی کِس محمد خورشید عالمَس 1,167 ووٹن ہٕنٛدِ فرقہٕ سٟتؠ۔ سُہ آو گۄڈنِچہِ لَٹہِ [[1996 جۆم تہٕ کٔشیٖر قونوٗن ساز ایٚسمبلی چُناو|1996 کِس جموں و کشمیر قونوٗن ساز اسمبلی اِنتِخابس]] مَنٛز این سی وۄمیدوار سٕنٛدِ حثیتہٕ کھنیار سیٹہٕ پؠٹھ منتخب کرنہٕ تہٕ [[2002 جۆم تہٕ کٔشیٖر قونوٗن ساز ایٚسمبلی چُناو|2002]] تہٕ [[2008 جۆم تہٕ کٔشیٖر قونوٗن ساز ایٚسمبلی چُناو|2008]] کِس یِنہٕ والؠن دۄن چُناون مَنٛز کوٚرُن یہِ قٲیِم۔ == چُناو کارکردگی == {| class="wikitable sortable" ! چُناو !! حلقہٕ !! colspan="2" |پارٹی !! !! ووٹ % !! مُخٲلِف وۄمیدوار !! colspan="2" |مُخٲلِف پارٹی !! مُخٲلِف ووٹ %|| حَوالہٕ |- |[[2024 Jammu and Kashmir Legislative Assembly election|2024]]||[[خانیار ایٚسمبلی حلقہٕ|خانیار]]||{{party name with color|Jammu and Kashmir National Conference}}||{{Won}}||62.46%||شیخ عمران||{{party name with color|Independent politician}}||20.93%||<ref name="J&K Assembly Election Results 2024 - Khanyar">{{cite news |date=8 October 2024 |title=J&K Assembly Election Results 2024 - Khanyar |url=https://results.eci.gov.in/AcResultGenOct2024/candidateswise-U0820.htm |archive-url=https://web.archive.org/web/20250716163923/https://results.eci.gov.in/AcResultGenOct2024/candidateswise-U0820.htm |archive-date=16 July 2025 |access-date=16 July 2025 |publisher=Election Commission of India}}</ref> |- |[[2014 Jammu and Kashmir Legislative Assembly election|2014]]||[[خانیار ایٚسمبلی حلقہٕ|خانیار]]||{{party name with color|Jammu & Kashmir National Conference}}||{{Won}}||48.76%||محمد خورشید عالم||{{party name with color|Jammu and Kashmir People's Democratic Party}}||40.01%||<ref>{{Cite web |date= |title=Jammu & Kashmir 2014 - Jammu & Kashmir - Election Commission of India |url=https://old.eci.gov.in/files/file/3797-jammu-kashmir-2014/ |archive-url=https://web.archive.org/web/20190613150235/https://eci.gov.in/files/file/3797-jammu-kashmir-2014/ |archive-date=2019-06-13 |access-date= |website=eci.gov.in}}</ref> |- |[[2008 Jammu and Kashmir Legislative Assembly election|2008]]||[[خانیار ایٚسمبلی حلقہٕ|خانیار]]||{{party name with color|Jammu & Kashmir National Conference}}||{{Won}}||74.16%||شَوکت احمد حافظ||{{party name with color|Jammu and Kashmir People's Democratic Party}}||9.47%||<ref>{{cite web|publisher=[[Election Commission of India]]|title=Statistical Report on General Election, 2008 to the Legislative Assembly of Jammu and Kashmir |url=https://ceojk.nic.in/pdf/10-Detailed%20Results.pdf|archive-url=https://web.archive.org/web/20241225073739/https://ceojk.nic.in/pdf/10-Detailed%20Results.pdf|archive-date=25 December 2024|access-date=25 December 2024}}</ref> |- |[[2002 Jammu and Kashmir Legislative Assembly election|2002]]||[[خانیار ایٚسمبلی حلقہٕ|خانیار]]||{{party name with color|Jammu & Kashmir National Conference}}||{{Won}}||93.85%||مُشتاق احمد||{{party name with color|Indian National Congress}}||4.16%||<ref>{{cite web|publisher=[[Election Commission of India]]|title=Statistical Report on General Election, 2002 to the Legislative Assembly of Jammu and Kashmir |url=http://eci.gov.in/eci_main/StatisticalReports/SE_2002/StatRep_JK_02.pdf|archive-url=https://web.archive.org/web/20130127192246/http://eci.gov.in/eci_main/StatisticalReports/SE_2002/StatRep_JK_02.pdf|archive-date=27 January 2013|access-date=15 February 2024}}</ref> |- |[[1996 Jammu and Kashmir Legislative Assembly election|1996]]||[[خانیار ایٚسمبلی حلقہٕ|خانیار]]||{{party name with color|Jammu & Kashmir National Conference}}||{{Won}}||87.52%||نَذیٖر احمد||{{party name with color|Janata Dal}}||8.58%||<ref>{{cite web|publisher=[[Election Commission of India]]|title=Statistical Report on General Election, 1996 to the Legislative Assembly of Jammu and Kashmir |url=http://eci.nic.in/eci_main/StatisticalReports/SE_1996/StatisticalReport-JK96.pdf|archive-url=https://web.archive.org/web/20120117084805/http://eci.nic.in/eci_main/StatisticalReports/SE_1996/StatisticalReport-JK96.pdf |archive-date=17 January 2012|access-date=15 February 2024}}</ref> |- |} == حَوالہٕ == [[زٲژ:کٲشِرؠ سِیاسَتدان]] [[زٲژ:زِنٛدٕ لوٗکھ]] ajt9dpdtpl6j0904oza4j56onik241l رُکُن:Nadeemulhaqmir-bot/log/2026/10 2 32896 153292 153128 2026-10-06T18:02:22Z Nadeemulhaqmir-bot 9480 باٹ چھُ اَز دۄہُک لاگ مَحفوٗظ کَران. 153292 wikitext text/x-wiki ==1-10-2026== ==== [[2026 نؠپالس مَنٛز سٔہلاب]] - ([[Special:Diff/152599|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[فٕلَے دُبَے پرواز 1073]] - ([[Special:Diff/152600|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> تقریباً </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> ؤرۍ یہِ </nowiki><b> -> </b><nowiki>ؤرؠ‌یہِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <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/152601|فَرَق]]) ==== # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> ==== [[ایلیٖن وۄارنوس]] - ([[Special:Diff/152602|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> قتل </nowiki><b> -> </b><nowiki>قَتٕل</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <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/152603|فَرَق]]) ==== # <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تقریباً </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> ضلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ۓ </nowiki><b> -> </b><nowiki>ۓ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==2-10-2026== ==== [[بَنٛگُلا]] - ([[Special:Diff/152700|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تقریباً </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> ضلع </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <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/152701|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[نسانجے]] - ([[Special:Diff/152702|فَرَق]]) ==== # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> ُ. </nowiki><b> -> </b><nowiki>ُ۔</nowiki> ==== [[اَمِتابھ بَچَن]] - ([[Special:Diff/152703|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[دیوداس (2002 ہِندی فِلِم)]] - ([[Special:Diff/152704|فَرَق]]) ==== # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> معاون </nowiki><b> -> </b><nowiki>سہارٕ</nowiki> ==== [[ایشوریا راے]] - ([[Special:Diff/152705|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> دنیاہٕک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہٕک</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <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/152706|فَرَق]]) ==== # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ڈی جی رُپاریل کالیج آف آرٹس، سایِنس اینڈ کامرس]] - ([[Special:Diff/152707|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اَمریٖکی ساموا]] - ([[Special:Diff/152708|فَرَق]]) ==== # <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تقریباً </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دارالحکومت </nowiki><b> -> </b><nowiki>رازدٲنؠ</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <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/152709|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تعلیم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki> # <nowiki> تعلیٖم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki> # <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-10-2026== ==== [[مۄغَل سَلطَنَت]] - ([[Special:Diff/152787|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اِستعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اندرونی </nowiki><b> -> </b><nowiki>اۆنٛدروٗنی</nowiki> # <nowiki> اسلٲمی </nowiki><b> -> </b><nowiki>اِسلٲمی</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> تقریباً </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> جنگس </nowiki><b> -> </b><nowiki>جَنٛگس</nowiki> # <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki> # <nowiki> دوہ </nowiki><b> -> </b><nowiki>دۄہ</nowiki> # <nowiki> دُنیاہٕک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہٕک</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> قتل </nowiki><b> -> </b><nowiki>قَتٕل</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> مجموعہ </nowiki><b> -> </b><nowiki>سۆمبرُن</nowiki> # <nowiki> نژاد </nowiki><b> -> </b><nowiki>نَسٕل</nowiki> # <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki> # <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٘ </nowiki><b> -> </b><nowiki>ٚ</nowiki> # <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/152788|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <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/152789|فَرَق]]) ==== # <nowiki> {{Databox}} </nowiki><b> -> </b><nowiki>{{مولوٗماتھ}}</nowiki> ==4-10-2026== ==== [[جَگلَر ویٖن]] - ([[Special:Diff/152884|فَرَق]]) ==== # <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki> ==== [[گیانیش کمار]] - ([[Special:Diff/152885|فَرَق]]) ==== # <nowiki> آئی </nowiki><b> -> </b><nowiki>اَے</nowiki> # <nowiki> آی </nowiki><b> -> </b><nowiki>اَے</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> بیاکھ </nowiki><b> -> </b><nowiki>بیٛاکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تعلیم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki> # <nowiki> تنقید </nowiki><b> -> </b><nowiki>تَنقیٖد</nowiki> # <nowiki> تعاون </nowiki><b> -> </b><nowiki>سہکٲری</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> شائع </nowiki><b> -> </b><nowiki>شایَع</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> قائم </nowiki><b> -> </b><nowiki>قٲیِم</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> پٔھ </nowiki><b> -> </b><nowiki>پھٔ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٘ </nowiki><b> -> </b><nowiki>ٚ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئین </nowiki><b> -> </b><nowiki>ئین</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> {{Databox}} </nowiki><b> -> </b><nowiki>{{مولوٗماتھ}}</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[شِوکُمار شرما]] - ([[Special:Diff/152886|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تعاون </nowiki><b> -> </b><nowiki>سہکٲری</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <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/152887|فَرَق]]) ==== # <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki> ==== [[نِکولس ژے]] - ([[Special:Diff/152888|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> ==== [[آوویی مِیازاکی]] - ([[Special:Diff/152889|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> ==== [[پارکنسن بؠمٲرؠ]] - ([[Special:Diff/152890|فَرَق]]) ==== # <nowiki> پٲنٹھ </nowiki><b> -> </b><nowiki>پٲٹھؠ</nowiki> # <nowiki> دوہ </nowiki><b> -> </b><nowiki>دۄہ</nowiki> ==== [[ہوسا زَبان]] - ([[Special:Diff/152891|فَرَق]]) ==== # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> ==5-10-2026== ==== [[ژار بومبا]] - ([[Special:Diff/153045|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہَس</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <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/153046|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دنیاہٕکؠ </nowiki><b> -> </b><nowiki>دُنؠ‌یاہٕکؠ</nowiki> # <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/153047|فَرَق]]) ==== # <nowiki> پٲنٹھ </nowiki><b> -> </b><nowiki>پٲٹھؠ</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <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/153048|فَرَق]]) ==== # <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> ابتدائی </nowiki><b> -> </b><nowiki>اِبتدٲیی</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٲنٹھ </nowiki><b> -> </b><nowiki>پٲٹھؠ</nowiki> # <nowiki> تقریباً </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> جنگ </nowiki><b> -> </b><nowiki>جَنٛگ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> سٕندۍ </nowiki><b> -> </b><nowiki>سٟنٛدؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> قتل </nowiki><b> -> </b><nowiki>قَتٕل</nowiki> # <nowiki> کٔرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki> # <nowiki> کرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <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/153049|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[ووگُر-کرٛیٖر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153050|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[وِجیپُر، جۆم تہٕ کٔشیٖر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153051|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[اوٗڑی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153052|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[اُدھم پوٗر مغربی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153053|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[اُدھم پوٗر مشرقی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153054|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[ترٕٛہ گام ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153055|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[ترٛال ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153056|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[تھانَمَنٛڈی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153057|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[سُرَنکوٹ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153058|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[سُچیتگڑھ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153059|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[سِریگۄفوور-ویٚجہِ وور ایٚسمبلی]] - ([[Special:Diff/153060|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[سوپُر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153061|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[سۄنہٕ وور ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153062|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[شرٛی ماتا ویشنوٗ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153063|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[شَنٛگس-اَنَتھ مشرقی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153064|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[سامبا ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153065|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[رِیٲسی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153066|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[رَنبیٖر سِنٛگھ پورا-جۆم جۆنوٗبی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153067|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[رام نَگَر، جۆم تہٕ کٔشیٖر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153068|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[رامگڑھ، جۆم تہٕ کٔشیٖر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153069|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[رامبَن ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153070|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[راجپوٗر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153071|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[راجوری ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153072|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[رَفیع آباد ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153073|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[پُلووم ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153074|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[پرٛوٗنٛژھ حَویلی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153075|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[پَٹَن ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153076|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[پہلگام ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153077|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[پاڈر-ناگسینا ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153078|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[نوشہرہ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153079|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[نگروٹا، جۆم تہٕ کٔشیٖر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153080|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[مینٛڈھر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153081|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[مَڑھ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153082|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[لولاب ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153083|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[لَنٛگیٹ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153084|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[لال چوک ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153085|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[کۄپوور ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153086|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[کۄلگوم ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153087|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[کۄکَرناگ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153088|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[کشٹٕوار ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153089|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[خان صٲب ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153090|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[کٹھوعہ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153091|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[کرناہ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153092|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[کَنٛگَن ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153093|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[کالاکوٹ-سُنٛدَربنی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153094|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[جسروٹا ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153095|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[جۆم مغربی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153096|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[جۆم شُمٲلؠ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153097|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[جۆم مشرقی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153098|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[اِنٛدَروَل ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153099|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[ہیٖرانَگَر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153100|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[حضرت بل ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153101|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[ہَنٛدٕوور ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153102|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[گۄلابگڑھ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153103|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[گانٛدربل ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153104|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[عیٖدگاہ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153105|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[ڈوڈہ مغربی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153106|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[ڈوڈہ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153107|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[دُیٛوسر، جۆم تہٕ کٔشیٖر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153108|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[دمھل ہٲنٛز پوٗر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153109|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[چھَمٛب ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153110|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[چیٚنانی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153111|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[چھانہٕ پوٗر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153112|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[ژوڈُر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153113|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[مَرکَزی شالٹینٛگ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153114|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[بُدھَل ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153115|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[بَڈگام ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153116|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[بِشناہ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153117|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[بِلاوَر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153118|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[بیٖرُو ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153119|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[بَسوہلی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153120|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[وَرمُل ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153121|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[بانِہال ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153122|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[بانی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153123|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[بَہوٗ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153124|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[اَنَتھ ناگ مغربی ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153125|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[اَنَتھ ناگ ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153126|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[اَکھنوٗر ایٚسمبلی حلقہٕ]] - ([[Special:Diff/153127|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==6-10-2026== ==== [[1999]] - ([[Special:Diff/153272|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[1998]] - ([[Special:Diff/153273|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[1997]] - ([[Special:Diff/153274|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[1996]] - ([[Special:Diff/153275|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[1995]] - ([[Special:Diff/153276|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[1994]] - ([[Special:Diff/153277|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[1993]] - ([[Special:Diff/153278|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[سید محمد نقیٖب العطاس]] - ([[Special:Diff/153279|فَرَق]]) ==== # <nowiki> آئی </nowiki><b> -> </b><nowiki>اَے</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> پٲنٹھ </nowiki><b> -> </b><nowiki>پٲٹھؠ</nowiki> # <nowiki> دنیاہَس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہَس</nowiki> # <nowiki> سہُ </nowiki><b> -> </b><nowiki>سُہ</nowiki> # <nowiki> گۄڈنیُٛک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <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/153280|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <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/153281|فَرَق]]) ==== # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <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/153282|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دوہ </nowiki><b> -> </b><nowiki>دۄہ</nowiki> # <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/153283|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki> # <nowiki> سہُ </nowiki><b> -> </b><nowiki>سُہ</nowiki> # <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/153284|فَرَق]]) ==== # <nowiki> ٕ. </nowiki><b> -> </b><nowiki>ٕ۔</nowiki> ==== [[تَنتھٕر]] - ([[Special:Diff/153286|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[خواجہ شمس الدیٖن]] - ([[Special:Diff/153287|فَرَق]]) ==== # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <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/153288|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سٍتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <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/153289|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تعلیٖم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> # <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/153290|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> گوڑنک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> ==== [[سیویرس سٕنیپ]] - ([[Special:Diff/153291|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> 5c5rkn7iqwtiy5d6y7k1z0n3wxn983t عیٖدگاہ ایٚسمبلی حلقہٕ 0 32960 153435 153105 2026-10-07T05:53:02Z SakuraBot 9889 [[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران. 153435 wikitext text/x-wiki '''{{PAGENAMEBASE}}''' چھُ ہِندوستان کِس شُمٲلی رِیاستَس [[جۆم تہٕ کٔشیٖر|جۆم تہٕ کٔشیٖر مَنٛز،]] [[جۆم تہٕ کٔشیٖر مَجلِسہِ قۄنوٗن سٲزی|جۆم تہٕ کٔشیٖر قوٗنون ساز ایٚسمبلی]] کِس 90 حلقَو مَنٛز اَکھ۔<ref name="JKGazette2024">{{cite web |title=Notification No. SO-412: General Election to the Legislative Assembly of the Union Territory of Jammu and Kashmir |url=https://rgp.jk.gov.in/pdf/SRO/SO-2024/S.%20O.%20412%20%202024%20%20%20PDF.pdf |publisher=Jammu and Kashmir Official Gazette |date=20 August 2024 |access-date=2026-10-05 }}</ref> == حَوالہٕ == {{حَوالہٕ}} [[زٲژ:جۆم تہٕ کٔشیٖر منٛز اسمبلی حلقہٕ]] [[زٲژ:سِریٖنَگَر ضِلہٕ]] 9i6vyh0vrwb3u9bd7orjhidifla8xlu لَنٛگیٹ ایٚسمبلی حلقہٕ 0 32981 153438 153084 2026-10-07T06:15:24Z SakuraBot 9889 [[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران. 153438 wikitext text/x-wiki '''{{PAGENAMEBASE}}''' چھُ ہِندوستان کِس شُمٲلی رِیاستَس [[جۆم تہٕ کٔشیٖر|جۆم تہٕ کٔشیٖر مَنٛز،]] [[جۆم تہٕ کٔشیٖر مَجلِسہِ قۄنوٗن سٲزی|جۆم تہٕ کٔشیٖر قوٗنون ساز ایٚسمبلی]] کِس 90 حلقَو مَنٛز اَکھ۔<ref name="JKGazette2024">{{cite web |title=Notification No. SO-412: General Election to the Legislative Assembly of the Union Territory of Jammu and Kashmir |url=https://rgp.jk.gov.in/pdf/SRO/SO-2024/S.%20O.%20412%20%202024%20%20%20PDF.pdf |publisher=Jammu and Kashmir Official Gazette |date=20 August 2024 |access-date=2026-10-05 }}</ref> == حَوالہٕ == {{حَوالہٕ}} [[زٲژ:جۆم تہٕ کٔشیٖر منٛز اسمبلی حلقہٕ]] [[زٲژ:کۄپوور ضِلہٕ]] 493h7em5xiy7r5um4jmqsg4cw813q42 لولاب ایٚسمبلی حلقہٕ 0 32982 153437 153083 2026-10-07T06:13:27Z SakuraBot 9889 [[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران. 153437 wikitext text/x-wiki '''{{PAGENAMEBASE}}''' چھُ ہِندوستان کِس شُمٲلی رِیاستَس [[جۆم تہٕ کٔشیٖر|جۆم تہٕ کٔشیٖر مَنٛز،]] [[جۆم تہٕ کٔشیٖر مَجلِسہِ قۄنوٗن سٲزی|جۆم تہٕ کٔشیٖر قوٗنون ساز ایٚسمبلی]] کِس 90 حلقَو مَنٛز اَکھ۔<ref name="JKGazette2024">{{cite web |title=Notification No. SO-412: General Election to the Legislative Assembly of the Union Territory of Jammu and Kashmir |url=https://rgp.jk.gov.in/pdf/SRO/SO-2024/S.%20O.%20412%20%202024%20%20%20PDF.pdf |publisher=Jammu and Kashmir Official Gazette |date=20 August 2024 |access-date=2026-10-05 }}</ref> == حَوالہٕ == {{حَوالہٕ}} [[زٲژ:جۆم تہٕ کٔشیٖر منٛز اسمبلی حلقہٕ]] [[زٲژ:کۄپوور ضِلہٕ]] 493h7em5xiy7r5um4jmqsg4cw813q42 شَنٛگس-اَنَتھ مشرقی ایٚسمبلی حلقہٕ 0 33001 153432 153064 2026-10-07T05:24:52Z SakuraBot 9889 [[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران. 153432 wikitext text/x-wiki '''{{PAGENAMEBASE}}''' چھُ ہِندوستان کِس شُمٲلی رِیاستَس [[جۆم تہٕ کٔشیٖر|جۆم تہٕ کٔشیٖر مَنٛز،]] [[جۆم تہٕ کٔشیٖر مَجلِسہِ قۄنوٗن سٲزی|جۆم تہٕ کٔشیٖر قوٗنون ساز ایٚسمبلی]] کِس 90 حلقَو مَنٛز اَکھ۔<ref name="JKGazette2024">{{cite web |title=Notification No. SO-412: General Election to the Legislative Assembly of the Union Territory of Jammu and Kashmir |url=https://rgp.jk.gov.in/pdf/SRO/SO-2024/S.%20O.%20412%20%202024%20%20%20PDF.pdf |publisher=Jammu and Kashmir Official Gazette |date=20 August 2024 |access-date=2026-10-05 }}</ref> == حَوالہٕ == {{حَوالہٕ}} [[زٲژ:جۆم تہٕ کٔشیٖر منٛز اسمبلی حلقہٕ]] [[زٲژ:انَنت ناگ ضِلہٕ]] seyt6699u7tetedgscffni18wctsmcv لام 0 33027 153283 153227 2026-10-06T18:01:41Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153283 wikitext text/x-wiki {{مولوٗماتھ}} '''لام''' <ref>{{کِتاب حَوالہٕ|url=https://dsal.uchicago.edu/cgi-bin/app/grierson_query.py?qs=l%C4%81m%201&searchhws=yes&matchtype=exact}}</ref>([[تِبتی لِکھٲرؠ نِظام|تِبتی]]:བླ་མ་) چھُ [[تِبتی بۄدمت|تِبتی بۄدمتس]] مَنٛز [[درم]] کِس أکس وُزناونہٕ آمٕتؠ کارکُنس دِنہٕ آمت لقب۔ [[Category:Articles containing Standard Tibetan-language text]] سٲری سادٕ چھٕنہٕ لام آسان، ییٚلہ زن زنانہٕ ہؠکن تسلیم کٔرِتھ تہٕ لام آسنِک حقدار ٲستھ۔ تبتی لفظ ''لا-ما'' اُک مطلب چھُ "تھدِ پایِچ موج"، تہٕ یہِ چھُ اؠمِس شخصہٕ سندؠن خصوٗصیاتن ہنٛز عکاسی کران، یِتھِس نفرس چھُ لام وننہٕ یوان۔ تٲریخی طور تہٕ وِنکؠن چھُ، یہِ ناو یَزتھ والؠن روحٲنی مٲلکن دنہٕ یوان تہٕ یہِ ہؠکہِ اکہِ خاص بۄدٕ ذاتھُک حصہ ٲستھ یَتھ کٔنؠ زن [[دَلٲے لام|دلٲے لام]] تہٕ پَنچن لام، تھٔز تُلُک زاتھِ ہِنٛد چھِ۔<ref name="slate">{{ویب حَوالہٕ|last=Marcotte|first=Amanda|date=2000-01-14|title=Who Are the Tibetan Lamas?|url=http://www.slate.com/id/1004379/|access-date=2013-07-17|publisher=Slate.com}}</ref> مَغربی عالِمَن یِمَن مَنٛز [[مؠلوِن گولڈسٹیٖن]] تہِ شٲمِل چھُ، تِمو سٕنٛدِ نَہ فہمی ہٕنٛدِ وجہہ سٟتؠ چھُ [[بِکشوٗ]]<ref name="brit"/><ref name="slate"/> خِطاب غَلط پٲٹھؠ سارِنٕے عام سادَن پؠٹھ لگاونہٕ آمُت، تہٕ وَنؠ وَنؠ چھُ "لام" لَفٕظ بٔڈؠ پیمانس پؠٹھ تِبتی سادن پؠٹھ غَلط پٲٹھؠ لگاونہٕ یِوان۔<ref name="slate">{{ویب حَوالہٕ|last=Marcotte|first=Amanda|date=2000-01-14|title=Who Are the Tibetan Lamas?|url=http://www.slate.com/id/1004379/|access-date=2013-07-17|publisher=Slate.com}}</ref> اِتھَے پٲٹھؠ، تِبتی بۄد درمس کۆر گولڈسٹیٖن تہٕ گۄڈٕ گۄڈِم مغربی اسکالرزو، تہٕ یورپی مسافِرو غلطی سان "لامااِزٕم" تہٕ "لَمیسٹ" ناو، یہِ سمجن ورٲے کہِ تٕمؠ یہِ وُچھان ٲسؠ سُہ اوس تبتی بۄدمت۔<ref name="brit" /> لامااِزٕم ونُن چھُ وۄنؠ سکھ غلط یِوان مانہٕ۔<ref>{{کِتاب حَوالہٕ|last=Frank J. Korom|title=Constructing Tibetan Culture: Contemporary Perspectives|publisher=World Heritage Press|year=1997|isbn=1-896064-12-4}}</ref> تِبتی بۄد دَرم کِس [[وۄزريانہٕ]] مَنٛز چھُ اَکھ لاما اَکھ [[تَنتھٕر|تنتھٕرؠ]] روٗحٲنی وتہٕ ہاوُک، یا کٲنٛسہِ یژھن وٲلؠ بۄد ژاٹھ سُنٛد گۄرٕ، یا اَکھ [[یوگؠ]] یا [[یوگٕنؠ]]. اِتھ پٲٹھؠ چھُ لاما / گۄرٕ [[ترٛےٚ موٗل|ترٛؠن موٗلن]] مَنٛز اَکھ وُچھنہٕ یِوان، یُس [[ترٛےٚ رتَن|ترٛؠن رَتنَن]] ہُنٛد اَکھ روٗپ چھُ، یِمَن مَنٛز [[یِدام]] تہٕ [[داکٕنؠ]] شٲمِل چھِ، تہٕ [[دَرمپالہٕ]] چھٕ رٲچھ راوٹھ کرن وٲلؠ دَے۔ تٕہنٛدؠن ذاتن مُطٲبِق چھُ لام سُنٛد ذہؠن بۄد، یعنی اِنسانُک ساروٕے کھۄ تہٕ تھۆد پایہِ؛ لام سٕنٛدؠ کتھٕ چھٕ دَرم تہٕ لام سُنٛد بدن چھُ پرٛؠزلوٕنؠ پایَس پؠٹھ واتناونہٕ باپَتھ وتھٕ ہاوُک تہِ بیٚے اَکھ یار تہِ— سَنٛگہٕ۔ اؠمیُٛک مطلب چھُ یہِ زِ لام چھُ ترٛؠن رَتنَن ہُنٛد پوٗرٕ سپدیٛومُت روٗپ . لام سُنٛد اَکھ بیٛاکھ روٗپ چھُ ترٛؠن کایَن ہِنٛد دٔسؠ تہِ وؠسناونہٕ یِوان۔<ref>5th Shamarpa, Shamar Köncho Yenlak and Jamgön Kongtrul Lodrö Thayé, Translation: Artur Przybysławski, "Calling the Lama from Afar: Two Suplicaitons to the Root Teacher."Translating the Karmapas' Works, Vélez-Málaga Spain (2019)p. 11</ref> == حَوالہٕ == m61r2jscfit67dd577ce2oryb0bj06x گربہٕ زال 0 33028 153290 153159 2026-10-06T18:02:12Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153290 wikitext text/x-wiki ''''''گربہٕ زال'''''' چھِ اَکھ زال یۄس انسٲنی تہٕ باقی مختلف جنین قریب چھ کور کران ییلہٕ تم گۄڈنُیٛک تشکیل دیوان چھ۔<ref>{{Cite journal|last=Tam|first=Timothy Theodore Ka Ki|last2=Xu|first2=Shao|last3=Li|first3=Yunfan|last4=Wang|first4=Xiao|last5=Chen|first5=Yicong|last6=Guo|first6=Jilong|last7=Feng|first7=Zhen|last8=Lan|first8=Guocheng|last9=Ruan|first9=Degong|last10=Han|first10=Dong|last11=Zhang|first11=Qingqing|date=March 2026|title=Amniogenesis in embryos and stem cell models|url=https://pubmed.ncbi.nlm.nih.gov/41776371|journal=Nature Cell Biology|volume=28|issue=3|pages=409–420|doi=10.1038/s41556-026-01873-4|issn=1476-4679|pmid=41776371}}</ref> lu6nb8wrng0tk5vnmkima4glgvs7twa گوکسل آرسوے 0 33029 153289 153170 2026-10-06T18:02:05Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153289 wikitext text/x-wiki {{Infobox person/Wikidata|fetchwikidata=ALL|onlysourced=No}} '''گوکسل آرسوے''' (15 مارٕچ 1936-5 اکتوبر 2026) اوس اَکھ ترک اداکار، گلوکار تہٕ کھِلٲڑؠ۔<ref>{{ویب حَوالہٕ|date=5 October 2026|title=Yeşilçam'ın 'Altın Çocuk' Lakaplı Oyuncusu Göksel Arsoy Hayatını Kaybetti|url=https://www.gercekgundem.com/magazin/yesilcamin-altin-cocuk-lakapli-oyuncu-goksel-arsoy-hayatini-kaybetti-579923|access-date=5 October 2026|website=Gerçek Gündem|language=Turkish}}</ref> == زانہِ زِنٛدگی == آرسوین کٔر [[اِستانبُل یوٗنِوَرسِٹی]] ہٕنٛز اکنامکس فیکلٹی مَنٛز تٲلیٖم۔ سُہ اوس موسیقار یساری عاصم آرسوے سُنٛد بابتھٕر۔ تٔمؠ کٔر نزدیٖکی یِشلکوی ہوٲیی اڈَس پؠٹھ کٲم کرٕنؠ شۆروٗع۔ 1958 مَنٛز کٔر تٔمؠ کارا گنلریمس مَنٛز پنٕنؠ فلمی شروعات یٔمِچ ہدایت کٲری سری گلٹیکن ٲس کٔرمٕژ تہٕ پتہٕ کٔر کیلیپسے تہٕ سمانیولو ہِشن فلمن مَنٛز وچھنہٕ۔ یمو مَنٛز واریاہن مَنٛز کٔر تٔمؠ اداکار بیلگن ڈوروک سٕنٛدِ مدمقابل اداکٲری۔ تٔمؠ کٔر فضایہ کس بارس مَنٛز کلٹ فِلِم "شفاق بیکیلری" مَنٛز اداکار تہٕ پروڈیوسر سنٛد کردار ادا۔ تٔمِس اوس میڈیاہن ترک سیٚنِما ہُک "گولڈن چایلڈ" ("Altın çocuk") لیبل لگٲومُت۔ ؤری وادن دوران تھٲو تٔمؠ تمہِ وقتہٕ تٔمؠ سٕنٛدِ اہم اداکٲری ہُنٛد حریف آیہان ایکس سٟتؠ قریبی دوستی قٲیم۔ تٔمؠ سٕنٛدِ گیون تہٕ کھیلن ہٕنٛدِ کیرییَرٕ کِنؠ نیو تٔمِس سنیما کیرییَر نِش وقفہٕ۔ آرسوے گُزریو 5 اکتوبر 2026 90 وُہُر وٲنٛسہِ مَنٛز۔ == فِلِم سٲزی == * Unutulmayanlar – 2006 * Asla Unutma – 2005 * Mirasyediler – 1995 * Dost Bildiklerim – 1978 * Sürtük – 1970 * Altın Avcıları – 1968 * Yayla Kızı Yıldız – 1967 * Ortaşark Yanıyor – 1967 * Son Kurban – 1967 * Altın Çocuk Beyrut'ta – 1967 * Kenarın Dilberi – 1966 * Altın Çocuk – 1966 * İsyancılar – 1965 * Yıldızların Altında – 1965 * Son Darbe – 1965 * Kırk Küçük Anne – 1964 * Yılların Ardından – 1964 * Evcilik Oyunu – 1964 * Kızgın Delikanlı – 1964 * Kezban – 1963 * Makber – 1963 * {{Lang|tr|Şafak Bekçileri}} – 1963 * Genç Kızların Sevgilisi – 1963 * Kahpe – 1963 * Leyla İle Mecnun Gibi – 1963 * Cicican – 1963 * Beyaz Güvercin – 1963 * Bulunmaz Uşak – 1963 * Aşka Karşı Gelinmez – 1962 * Öldüren Bahar – 1962 * Yalnızlar İçin – 1962 * Aşk Merdiveni – 1962 * Esir Kuş – 1962 * Ne Şeker Şey – 1962 * {{Lang|tr|Gençlik Hülyaları}} – 1962 * Billur Köşk – 1962 * Kiralık Koca – 1962 * Gönül Avcısı – 1962 * Gümüş Gerdanlık – 1962 * Küçük Beyefendi – 1962 * Akasyalar Açarken – 1962 * Şehirdeki Yabancı – 1962 * Biz de Arkadaş mıyız? – 1962 * Aşkın Saati Gelince – 1961 * Bir Demet Yasemen – 1961 * Bir Yaz Yağmuru – 1961 * Bülbül Yuvası – 1961 * Yaban Gülü – 1961 * Seni Kaybedersem – 1961 * Yavru Kuş – 1961 * Bir Bahar Akşamı – 1961 * Boş Yuva – 1961 * İki Aşk Arasında – 1961 * Kızıl Vazo – 1961 * Melekler Şahidimdir – 1961 * Zavallı Necdet – 1961 * Unutamadığım Kadın – 1961 * Güneş Doğmasın – 1961 * Bir Yaz Yağmuru – 1960 * Nilüfer Orman Çiçeği – 1960 * Satın Alınan Adam – 1960 * Taş Bebek – 1960 * Aşk Rüzgarı – 1960 * Ömrüm Böyle Geçti – 1959 * Samanyolu – 1959 * Kelepçe – 1958 * Ham Meyva – 1957 * Kara Günlerim / Yaşayan Ölüler – 1957 == حَوالہٕ == [[زٲژ:1936 پٲدٲیِش]] [[زٲژ:2026 وَفات]] [[زٲژ:تُرکی لوٗکھ]] g332eh9dv5o3d8ab7u6oyfdync667ks سٔیِد میٖر قاسِم 0 33031 153288 153198 2026-10-06T18:02:00Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153288 wikitext text/x-wiki {{Infobox officeholder/Wikidata|noicon=Yes}} '''سٔیِد میٖر قاسِم''' (17 مارٕچ 1921 - 12 دَسَمبَر 2004) اوس اَکھ ہِنٛدُستٲنؠ سِیاسَت دان یِمو 1971 پؠٹھٕ 1975 تام [[جۆم تہٕ کٔشیٖر (رِیاسَتھ)|جۆم تہٕ کٔشیٖر]] ہُنٛد [[جۆم تہٕ کٔشیٖر ہُنٛد ؤزیٖر اعلیٰ|دوٚیِم ؤزیٖرِ اعلیٰ]] سٕندِ حثیتہٕ خٕدمَت انجام دِژمٕژ۔ قاسِم سٕنٛز سیٲسی پیشورانہٕ زِندگی گٔیہِ گۄڈٕ [[بَرطٲنوی راج|برطٲنوی راجس]] دوران شۆروٗع، ییٚلہِ سُہ غٲر فرقہ وارانہٕ، جموٗرِیت نواز [[جۆم تہٕ کٔشیٖر قومی کانفرٛنٕس|کشمیر ترٛوو]] سیٲسی تحریٖکُک رہنُما بنیوو۔ مہاراجہ [[ہَری سِنٛگھ]] سٕنٛزِ بادشاہت خِلاف أمؠ سٕنٛز وکالت کِس نٔتیٖجس مَنٛز آو سُہ قٲد کرنہٕ۔ ہِندوستان چہِ آزٲدی پتہٕ اوس سٔیِد میٖر قاسِم [[جۆم تہٕ کٔشیٖر ہُنٛد ٲییٖن]] تیار کرنَس مَنٛز شٲمِل۔ تٔمؠ روٗد مُختٔلِف رِیاستی تہٕ مرکزی عۄہدن پؠٹھ خٕدمَت۔ تٔمِس چھُ کٔشیٖرِ مَنٛز [[ہِندوستٲنؠ قومی کانٛگرٛیس|انڈین نیشنل کانگریس]] قٲیِم کرنُک سہرا دِنہٕ یِوان۔ [[غۄلام مُحمد صادِق]] سٕنٛدِ مرنہٕ پتہٕ کٔر تٔمؠ جموں و کشمیرُک وزیر اعلیٰ سٕنٛدِ حثیتہٕ خٕدمَت۔ حوٚکوٗمَتھ ہِنٛدُستٲنؠ سٕنٛدِ طرفہٕ مُحادٕ کرنہٕ پتہٕ دِیُت تٔمؠ [[شيخ عبدالله|شیخ عبداللہ]] سٕنٛز واپسی ہٕنٛز وتھ ہموار کرنہٕ خٲطرٕ 1975 مَنٛز عۄہدٕ پیٹھٕ اِستِفہٕ۔ سَتَمبَر 1992 مَنٛز شایع سپدن واجنہِ پننہِ خۄد زانہِ زِنٛدگی "مَے لایِف اینٛڈ ٹَیِمٕز" «میٛٲنؠ زِنٛدگی تہٕ وَقٕت» مَنٛز چھُ قاسِمن شٲہی ریاستس مَنٛز بادشاہت ہُنٛد جولہٕ تراونہٕ خٲطرٕ کٲشرؠن ہٕنزِ جدوجہد ہٕنٛز دلچسپ توٲریخی تفصیل دِژمٕژ تہٕ سٟتی پٲکِستانس مَنٛز شٲمِل گژھنہٕ بدلہٕ ہندوستانس سٟتؠ سممِلُن کِس معاملس پؠٹھ پس منظر۔ قاسِم گُزریٛوو 12 دَسَمبَر 2004 [[نٔو دِل|نیہِ دِلہِ]] مَنٛز انڈیا گیٹَس نزدیٖک أکِس ایمبولینس مَنٛز 83 ؤری وٲنٛسہِ۔ أمؠ سٕنٛزِ مرضی مُطٲبِق آو سُہ پننہِ زینہٕ کِس گام، کٔشیٖرِ کِس [[ڈوٗر شاہ آباد|ڈوٗر شاہ آبادَس]] مَنٛز دفن کرنہٕ۔ أمؠ سٕنٛدِس جنازَس مَنٛز کٔر ساسہٕ بٔدؠ لوٗکھ کُنہِ واقعہٕ ورٲے شِرکت۔ تٔمِس آو 2005 مَنٛز ہِنٛدُستٲنہِ صدر [[اے پی جے عبدالکلام]] سٕنٛدِ دٔسؠ مرنہٕ پتہٕ پدم بھوشن ، ہندوستانُک ترٛیٚیِم سارِوٕے کھۄتہٕ بوٚڈ شہری اعزاز دِنہٕ۔<ref name="Padma Awards">{{cite web|date=2015|title=Padma Awards|url=http://mha.nic.in/sites/upload_files/mha/files/LST-PDAWD-2013.pdf|access-date=21 July 2015|publisher=Ministry of Home Affairs, Government of India}}</ref> == حَوالہٕ == [[زٲژ:کٲشِرؠ سِیاسَتدان]] [[زٲژ:کٲشِرؠ مُسَلمان]] [[زٲژ:1921 پٲدٲیِش]] [[زٲژ:2004 وَفات]] 2659t0pn9yl1u20hzwv2nlzjk6prht9 خواجہ شمس الدیٖن 0 33034 153287 153201 2026-10-06T18:01:55Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153287 wikitext text/x-wiki {{Infobox officeholder/Wikidata|noicon=Yes}} '''خواجہ شمس الدیٖن''' (1922-19 اپریل 1999) اوس 12 اکتوبر 1963 پیٹھہٕ 29 فَرؤری 1964 تام ژھۄٹ کالس خٲطرٕ [[جۆم تہٕ کٔشیٖر ہُنٛد ؤزیٖر اعلیٰ|جۆم تہٕ کٔشیٖر ہُنٛد وزیر اعظم]]۔<ref>{{ویب حَوالہٕ|title=Index Sh-Sl|url=https://www.rulers.org/indexs3.html|access-date=18 March 2018|publisher=rulers.org}}</ref> سہ آو گۄڈنچہ لٹہِ 1956 تھس مَنٛز قونوٗن ساز اسمبلی خٲطرٕ منتخب کرنہٕ تہٕ 1962، 1967 تہٕ 1972 تھس مَنٛز آو سہ دوبارٕ منتخب کرنہٕ۔<ref>{{ویب حَوالہٕ|title=tribuneindia... Jammu and Kashmir|url=https://www.tribuneindia.com/1999/99apr20/j&k.htm#3|access-date=2020-12-20|website=www.tribuneindia.com}}</ref> 26 دَسَمبَر 1963 تس مَنٛز آو تمہِ سٕنٛدِس انتظامیہ کہ دوران [[حَضرَت بَل]] [[1963 حضرت بل شرایِن ژوٗر|مُحمد صلی اللہ علیہ وسلم مویہِ مُقدس استان پیٹھہٕ ژوٗر]] کرنہٕ۔ اَمہِ واقعہٕ پتہٕ آیہ ہفتیو پتہٕ أمہ سٕنٛز جاے [[غۄلام مُحمد صادِق]] ننہٕ۔<ref>{{Cite news|url=http://news.statetimes.in/jk-suffered-politicians/|title=J&K has suffered more because of ‘politicians’|date=12 November 2014|journal=State Times|first=Daya|last=Sagar|accessdate=18 March 2018}}</ref> == حَوالہٕ == [[زٲژ:کٲشِرؠ سِیاسَتدان]] [[زٲژ:1922 پٲدٲیِش]] [[زٲژ:1999 وَفات]] 6rv8qumex8ibyoh6g95s9ocgl07mzn3 تَنتھٕر 0 33036 153286 153209 2026-10-06T18:01:50Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153286 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{مولوٗماتھ}} '''تَنتھٕر''' ([[سَنَسکرٕٛت زَبان|سنٛسکرِٛت]]:तन्त्र ، لفظی طور پٲٹھؠ 'وۄٕرؠ دورٕ') چھُ اَکھ خاص [[یوگ|یوگؠ]] روایت۔ یہِ اوس [[بَرِصَغیٖر ہِنٛد|برصغیر پاک و ہند]] مَنٛز تیار کرنہٕ آمت، یؠمیُٛک آغاز گۄڈنِچ صدی عیسوی کہِ مَنٛز باگ گۄڈٕ گۄڈ شیو مت تہٕ شکتی متک طریقن مَنٛز، تہٕ پتہٕ [[گوتم بۄد|بدھ مت]] تہٕ ویشنو مت مَنٛز اوس۔{{Sfnp|Gray|2016}} == حَوالہٕ == o6del77rhb2ugp4tl2jnl3zcjjh3my7 کلسٹر یوٗنِوَرسِٹی جموں 0 33043 153282 153230 2026-10-06T18:01:35Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153282 wikitext text/x-wiki {{Infobox university/Wikidata|image=CLU_Jammu_GGM_Science_college_01.jpg}} [[File:CLU_Jammu_GGM_Science_college_01.jpg|thumb|سی ایل یو جموں جی جی ایم ساینس کالیج کیمپس]] کلسٹر یوٗنِوَرسِٹی آف جموں (سی ایل یو جے) چھِ اَکھ کالجیٹ پبلک سٹیٹ یوٗنِوَرسِٹی یوٚس [[جۆم|جموس]] مَنٛز مرکزی زیر انتظام علاقہٕ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] [[ہِندوستان]] مَنٛز واقعہٕ چھُ۔ یہِ چھ جموں شہرٕکہ پانژن کالجن تہٕ پانژن سکوٗلن ہنٛد اَکھ مجموٗع۔ یہِ آو 2016 ہس مَنٛز سری نگر تہٕ جموں کلسٹر یوٗنِوَرسِٹی ایکٹ 2016 ہس تحت [[کلسٹر یونیورسٹی سِریٖنَگَر]] سٟتؠ ملتھ مرکزی سرپرستی مَنٛز بنن واجنہ سکیم، آر یو ایس اے کہ پہل قدمی تحت قٲیم کرنہٕ۔<ref>{{ویب حَوالہٕ|date=20 January 2017|title=Jammu Kashmir: 2 cluster universities to be operational from current academic session : News|url=http://indiatoday.intoday.in/education/story/jammu-kashmir-cluster-universities/1/862023.html|url-status=dead|archive-url=https://web.archive.org/web/20170121013221/http://indiatoday.intoday.in/education/story/jammu-kashmir-cluster-universities/1/862023.html|archive-date=21 January 2017|access-date=2017-07-08|website=indiatoday.intoday.in|publisher=[[India Today]]}}</ref><ref>{{ویب حَوالہٕ|title=RUSA J&K - Higher Education Department - J & K|url=http://www.jkhighereducation.nic.in/rusa_jandk.html|access-date=2017-07-08|website=www.jkhighereducation.nic.in|publisher=Higher Education Department, Jammu & Kashmir|language=en}}</ref> جموں کلسٹر یوٗنِوَرسِٹی تہٕ سری نگر کلسٹر یوٗنِوَرسِٹی ہند افتتاح کوٚر 17 اپریل 2017 دۄہ تمہ وقتہٕ ہند [[ہِندوستٲنؠ سَرکار|حکومت ہند]] کس وزیر: ایچ آر ڈی پرکاش جاوڈیکر<ref>{{ویب حَوالہٕ|title=HRD Minister inaugurates JK Cluster Universities|url=http://www.greaterkashmir.com/news/jammu/hrd-minister-inaugurates-jk-cluster-universities/246805.html|access-date=17 July 2017|website=greater kashmir}}</ref> == حَوالہٕ == [[زٲژ:یونِورسِٹی]] 8rd0lzrdteylusgcsarh7k5u9xu60ay اوتھیلو 0 33044 153236 2026-10-06T12:26:31Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1370440836|Othello]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 153236 wikitext text/x-wiki [[File:Othello_et_Desdémone_à_Venise_-_Théodore_Chassériau_-_Musée_du_Louvre_Peintures_RF_3897.jpg|thumb|اوتھیلو تہٕ ڈیسڈیمونا وینس منٛز تھیوڈور چیسریو، 1850]] . ovh5mw2g2hxurii6557fcnybjmrgv1c 153238 153236 2026-10-06T12:44:43Z آیات محراج 11062 153238 wikitext text/x-wiki [[File:Othello_et_Desdémone_à_Venise_-_Théodore_Chassériau_-_Musée_du_Louvre_Peintures_RF_3897.jpg|thumb|اوتھیلو تہٕ ڈیسڈیمونا وینس منٛز تھیوڈور چیسریو، 1850]] دی ٹریجڈی آف اوتھیلو، دی موٗر آف وینس، یَتھ عام طور پیٚٹھ لۄکٹ کٔرِتھ اوتھیلو وننہٕ چھُ یِوان، چھِ اَکھ المیہ (tragedy) یۄس ولِیم شیکسپیرن لگ بَگ 1603 عیسویس مَنٛز لؠکھ۔ وینس تہٕ سائپرسس مَنٛز قٲئم یہِ ڈرٛامہ چھُ موری فوجی کمانڈر اوتھیلوس پیش کَران، ییٚلہِ تٔمؠ سُنٛد نائب (ensign) ایٖیاگو سُہ پنٛنہِ خانٛدارِنہِ ڈیسڈیمونا ہٕنٛزِ بے وفٲئی پیٚٹھ شَک کَرنس پیٚٹھ مجبوٗر چھُ کَران۔ اوتھیلو چھُ بٔڑِس پیمانس پیٚٹھ شیکسپیر سٕنٛدؠن مایہِ ناز ترین شہکارَن مَنٛز شُمار گژھان تہٕ اَمِچ گِنتی چھِ أمؠ سٕنٛدؠن بٔڑؠن المیہ ڈرامَن مَنٛز میکبیتھ، کِنگ لِیَر تہٕ ہیملیٹ سٟتؠ یِوان کَرنہٕ۔ مُصنف سٕنٛزِ زِنٛدگی مَنٛز غٲر شایع شُدٕ، یہِ ڈرٛامہ چھُ 1622 کِس اکہِ کوارٹو ایڈیشن تہٕ پتہٕ فرسٹ فولیو مَنٛز مۄحفوٗظ روٗدمُت۔ پَنٛنہِ گۄڈنچہِ پیشکَشہِ پؠٹھٕ چھُ یہِ ناظرینَن تہٕ اَدبی نقادَن دۄشونی مَنٛز شیکسپیر سُنٛد سارِوٕے کھۄتہٕ مَشہوٗر ڈرٛامہ روٗدمُت، یَمہٕ پتہٕ اَتھ پیٚٹھ واریاہ سٹیج، فِلم تہٕ اوپیرا بَناونہٕ آیہِ۔ فنکارَن مَنٛز چھِ اوتھیلو، ایٖیاگو، ڈیسڈیمونا تہٕ امیلیا (ایٖیاگو ہٕنٛز خانٛدارِنؠ) ہٕنٛدؠ کردار نَہایت دِقَت طلب تہٕ پَسَندِیدٕ سَمجنہٕ یِوان۔ شیکسپیر سُنٛد اَمِچ کٔہٲنی خٲطرٕ بٔڑ مأخذ اوس سِنتھیو سُنٛد 1565 ہُنٛد اَکھ ناوَل (novella)، یَمِچ کٔہٲنی شیکسپیرن رٔٹِتھ واریٛاہ کینٛہہ بدلاو کٔرِتھ پیش کٔر۔ == کِردار == *اوتھیلو: وینس ہٕنٛزِ فوجہِ مَنٛز جنرل، اَکھ عٔظیٖم موٗر (Moor) *ڈیسڈیمونا: اوتھیلو ہٕنٛز خانٛدارِنؠ؛ برابانشیو ہٕنٛز کوٗر *ایٖیاگو: اوتھیلو سُنٛد قٲبِلِ اِعتِماد، مَگَر کِینہٕ پَرور تہٕ دَغا باز نائب (ensign) *کیسیو: اوتھیلو سُنٛد وفادار تہٕ سارِوٕے کھۄتہٕ پیارو لؠفٹیننٹ *امیلیا: ایٖیاگو ہٕنٛز خانٛدارِنؠ تہٕ ڈیسڈیمونا ہٕنٛز خِدمَت گار *بیانکا: کیسیو ہٕنٛز محبوٗبہ *برابانشیو: وینس سُنٛد سینیٹر تہٕ ڈیسڈیمونا سُنٛد مول *روڈریگو: وینس سُنٛد اَکھ بَدچَلَن اَمیر، یُس ڈیسڈیمونا سٟتؠ مۆحَبَت اوس کَران *گریشیانو: برابانشیو سُنٛد بٲے *لوڈوویکو: برابانشیو سُنٛد رِشتہ دار تہٕ ڈیسڈیمونا سُنٛد پِتُر بٲے *مونٹانو: سائپرس کِس حکومتس مَنٛز اوتھیلو کھۄتہٕ برٛونٛہہ حٲکِم == پلاٹ خُلاصہٕ == ===ایکٹ ۱=== روڈریگو چھُ پَنٛنِس دوست ایٖیاگوس شِکایَتھ کَران کہِ تٔمؠ کٔر نہٕ تٔمس ڈیسڈیمونا تہٕ اوتھیلو سٕنٛزِ خُفیہ خانٛدرٕ بابتھ آگاہ۔ ایٖیاگو چھُ اوتھیلو خٕلاف بَدلہٕ نِنُک سوچان تِکیازِ اوتھیلو اوس کیسیو لؠفٹیننٹ عۄہدس پیٚٹھ پرموٹ کوٚرمُت۔ برابانشیو چھُ اوتھیلوس پیٚٹھ جادوٗگری سٟتؠ کوٗر بہکاونُک اِلزام تَرٛاوان، مگر اوتھیلو تہٕ ڈیسڈیمونا چھِ سینیٹس مَنٛز پَنٛنِہ مۆحَبَتچ پزر واضع کَران۔ اوتھیلوس چھُ ترک حملہٕ آورَن خٕلاف سائپرسس کُن کَمَان سمبھالنہٕ خٲطرٕ بھیجنہٕ یِوان۔ ===ایکٹ ۲=== قافلہٕ چھُ سائپرس واتان ییٚتہِ طوٗفانس مَنٛز ترک کٹھ تباہ گژھان چھُ۔ ایٖیاگو چھُ کیسیوس شراب چَوان تہٕ روڈریگوس سٟتؠ لڑٲے مَنٛز گِرِفتار کَراوان، یَمہٕ سٟتؠ ناراض گٔژھِتھ اوتھیلو چھُ کیسیو سُنٛد عۄہدس کھسَن۔ ===ایکٹ ۳=== ایٖیاگو چھُ اوتھیلو سٕنٛدِس زِہنس مَنٛز کیسیو تہٕ ڈیسڈیمونا کِس تعلُق بابتھ شَکھ پٲدٕ کَران۔ ییٚلہِ ڈیسڈیمونا سُنٛد رُمال (ہُنٛد اَکھ توٗحفہٕ) بیٚیہِ کٔنٛہہ ترٛاوتھ لوسان چھُ، ایٖیاگو چھُ پنٛنہِ خانٛدارِنہِ امیلیا نِش سُہ ژوٗرِ تھاوان۔ اوتھیلو چھُ ایٖیاگو سٕنٛدِس جالس مَنٛز پھَسان تہٕ دۄشونی مارنُک عۄہد کَران۔ ===ایکٹ ۴=== ایٖیاگو چھُ سُہ رُمال کیسیو کِس کَمبرس مَنٛز تھاوان۔ اوتھیلو چھُ دوٗرِ پؠٹھ کیسیوس بیانکا بابتھ کتھ کَران وِچھان مَگَر ایٖیاگو ہٕنٛزِ چالاکی کِنؠ چھُ سَمجھان کہِ کتھ چھِ ڈیسڈیمونا بابتھ گژھان۔ اوتھیلو چھُ شرارتھس مَنٛز اوٚن گٔژھِتھ ڈیسڈیمونا مارنُک فٲصلہٕ کَران۔ ===ایکٹ ۵=== لڑٲے مَنٛز چھُ ایٖیاگو روڈریگوس زبردستی قتل کَران تاکہِ تٔمؠ سٕنٛز سَازِش کھلنہٕ نَہ یِیہِ۔ دٔپھ دٔپھ پیٚٹھ چھُ اوتھیلو خواب گاہس مَنٛز پَنٛنہِ خانٛدارِنہِ ڈیسڈیمونا سُنٛد ساہ دَباوِتھ تَس ماران۔ امیلیا چھِ واتِتھ ایٖیاگو سُنٛد ساروی مَکر و فریب نَنٛگہٕ کَران۔ ییٚلہِ اوتھیلوس حقیقت معلوٗم چھِ گژھان کہِ ڈیسڈیمونا ٲس بےٚ گناہ، سُہ چھُ گۄڈٕ ایٖیاگوس زَخمی کَران تہٕ پَتہٕ پَنُن پان خۄدکشی کٔرِتھ ماران۔ لوڈوویکو چھُ کیسیو حٲکِم مُقرَر کَران تہٕ ایٖیاگوس سخت سَزا دِنُک حُکُم جٲری کَران۔ hxs9y6r5c1ovc3nl0gfpv76uqdt7xub 153239 153238 2026-10-06T12:52:24Z آیات محراج 11062 153239 wikitext text/x-wiki [[File:Othello_et_Desdémone_à_Venise_-_Théodore_Chassériau_-_Musée_du_Louvre_Peintures_RF_3897.jpg|thumb|اوتھیلو تہٕ ڈیسڈیمونا وینس منٛز تھیوڈور چیسریو، 1850]] دی ٹریجڈی آف اوتھیلو، دی موٗر آف وینس، یَتھ عام طور پیٚٹھ لۄکٹ کٔرِتھ اوتھیلو وننہٕ چھُ یِوان، چھِ اَکھ المیہ (tragedy) یۄس ولِیم شیکسپیرن لگ بَگ 1603 عیسویس مَنٛز لؠکھ۔ وینس تہٕ سائپرسس مَنٛز قٲئم یہِ ڈرٛامہ چھُ موری فوجی کمانڈر اوتھیلوس پیش کَران، ییٚلہِ تٔمؠ سُنٛد نائب (ensign) ایٖیاگو سُہ پنٛنہِ خانٛدارِنہِ ڈیسڈیمونا ہٕنٛزِ بے وفٲئی پیٚٹھ شَک کَرنس پیٚٹھ مجبوٗر چھُ کَران۔ اوتھیلو چھُ بٔڑِس پیمانس پیٚٹھ شیکسپیر سٕنٛدؠن مایہِ ناز ترین شہکارَن مَنٛز شُمار گژھان تہٕ اَمِچ گِنتی چھِ أمؠ سٕنٛدؠن بٔڑؠن المیہ ڈرامَن مَنٛز میکبیتھ، کِنگ لِیَر تہٕ ہیملیٹ سٟتؠ یِوان کَرنہٕ۔ مُصنف سٕنٛزِ زِنٛدگی مَنٛز غٲر شایع شُدٕ، یہِ ڈرٛامہ چھُ 1622 کِس اکہِ کوارٹو ایڈیشن تہٕ پتہٕ فرسٹ فولیو مَنٛز مۄحفوٗظ روٗدمُت۔ پَنٛنہِ گۄڈنچہِ پیشکَشہِ پؠٹھٕ چھُ یہِ ناظرینَن تہٕ اَدبی نقادَن دۄشونی مَنٛز شیکسپیر سُنٛد سارِوٕے کھۄتہٕ مَشہوٗر ڈرٛامہ روٗدمُت، یَمہٕ پتہٕ اَتھ پیٚٹھ واریاہ سٹیج، فِلم تہٕ اوپیرا بَناونہٕ آیہِ۔ فنکارَن مَنٛز چھِ اوتھیلو، ایٖیاگو، ڈیسڈیمونا تہٕ امیلیا (ایٖیاگو ہٕنٛز خانٛدارِنؠ) ہٕنٛدؠ کردار نَہایت دِقَت طلب تہٕ پَسَندِیدٕ سَمجنہٕ یِوان۔ شیکسپیر سُنٛد اَمِچ کٔہٲنی خٲطرٕ بٔڑ مأخذ اوس سِنتھیو سُنٛد 1565 ہُنٛد اَکھ ناوَل (novella)، یَمِچ کٔہٲنی شیکسپیرن رٔٹِتھ واریٛاہ کینٛہہ بدلاو کٔرِتھ پیش کٔر۔ == کِردار == *اوتھیلو: وینس ہٕنٛزِ فوجہِ مَنٛز جنرل، اَکھ عٔظیٖم موٗر (Moor) *ڈیسڈیمونا: اوتھیلو ہٕنٛز خانٛدارِنؠ؛ برابانشیو ہٕنٛز کوٗر *ایٖیاگو: اوتھیلو سُنٛد قٲبِلِ اِعتِماد، مَگَر کِینہٕ پَرور تہٕ دَغا باز نائب (ensign) *کیسیو: اوتھیلو سُنٛد وفادار تہٕ سارِوٕے کھۄتہٕ پیارو لؠفٹیننٹ *امیلیا: ایٖیاگو ہٕنٛز خانٛدارِنؠ تہٕ ڈیسڈیمونا ہٕنٛز خِدمَت گار *بیانکا: کیسیو ہٕنٛز محبوٗبہ *برابانشیو: وینس سُنٛد سینیٹر تہٕ ڈیسڈیمونا سُنٛد مول *روڈریگو: وینس سُنٛد اَکھ بَدچَلَن اَمیر، یُس ڈیسڈیمونا سٟتؠ مۆحَبَت اوس کَران *گریشیانو: برابانشیو سُنٛد بٲے *لوڈوویکو: برابانشیو سُنٛد رِشتہ دار تہٕ ڈیسڈیمونا سُنٛد پِتُر بٲے *مونٹانو: سائپرس کِس حکومتس مَنٛز اوتھیلو کھۄتہٕ برٛونٛہہ حٲکِم == پلاٹ خُلاصہٕ == ===ایکٹ ۱=== روڈریگو چھُ پَنٛنِس دوست ایٖیاگوس شِکایَتھ کَران کہِ تٔمؠ کٔر نہٕ تٔمس ڈیسڈیمونا تہٕ اوتھیلو سٕنٛزِ خُفیہ خانٛدرٕ بابتھ آگاہ۔ ایٖیاگو چھُ اوتھیلو خٕلاف بَدلہٕ نِنُک سوچان تِکیازِ اوتھیلو اوس کیسیو لؠفٹیننٹ عۄہدس پیٚٹھ پرموٹ کوٚرمُت۔ برابانشیو چھُ اوتھیلوس پیٚٹھ جادوٗگری سٟتؠ کوٗر بہکاونُک اِلزام تَرٛاوان، مگر اوتھیلو تہٕ ڈیسڈیمونا چھِ سینیٹس مَنٛز پَنٛنِہ مۆحَبَتچ پزر واضع کَران۔ اوتھیلوس چھُ ترک حملہٕ آورَن خٕلاف سائپرسس کُن کَمَان سمبھالنہٕ خٲطرٕ بھیجنہٕ یِوان۔ ===ایکٹ ۲=== قافلہٕ چھُ سائپرس واتان ییٚتہِ طوٗفانس مَنٛز ترک کٹھ تباہ گژھان چھُ۔ ایٖیاگو چھُ کیسیوس شراب چَوان تہٕ روڈریگوس سٟتؠ لڑٲے مَنٛز گِرِفتار کَراوان، یَمہٕ سٟتؠ ناراض گٔژھِتھ اوتھیلو چھُ کیسیو سُنٛد عۄہدس کھسَن۔ ===ایکٹ ۳=== ایٖیاگو چھُ اوتھیلو سٕنٛدِس زِہنس مَنٛز کیسیو تہٕ ڈیسڈیمونا کِس تعلُق بابتھ شَکھ پٲدٕ کَران۔ ییٚلہِ ڈیسڈیمونا سُنٛد رُمال (ہُنٛد اَکھ توٗحفہٕ) بیٚیہِ کٔنٛہہ ترٛاوتھ لوسان چھُ، ایٖیاگو چھُ پنٛنہِ خانٛدارِنہِ امیلیا نِش سُہ ژوٗرِ تھاوان۔ اوتھیلو چھُ ایٖیاگو سٕنٛدِس جالس مَنٛز پھَسان تہٕ دۄشونی مارنُک عۄہد کَران۔ ===ایکٹ ۴=== ایٖیاگو چھُ سُہ رُمال کیسیو کِس کَمبرس مَنٛز تھاوان۔ اوتھیلو چھُ دوٗرِ پؠٹھ کیسیوس بیانکا بابتھ کتھ کَران وِچھان مَگَر ایٖیاگو ہٕنٛزِ چالاکی کِنؠ چھُ سَمجھان کہِ کتھ چھِ ڈیسڈیمونا بابتھ گژھان۔ اوتھیلو چھُ شرارتھس مَنٛز اوٚن گٔژھِتھ ڈیسڈیمونا مارنُک فٲصلہٕ کَران۔ ===ایکٹ ۵=== لڑٲے مَنٛز چھُ ایٖیاگو روڈریگوس زبردستی قتل کَران تاکہِ تٔمؠ سٕنٛز سَازِش کھلنہٕ نَہ یِیہِ۔ دٔپھ دٔپھ پیٚٹھ چھُ اوتھیلو خواب گاہس مَنٛز پَنٛنہِ خانٛدارِنہِ ڈیسڈیمونا سُنٛد ساہ دَباوِتھ تَس ماران۔ امیلیا چھِ واتِتھ ایٖیاگو سُنٛد ساروی مَکر و فریب فاش کَران۔ ییٚلہِ اوتھیلوس حقیقت معلوٗم چھِ گژھان کہِ ڈیسڈیمونا ٲس بےٚ گناہ، سُہ چھُ گۄڈٕ ایٖیاگوس زَخمی کَران تہٕ پَتہٕ پَنُن پان خۄدکشی کٔرِتھ ماران۔ لوڈوویکو چھُ کیسیو حٲکِم مُقرَر کَران تہٕ ایٖیاگوس سخت سَزا دِنُک حُکُم جٲری کَران۔ rtw7mkrzsmmetj53ym7u3ecdz2lgj01 153240 153239 2026-10-06T12:57:18Z آیات محراج 11062 /* */ 153240 wikitext text/x-wiki {{مولوٗماتھ}} [[File:Othello_et_Desdémone_à_Venise_-_Théodore_Chassériau_-_Musée_du_Louvre_Peintures_RF_3897.jpg|thumb|اوتھیلو تہٕ ڈیسڈیمونا وینس منٛز تھیوڈور چیسریو، 1850]] دی ٹریجڈی آف اوتھیلو، دی موٗر آف وینس، یَتھ عام طور پیٚٹھ لۄکٹ کٔرِتھ اوتھیلو وننہٕ چھُ یِوان، چھِ اَکھ المیہ (tragedy) یۄس ولِیم شیکسپیرن لگ بَگ 1603 عیسویس مَنٛز لؠکھ۔ وینس تہٕ سائپرسس مَنٛز قٲئم یہِ ڈرٛامہ چھُ موری فوجی کمانڈر اوتھیلوس پیش کَران، ییٚلہِ تٔمؠ سُنٛد نائب (ensign) ایٖیاگو سُہ پنٛنہِ خانٛدارِنہِ ڈیسڈیمونا ہٕنٛزِ بے وفٲئی پیٚٹھ شَک کَرنس پیٚٹھ مجبوٗر چھُ کَران۔ اوتھیلو چھُ بٔڑِس پیمانس پیٚٹھ شیکسپیر سٕنٛدؠن مایہِ ناز ترین شہکارَن مَنٛز شُمار گژھان تہٕ اَمِچ گِنتی چھِ أمؠ سٕنٛدؠن بٔڑؠن المیہ ڈرامَن مَنٛز میکبیتھ، کِنگ لِیَر تہٕ ہیملیٹ سٟتؠ یِوان کَرنہٕ۔ مُصنف سٕنٛزِ زِنٛدگی مَنٛز غٲر شایع شُدٕ، یہِ ڈرٛامہ چھُ 1622 کِس اکہِ کوارٹو ایڈیشن تہٕ پتہٕ فرسٹ فولیو مَنٛز مۄحفوٗظ روٗدمُت۔ پَنٛنہِ گۄڈنچہِ پیشکَشہِ پؠٹھٕ چھُ یہِ ناظرینَن تہٕ اَدبی نقادَن دۄشونی مَنٛز شیکسپیر سُنٛد سارِوٕے کھۄتہٕ مَشہوٗر ڈرٛامہ روٗدمُت، یَمہٕ پتہٕ اَتھ پیٚٹھ واریاہ سٹیج، فِلم تہٕ اوپیرا بَناونہٕ آیہِ۔ فنکارَن مَنٛز چھِ اوتھیلو، ایٖیاگو، ڈیسڈیمونا تہٕ امیلیا (ایٖیاگو ہٕنٛز خانٛدارِنؠ) ہٕنٛدؠ کردار نَہایت دِقَت طلب تہٕ پَسَندِیدٕ سَمجنہٕ یِوان۔ شیکسپیر سُنٛد اَمِچ کٔہٲنی خٲطرٕ بٔڑ مأخذ اوس سِنتھیو سُنٛد 1565 ہُنٛد اَکھ ناوَل (novella)، یَمِچ کٔہٲنی شیکسپیرن رٔٹِتھ واریٛاہ کینٛہہ بدلاو کٔرِتھ پیش کٔر۔ == کِردار == *اوتھیلو: وینس ہٕنٛزِ فوجہِ مَنٛز جنرل، اَکھ عٔظیٖم موٗر (Moor) *ڈیسڈیمونا: اوتھیلو ہٕنٛز خانٛدارِنؠ؛ برابانشیو ہٕنٛز کوٗر *ایٖیاگو: اوتھیلو سُنٛد قٲبِلِ اِعتِماد، مَگَر کِینہٕ پَرور تہٕ دَغا باز نائب (ensign) *کیسیو: اوتھیلو سُنٛد وفادار تہٕ سارِوٕے کھۄتہٕ پیارو لؠفٹیننٹ *امیلیا: ایٖیاگو ہٕنٛز خانٛدارِنؠ تہٕ ڈیسڈیمونا ہٕنٛز خِدمَت گار *بیانکا: کیسیو ہٕنٛز محبوٗبہ *برابانشیو: وینس سُنٛد سینیٹر تہٕ ڈیسڈیمونا سُنٛد مول *روڈریگو: وینس سُنٛد اَکھ بَدچَلَن اَمیر، یُس ڈیسڈیمونا سٟتؠ مۆحَبَت اوس کَران *گریشیانو: برابانشیو سُنٛد بٲے *لوڈوویکو: برابانشیو سُنٛد رِشتہ دار تہٕ ڈیسڈیمونا سُنٛد پِتُر بٲے *مونٹانو: سائپرس کِس حکومتس مَنٛز اوتھیلو کھۄتہٕ برٛونٛہہ حٲکِم == پلاٹ خُلاصہٕ == ===ایکٹ ۱=== روڈریگو چھُ پَنٛنِس دوست ایٖیاگوس شِکایَتھ کَران کہِ تٔمؠ کٔر نہٕ تٔمس ڈیسڈیمونا تہٕ اوتھیلو سٕنٛزِ خُفیہ خانٛدرٕ بابتھ آگاہ۔ ایٖیاگو چھُ اوتھیلو خٕلاف بَدلہٕ نِنُک سوچان تِکیازِ اوتھیلو اوس کیسیو لؠفٹیننٹ عۄہدس پیٚٹھ پرموٹ کوٚرمُت۔ برابانشیو چھُ اوتھیلوس پیٚٹھ جادوٗگری سٟتؠ کوٗر بہکاونُک اِلزام تَرٛاوان، مگر اوتھیلو تہٕ ڈیسڈیمونا چھِ سینیٹس مَنٛز پَنٛنِہ مۆحَبَتچ پزر واضع کَران۔ اوتھیلوس چھُ ترک حملہٕ آورَن خٕلاف سائپرسس کُن کَمَان سمبھالنہٕ خٲطرٕ بھیجنہٕ یِوان۔ ===ایکٹ ۲=== قافلہٕ چھُ سائپرس واتان ییٚتہِ طوٗفانس مَنٛز ترک کٹھ تباہ گژھان چھُ۔ ایٖیاگو چھُ کیسیوس شراب چَوان تہٕ روڈریگوس سٟتؠ لڑٲے مَنٛز گِرِفتار کَراوان، یَمہٕ سٟتؠ ناراض گٔژھِتھ اوتھیلو چھُ کیسیو سُنٛد عۄہدس کھسَن۔ ===ایکٹ ۳=== ایٖیاگو چھُ اوتھیلو سٕنٛدِس زِہنس مَنٛز کیسیو تہٕ ڈیسڈیمونا کِس تعلُق بابتھ شَکھ پٲدٕ کَران۔ ییٚلہِ ڈیسڈیمونا سُنٛد رُمال (ہُنٛد اَکھ توٗحفہٕ) بیٚیہِ کٔنٛہہ ترٛاوتھ لوسان چھُ، ایٖیاگو چھُ پنٛنہِ خانٛدارِنہِ امیلیا نِش سُہ ژوٗرِ تھاوان۔ اوتھیلو چھُ ایٖیاگو سٕنٛدِس جالس مَنٛز پھَسان تہٕ دۄشونی مارنُک عۄہد کَران۔ ===ایکٹ ۴=== ایٖیاگو چھُ سُہ رُمال کیسیو کِس کَمبرس مَنٛز تھاوان۔ اوتھیلو چھُ دوٗرِ پؠٹھ کیسیوس بیانکا بابتھ کتھ کَران وِچھان مَگَر ایٖیاگو ہٕنٛزِ چالاکی کِنؠ چھُ سَمجھان کہِ کتھ چھِ ڈیسڈیمونا بابتھ گژھان۔ اوتھیلو چھُ شرارتھس مَنٛز اوٚن گٔژھِتھ ڈیسڈیمونا مارنُک فٲصلہٕ کَران۔ ===ایکٹ ۵=== لڑٲے مَنٛز چھُ ایٖیاگو روڈریگوس زبردستی قتل کَران تاکہِ تٔمؠ سٕنٛز سَازِش کھلنہٕ نَہ یِیہِ۔ دٔپھ دٔپھ پیٚٹھ چھُ اوتھیلو خواب گاہس مَنٛز پَنٛنہِ خانٛدارِنہِ ڈیسڈیمونا سُنٛد ساہ دَباوِتھ تَس ماران۔ امیلیا چھِ واتِتھ ایٖیاگو سُنٛد ساروی مَکر و فریب فاش کَران۔ ییٚلہِ اوتھیلوس حقیقت معلوٗم چھِ گژھان کہِ ڈیسڈیمونا ٲس بےٚ گناہ، سُہ چھُ گۄڈٕ ایٖیاگوس زَخمی کَران تہٕ پَتہٕ پَنُن پان خۄدکشی کٔرِتھ ماران۔ لوڈوویکو چھُ کیسیو حٲکِم مُقرَر کَران تہٕ ایٖیاگوس سخت سَزا دِنُک حُکُم جٲری کَران۔ r5vgzsbmdrzcxc0xi08yq4i6kasb1i6 153241 153240 2026-10-06T13:02:35Z آیات محراج 11062 /* */ 153241 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = Has version, edition or translation }} [[File:Othello_et_Desdémone_à_Venise_-_Théodore_Chassériau_-_Musée_du_Louvre_Peintures_RF_3897.jpg|thumb|اوتھیلو تہٕ ڈیسڈیمونا وینس منٛز تھیوڈور چیسریو، 1850]] دی ٹریجڈی آف اوتھیلو، دی موٗر آف وینس، یَتھ عام طور پیٚٹھ لۄکٹ کٔرِتھ اوتھیلو وننہٕ چھُ یِوان، چھِ اَکھ المیہ (tragedy) یۄس ولِیم شیکسپیرن لگ بَگ 1603 عیسویس مَنٛز لؠکھ۔ وینس تہٕ سائپرسس مَنٛز قٲئم یہِ ڈرٛامہ چھُ موری فوجی کمانڈر اوتھیلوس پیش کَران، ییٚلہِ تٔمؠ سُنٛد نائب (ensign) ایٖیاگو سُہ پنٛنہِ خانٛدارِنہِ ڈیسڈیمونا ہٕنٛزِ بے وفٲئی پیٚٹھ شَک کَرنس پیٚٹھ مجبوٗر چھُ کَران۔ اوتھیلو چھُ بٔڑِس پیمانس پیٚٹھ شیکسپیر سٕنٛدؠن مایہِ ناز ترین شہکارَن مَنٛز شُمار گژھان تہٕ اَمِچ گِنتی چھِ أمؠ سٕنٛدؠن بٔڑؠن المیہ ڈرامَن مَنٛز میکبیتھ، کِنگ لِیَر تہٕ ہیملیٹ سٟتؠ یِوان کَرنہٕ۔ مُصنف سٕنٛزِ زِنٛدگی مَنٛز غٲر شایع شُدٕ، یہِ ڈرٛامہ چھُ 1622 کِس اکہِ کوارٹو ایڈیشن تہٕ پتہٕ فرسٹ فولیو مَنٛز مۄحفوٗظ روٗدمُت۔ پَنٛنہِ گۄڈنچہِ پیشکَشہِ پؠٹھٕ چھُ یہِ ناظرینَن تہٕ اَدبی نقادَن دۄشونی مَنٛز شیکسپیر سُنٛد سارِوٕے کھۄتہٕ مَشہوٗر ڈرٛامہ روٗدمُت، یَمہٕ پتہٕ اَتھ پیٚٹھ واریاہ سٹیج، فِلم تہٕ اوپیرا بَناونہٕ آیہِ۔ فنکارَن مَنٛز چھِ اوتھیلو، ایٖیاگو، ڈیسڈیمونا تہٕ امیلیا (ایٖیاگو ہٕنٛز خانٛدارِنؠ) ہٕنٛدؠ کردار نَہایت دِقَت طلب تہٕ پَسَندِیدٕ سَمجنہٕ یِوان۔ شیکسپیر سُنٛد اَمِچ کٔہٲنی خٲطرٕ بٔڑ مأخذ اوس سِنتھیو سُنٛد 1565 ہُنٛد اَکھ ناوَل (novella)، یَمِچ کٔہٲنی شیکسپیرن رٔٹِتھ واریٛاہ کینٛہہ بدلاو کٔرِتھ پیش کٔر۔ == کِردار == *اوتھیلو: وینس ہٕنٛزِ فوجہِ مَنٛز جنرل، اَکھ عٔظیٖم موٗر (Moor) *ڈیسڈیمونا: اوتھیلو ہٕنٛز خانٛدارِنؠ؛ برابانشیو ہٕنٛز کوٗر *ایٖیاگو: اوتھیلو سُنٛد قٲبِلِ اِعتِماد، مَگَر کِینہٕ پَرور تہٕ دَغا باز نائب (ensign) *کیسیو: اوتھیلو سُنٛد وفادار تہٕ سارِوٕے کھۄتہٕ پیارو لؠفٹیننٹ *امیلیا: ایٖیاگو ہٕنٛز خانٛدارِنؠ تہٕ ڈیسڈیمونا ہٕنٛز خِدمَت گار *بیانکا: کیسیو ہٕنٛز محبوٗبہ *برابانشیو: وینس سُنٛد سینیٹر تہٕ ڈیسڈیمونا سُنٛد مول *روڈریگو: وینس سُنٛد اَکھ بَدچَلَن اَمیر، یُس ڈیسڈیمونا سٟتؠ مۆحَبَت اوس کَران *گریشیانو: برابانشیو سُنٛد بٲے *لوڈوویکو: برابانشیو سُنٛد رِشتہ دار تہٕ ڈیسڈیمونا سُنٛد پِتُر بٲے *مونٹانو: سائپرس کِس حکومتس مَنٛز اوتھیلو کھۄتہٕ برٛونٛہہ حٲکِم == پلاٹ خُلاصہٕ == ===ایکٹ ۱=== روڈریگو چھُ پَنٛنِس دوست ایٖیاگوس شِکایَتھ کَران کہِ تٔمؠ کٔر نہٕ تٔمس ڈیسڈیمونا تہٕ اوتھیلو سٕنٛزِ خُفیہ خانٛدرٕ بابتھ آگاہ۔ ایٖیاگو چھُ اوتھیلو خٕلاف بَدلہٕ نِنُک سوچان تِکیازِ اوتھیلو اوس کیسیو لؠفٹیننٹ عۄہدس پیٚٹھ پرموٹ کوٚرمُت۔ برابانشیو چھُ اوتھیلوس پیٚٹھ جادوٗگری سٟتؠ کوٗر بہکاونُک اِلزام تَرٛاوان، مگر اوتھیلو تہٕ ڈیسڈیمونا چھِ سینیٹس مَنٛز پَنٛنِہ مۆحَبَتچ پزر واضع کَران۔ اوتھیلوس چھُ ترک حملہٕ آورَن خٕلاف سائپرسس کُن کَمَان سمبھالنہٕ خٲطرٕ بھیجنہٕ یِوان۔ ===ایکٹ ۲=== قافلہٕ چھُ سائپرس واتان ییٚتہِ طوٗفانس مَنٛز ترک کٹھ تباہ گژھان چھُ۔ ایٖیاگو چھُ کیسیوس شراب چَوان تہٕ روڈریگوس سٟتؠ لڑٲے مَنٛز گِرِفتار کَراوان، یَمہٕ سٟتؠ ناراض گٔژھِتھ اوتھیلو چھُ کیسیو سُنٛد عۄہدس کھسَن۔ ===ایکٹ ۳=== ایٖیاگو چھُ اوتھیلو سٕنٛدِس زِہنس مَنٛز کیسیو تہٕ ڈیسڈیمونا کِس تعلُق بابتھ شَکھ پٲدٕ کَران۔ ییٚلہِ ڈیسڈیمونا سُنٛد رُمال (ہُنٛد اَکھ توٗحفہٕ) بیٚیہِ کٔنٛہہ ترٛاوتھ لوسان چھُ، ایٖیاگو چھُ پنٛنہِ خانٛدارِنہِ امیلیا نِش سُہ ژوٗرِ تھاوان۔ اوتھیلو چھُ ایٖیاگو سٕنٛدِس جالس مَنٛز پھَسان تہٕ دۄشونی مارنُک عۄہد کَران۔ ===ایکٹ ۴=== ایٖیاگو چھُ سُہ رُمال کیسیو کِس کَمبرس مَنٛز تھاوان۔ اوتھیلو چھُ دوٗرِ پؠٹھ کیسیوس بیانکا بابتھ کتھ کَران وِچھان مَگَر ایٖیاگو ہٕنٛزِ چالاکی کِنؠ چھُ سَمجھان کہِ کتھ چھِ ڈیسڈیمونا بابتھ گژھان۔ اوتھیلو چھُ شرارتھس مَنٛز اوٚن گٔژھِتھ ڈیسڈیمونا مارنُک فٲصلہٕ کَران۔ ===ایکٹ ۵=== لڑٲے مَنٛز چھُ ایٖیاگو روڈریگوس زبردستی قتل کَران تاکہِ تٔمؠ سٕنٛز سَازِش کھلنہٕ نَہ یِیہِ۔ دٔپھ دٔپھ پیٚٹھ چھُ اوتھیلو خواب گاہس مَنٛز پَنٛنہِ خانٛدارِنہِ ڈیسڈیمونا سُنٛد ساہ دَباوِتھ تَس ماران۔ امیلیا چھِ واتِتھ ایٖیاگو سُنٛد ساروی مَکر و فریب فاش کَران۔ ییٚلہِ اوتھیلوس حقیقت معلوٗم چھِ گژھان کہِ ڈیسڈیمونا ٲس بےٚ گناہ، سُہ چھُ گۄڈٕ ایٖیاگوس زَخمی کَران تہٕ پَتہٕ پَنُن پان خۄدکشی کٔرِتھ ماران۔ لوڈوویکو چھُ کیسیو حٲکِم مُقرَر کَران تہٕ ایٖیاگوس سخت سَزا دِنُک حُکُم جٲری کَران۔ lhjh6oscag0u059fblr6k207vu54u3n 153242 153241 2026-10-06T13:03:29Z آیات محراج 11062 /* */ 153242 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = P747 }} [[File:Othello_et_Desdémone_à_Venise_-_Théodore_Chassériau_-_Musée_du_Louvre_Peintures_RF_3897.jpg|thumb|اوتھیلو تہٕ ڈیسڈیمونا وینس منٛز تھیوڈور چیسریو، 1850]] دی ٹریجڈی آف اوتھیلو، دی موٗر آف وینس، یَتھ عام طور پیٚٹھ لۄکٹ کٔرِتھ اوتھیلو وننہٕ چھُ یِوان، چھِ اَکھ المیہ (tragedy) یۄس ولِیم شیکسپیرن لگ بَگ 1603 عیسویس مَنٛز لؠکھ۔ وینس تہٕ سائپرسس مَنٛز قٲئم یہِ ڈرٛامہ چھُ موری فوجی کمانڈر اوتھیلوس پیش کَران، ییٚلہِ تٔمؠ سُنٛد نائب (ensign) ایٖیاگو سُہ پنٛنہِ خانٛدارِنہِ ڈیسڈیمونا ہٕنٛزِ بے وفٲئی پیٚٹھ شَک کَرنس پیٚٹھ مجبوٗر چھُ کَران۔ اوتھیلو چھُ بٔڑِس پیمانس پیٚٹھ شیکسپیر سٕنٛدؠن مایہِ ناز ترین شہکارَن مَنٛز شُمار گژھان تہٕ اَمِچ گِنتی چھِ أمؠ سٕنٛدؠن بٔڑؠن المیہ ڈرامَن مَنٛز میکبیتھ، کِنگ لِیَر تہٕ ہیملیٹ سٟتؠ یِوان کَرنہٕ۔ مُصنف سٕنٛزِ زِنٛدگی مَنٛز غٲر شایع شُدٕ، یہِ ڈرٛامہ چھُ 1622 کِس اکہِ کوارٹو ایڈیشن تہٕ پتہٕ فرسٹ فولیو مَنٛز مۄحفوٗظ روٗدمُت۔ پَنٛنہِ گۄڈنچہِ پیشکَشہِ پؠٹھٕ چھُ یہِ ناظرینَن تہٕ اَدبی نقادَن دۄشونی مَنٛز شیکسپیر سُنٛد سارِوٕے کھۄتہٕ مَشہوٗر ڈرٛامہ روٗدمُت، یَمہٕ پتہٕ اَتھ پیٚٹھ واریاہ سٹیج، فِلم تہٕ اوپیرا بَناونہٕ آیہِ۔ فنکارَن مَنٛز چھِ اوتھیلو، ایٖیاگو، ڈیسڈیمونا تہٕ امیلیا (ایٖیاگو ہٕنٛز خانٛدارِنؠ) ہٕنٛدؠ کردار نَہایت دِقَت طلب تہٕ پَسَندِیدٕ سَمجنہٕ یِوان۔ شیکسپیر سُنٛد اَمِچ کٔہٲنی خٲطرٕ بٔڑ مأخذ اوس سِنتھیو سُنٛد 1565 ہُنٛد اَکھ ناوَل (novella)، یَمِچ کٔہٲنی شیکسپیرن رٔٹِتھ واریٛاہ کینٛہہ بدلاو کٔرِتھ پیش کٔر۔ == کِردار == *اوتھیلو: وینس ہٕنٛزِ فوجہِ مَنٛز جنرل، اَکھ عٔظیٖم موٗر (Moor) *ڈیسڈیمونا: اوتھیلو ہٕنٛز خانٛدارِنؠ؛ برابانشیو ہٕنٛز کوٗر *ایٖیاگو: اوتھیلو سُنٛد قٲبِلِ اِعتِماد، مَگَر کِینہٕ پَرور تہٕ دَغا باز نائب (ensign) *کیسیو: اوتھیلو سُنٛد وفادار تہٕ سارِوٕے کھۄتہٕ پیارو لؠفٹیننٹ *امیلیا: ایٖیاگو ہٕنٛز خانٛدارِنؠ تہٕ ڈیسڈیمونا ہٕنٛز خِدمَت گار *بیانکا: کیسیو ہٕنٛز محبوٗبہ *برابانشیو: وینس سُنٛد سینیٹر تہٕ ڈیسڈیمونا سُنٛد مول *روڈریگو: وینس سُنٛد اَکھ بَدچَلَن اَمیر، یُس ڈیسڈیمونا سٟتؠ مۆحَبَت اوس کَران *گریشیانو: برابانشیو سُنٛد بٲے *لوڈوویکو: برابانشیو سُنٛد رِشتہ دار تہٕ ڈیسڈیمونا سُنٛد پِتُر بٲے *مونٹانو: سائپرس کِس حکومتس مَنٛز اوتھیلو کھۄتہٕ برٛونٛہہ حٲکِم == پلاٹ خُلاصہٕ == ===ایکٹ ۱=== روڈریگو چھُ پَنٛنِس دوست ایٖیاگوس شِکایَتھ کَران کہِ تٔمؠ کٔر نہٕ تٔمس ڈیسڈیمونا تہٕ اوتھیلو سٕنٛزِ خُفیہ خانٛدرٕ بابتھ آگاہ۔ ایٖیاگو چھُ اوتھیلو خٕلاف بَدلہٕ نِنُک سوچان تِکیازِ اوتھیلو اوس کیسیو لؠفٹیننٹ عۄہدس پیٚٹھ پرموٹ کوٚرمُت۔ برابانشیو چھُ اوتھیلوس پیٚٹھ جادوٗگری سٟتؠ کوٗر بہکاونُک اِلزام تَرٛاوان، مگر اوتھیلو تہٕ ڈیسڈیمونا چھِ سینیٹس مَنٛز پَنٛنِہ مۆحَبَتچ پزر واضع کَران۔ اوتھیلوس چھُ ترک حملہٕ آورَن خٕلاف سائپرسس کُن کَمَان سمبھالنہٕ خٲطرٕ بھیجنہٕ یِوان۔ ===ایکٹ ۲=== قافلہٕ چھُ سائپرس واتان ییٚتہِ طوٗفانس مَنٛز ترک کٹھ تباہ گژھان چھُ۔ ایٖیاگو چھُ کیسیوس شراب چَوان تہٕ روڈریگوس سٟتؠ لڑٲے مَنٛز گِرِفتار کَراوان، یَمہٕ سٟتؠ ناراض گٔژھِتھ اوتھیلو چھُ کیسیو سُنٛد عۄہدس کھسَن۔ ===ایکٹ ۳=== ایٖیاگو چھُ اوتھیلو سٕنٛدِس زِہنس مَنٛز کیسیو تہٕ ڈیسڈیمونا کِس تعلُق بابتھ شَکھ پٲدٕ کَران۔ ییٚلہِ ڈیسڈیمونا سُنٛد رُمال (ہُنٛد اَکھ توٗحفہٕ) بیٚیہِ کٔنٛہہ ترٛاوتھ لوسان چھُ، ایٖیاگو چھُ پنٛنہِ خانٛدارِنہِ امیلیا نِش سُہ ژوٗرِ تھاوان۔ اوتھیلو چھُ ایٖیاگو سٕنٛدِس جالس مَنٛز پھَسان تہٕ دۄشونی مارنُک عۄہد کَران۔ ===ایکٹ ۴=== ایٖیاگو چھُ سُہ رُمال کیسیو کِس کَمبرس مَنٛز تھاوان۔ اوتھیلو چھُ دوٗرِ پؠٹھ کیسیوس بیانکا بابتھ کتھ کَران وِچھان مَگَر ایٖیاگو ہٕنٛزِ چالاکی کِنؠ چھُ سَمجھان کہِ کتھ چھِ ڈیسڈیمونا بابتھ گژھان۔ اوتھیلو چھُ شرارتھس مَنٛز اوٚن گٔژھِتھ ڈیسڈیمونا مارنُک فٲصلہٕ کَران۔ ===ایکٹ ۵=== لڑٲے مَنٛز چھُ ایٖیاگو روڈریگوس زبردستی قتل کَران تاکہِ تٔمؠ سٕنٛز سَازِش کھلنہٕ نَہ یِیہِ۔ دٔپھ دٔپھ پیٚٹھ چھُ اوتھیلو خواب گاہس مَنٛز پَنٛنہِ خانٛدارِنہِ ڈیسڈیمونا سُنٛد ساہ دَباوِتھ تَس ماران۔ امیلیا چھِ واتِتھ ایٖیاگو سُنٛد ساروی مَکر و فریب فاش کَران۔ ییٚلہِ اوتھیلوس حقیقت معلوٗم چھِ گژھان کہِ ڈیسڈیمونا ٲس بےٚ گناہ، سُہ چھُ گۄڈٕ ایٖیاگوس زَخمی کَران تہٕ پَتہٕ پَنُن پان خۄدکشی کٔرِتھ ماران۔ لوڈوویکو چھُ کیسیو حٲکِم مُقرَر کَران تہٕ ایٖیاگوس سخت سَزا دِنُک حُکُم جٲری کَران۔ j6451r7r69q4o5rpa96mwmi7jxy4qs6 153244 153242 2026-10-06T13:12:13Z آیات محراج 11062 /* */ 153244 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = P747 }} [[File:Othello_et_Desdémone_à_Venise_-_Théodore_Chassériau_-_Musée_du_Louvre_Peintures_RF_3897.jpg|thumb|اوتھیلو تہٕ ڈیسڈیمونا وینس منٛز تھیوڈور چیسریو، 1850]] دی ٹریجڈی آف اوتھیلو، دی موٗر آف وینس، یَتھ عام طور پیٚٹھ لۄکٹ کٔرِتھ اوتھیلو وننہٕ چھُ یِوان، چھِ اَکھ المیہ (tragedy) یۄس ولِیم شیکسپیرن لگ بَگ 1603 عیسویس مَنٛز لؠکھ۔ وینس تہٕ سائپرسس مَنٛز قٲئم یہِ ڈرٛامہ چھُ موری فوجی کمانڈر اوتھیلوس پیش کَران، ییٚلہِ تٔمؠ سُنٛد نائب (ensign) ایٖیاگو سُہ پنٛنہِ خانٛدارِنہِ ڈیسڈیمونا ہٕنٛزِ بے وفٲئی پیٚٹھ شَک کَرنس پیٚٹھ مجبوٗر چھُ کَران۔ اوتھیلو چھُ بٔڑِس پیمانس پیٚٹھ شیکسپیر سٕنٛدؠن مایہِ ناز ترین شہکارَن مَنٛز شُمار گژھان تہٕ اَمِچ گِنتی چھِ أمؠ سٕنٛدؠن بٔڑؠن المیہ ڈرامَن مَنٛز میکبیتھ، کِنگ لِیَر تہٕ ہیملیٹ سٟتؠ یِوان کَرنہٕ۔ مُصنف سٕنٛزِ زِنٛدگی مَنٛز غٲر شایع شُدٕ، یہِ ڈرٛامہ چھُ 1622 کِس اکہِ کوارٹو ایڈیشن تہٕ پتہٕ فرسٹ فولیو مَنٛز مۄحفوٗظ روٗدمُت۔ پَنٛنہِ گۄڈنچہِ پیشکَشہِ پؠٹھٕ چھُ یہِ ناظرینَن تہٕ اَدبی نقادَن دۄشونی مَنٛز شیکسپیر سُنٛد سارِوٕے کھۄتہٕ مَشہوٗر ڈرٛامہ روٗدمُت، یَمہٕ پتہٕ اَتھ پیٚٹھ واریاہ سٹیج، فِلم تہٕ اوپیرا بَناونہٕ آیہِ۔ فنکارَن مَنٛز چھِ اوتھیلو، ایٖیاگو، ڈیسڈیمونا تہٕ امیلیا (ایٖیاگو ہٕنٛز خانٛدارِنؠ) ہٕنٛدؠ کردار نَہایت دِقَت طلب تہٕ پَسَندِیدٕ سَمجنہٕ یِوان۔ شیکسپیر سُنٛد اَمِچ کٔہٲنی خٲطرٕ بٔڑ مأخذ اوس سِنتھیو سُنٛد 1565 ہُنٛد اَکھ ناوَل (novella)، یَمِچ کٔہٲنی شیکسپیرن رٔٹِتھ واریٛاہ کینٛہہ بدلاو کٔرِتھ پیش کٔر۔<ref>{{ویب حَوالہٕ|date=2026-09-26|title=Othello {{!}} Shakespeare, Plot, Summary, & Characters {{!}} Britannica|url=https://www.britannica.com/topic/Othello-by-Shakespeare|access-date=2026-10-06|website=www.britannica.com|language=en}}</ref> == کِردار == *اوتھیلو: وینس ہٕنٛزِ فوجہِ مَنٛز جنرل، اَکھ عٔظیٖم موٗر (Moor) *ڈیسڈیمونا: اوتھیلو ہٕنٛز خانٛدارِنؠ؛ برابانشیو ہٕنٛز کوٗر *ایٖیاگو: اوتھیلو سُنٛد قٲبِلِ اِعتِماد، مَگَر کِینہٕ پَرور تہٕ دَغا باز نائب (ensign) *کیسیو: اوتھیلو سُنٛد وفادار تہٕ سارِوٕے کھۄتہٕ پیارو لؠفٹیننٹ *امیلیا: ایٖیاگو ہٕنٛز خانٛدارِنؠ تہٕ ڈیسڈیمونا ہٕنٛز خِدمَت گار *بیانکا: کیسیو ہٕنٛز محبوٗبہ *برابانشیو: وینس سُنٛد سینیٹر تہٕ ڈیسڈیمونا سُنٛد مول *روڈریگو: وینس سُنٛد اَکھ بَدچَلَن اَمیر، یُس ڈیسڈیمونا سٟتؠ مۆحَبَت اوس کَران *گریشیانو: برابانشیو سُنٛد بٲے *لوڈوویکو: برابانشیو سُنٛد رِشتہ دار تہٕ ڈیسڈیمونا سُنٛد پِتُر بٲے *مونٹانو: سائپرس کِس حکومتس مَنٛز اوتھیلو کھۄتہٕ برٛونٛہہ حٲکِم == پلاٹ خُلاصہٕ == ===ایکٹ ۱=== روڈریگو چھُ پَنٛنِس دوست ایٖیاگوس شِکایَتھ کَران کہِ تٔمؠ کٔر نہٕ تٔمس ڈیسڈیمونا تہٕ اوتھیلو سٕنٛزِ خُفیہ خانٛدرٕ بابتھ آگاہ۔ ایٖیاگو چھُ اوتھیلو خٕلاف بَدلہٕ نِنُک سوچان تِکیازِ اوتھیلو اوس کیسیو لؠفٹیننٹ عۄہدس پیٚٹھ پرموٹ کوٚرمُت۔ برابانشیو چھُ اوتھیلوس پیٚٹھ جادوٗگری سٟتؠ کوٗر بہکاونُک اِلزام تَرٛاوان، مگر اوتھیلو تہٕ ڈیسڈیمونا چھِ سینیٹس مَنٛز پَنٛنِہ مۆحَبَتچ پزر واضع کَران۔ اوتھیلوس چھُ ترک حملہٕ آورَن خٕلاف سائپرسس کُن کَمَان سمبھالنہٕ خٲطرٕ بھیجنہٕ یِوان۔ ===ایکٹ ۲=== قافلہٕ چھُ سائپرس واتان ییٚتہِ طوٗفانس مَنٛز ترک کٹھ تباہ گژھان چھُ۔ ایٖیاگو چھُ کیسیوس شراب چَوان تہٕ روڈریگوس سٟتؠ لڑٲے مَنٛز گِرِفتار کَراوان، یَمہٕ سٟتؠ ناراض گٔژھِتھ اوتھیلو چھُ کیسیو سُنٛد عۄہدس کھسَن۔ ===ایکٹ ۳=== ایٖیاگو چھُ اوتھیلو سٕنٛدِس زِہنس مَنٛز کیسیو تہٕ ڈیسڈیمونا کِس تعلُق بابتھ شَکھ پٲدٕ کَران۔ ییٚلہِ ڈیسڈیمونا سُنٛد رُمال (ہُنٛد اَکھ توٗحفہٕ) بیٚیہِ کٔنٛہہ ترٛاوتھ لوسان چھُ، ایٖیاگو چھُ پنٛنہِ خانٛدارِنہِ امیلیا نِش سُہ ژوٗرِ تھاوان۔ اوتھیلو چھُ ایٖیاگو سٕنٛدِس جالس مَنٛز پھَسان تہٕ دۄشونی مارنُک عۄہد کَران۔ ===ایکٹ ۴=== ایٖیاگو چھُ سُہ رُمال کیسیو کِس کَمبرس مَنٛز تھاوان۔ اوتھیلو چھُ دوٗرِ پؠٹھ کیسیوس بیانکا بابتھ کتھ کَران وِچھان مَگَر ایٖیاگو ہٕنٛزِ چالاکی کِنؠ چھُ سَمجھان کہِ کتھ چھِ ڈیسڈیمونا بابتھ گژھان۔ اوتھیلو چھُ شرارتھس مَنٛز اوٚن گٔژھِتھ ڈیسڈیمونا مارنُک فٲصلہٕ کَران۔ ===ایکٹ ۵=== لڑٲے مَنٛز چھُ ایٖیاگو روڈریگوس زبردستی قتل کَران تاکہِ تٔمؠ سٕنٛز سَازِش کھلنہٕ نَہ یِیہِ۔ دٔپھ دٔپھ پیٚٹھ چھُ اوتھیلو خواب گاہس مَنٛز پَنٛنہِ خانٛدارِنہِ ڈیسڈیمونا سُنٛد ساہ دَباوِتھ تَس ماران۔ امیلیا چھِ واتِتھ ایٖیاگو سُنٛد ساروی مَکر و فریب فاش کَران۔ ییٚلہِ اوتھیلوس حقیقت معلوٗم چھِ گژھان کہِ ڈیسڈیمونا ٲس بےٚ گناہ، سُہ چھُ گۄڈٕ ایٖیاگوس زَخمی کَران تہٕ پَتہٕ پَنُن پان خۄدکشی کٔرِتھ ماران۔ لوڈوویکو چھُ کیسیو حٲکِم مُقرَر کَران تہٕ ایٖیاگوس سخت سَزا دِنُک حُکُم جٲری کَران۔ nbiegee5k9zj4b28hpr6ulm0dx10ov0 153245 153244 2026-10-06T13:13:00Z آیات محراج 11062 مِلاوُن [[زٲژ:ڈرٛامہ]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 153245 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = P747 }} [[File:Othello_et_Desdémone_à_Venise_-_Théodore_Chassériau_-_Musée_du_Louvre_Peintures_RF_3897.jpg|thumb|اوتھیلو تہٕ ڈیسڈیمونا وینس منٛز تھیوڈور چیسریو، 1850]] دی ٹریجڈی آف اوتھیلو، دی موٗر آف وینس، یَتھ عام طور پیٚٹھ لۄکٹ کٔرِتھ اوتھیلو وننہٕ چھُ یِوان، چھِ اَکھ المیہ (tragedy) یۄس ولِیم شیکسپیرن لگ بَگ 1603 عیسویس مَنٛز لؠکھ۔ وینس تہٕ سائپرسس مَنٛز قٲئم یہِ ڈرٛامہ چھُ موری فوجی کمانڈر اوتھیلوس پیش کَران، ییٚلہِ تٔمؠ سُنٛد نائب (ensign) ایٖیاگو سُہ پنٛنہِ خانٛدارِنہِ ڈیسڈیمونا ہٕنٛزِ بے وفٲئی پیٚٹھ شَک کَرنس پیٚٹھ مجبوٗر چھُ کَران۔ اوتھیلو چھُ بٔڑِس پیمانس پیٚٹھ شیکسپیر سٕنٛدؠن مایہِ ناز ترین شہکارَن مَنٛز شُمار گژھان تہٕ اَمِچ گِنتی چھِ أمؠ سٕنٛدؠن بٔڑؠن المیہ ڈرامَن مَنٛز میکبیتھ، کِنگ لِیَر تہٕ ہیملیٹ سٟتؠ یِوان کَرنہٕ۔ مُصنف سٕنٛزِ زِنٛدگی مَنٛز غٲر شایع شُدٕ، یہِ ڈرٛامہ چھُ 1622 کِس اکہِ کوارٹو ایڈیشن تہٕ پتہٕ فرسٹ فولیو مَنٛز مۄحفوٗظ روٗدمُت۔ پَنٛنہِ گۄڈنچہِ پیشکَشہِ پؠٹھٕ چھُ یہِ ناظرینَن تہٕ اَدبی نقادَن دۄشونی مَنٛز شیکسپیر سُنٛد سارِوٕے کھۄتہٕ مَشہوٗر ڈرٛامہ روٗدمُت، یَمہٕ پتہٕ اَتھ پیٚٹھ واریاہ سٹیج، فِلم تہٕ اوپیرا بَناونہٕ آیہِ۔ فنکارَن مَنٛز چھِ اوتھیلو، ایٖیاگو، ڈیسڈیمونا تہٕ امیلیا (ایٖیاگو ہٕنٛز خانٛدارِنؠ) ہٕنٛدؠ کردار نَہایت دِقَت طلب تہٕ پَسَندِیدٕ سَمجنہٕ یِوان۔ شیکسپیر سُنٛد اَمِچ کٔہٲنی خٲطرٕ بٔڑ مأخذ اوس سِنتھیو سُنٛد 1565 ہُنٛد اَکھ ناوَل (novella)، یَمِچ کٔہٲنی شیکسپیرن رٔٹِتھ واریٛاہ کینٛہہ بدلاو کٔرِتھ پیش کٔر۔<ref>{{ویب حَوالہٕ|date=2026-09-26|title=Othello {{!}} Shakespeare, Plot, Summary, & Characters {{!}} Britannica|url=https://www.britannica.com/topic/Othello-by-Shakespeare|access-date=2026-10-06|website=www.britannica.com|language=en}}</ref> == کِردار == *اوتھیلو: وینس ہٕنٛزِ فوجہِ مَنٛز جنرل، اَکھ عٔظیٖم موٗر (Moor) *ڈیسڈیمونا: اوتھیلو ہٕنٛز خانٛدارِنؠ؛ برابانشیو ہٕنٛز کوٗر *ایٖیاگو: اوتھیلو سُنٛد قٲبِلِ اِعتِماد، مَگَر کِینہٕ پَرور تہٕ دَغا باز نائب (ensign) *کیسیو: اوتھیلو سُنٛد وفادار تہٕ سارِوٕے کھۄتہٕ پیارو لؠفٹیننٹ *امیلیا: ایٖیاگو ہٕنٛز خانٛدارِنؠ تہٕ ڈیسڈیمونا ہٕنٛز خِدمَت گار *بیانکا: کیسیو ہٕنٛز محبوٗبہ *برابانشیو: وینس سُنٛد سینیٹر تہٕ ڈیسڈیمونا سُنٛد مول *روڈریگو: وینس سُنٛد اَکھ بَدچَلَن اَمیر، یُس ڈیسڈیمونا سٟتؠ مۆحَبَت اوس کَران *گریشیانو: برابانشیو سُنٛد بٲے *لوڈوویکو: برابانشیو سُنٛد رِشتہ دار تہٕ ڈیسڈیمونا سُنٛد پِتُر بٲے *مونٹانو: سائپرس کِس حکومتس مَنٛز اوتھیلو کھۄتہٕ برٛونٛہہ حٲکِم == پلاٹ خُلاصہٕ == ===ایکٹ ۱=== روڈریگو چھُ پَنٛنِس دوست ایٖیاگوس شِکایَتھ کَران کہِ تٔمؠ کٔر نہٕ تٔمس ڈیسڈیمونا تہٕ اوتھیلو سٕنٛزِ خُفیہ خانٛدرٕ بابتھ آگاہ۔ ایٖیاگو چھُ اوتھیلو خٕلاف بَدلہٕ نِنُک سوچان تِکیازِ اوتھیلو اوس کیسیو لؠفٹیننٹ عۄہدس پیٚٹھ پرموٹ کوٚرمُت۔ برابانشیو چھُ اوتھیلوس پیٚٹھ جادوٗگری سٟتؠ کوٗر بہکاونُک اِلزام تَرٛاوان، مگر اوتھیلو تہٕ ڈیسڈیمونا چھِ سینیٹس مَنٛز پَنٛنِہ مۆحَبَتچ پزر واضع کَران۔ اوتھیلوس چھُ ترک حملہٕ آورَن خٕلاف سائپرسس کُن کَمَان سمبھالنہٕ خٲطرٕ بھیجنہٕ یِوان۔ ===ایکٹ ۲=== قافلہٕ چھُ سائپرس واتان ییٚتہِ طوٗفانس مَنٛز ترک کٹھ تباہ گژھان چھُ۔ ایٖیاگو چھُ کیسیوس شراب چَوان تہٕ روڈریگوس سٟتؠ لڑٲے مَنٛز گِرِفتار کَراوان، یَمہٕ سٟتؠ ناراض گٔژھِتھ اوتھیلو چھُ کیسیو سُنٛد عۄہدس کھسَن۔ ===ایکٹ ۳=== ایٖیاگو چھُ اوتھیلو سٕنٛدِس زِہنس مَنٛز کیسیو تہٕ ڈیسڈیمونا کِس تعلُق بابتھ شَکھ پٲدٕ کَران۔ ییٚلہِ ڈیسڈیمونا سُنٛد رُمال (ہُنٛد اَکھ توٗحفہٕ) بیٚیہِ کٔنٛہہ ترٛاوتھ لوسان چھُ، ایٖیاگو چھُ پنٛنہِ خانٛدارِنہِ امیلیا نِش سُہ ژوٗرِ تھاوان۔ اوتھیلو چھُ ایٖیاگو سٕنٛدِس جالس مَنٛز پھَسان تہٕ دۄشونی مارنُک عۄہد کَران۔ ===ایکٹ ۴=== ایٖیاگو چھُ سُہ رُمال کیسیو کِس کَمبرس مَنٛز تھاوان۔ اوتھیلو چھُ دوٗرِ پؠٹھ کیسیوس بیانکا بابتھ کتھ کَران وِچھان مَگَر ایٖیاگو ہٕنٛزِ چالاکی کِنؠ چھُ سَمجھان کہِ کتھ چھِ ڈیسڈیمونا بابتھ گژھان۔ اوتھیلو چھُ شرارتھس مَنٛز اوٚن گٔژھِتھ ڈیسڈیمونا مارنُک فٲصلہٕ کَران۔ ===ایکٹ ۵=== لڑٲے مَنٛز چھُ ایٖیاگو روڈریگوس زبردستی قتل کَران تاکہِ تٔمؠ سٕنٛز سَازِش کھلنہٕ نَہ یِیہِ۔ دٔپھ دٔپھ پیٚٹھ چھُ اوتھیلو خواب گاہس مَنٛز پَنٛنہِ خانٛدارِنہِ ڈیسڈیمونا سُنٛد ساہ دَباوِتھ تَس ماران۔ امیلیا چھِ واتِتھ ایٖیاگو سُنٛد ساروی مَکر و فریب فاش کَران۔ ییٚلہِ اوتھیلوس حقیقت معلوٗم چھِ گژھان کہِ ڈیسڈیمونا ٲس بےٚ گناہ، سُہ چھُ گۄڈٕ ایٖیاگوس زَخمی کَران تہٕ پَتہٕ پَنُن پان خۄدکشی کٔرِتھ ماران۔ لوڈوویکو چھُ کیسیو حٲکِم مُقرَر کَران تہٕ ایٖیاگوس سخت سَزا دِنُک حُکُم جٲری کَران۔ == حَوالہٕ == [[زٲژ:ڈرٛامہ]] iyh27647wgp04ymwgfgbfl15gem0adc 153281 153245 2026-10-06T18:01:30Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153281 wikitext text/x-wiki {{مولوٗماتھ | کھٔٹِتھ = P747 }} [[File:Othello_et_Desdémone_à_Venise_-_Théodore_Chassériau_-_Musée_du_Louvre_Peintures_RF_3897.jpg|thumb|اوتھیلو تہٕ ڈیسڈیمونا وینس منٛز تھیوڈور چیسریو، 1850]] دی ٹریجڈی آف اوتھیلو، دی موٗر آف وینس، یَتھ عام طور پیٚٹھ لۄکٹ کٔرِتھ اوتھیلو وننہٕ چھُ یِوان، چھِ اَکھ المیہ (tragedy) یۄس ولِیم شیکسپیرن لگ بَگ 1603 عیسویس مَنٛز لؠکھ۔ وینس تہٕ سایپرسس مَنٛز قٲیم یہِ ڈرٛامہ چھُ موری فوجی کمانڈر اوتھیلوس پیش کَران، ییٚلہِ تٔمؠ سُنٛد نایب (ensign) ایٖیاگو سُہ پنٛنہِ خانٛدارِنہِ ڈیسڈیمونا ہٕنٛزِ بے وفٲیی پیٚٹھ شَک کَرنس پیٚٹھ مجبوٗر چھُ کَران۔ اوتھیلو چھُ بٔڑِس پیمانس پیٚٹھ شیکسپیر سٕنٛدؠن مایہِ ناز ترین شہکارَن مَنٛز شُمار گژھان تہٕ اَمِچ گِنتی چھِ أمؠ سٕنٛدؠن بٔڑؠن المیہ ڈرامَن مَنٛز میکبیتھ، کِنگ لِیَر تہٕ ہیملیٹ سٟتؠ یِوان کَرنہٕ۔ مُصنف سٕنٛزِ زِنٛدگی مَنٛز غٲر شایع شُدٕ، یہِ ڈرٛامہ چھُ 1622 کِس اکہِ کوارٹو ایڈیشن تہٕ پتہٕ فرسٹ فولیو مَنٛز مۄحفوٗظ روٗدمُت۔ پَنٛنہِ گۄڈنچہِ پیشکَشہِ پؠٹھٕ چھُ یہِ ناظرینَن تہٕ اَدبی نقادَن دۄشونی مَنٛز شیکسپیر سُنٛد سارِوٕے کھۄتہٕ مَشہوٗر ڈرٛامہ روٗدمُت، یَمہٕ پتہٕ اَتھ پیٚٹھ واریاہ سٹیج، فِلِم تہٕ اوپیرا بَناونہٕ آیہِ۔ فنکارَن مَنٛز چھِ اوتھیلو، ایٖیاگو، ڈیسڈیمونا تہٕ امیلیا (ایٖیاگو ہٕنٛز خانٛدارِنؠ) ہٕنٛدؠ کردار نَہایت دِقَت طلب تہٕ پَسَندِیدٕ سَمجنہٕ یِوان۔ شیکسپیر سُنٛد اَمِچ کٔہٲنی خٲطرٕ بٔڑ مأخذ اوس سِنتھیو سُنٛد 1565 ہُنٛد اَکھ ناوَل (novella)، یَمِچ کٔہٲنی شیکسپیرن رٔٹِتھ واریٛاہ کینٛہہ بدلاو کٔرِتھ پیش کٔر۔<ref>{{ویب حَوالہٕ|date=2026-09-26|title=Othello {{!}} Shakespeare, Plot, Summary, & Characters {{!}} Britannica|url=https://www.britannica.com/topic/Othello-by-Shakespeare|access-date=2026-10-06|website=www.britannica.com|language=en}}</ref> == کِردار == *اوتھیلو: وینس ہٕنٛزِ فوجہِ مَنٛز جنرل، اَکھ عٔظیٖم موٗر (Moor) *ڈیسڈیمونا: اوتھیلو ہٕنٛز خانٛدارِنؠ؛ برابانشیو ہٕنٛز کوٗر *ایٖیاگو: اوتھیلو سُنٛد قٲبِلِ اِعتِماد، مَگَر کِینہٕ پَرور تہٕ دَغا باز نایب (ensign) *کیسیو: اوتھیلو سُنٛد وفادار تہٕ سارِوٕے کھۄتہٕ پیارو لؠفٹیننٹ *امیلیا: ایٖیاگو ہٕنٛز خانٛدارِنؠ تہٕ ڈیسڈیمونا ہٕنٛز خِدمَت گار *بیانکا: کیسیو ہٕنٛز محبوٗبہ *برابانشیو: وینس سُنٛد سینیٹر تہٕ ڈیسڈیمونا سُنٛد مول *روڈریگو: وینس سُنٛد اَکھ بَدچَلَن اَمیر، یُس ڈیسڈیمونا سٟتؠ مۆحَبَت اوس کَران *گریشیانو: برابانشیو سُنٛد بٲے *لوڈوویکو: برابانشیو سُنٛد رِشتہ دار تہٕ ڈیسڈیمونا سُنٛد پِتُر بٲے *مونٹانو: سایپرس کِس حکومتس مَنٛز اوتھیلو کھۄتہٕ برٛونٛہہ حٲکِم == پلاٹ خُلاصہٕ == ===ایکٹ ۱=== روڈریگو چھُ پَنٛنِس دوست ایٖیاگوس شِکایَتھ کَران کہِ تٔمؠ کٔر نہٕ تٔمس ڈیسڈیمونا تہٕ اوتھیلو سٕنٛزِ خُفیہ خانٛدرٕ بابتھ آگاہ۔ ایٖیاگو چھُ اوتھیلو خٕلاف بَدلہٕ نِنُک سوچان تِکیازِ اوتھیلو اوس کیسیو لؠفٹیننٹ عۄہدس پیٚٹھ پرموٹ کوٚرمُت۔ برابانشیو چھُ اوتھیلوس پیٚٹھ جادوٗگری سٟتؠ کوٗر بہکاونُک اِلزام تَرٛاوان، مگر اوتھیلو تہٕ ڈیسڈیمونا چھِ سینیٹس مَنٛز پَنٛنہِ مۆحَبَتچ پزر واضع کَران۔ اوتھیلوس چھُ ترک حملہٕ آورَن خٕلاف سایپرسس کُن کَمَان سمبھالنہٕ خٲطرٕ بھیجنہٕ یِوان۔ ===ایکٹ ۲=== قافلہٕ چھُ سایپرس واتان ییٚتہِ طوٗفانس مَنٛز ترک کٹھ تباہ گژھان چھُ۔ ایٖیاگو چھُ کیسیوس شراب چَوان تہٕ روڈریگوس سٟتؠ لڑٲے مَنٛز گِرِفتار کَراوان، یَمہٕ سٟتؠ ناراض گٔژھِتھ اوتھیلو چھُ کیسیو سُنٛد عۄہدس کھسَن۔ ===ایکٹ ۳=== ایٖیاگو چھُ اوتھیلو سٕنٛدِس زِہنس مَنٛز کیسیو تہٕ ڈیسڈیمونا کِس تعلُق بابتھ شَکھ پٲدٕ کَران۔ ییٚلہِ ڈیسڈیمونا سُنٛد رُمال (ہُنٛد اَکھ توٗحفہٕ) بیٚیہِ کٔنٛہہ ترٛاوتھ لوسان چھُ، ایٖیاگو چھُ پنٛنہِ خانٛدارِنہِ امیلیا نِش سُہ ژوٗرِ تھاوان۔ اوتھیلو چھُ ایٖیاگو سٕنٛدِس جالس مَنٛز پھَسان تہٕ دۄشونی مارنُک عۄہد کَران۔ ===ایکٹ ۴=== ایٖیاگو چھُ سُہ رُمال کیسیو کِس کَمبرس مَنٛز تھاوان۔ اوتھیلو چھُ دوٗرِ پؠٹھ کیسیوس بیانکا بابتھ کتھ کَران وِچھان مَگَر ایٖیاگو ہٕنٛزِ چالاکی کِنؠ چھُ سَمجھان کہِ کتھ چھِ ڈیسڈیمونا بابتھ گژھان۔ اوتھیلو چھُ شرارتھس مَنٛز اوٚن گٔژھِتھ ڈیسڈیمونا مارنُک فٲصلہٕ کَران۔ ===ایکٹ ۵=== لڑٲے مَنٛز چھُ ایٖیاگو روڈریگوس زبردستی قَتٕل کَران تاکہِ تٔمؠ سٕنٛز سَازِش کھلنہٕ نَہ یِیہِ۔ دٔپھ دٔپھ پیٚٹھ چھُ اوتھیلو خواب گاہس مَنٛز پَنٛنہِ خانٛدارِنہِ ڈیسڈیمونا سُنٛد ساہ دَباوِتھ تَس ماران۔ امیلیا چھِ واتِتھ ایٖیاگو سُنٛد سارِوٕے مَکر و فریب فاش کَران۔ ییٚلہِ اوتھیلوس حقیقت معلوٗم چھِ گژھان کہِ ڈیسڈیمونا ٲس بےٚ گناہ، سُہ چھُ گۄڈٕ ایٖیاگوس زَخمی کَران تہٕ پَتہٕ پَنُن پان خۄدکشی کٔرِتھ ماران۔ لوڈوویکو چھُ کیسیو حٲکِم مُقرَر کَران تہٕ ایٖیاگوس سخت سَزا دِنُک حُکُم جٲری کَران۔ == حَوالہٕ == [[زٲژ:ڈرٛامہ]] 9o3guelfyroawob0hlxws2uf1w7k3eu مِساکی دویی 0 33045 153248 2026-10-06T15:33:10Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1363475161|Misaki Doi]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 153248 wikitext text/x-wiki مِساکی دویی (土居 美咲، دویی مِساکی؛ زامٕژ 29 اپریل 1991) چھُ اَکھ جاپٲنۍ سٲبِقہٕ پرو ٹینس کھِلٲڑۍ۔ تٔمۍ سٕنٛز سارِوٕے کھۄتہٕ زِیٛادٕ ڈبلیو ٹی اے درجہِ بندی ٲس سنگلزَس منٛز 30 نمبر تہٕ ڈبلزَس منٛز 77 نمبر۔ ڈوئی ووت زٕ جونیئر گرینڈ سلیم ڈبلز فَینَلَس منٛز- 2007 منٛز ومبلڈنس منٛز کُرومی نارا ہَس سۭتۍ، تہٕ 2008 منٛز آسٹریلین اوپنَس منٛز ایلینا بوگدانَس سۭتۍ، دۄشوے ہٲرۍ۔ سۄ ووت ترٛٮ۪ن ڈبلیو ٹی اے ٹورنامنٹ فَینَلَن منٛز، صرف اکھ زیٛوٗن۔ تٔمۍ سُنٛد انتظام چھُ ٹوکیوَس منٛز اکھ سپورٹس مارکیٹنگ ایجنسی میوز گروپ کران۔ t7htcc668jgleo0rwv1krtng12c8gvm 153249 153248 2026-10-06T15:34:45Z آیات محراج 11062 /* */ 153249 wikitext text/x-wiki '''مِساکی دویی''' (土居 美咲، دویی مِساکی؛ زامٕژ 29 اپریل 1991) چھُ اَکھ جاپٲنۍ سٲبِقہٕ پرو ٹینس کھِلٲڑۍ۔ تٔمۍ سٕنٛز سارِوٕے کھۄتہٕ زِیٛادٕ ڈبلیو ٹی اے درجہِ بندی ٲس سِنٛگلزَس مَنٛز 30 نمبر تہٕ ڈبلزَس منٛز 77 نمبر۔ دویی ووت زٕ جونیئر گرینڈ سلیم ڈبلز فَینَلَس منٛز- 2007 منٛز ومبلڈنس منٛز کُرومی نارا ہَس سۭتۍ، تہٕ 2008 منٛز آسٹریلین اوپنَس منٛز ایلینا بوگدانَس سۭتۍ، دۄشوے ہٲرۍ۔ سۄ ووت ترٛٮ۪ن ڈبلیو ٹی اے ٹورنامنٹ فَینَلَن منٛز، صرف اکھ زیٛوٗن۔ تٔمۍ سُنٛد انتظام چھُ ٹوکیوَس منٛز اکھ سپورٹس مارکیٹِنٛگ ایجنسی میٛوٗز گروپ کران۔ r1ksi5vk9296cd7k1hnxbkbq0f030sj 153250 153249 2026-10-06T15:36:30Z آیات محراج 11062 /* */ 153250 wikitext text/x-wiki {{Infobox person ca/catalan}} '''مِساکی دویی''' (土居 美咲، دویی مِساکی؛ زامٕژ 29 اپریل 1991) چھُ اَکھ جاپٲنۍ سٲبِقہٕ پرو ٹینس کھِلٲڑۍ۔ تٔمۍ سٕنٛز سارِوٕے کھۄتہٕ زِیٛادٕ ڈبلیو ٹی اے درجہِ بَنٛدی ٲس سِنٛگلزَس مَنٛز 30 نمبر تہٕ ڈبلزَس منٛز 77 نمبر۔<ref>{{cite web|title=Misaki Doi|url=https://www.wtatennis.com/players/314237/misaki-doi|publisher=[[Women's Tennis Association|WTA]]}}</ref> دویی ووت زٕ جونیئر گرٛینٛڈ سلیم ڈبلز فَینَلَس منٛز- 2007 منٛز ومبلڈنس منٛز کُرومی نارا ہَس سۭتۍ، تہٕ 2008 منٛز آسٹریلین اوپنَس منٛز ایلینا بوگدانَس سۭتۍ، دۄشوے ہٲرۍ۔ سۄ ووت ترٛٮ۪ن ڈبلیو ٹی اے ٹورنامنٹ فَینَلَن منٛز، صرف اکھ زیٛوٗن۔ تٔمۍ سُنٛد انتظام چھُ ٹوکیوَس منٛز اکھ سپورٹس مارکیٹِنٛگ ایجنسی میٛوٗز گروپ کران۔ == حَوالہٕ == 7gnjk82bw86xjc3tipjstnqy590v2h2 153251 153250 2026-10-06T15:37:09Z آیات محراج 11062 +[[زٲژ:1991 پٲدٲیِش]]; +[[زٲژ:جاپٲنؠ لوٗکھ]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 153251 wikitext text/x-wiki {{Infobox person ca/catalan}} '''مِساکی دویی''' (土居 美咲، دویی مِساکی؛ زامٕژ 29 اپریل 1991) چھُ اَکھ جاپٲنۍ سٲبِقہٕ پرو ٹینس کھِلٲڑۍ۔ تٔمۍ سٕنٛز سارِوٕے کھۄتہٕ زِیٛادٕ ڈبلیو ٹی اے درجہِ بَنٛدی ٲس سِنٛگلزَس مَنٛز 30 نمبر تہٕ ڈبلزَس منٛز 77 نمبر۔<ref>{{cite web|title=Misaki Doi|url=https://www.wtatennis.com/players/314237/misaki-doi|publisher=[[Women's Tennis Association|WTA]]}}</ref> دویی ووت زٕ جونیئر گرٛینٛڈ سلیم ڈبلز فَینَلَس منٛز- 2007 منٛز ومبلڈنس منٛز کُرومی نارا ہَس سۭتۍ، تہٕ 2008 منٛز آسٹریلین اوپنَس منٛز ایلینا بوگدانَس سۭتۍ، دۄشوے ہٲرۍ۔ سۄ ووت ترٛٮ۪ن ڈبلیو ٹی اے ٹورنامنٹ فَینَلَن منٛز، صرف اکھ زیٛوٗن۔ تٔمۍ سُنٛد انتظام چھُ ٹوکیوَس منٛز اکھ سپورٹس مارکیٹِنٛگ ایجنسی میٛوٗز گروپ کران۔ == حَوالہٕ == [[زٲژ:1991 پٲدٲیِش]] [[زٲژ:جاپٲنؠ لوٗکھ]] r5a3h2yeqtdbmf9raa9p54urlli5tp5 153280 153251 2026-10-06T18:01:25Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153280 wikitext text/x-wiki {{Infobox person ca/catalan}} '''مِساکی دویی''' (土居 美咲، دویی مِساکی؛ زامٕژ 29 اپریل 1991) چھُ اَکھ جاپٲنؠ سٲبِقہٕ پرو ٹینس کھِلٲڑؠ‌۔ تٔمؠ سٕنٛز سارِوٕے کھۄتہٕ زِیٛادٕ ڈبلیو ٹی اے درجہِ بَنٛدی ٲس سِنٛگلزَس مَنٛز 30 نمبر تہٕ ڈبلزَس مَنٛز 77 نمبر۔<ref>{{cite web|title=Misaki Doi|url=https://www.wtatennis.com/players/314237/misaki-doi|publisher=[[Women's Tennis Association|WTA]]}}</ref> دویی ووت زٕ جونییَر گرٛینٛڈ سلیم ڈبلز فَینَلَس مَنٛز- 2007 مَنٛز ومبلڈنس مَنٛز کُرومی نارا ہَس سٟتؠ، تہٕ 2008 مَنٛز آسٹریلین اوپنَس مَنٛز ایلینا بوگدانَس سٟتؠ، دۄشوے ہٲرؠ‌۔ سۄ ووت ترٛؠن ڈبلیو ٹی اے ٹورنامنٹ فَینَلَن مَنٛز، صرف اَکھ زیٛوٗن۔ تٔمؠ سُنٛد انتظام چھُ ٹوکیوَس مَنٛز اَکھ سپورٹس مارکیٹِنٛگ ایجنسی میٛوٗز گروپ کران۔ == حَوالہٕ == [[زٲژ:1991 پٲدٲیِش]] [[زٲژ:جاپٲنؠ لوٗکھ]] 81kzrs53uri40i3tyn4pi9vc6hawv70 1993 0 33046 153261 2026-10-06T17:53:15Z 511KeV 8268 /* */ Add 153261 wikitext text/x-wiki {{Template:Year article header|1993}} e7dcg2nu1hl410r5ar4ifh5tt7cn9ie 153278 153261 2026-10-06T18:01:15Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153278 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{Template:Year article header|1993}} 18vybst6md77wdel8yjg68ma6b2myvq 1994 0 33047 153263 2026-10-06T17:53:39Z 511KeV 8268 /* */ 153263 wikitext text/x-wiki {{Template:Year article header|1994}} kdz51hw8owxh6rneghayf7qrpd8h59a 153277 153263 2026-10-06T18:01:10Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153277 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{Template:Year article header|1994}} 55encniyz802cd6ikgszu345423qds2 1995 0 33048 153264 2026-10-06T17:54:14Z 511KeV 8268 /* */ 153264 wikitext text/x-wiki {{Template:Year article header|1995}} l0ivs7kf7p08cirgtjj9j0ru7jcmnh5 153276 153264 2026-10-06T18:01:05Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153276 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{Template:Year article header|1995}} 55d94b502w1ezsw30j2v23cy8f0xe29 1996 0 33049 153265 2026-10-06T17:54:37Z 511KeV 8268 /* */ 153265 wikitext text/x-wiki {{Template:Year article header|1996}} bkbce1tfkn1ueoqmrioj8olx0t8b9xw 153275 153265 2026-10-06T18:01:00Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153275 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{Template:Year article header|1996}} dwsiaceqipg8rd737o89ayz3q8gpbo5 1997 0 33050 153266 2026-10-06T17:54:59Z 511KeV 8268 /* */ 153266 wikitext text/x-wiki {{Template:Year article header|1997}} 5tx7kdn76cza5u1jgezglyzhe8r4k1t 153274 153266 2026-10-06T18:00:55Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153274 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{Template:Year article header|1997}} 7o9aqrf8zv1p13fknh30tzvkxw573cx 1998 0 33051 153267 2026-10-06T17:55:22Z 511KeV 8268 /* */ 153267 wikitext text/x-wiki {{Template:Year article header|1998}} njqq0mzgujd3o726do8kzbd9kpt0259 153273 153267 2026-10-06T18:00:50Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153273 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{Template:Year article header|1998}} 3t8gex5wynhtkvobxwdry34n0vrdzb3 1999 0 33052 153268 2026-10-06T17:55:52Z 511KeV 8268 /* */ 153268 wikitext text/x-wiki {{Template:Year article header|1999}} cnymivolwh2pjxq6f1ges6jgylfab8v 153272 153268 2026-10-06T18:00:45Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 153272 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} {{Template:Year article header|1999}} a9enssyey4hyxx334z8mv4zdmreo4l5 Module:Year in various calendars 828 33053 153297 2026-03-22T06:44:13Z en>Santiago Claudio 0 Implemented sandbox changes as requested 153297 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' in various [[Calendar era|calendars]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Gregorian calendar' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Armenian calendar' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Assyrian calendar' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Baháʼí calendar" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Balinese saka calendar' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Bengali calendar' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Berber calendar' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'British' else regnalName = 'English' end regnal:setLink( 'Regnal years of English and British monarchs', regnalName .. ' Regnal year' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Buddhist calendar' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Burmese calendar' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Byzantine calendar' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Chinese calendar' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Wood' }, -- 1 { '乙', 'Wood' }, -- 2 { '丙', 'Fire' }, -- 3 { '丁', 'Fire' }, -- 4 { '戊', 'Earth' }, -- 5 { '己', 'Earth' }, -- 6 { '庚', 'Metal' }, -- 7 { '辛', 'Metal' }, -- 8 { '壬', 'Water' }, -- 9 { '癸', 'Water' } -- 10 } local earthlyBranches = { { '子', '[[Rat (zodiac)|Rat]]' }, -- 1 { '丑', '[[Ox (zodiac)|Ox]]' }, -- 2 { '寅', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { '卯', '[[Rabbit (zodiac)|Rabbit]]' }, -- 4 { '辰', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { '巳', '[[Snake (zodiac)|Snake]]' }, -- 6 { '午', '[[Horse (zodiac)|Horse]]' }, -- 7 { '未', '[[Goat (zodiac)|Goat]]' }, -- 8 { '申', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { '酉', '[[Rooster (zodiac)|Rooster]]' }, -- 10 { '戌', '[[Dog (zodiac)|Dog]]' }, -- 11 { '亥', '[[Pig (zodiac)|Pig]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Sexagenary cycle|%s%s]]年 (%s&nbsp;%s)<br />%s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%s年 (%s&nbsp;%s)<br />%s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Coptic calendar' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Discordian calendar' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Ethiopian calendar' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Hebrew calendar' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Hindu calendar]]s' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Vikram Samvat' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Indian national calendar', 'Shaka Samvat' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Kali Yuga' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Holocene calendar' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Igbo calendar' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Iranian calendars', 'Iranian calendar' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Islamic calendar' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Japanese calendar' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Javanese calendar' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Julian calendar' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Gregorian minus ' .. diff-1 .. ' or ' .. diff .. ' days') else julian:setYear('Gregorian minus ' .. diff .. ' days') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Korean calendar' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Minguo calendar' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Taiwan|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Republic of China (1912–1949)|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '%d before [[Republic of China (1912–1949)|ROC]]<br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Nanakshahi calendar' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Thai solar calendar' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Tibetan calendar' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'male Wood' }, -- 1 { 'ཤིང་མོ་', 'female Wood' }, -- 2 { 'མེ་ཕོ་', 'male Fire' }, -- 3 { 'མེ་མོ་', 'female Fire' }, -- 4 { 'ས་ཕོ་', 'male Earth' }, -- 5 { 'ས་མོ་', 'female Earth' }, -- 6 { 'ལྕགས་ཕོ་', 'male Iron' }, -- 7 { 'ལྕགས་མོ་', 'female Iron' }, -- 8 { 'ཆུ་ཕོ་', 'male Water' }, -- 9 { 'ཆུ་མོ་', 'female Water' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Rat (zodiac)|Rat]]' }, -- 1 { 'གླང་', '[[Ox (zodiac)|Ox]]' }, -- 2 { 'སྟག་', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { 'ཡོས་', '[[Rabbit (zodiac)|Hare]]' }, -- 4 { 'འབྲུག་', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { 'སྦྲུལ་', '[[Snake (zodiac)|Snake]]' }, -- 6 { 'རྟ་', '[[Horse (zodiac)|Horse]]' }, -- 7 { 'ལུག་', '[[Goat (zodiac)|Sheep]]' }, -- 8 { 'སྤྲེ་', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { 'བྱ་', '[[Rooster (zodiac)|Bird]]' }, -- 10 { 'ཁྱི་', '[[Dog (zodiac)|Dog]]' }, -- 11 { 'ཕག་', '[[Pig (zodiac)|Boar]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p 3yogfueyz54rr29qsx7e8rhje61dfld 153298 153297 2026-10-06T18:10:47Z 511KeV 8268 1 revision imported from [[:en:Module:Year_in_various_calendars]]: Needed locally 153297 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' in various [[Calendar era|calendars]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Gregorian calendar' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Armenian calendar' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Assyrian calendar' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Baháʼí calendar" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Balinese saka calendar' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Bengali calendar' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Berber calendar' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'British' else regnalName = 'English' end regnal:setLink( 'Regnal years of English and British monarchs', regnalName .. ' Regnal year' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Buddhist calendar' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Burmese calendar' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Byzantine calendar' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Chinese calendar' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Wood' }, -- 1 { '乙', 'Wood' }, -- 2 { '丙', 'Fire' }, -- 3 { '丁', 'Fire' }, -- 4 { '戊', 'Earth' }, -- 5 { '己', 'Earth' }, -- 6 { '庚', 'Metal' }, -- 7 { '辛', 'Metal' }, -- 8 { '壬', 'Water' }, -- 9 { '癸', 'Water' } -- 10 } local earthlyBranches = { { '子', '[[Rat (zodiac)|Rat]]' }, -- 1 { '丑', '[[Ox (zodiac)|Ox]]' }, -- 2 { '寅', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { '卯', '[[Rabbit (zodiac)|Rabbit]]' }, -- 4 { '辰', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { '巳', '[[Snake (zodiac)|Snake]]' }, -- 6 { '午', '[[Horse (zodiac)|Horse]]' }, -- 7 { '未', '[[Goat (zodiac)|Goat]]' }, -- 8 { '申', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { '酉', '[[Rooster (zodiac)|Rooster]]' }, -- 10 { '戌', '[[Dog (zodiac)|Dog]]' }, -- 11 { '亥', '[[Pig (zodiac)|Pig]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Sexagenary cycle|%s%s]]年 (%s&nbsp;%s)<br />%s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%s年 (%s&nbsp;%s)<br />%s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Coptic calendar' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Discordian calendar' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Ethiopian calendar' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Hebrew calendar' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Hindu calendar]]s' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Vikram Samvat' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Indian national calendar', 'Shaka Samvat' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Kali Yuga' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Holocene calendar' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Igbo calendar' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Iranian calendars', 'Iranian calendar' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Islamic calendar' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Japanese calendar' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Javanese calendar' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Julian calendar' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Gregorian minus ' .. diff-1 .. ' or ' .. diff .. ' days') else julian:setYear('Gregorian minus ' .. diff .. ' days') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Korean calendar' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Minguo calendar' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Taiwan|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Republic of China (1912–1949)|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '%d before [[Republic of China (1912–1949)|ROC]]<br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Nanakshahi calendar' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Thai solar calendar' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Tibetan calendar' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'male Wood' }, -- 1 { 'ཤིང་མོ་', 'female Wood' }, -- 2 { 'མེ་ཕོ་', 'male Fire' }, -- 3 { 'མེ་མོ་', 'female Fire' }, -- 4 { 'ས་ཕོ་', 'male Earth' }, -- 5 { 'ས་མོ་', 'female Earth' }, -- 6 { 'ལྕགས་ཕོ་', 'male Iron' }, -- 7 { 'ལྕགས་མོ་', 'female Iron' }, -- 8 { 'ཆུ་ཕོ་', 'male Water' }, -- 9 { 'ཆུ་མོ་', 'female Water' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Rat (zodiac)|Rat]]' }, -- 1 { 'གླང་', '[[Ox (zodiac)|Ox]]' }, -- 2 { 'སྟག་', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { 'ཡོས་', '[[Rabbit (zodiac)|Hare]]' }, -- 4 { 'འབྲུག་', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { 'སྦྲུལ་', '[[Snake (zodiac)|Snake]]' }, -- 6 { 'རྟ་', '[[Horse (zodiac)|Horse]]' }, -- 7 { 'ལུག་', '[[Goat (zodiac)|Sheep]]' }, -- 8 { 'སྤྲེ་', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { 'བྱ་', '[[Rooster (zodiac)|Bird]]' }, -- 10 { 'ཁྱི་', '[[Dog (zodiac)|Dog]]' }, -- 11 { 'ཕག་', '[[Pig (zodiac)|Boar]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p 3yogfueyz54rr29qsx7e8rhje61dfld 153394 153298 2026-10-06T18:20:44Z 511KeV 8268 153394 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' باقٕے [[Calendar era|کیلنڈرن]] مَنٛز' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Gregorian calendar' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Armenian calendar' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Assyrian calendar' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Baháʼí calendar" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Balinese saka calendar' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Bengali calendar' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Berber calendar' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'British' else regnalName = 'English' end regnal:setLink( 'Regnal years of English and British monarchs', regnalName .. ' Regnal year' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Buddhist calendar' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Burmese calendar' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Byzantine calendar' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Chinese calendar' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Wood' }, -- 1 { '乙', 'Wood' }, -- 2 { '丙', 'Fire' }, -- 3 { '丁', 'Fire' }, -- 4 { '戊', 'Earth' }, -- 5 { '己', 'Earth' }, -- 6 { '庚', 'Metal' }, -- 7 { '辛', 'Metal' }, -- 8 { '壬', 'Water' }, -- 9 { '癸', 'Water' } -- 10 } local earthlyBranches = { { '子', '[[Rat (zodiac)|Rat]]' }, -- 1 { '丑', '[[Ox (zodiac)|Ox]]' }, -- 2 { '寅', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { '卯', '[[Rabbit (zodiac)|Rabbit]]' }, -- 4 { '辰', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { '巳', '[[Snake (zodiac)|Snake]]' }, -- 6 { '午', '[[Horse (zodiac)|Horse]]' }, -- 7 { '未', '[[Goat (zodiac)|Goat]]' }, -- 8 { '申', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { '酉', '[[Rooster (zodiac)|Rooster]]' }, -- 10 { '戌', '[[Dog (zodiac)|Dog]]' }, -- 11 { '亥', '[[Pig (zodiac)|Pig]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Sexagenary cycle|%s%s]]年 (%s&nbsp;%s)<br />%s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%s年 (%s&nbsp;%s)<br />%s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Coptic calendar' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Discordian calendar' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Ethiopian calendar' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Hebrew calendar' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Hindu calendar]]s' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Vikram Samvat' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Indian national calendar', 'Shaka Samvat' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Kali Yuga' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Holocene calendar' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Igbo calendar' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Iranian calendars', 'Iranian calendar' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Islamic calendar' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Japanese calendar' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Javanese calendar' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Julian calendar' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Gregorian minus ' .. diff-1 .. ' or ' .. diff .. ' days') else julian:setYear('Gregorian minus ' .. diff .. ' days') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Korean calendar' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Minguo calendar' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Taiwan|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Republic of China (1912–1949)|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '%d before [[Republic of China (1912–1949)|ROC]]<br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Nanakshahi calendar' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Thai solar calendar' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Tibetan calendar' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'male Wood' }, -- 1 { 'ཤིང་མོ་', 'female Wood' }, -- 2 { 'མེ་ཕོ་', 'male Fire' }, -- 3 { 'མེ་མོ་', 'female Fire' }, -- 4 { 'ས་ཕོ་', 'male Earth' }, -- 5 { 'ས་མོ་', 'female Earth' }, -- 6 { 'ལྕགས་ཕོ་', 'male Iron' }, -- 7 { 'ལྕགས་མོ་', 'female Iron' }, -- 8 { 'ཆུ་ཕོ་', 'male Water' }, -- 9 { 'ཆུ་མོ་', 'female Water' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Rat (zodiac)|Rat]]' }, -- 1 { 'གླང་', '[[Ox (zodiac)|Ox]]' }, -- 2 { 'སྟག་', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { 'ཡོས་', '[[Rabbit (zodiac)|Hare]]' }, -- 4 { 'འབྲུག་', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { 'སྦྲུལ་', '[[Snake (zodiac)|Snake]]' }, -- 6 { 'རྟ་', '[[Horse (zodiac)|Horse]]' }, -- 7 { 'ལུག་', '[[Goat (zodiac)|Sheep]]' }, -- 8 { 'སྤྲེ་', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { 'བྱ་', '[[Rooster (zodiac)|Bird]]' }, -- 10 { 'ཁྱི་', '[[Dog (zodiac)|Dog]]' }, -- 11 { 'ཕག་', '[[Pig (zodiac)|Boar]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p 4c8tvv2atvgohxwohid6br3ab7fvswp Module:InfoboxBuilder 828 33054 153300 2026-03-22T18:00:27Z en>MusikBot II 0 Protected "[[Module:InfoboxBuilder]]": [[Wikipedia:High-risk templates|High-risk template or module]]: 2722 transclusions ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Require extended confirmed access] (indefinite) [Move=Require extended confirmed access] (indefinite)) 153300 Scribunto text/plain local infobox = require("Module:Infobox") local InfoboxBuilder = {} -- Create a new InfoboxBuilder function InfoboxBuilder.new () -- store parameters and counters local obj = { params = {}, iter_subheader = 1, iter_image = 1, iter_row = 1 } -- Use InfoboxBuilder:__set as a "fallback" function, -- Any call InfoboxBuilder:`x`(`y`) where InfoboxBuilder:`x` does not exist is equivalent to calling InfoboxBuilder:__set(`x`, `y`) return setmetatable(obj, { __index = function(tbl, key) -- First, return any defined InfoboxBuilder:`x` local val = InfoboxBuilder[key] if val ~= nil then return val end -- Otherwise, return a wrapper for InfoboxBuilder:__set return function ( self, val ) return self:__set(key, val) end end }) end -- Set a parameter by name (for internal use) function InfoboxBuilder:__set ( key, val ) self.params[key] = val return self end -- Special handling for 'italic title' since it has a space -- 'italicTitle' -> 'italic title' function InfoboxBuilder:italicTitle ( italicTitle ) self.params["italic title"] = italicTitle return self end -- Add a subheader to the infobox -- Supports being called as :subheader("subheader", "subheaderstyle", "subheaderrowclass") and as -- :subheader{subheader="subheader", subheaderstyle="subheaderstyle", subheaderrowclass="subheaderrowclass"} function InfoboxBuilder:subheader ( subheader, subheaderstyle, subheaderrowclass ) -- support positional and named arguments if type(subheader) == "table" then return self:subheader( subheader["subheader"], subheader["subheaderstyle"], subheader["subheaderrowclass"] ) end self.params["subheader" .. self.iter_subheader] = subheader self.params["subheaderstyle" .. self.iter_subheader] = subheaderstyle self.params["subheaderrowclass" .. self.iter_subheader] = subheaderrowclass self.iter_subheader = self.iter_subheader + 1 return self end -- Add an image to the infobox -- Supports both positional and named arguments just like :subheader function InfoboxBuilder:image ( image, caption, imagerowclass ) -- support positional and named arguments if type(image) == "table" then return self:image( image["image"], image["caption"], image["imagerowclass"] ) end self.params["image" .. self.iter_image] = image self.params["caption" .. self.iter_image] = caption self.params["imagerowclass" .. self.iter_image] = imagerowclass self.iter_image = self.iter_image + 1 return self end -- Add a header row to the infobox -- Supports both positional and named arguments just like :subheader function InfoboxBuilder:header ( header, rowclass, rowstyle ) -- support positional and named arguments if type(header) == "table" then return self:header( header["header"], header["rowclass"], header["rowstyle"] ) end self.params["header" .. self.iter_row] = header self.params["rowclass" .. self.iter_row] = rowclass self.params["rowstyle" .. self.iter_row] = rowstyle self.iter_row = self.iter_row + 1 return self end -- Add a row to the infobox -- Supports both positional and named arguments just like :subheader function InfoboxBuilder:row ( data, label, class, rowclass, rowstyle, rowcellstyle ) -- support positional and named arguments if type(data) == "table" then return self:row( data["data"], data["label"], data["class"], data["rowclass"], data["rowstyle"], data["rowcellstyle"] ) end self.params["data" .. self.iter_row] = data self.params["label" .. self.iter_row] = label self.params["class" .. self.iter_row] = class self.params["rowclass" .. self.iter_row] = rowclass self.params["rowstyle" .. self.iter_row] = rowstyle self.params["rowcellstyle" .. self.iter_row] = rowcellstyle self.iter_row = self.iter_row + 1 return self end -- Build the infobox -- Equivalent to calling require("Module:Infobox").infobox{ ... } where `...` is all arguments previously provided function InfoboxBuilder:build () return infobox.infobox(self.params) end return { InfoboxBuilder = InfoboxBuilder } 6hdrvqm5xiiv6x2ve5qqi652f52wd6b 153301 153300 2026-10-06T18:11:42Z 511KeV 8268 1 revision imported from [[:en:Module:InfoboxBuilder]]: Needed locally 153300 Scribunto text/plain local infobox = require("Module:Infobox") local InfoboxBuilder = {} -- Create a new InfoboxBuilder function InfoboxBuilder.new () -- store parameters and counters local obj = { params = {}, iter_subheader = 1, iter_image = 1, iter_row = 1 } -- Use InfoboxBuilder:__set as a "fallback" function, -- Any call InfoboxBuilder:`x`(`y`) where InfoboxBuilder:`x` does not exist is equivalent to calling InfoboxBuilder:__set(`x`, `y`) return setmetatable(obj, { __index = function(tbl, key) -- First, return any defined InfoboxBuilder:`x` local val = InfoboxBuilder[key] if val ~= nil then return val end -- Otherwise, return a wrapper for InfoboxBuilder:__set return function ( self, val ) return self:__set(key, val) end end }) end -- Set a parameter by name (for internal use) function InfoboxBuilder:__set ( key, val ) self.params[key] = val return self end -- Special handling for 'italic title' since it has a space -- 'italicTitle' -> 'italic title' function InfoboxBuilder:italicTitle ( italicTitle ) self.params["italic title"] = italicTitle return self end -- Add a subheader to the infobox -- Supports being called as :subheader("subheader", "subheaderstyle", "subheaderrowclass") and as -- :subheader{subheader="subheader", subheaderstyle="subheaderstyle", subheaderrowclass="subheaderrowclass"} function InfoboxBuilder:subheader ( subheader, subheaderstyle, subheaderrowclass ) -- support positional and named arguments if type(subheader) == "table" then return self:subheader( subheader["subheader"], subheader["subheaderstyle"], subheader["subheaderrowclass"] ) end self.params["subheader" .. self.iter_subheader] = subheader self.params["subheaderstyle" .. self.iter_subheader] = subheaderstyle self.params["subheaderrowclass" .. self.iter_subheader] = subheaderrowclass self.iter_subheader = self.iter_subheader + 1 return self end -- Add an image to the infobox -- Supports both positional and named arguments just like :subheader function InfoboxBuilder:image ( image, caption, imagerowclass ) -- support positional and named arguments if type(image) == "table" then return self:image( image["image"], image["caption"], image["imagerowclass"] ) end self.params["image" .. self.iter_image] = image self.params["caption" .. self.iter_image] = caption self.params["imagerowclass" .. self.iter_image] = imagerowclass self.iter_image = self.iter_image + 1 return self end -- Add a header row to the infobox -- Supports both positional and named arguments just like :subheader function InfoboxBuilder:header ( header, rowclass, rowstyle ) -- support positional and named arguments if type(header) == "table" then return self:header( header["header"], header["rowclass"], header["rowstyle"] ) end self.params["header" .. self.iter_row] = header self.params["rowclass" .. self.iter_row] = rowclass self.params["rowstyle" .. self.iter_row] = rowstyle self.iter_row = self.iter_row + 1 return self end -- Add a row to the infobox -- Supports both positional and named arguments just like :subheader function InfoboxBuilder:row ( data, label, class, rowclass, rowstyle, rowcellstyle ) -- support positional and named arguments if type(data) == "table" then return self:row( data["data"], data["label"], data["class"], data["rowclass"], data["rowstyle"], data["rowcellstyle"] ) end self.params["data" .. self.iter_row] = data self.params["label" .. self.iter_row] = label self.params["class" .. self.iter_row] = class self.params["rowclass" .. self.iter_row] = rowclass self.params["rowstyle" .. self.iter_row] = rowstyle self.params["rowcellstyle" .. self.iter_row] = rowcellstyle self.iter_row = self.iter_row + 1 return self end -- Build the infobox -- Equivalent to calling require("Module:Infobox").infobox{ ... } where `...` is all arguments previously provided function InfoboxBuilder:build () return infobox.infobox(self.params) end return { InfoboxBuilder = InfoboxBuilder } 6hdrvqm5xiiv6x2ve5qqi652f52wd6b Module:Ancient Olympiads 828 33055 153302 2023-09-30T03:27:27Z en>Pppery 0 Changed protection settings for "[[Module:Ancient Olympiads]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 153302 Scribunto text/plain local data = mw.loadData( 'Module:Ancient Olympiads/data' ) local lang = mw.language.getContentLanguage() local TableTools = require('Module:TableTools') local p = {} function p._main( inputYear ) -- Convert the input to an integer if possible. Return "N/A" if the input could -- not be converted, or if the converted input is too big or too small. inputYear = tonumber( inputYear ) if not inputYear or inputYear > tonumber( lang:formatDate( 'Y' ) ) then return "''N/A''" end local dataLength = TableTools.length(data) -- Find the year in the data page and display the output. for i = dataLength, 1, -1 do local t = data[i] if inputYear - 1 == t.year then -- year of the Olympiad, test with = p._main( -495 ) -- The input year in the calendar is one after the expected (-775 for the year 776 BC). This is why all values need to be corrected by 1. -- Year of Olympiad creates autolink to same page, therefore eliminated here return string.format( '%s [[Olympiad]] ([[%s|victor]][[Winner of the Stadion race|)¹]]', t.numberOl, t.winner ) end if inputYear > t.year then -- Years 2-4 of the Olympiad, test with = p._main( -494 ) etc. -- It would be nice, if the string could be as follows: -- '[[%s]] [[Olympiad]], [[%d BC|year %d]]', -- t.numberOl, inputYear * - 1 + 1, inputYear - t.year -- but unfortunately it links to the very same page and won't be displayed as a link but in bold. return string.format( '[[%s|%s]] [[Olympiad]], year %d', t.yearBC, t.numberOl, inputYear - t.year ) end end -- If input year is before 776 BC (-775), the year of the first Olympiad. return string.format( '%d before [[776 BC|1st]] [[Olympiad]]', inputYear * -1 - 775 ) end function p.main( frame ) local args = require( 'Module:Arguments' ).getArgs( frame, { parentOnly = true } ) return p._main( args[ 1 ] ) end return p 17qopx2ym0hhya55kggl11clcwqq2b5 153303 153302 2026-10-06T18:12:01Z 511KeV 8268 1 revision imported from [[:en:Module:Ancient_Olympiads]]: Needed locally 153302 Scribunto text/plain local data = mw.loadData( 'Module:Ancient Olympiads/data' ) local lang = mw.language.getContentLanguage() local TableTools = require('Module:TableTools') local p = {} function p._main( inputYear ) -- Convert the input to an integer if possible. Return "N/A" if the input could -- not be converted, or if the converted input is too big or too small. inputYear = tonumber( inputYear ) if not inputYear or inputYear > tonumber( lang:formatDate( 'Y' ) ) then return "''N/A''" end local dataLength = TableTools.length(data) -- Find the year in the data page and display the output. for i = dataLength, 1, -1 do local t = data[i] if inputYear - 1 == t.year then -- year of the Olympiad, test with = p._main( -495 ) -- The input year in the calendar is one after the expected (-775 for the year 776 BC). This is why all values need to be corrected by 1. -- Year of Olympiad creates autolink to same page, therefore eliminated here return string.format( '%s [[Olympiad]] ([[%s|victor]][[Winner of the Stadion race|)¹]]', t.numberOl, t.winner ) end if inputYear > t.year then -- Years 2-4 of the Olympiad, test with = p._main( -494 ) etc. -- It would be nice, if the string could be as follows: -- '[[%s]] [[Olympiad]], [[%d BC|year %d]]', -- t.numberOl, inputYear * - 1 + 1, inputYear - t.year -- but unfortunately it links to the very same page and won't be displayed as a link but in bold. return string.format( '[[%s|%s]] [[Olympiad]], year %d', t.yearBC, t.numberOl, inputYear - t.year ) end end -- If input year is before 776 BC (-775), the year of the first Olympiad. return string.format( '%d before [[776 BC|1st]] [[Olympiad]]', inputYear * -1 - 775 ) end function p.main( frame ) local args = require( 'Module:Arguments' ).getArgs( frame, { parentOnly = true } ) return p._main( args[ 1 ] ) end return p 17qopx2ym0hhya55kggl11clcwqq2b5 Module:Ancient Olympiads/data 828 33056 153305 2023-09-30T03:27:57Z en>Pppery 0 Changed protection settings for "[[Module:Ancient Olympiads/data]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 153305 Scribunto text/plain -- This is the data for Module:Ancient Olympiads. -- It stores the number and the first year of the Olympiad and the name of the victor in the stadion race with a link to his Wikipedia article. return { { numberOl = '1st', yearBC = '776 BC', year = - 776, winner = 'Coroebus of Elis' }, { numberOl = '2nd', yearBC = '772 BC', year = - 772, winner = 'Antimachus of Elis' }, { numberOl = '3rd', yearBC = '768 BC', year = - 768, winner = 'Androclus of Messenia' }, { numberOl = '4th', yearBC = '764 BC', year = - 764, winner = 'Polychares of Messenia' }, { numberOl = '5th', yearBC = '760 BC', year = - 760, winner = 'Aeschines of Elis' }, { numberOl = '6th', yearBC = '756 BC', year = - 756, winner = 'Oebotas of Dyme' }, { numberOl = '7th', yearBC = '752 BC', year = - 752, winner = 'Diocles of Messenia' }, { numberOl = '8th', yearBC = '748 BC', year = - 748, winner = 'Anticles of Messenia' }, { numberOl = '9th', yearBC = '744 BC', year = - 744, winner = 'Xenocles of Messenia' }, { numberOl = '10th', yearBC = '740 BC', year = - 740, winner = 'Dotades of Messenia' }, { numberOl = '11th', yearBC = '736 BC', year = - 736, winner = 'Leochares of Messenia' }, { numberOl = '12th', yearBC = '732 BC', year = - 732, winner = 'Oxythemis of Coroneia' }, { numberOl = '13th', yearBC = '728 BC', year = - 728, winner = 'Diocles of Corinth' }, { numberOl = '14th', yearBC = '724 BC', year = - 724, winner = 'Desmon of Corinth' }, { numberOl = '15th', yearBC = '720 BC', year = - 720, winner = 'Orsippus of Megara' }, { numberOl = '16th', yearBC = '716 BC', year = - 716, winner = 'Pythagoras of Laconia' }, { numberOl = '17th', yearBC = '712 BC', year = - 712, winner = 'Polus of Epidaurus' }, { numberOl = '18th', yearBC = '708 BC', year = - 708, winner = 'Tellis of Sicyon' }, { numberOl = '19th', yearBC = '704 BC', year = - 704, winner = 'Menus of Megara' }, { numberOl = '20th', yearBC = '700 BC', year = - 700, winner = 'Atheradas of Laconia' }, { numberOl = '21st', yearBC = '696 BC', year = - 696, winner = 'Pantacles of Athens' }, { numberOl = '22nd', yearBC = '692 BC', year = - 692, winner = 'Pantacles of Athens' }, { numberOl = '23rd', yearBC = '688 BC', year = - 688, winner = 'Icarius of Hyperesia' }, { numberOl = '24th', yearBC = '684 BC', year = - 684, winner = 'Cleoptolemus of Laconia' }, { numberOl = '25th', yearBC = '680 BC', year = - 680, winner = 'Thalpis of Laconia' }, { numberOl = '26th', yearBC = '676 BC', year = - 676, winner = 'Callisthenes of Laconia' }, { numberOl = '27th', yearBC = '672 BC', year = - 672, winner = 'Eurybus of Athens' }, { numberOl = '28th', yearBC = '668 BC', year = - 668, winner = 'Charmis of Laconia' }, { numberOl = '29th', yearBC = '664 BC', year = - 664, winner = 'Chionis of Laconia' }, { numberOl = '30th', yearBC = '660 BC', year = - 660, winner = 'Chionis of Laconia' }, { numberOl = '31st', yearBC = '656 BC', year = - 656, winner = 'Chionis of Laconia' }, { numberOl = '32nd', yearBC = '652 BC', year = - 652, winner = 'Cratinus of Megara' }, { numberOl = '33rd', yearBC = '648 BC', year = - 648, winner = 'Gylis of Laconia' }, { numberOl = '34th', yearBC = '644 BC', year = - 644, winner = 'Stomas of Athens' }, { numberOl = '35th', yearBC = '640 BC', year = - 640, winner = 'Sphaerus of Laconia' }, { numberOl = '36th', yearBC = '636 BC', year = - 636, winner = 'Phrynon of Athens' }, { numberOl = '37th', yearBC = '632 BC', year = - 632, winner = 'Eurycleidas of Laconia' }, { numberOl = '38th', yearBC = '628 BC', year = - 628, winner = 'Olyntheus of Laconia' }, { numberOl = '39th', yearBC = '624 BC', year = - 624, winner = 'Rhipsolaus of Laconia' }, { numberOl = '40th', yearBC = '620 BC', year = - 620, winner = 'Olyntheus of Laconia' }, { numberOl = '41st', yearBC = '616 BC', year = - 616, winner = 'Cleondas of Thebes' }, { numberOl = '42nd', yearBC = '612 BC', year = - 612, winner = 'Lycotas of Laconia' }, { numberOl = '43rd', yearBC = '608 BC', year = - 608, winner = 'Cleon of Epidaurus' }, { numberOl = '44th', yearBC = '604 BC', year = - 604, winner = 'Gelon of Laconia' }, { numberOl = '45th', yearBC = '600 BC', year = - 600, winner = 'Anticrates of Epidaurus' }, { numberOl = '46th', yearBC = '596 BC', year = - 596, winner = 'Chrysamaxus of Laconia' }, { numberOl = '47th', yearBC = '592 BC', year = - 592, winner = 'Eurycles of Laconia' }, { numberOl = '48th', yearBC = '588 BC', year = - 588, winner = 'Glycon of Croton' }, { numberOl = '49th', yearBC = '584 BC', year = - 584, winner = 'Lycinus of Croton' }, { numberOl = '50th', yearBC = '580 BC', year = - 580, winner = 'Epitelidas of Laconia' }, { numberOl = '51st', yearBC = '576 BC', year = - 576, winner = 'Eratosthenes of Croton' }, { numberOl = '52nd', yearBC = '572 BC', year = - 572, winner = 'Agis of Elis' }, { numberOl = '53rd', yearBC = '568 BC', year = - 568, winner = 'Hagnon of Peparethus' }, { numberOl = '54th', yearBC = '564 BC', year = - 564, winner = 'Hippostratus of Croton' }, { numberOl = '55th', yearBC = '560 BC', year = - 560, winner = 'Hippostratus of Croton' }, { numberOl = '56th', yearBC = '556 BC', year = - 556, winner = 'Phaedrus of Pharsalus' }, { numberOl = '57th', yearBC = '552 BC', year = - 552, winner = 'Ladromus of Laconia' }, { numberOl = '58th', yearBC = '548 BC', year = - 548, winner = 'Diognetus of Croton' }, { numberOl = '59th', yearBC = '544 BC', year = - 544, winner = 'Archilochus of Corcyra' }, { numberOl = '60th', yearBC = '540 BC', year = - 540, winner = 'Apellaeus of Elis' }, { numberOl = '61st', yearBC = '536 BC', year = - 536, winner = 'Agatharchus of Corcyra' }, { numberOl = '62nd', yearBC = '532 BC', year = - 532, winner = 'Eryxias of Chalcis' }, { numberOl = '63rd', yearBC = '528 BC', year = - 528, winner = 'Parmenides of Camarina' }, { numberOl = '64th', yearBC = '524 BC', year = - 524, winner = 'Menander of Thessaly' }, { numberOl = '65th', yearBC = '520 BC', year = - 520, winner = 'Anochas of Tarentum' }, { numberOl = '66th', yearBC = '516 BC', year = - 516, winner = 'Ischyrus of Himera' }, { numberOl = '67th', yearBC = '512 BC', year = - 512, winner = 'Phanas of Pellene' }, { numberOl = '68th', yearBC = '508 BC', year = - 508, winner = 'Isomachus of Croton' }, { numberOl = '69th', yearBC = '504 BC', year = - 504, winner = 'Isomachus of Croton' }, { numberOl = '70th', yearBC = '500 BC', year = - 500, winner = 'Nicasias of Opus' }, { numberOl = '71st', yearBC = '496 BC', year = - 496, winner = 'Tisicrates of Croton' }, { numberOl = '72nd', yearBC = '492 BC', year = - 492, winner = 'Tisicrates of Croton' }, { numberOl = '73rd', yearBC = '488 BC', year = - 488, winner = 'Astyalus of Croton' }, { numberOl = '74th', yearBC = '484 BC', year = - 484, winner = 'Astyalus of Croton' }, { numberOl = '75th', yearBC = '480 BC', year = - 480, winner = 'Astyalus of Croton' }, { numberOl = '76th', yearBC = '476 BC', year = - 476, winner = 'Scamander of Mytilene' }, { numberOl = '77th', yearBC = '472 BC', year = - 472, winner = 'Dandes of Argos' }, { numberOl = '78th', yearBC = '468 BC', year = - 468, winner = 'Parmenides of Poseidonia' }, { numberOl = '79th', yearBC = '464 BC', year = - 464, winner = 'Xenophon of Corinth' }, { numberOl = '80th', yearBC = '460 BC', year = - 460, winner = 'Torymmas of Thessaly' }, { numberOl = '81st', yearBC = '456 BC', year = - 456, winner = 'Polymnastus of Cyrene' }, { numberOl = '82nd', yearBC = '452 BC', year = - 452, winner = 'Lycus of Larissa' }, { numberOl = '83rd', yearBC = '448 BC', year = - 448, winner = 'Crisson of Himera' }, { numberOl = '84th', yearBC = '444 BC', year = - 444, winner = 'Crisson of Himera' }, { numberOl = '85th', yearBC = '440 BC', year = - 440, winner = 'Crisson of Himera' }, { numberOl = '86th', yearBC = '436 BC', year = - 436, winner = 'Theopompus of Thessaly' }, { numberOl = '87th', yearBC = '432 BC', year = - 432, winner = 'Sophron of Ambracia' }, { numberOl = '88th', yearBC = '428 BC', year = - 428, winner = 'Symmachus of Messenia' }, { numberOl = '89th', yearBC = '424 BC', year = - 424, winner = 'Symmachus of Messenia' }, { numberOl = '90th', yearBC = '420 BC', year = - 420, winner = 'Hyperbius of Syracuse' }, { numberOl = '91st', yearBC = '416 BC', year = - 416, winner = 'Exagentus of Acragas' }, { numberOl = '92nd', yearBC = '412 BC', year = - 412, winner = 'Exagentus of Acragas' }, { numberOl = '93rd', yearBC = '408 BC', year = - 408, winner = 'Eubatus of Cyrene' }, { numberOl = '94th', yearBC = '404 BC', year = - 404, winner = 'Crocinas of Larissa' }, { numberOl = '95th', yearBC = '400 BC', year = - 400, winner = 'Minon of Athens' }, { numberOl = '96th', yearBC = '396 BC', year = - 396, winner = 'Eupolemus of Elis' }, { numberOl = '97th', yearBC = '392 BC', year = - 392, winner = 'Terinaeus' }, { numberOl = '98th', yearBC = '388 BC', year = - 388, winner = 'Sosippus of Delphi' }, { numberOl = '99th', yearBC = '384 BC', year = - 384, winner = 'Dicon of Syracuse' }, { numberOl = '100th', yearBC = '380 BC', year = - 380, winner = 'Dionysodorus of Tarentum' }, { numberOl = '101st', yearBC = '376 BC', year = - 376, winner = 'Damon of Thurii' }, { numberOl = '102nd', yearBC = '372 BC', year = - 372, winner = 'Damon of Thurii' }, { numberOl = '103rd', yearBC = '368 BC', year = - 368, winner = 'Pythostratus of Ephesus' }, { numberOl = '104th', yearBC = '364 BC', year = - 364, winner = 'Phocides of Athens' }, { numberOl = '105th', yearBC = '360 BC', year = - 360, winner = 'Porus of Cyrene' }, { numberOl = '106th', yearBC = '356 BC', year = - 356, winner = 'Porus of Cyrene' }, { numberOl = '107th', yearBC = '352 BC', year = - 352, winner = 'Micrinas of Tarentum' }, { numberOl = '108th', yearBC = '348 BC', year = - 348, winner = 'Polycles of Cyrene' }, { numberOl = '109th', yearBC = '344 BC', year = - 344, winner = 'Aristolochus of Athens' }, { numberOl = '110th', yearBC = '340 BC', year = - 340, winner = 'Anticles of Athens' }, { numberOl = '111th', yearBC = '336 BC', year = - 336, winner = 'Cleomantis of Cleitor' }, { numberOl = '112th', yearBC = '332 BC', year = - 332, winner = 'Eurylas of Chalcis' }, { numberOl = '113th', yearBC = '328 BC', year = - 328, winner = 'Cliton of Macedonia' }, { numberOl = '114th', yearBC = '324 BC', year = - 324, winner = 'Micinas of Rhodes' }, { numberOl = '115th', yearBC = '320 BC', year = - 320, winner = 'Damasias of Amphipolis' }, { numberOl = '116th', yearBC = '316 BC', year = - 316, winner = 'Demosthenes of Laconia' }, { numberOl = '117th', yearBC = '312 BC', year = - 312, winner = 'Parmenides of Mytilene' }, { numberOl = '118th', yearBC = '308 BC', year = - 308, winner = 'Andromenes of Corinth' }, { numberOl = '119th', yearBC = '304 BC', year = - 304, winner = 'Andromenes of Corinth' }, { numberOl = '120th', yearBC = '300 BC', year = - 300, winner = 'Pythagoras of Magnesia-on-Maeander' }, { numberOl = '121st', yearBC = '296 BC', year = - 296, winner = 'Pythagoras of Magnesia-on-Maeander' }, { numberOl = '122nd', yearBC = '292 BC', year = - 292, winner = 'Antigonus of Macedonia' }, { numberOl = '123rd', yearBC = '288 BC', year = - 288, winner = 'Antigonus of Macedonia' }, { numberOl = '124th', yearBC = '284 BC', year = - 284, winner = 'Philomelus of Pharsalus' }, { numberOl = '125th', yearBC = '280 BC', year = - 280, winner = 'Ladas of Aegium' }, { numberOl = '126th', yearBC = '276 BC', year = - 276, winner = 'Idaeus or Nicator of Cyrene' }, { numberOl = '127th', yearBC = '272 BC', year = - 272, winner = 'Perigenes of Alexandria' }, { numberOl = '128th', yearBC = '268 BC', year = - 268, winner = 'Seleucus of Macedonia' }, { numberOl = '129th', yearBC = '264 BC', year = - 264, winner = 'Philinus of Cos (athlete)' }, { numberOl = '130th', yearBC = '260 BC', year = - 260, winner = 'Philinus of Cos (athlete)' }, { numberOl = '131st', yearBC = '256 BC', year = - 256, winner = 'Ammonius of Alexandria (athlete)' }, { numberOl = '132nd', yearBC = '252 BC', year = - 252, winner = 'Xenophanes of Amphissa' }, { numberOl = '133rd', yearBC = '248 BC', year = - 248, winner = 'Simylus of Neapolis' }, { numberOl = '134th', yearBC = '244 BC', year = - 244, winner = 'Alcides of Laconia' }, { numberOl = '135th', yearBC = '240 BC', year = - 240, winner = 'Eraton of Aetolia' }, { numberOl = '136th', yearBC = '236 BC', year = - 236, winner = 'Pythocles of Sicyon' }, { numberOl = '137th', yearBC = '232 BC', year = - 232, winner = 'Menestheus of Barcyla' }, { numberOl = '138th', yearBC = '228 BC', year = - 228, winner = 'Demetrius of Alexandria (athlete)' }, { numberOl = '139th', yearBC = '224 BC', year = - 224, winner = 'Iolaidas of Argos' }, { numberOl = '140th', yearBC = '220 BC', year = - 220, winner = 'Zopyrus of Syracuse' }, { numberOl = '141st', yearBC = '216 BC', year = - 216, winner = 'Dorotheus of Rhodes' }, { numberOl = '142nd', yearBC = '212 BC', year = - 212, winner = 'Crates of Alexandria' }, { numberOl = '143rd', yearBC = '208 BC', year = - 208, winner = 'Heracleitus of Samos' }, { numberOl = '144th', yearBC = '204 BC', year = - 204, winner = 'Heracleides of Salamis in Cyprus' }, { numberOl = '145th', yearBC = '200 BC', year = - 200, winner = 'Pyrrhias of Aetolia' }, { numberOl = '146th', yearBC = '196 BC', year = - 196, winner = 'Micion of Boeotia' }, { numberOl = '147th', yearBC = '192 BC', year = - 192, winner = 'Agemachus of Cyzicus' }, { numberOl = '148th', yearBC = '188 BC', year = - 188, winner = 'Arcesilaus of Megalopolis' }, { numberOl = '149th', yearBC = '184 BC', year = - 184, winner = 'Hippostratus of Seleuceia in Pieria' }, { numberOl = '150th', yearBC = '180 BC', year = - 180, winner = 'Onesicritus of Salamis' }, { numberOl = '151st', yearBC = '176 BC', year = - 176, winner = 'Thymilus of Aspendus' }, { numberOl = '152nd', yearBC = '172 BC', year = - 172, winner = 'Democritus of Megara' }, { numberOl = '153rd', yearBC = '168 BC', year = - 168, winner = 'Aristander of Antissa in Lesbos' }, { numberOl = '154th', yearBC = '164 BC', year = - 164, winner = 'Leonidas of Rhodes' }, { numberOl = '155th', yearBC = '160 BC', year = - 160, winner = 'Leonidas of Rhodes' }, { numberOl = '156th', yearBC = '156 BC', year = - 156, winner = 'Leonidas of Rhodes' }, { numberOl = '157th', yearBC = '152 BC', year = - 152, winner = 'Leonidas of Rhodes' }, { numberOl = '158th', yearBC = '148 BC', year = - 148, winner = 'Othon of Syracuse' }, { numberOl = '159th', yearBC = '144 BC', year = - 144, winner = 'Alcimus of Cyzicus' }, { numberOl = '160th', yearBC = '140 BC', year = - 140, winner = 'Agnodorus of Cyzicus' }, { numberOl = '161st', yearBC = '136 BC', year = - 136, winner = 'Antipater of Epirus' }, { numberOl = '162nd', yearBC = '132 BC', year = - 132, winner = 'Damon of Delphi' }, { numberOl = '163rd', yearBC = '128 BC', year = - 128, winner = 'Timotheus of Tralles' }, { numberOl = '164th', yearBC = '124 BC', year = - 124, winner = 'Boeotus of Sicyon' }, { numberOl = '165th', yearBC = '120 BC', year = - 120, winner = 'Acusilaus of Cyrene' }, { numberOl = '166th', yearBC = '116 BC', year = - 116, winner = 'Chrysogonus of Nicaea' }, { numberOl = '167th', yearBC = '112 BC', year = - 112, winner = 'Chrysogonus of Nicaea' }, { numberOl = '168th', yearBC = '108 BC', year = - 108, winner = 'Nicomachus of Philadelphia' }, { numberOl = '169th', yearBC = '104 BC', year = - 104, winner = 'Nicodemus of Lacedaemon' }, { numberOl = '170th', yearBC = '100 BC', year = - 100, winner = 'Simmias of Seleuceia-on-Tigris' }, { numberOl = '171st', yearBC = '96 BC', year = - 96, winner = 'Parmeniscus of Corcyra' }, { numberOl = '172nd', yearBC = '92 BC', year = - 92, winner = 'Eudamus of Cos' }, { numberOl = '173rd', yearBC = '88 BC', year = - 88, winner = 'Parmeniscus of Corcyra' }, { numberOl = '174th', yearBC = '84 BC', year = - 84, winner = 'Demostratus of Larissa' }, { numberOl = '175th', yearBC = '80 BC', year = - 80, winner = 'Epaenetus of Argos' }, { numberOl = '176th', yearBC = '76 BC', year = - 76, winner = 'Dion of Cyparissus' }, { numberOl = '177th', yearBC = '72 BC', year = - 72, winner = 'Hecatomnus of Elis' }, { numberOl = '178th', yearBC = '68 BC', year = - 68, winner = 'Diocles of Hypopenus' }, { numberOl = '179th', yearBC = '64 BC', year = - 64, winner = 'Andreas of Lacedaemon' }, { numberOl = '180th', yearBC = '60 BC', year = - 60, winner = 'Andromachus of Ambracia' }, { numberOl = '181st', yearBC = '56 BC', year = - 56, winner = 'Lamachus of Tauromenium' }, { numberOl = '182nd', yearBC = '52 BC', year = - 52, winner = 'Anthestion of Argos' }, { numberOl = '183rd', yearBC = '48 BC', year = - 48, winner = 'Theodorus of Messene' }, { numberOl = '184th', yearBC = '44 BC', year = - 44, winner = 'Theodorus of Messene' }, { numberOl = '185th', yearBC = '40 BC', year = - 40, winner = 'Ariston of Thurii' }, { numberOl = '186th', yearBC = '36 BC', year = - 36, winner = 'Scamander of Alexandria Troas' }, { numberOl = '187th', yearBC = '32 BC', year = - 32, winner = 'Ariston of Thurii' }, { numberOl = '188th', yearBC = '28 BC', year = - 28, winner = 'Sopater of Argos' }, { numberOl = '189th', yearBC = '24 BC', year = - 24, winner = 'Asclepiades of Sidon' }, { numberOl = '190th', yearBC = '20 BC', year = - 20, winner = 'Auphidius of Patrae' }, { numberOl = '191st', yearBC = '16 BC', year = - 16, winner = 'Diodotus of Tyana' }, { numberOl = '192nd', yearBC = '12 BC', year = - 12, winner = 'Diophanes of Aeolis' }, { numberOl = '193rd', yearBC = '8 BC', year = - 8, winner = 'Artemidorus of Thyateira' }, { numberOl = '194th', yearBC = '4 BC', year = - 4, winner = 'Demaratus of Ephesus' }, } 2ffebu1xudzn80562uk9cc24qk1x1x8 153306 153305 2026-10-06T18:13:05Z 511KeV 8268 1 revision imported from [[:en:Module:Ancient_Olympiads/data]]: Needed locally 153305 Scribunto text/plain -- This is the data for Module:Ancient Olympiads. -- It stores the number and the first year of the Olympiad and the name of the victor in the stadion race with a link to his Wikipedia article. return { { numberOl = '1st', yearBC = '776 BC', year = - 776, winner = 'Coroebus of Elis' }, { numberOl = '2nd', yearBC = '772 BC', year = - 772, winner = 'Antimachus of Elis' }, { numberOl = '3rd', yearBC = '768 BC', year = - 768, winner = 'Androclus of Messenia' }, { numberOl = '4th', yearBC = '764 BC', year = - 764, winner = 'Polychares of Messenia' }, { numberOl = '5th', yearBC = '760 BC', year = - 760, winner = 'Aeschines of Elis' }, { numberOl = '6th', yearBC = '756 BC', year = - 756, winner = 'Oebotas of Dyme' }, { numberOl = '7th', yearBC = '752 BC', year = - 752, winner = 'Diocles of Messenia' }, { numberOl = '8th', yearBC = '748 BC', year = - 748, winner = 'Anticles of Messenia' }, { numberOl = '9th', yearBC = '744 BC', year = - 744, winner = 'Xenocles of Messenia' }, { numberOl = '10th', yearBC = '740 BC', year = - 740, winner = 'Dotades of Messenia' }, { numberOl = '11th', yearBC = '736 BC', year = - 736, winner = 'Leochares of Messenia' }, { numberOl = '12th', yearBC = '732 BC', year = - 732, winner = 'Oxythemis of Coroneia' }, { numberOl = '13th', yearBC = '728 BC', year = - 728, winner = 'Diocles of Corinth' }, { numberOl = '14th', yearBC = '724 BC', year = - 724, winner = 'Desmon of Corinth' }, { numberOl = '15th', yearBC = '720 BC', year = - 720, winner = 'Orsippus of Megara' }, { numberOl = '16th', yearBC = '716 BC', year = - 716, winner = 'Pythagoras of Laconia' }, { numberOl = '17th', yearBC = '712 BC', year = - 712, winner = 'Polus of Epidaurus' }, { numberOl = '18th', yearBC = '708 BC', year = - 708, winner = 'Tellis of Sicyon' }, { numberOl = '19th', yearBC = '704 BC', year = - 704, winner = 'Menus of Megara' }, { numberOl = '20th', yearBC = '700 BC', year = - 700, winner = 'Atheradas of Laconia' }, { numberOl = '21st', yearBC = '696 BC', year = - 696, winner = 'Pantacles of Athens' }, { numberOl = '22nd', yearBC = '692 BC', year = - 692, winner = 'Pantacles of Athens' }, { numberOl = '23rd', yearBC = '688 BC', year = - 688, winner = 'Icarius of Hyperesia' }, { numberOl = '24th', yearBC = '684 BC', year = - 684, winner = 'Cleoptolemus of Laconia' }, { numberOl = '25th', yearBC = '680 BC', year = - 680, winner = 'Thalpis of Laconia' }, { numberOl = '26th', yearBC = '676 BC', year = - 676, winner = 'Callisthenes of Laconia' }, { numberOl = '27th', yearBC = '672 BC', year = - 672, winner = 'Eurybus of Athens' }, { numberOl = '28th', yearBC = '668 BC', year = - 668, winner = 'Charmis of Laconia' }, { numberOl = '29th', yearBC = '664 BC', year = - 664, winner = 'Chionis of Laconia' }, { numberOl = '30th', yearBC = '660 BC', year = - 660, winner = 'Chionis of Laconia' }, { numberOl = '31st', yearBC = '656 BC', year = - 656, winner = 'Chionis of Laconia' }, { numberOl = '32nd', yearBC = '652 BC', year = - 652, winner = 'Cratinus of Megara' }, { numberOl = '33rd', yearBC = '648 BC', year = - 648, winner = 'Gylis of Laconia' }, { numberOl = '34th', yearBC = '644 BC', year = - 644, winner = 'Stomas of Athens' }, { numberOl = '35th', yearBC = '640 BC', year = - 640, winner = 'Sphaerus of Laconia' }, { numberOl = '36th', yearBC = '636 BC', year = - 636, winner = 'Phrynon of Athens' }, { numberOl = '37th', yearBC = '632 BC', year = - 632, winner = 'Eurycleidas of Laconia' }, { numberOl = '38th', yearBC = '628 BC', year = - 628, winner = 'Olyntheus of Laconia' }, { numberOl = '39th', yearBC = '624 BC', year = - 624, winner = 'Rhipsolaus of Laconia' }, { numberOl = '40th', yearBC = '620 BC', year = - 620, winner = 'Olyntheus of Laconia' }, { numberOl = '41st', yearBC = '616 BC', year = - 616, winner = 'Cleondas of Thebes' }, { numberOl = '42nd', yearBC = '612 BC', year = - 612, winner = 'Lycotas of Laconia' }, { numberOl = '43rd', yearBC = '608 BC', year = - 608, winner = 'Cleon of Epidaurus' }, { numberOl = '44th', yearBC = '604 BC', year = - 604, winner = 'Gelon of Laconia' }, { numberOl = '45th', yearBC = '600 BC', year = - 600, winner = 'Anticrates of Epidaurus' }, { numberOl = '46th', yearBC = '596 BC', year = - 596, winner = 'Chrysamaxus of Laconia' }, { numberOl = '47th', yearBC = '592 BC', year = - 592, winner = 'Eurycles of Laconia' }, { numberOl = '48th', yearBC = '588 BC', year = - 588, winner = 'Glycon of Croton' }, { numberOl = '49th', yearBC = '584 BC', year = - 584, winner = 'Lycinus of Croton' }, { numberOl = '50th', yearBC = '580 BC', year = - 580, winner = 'Epitelidas of Laconia' }, { numberOl = '51st', yearBC = '576 BC', year = - 576, winner = 'Eratosthenes of Croton' }, { numberOl = '52nd', yearBC = '572 BC', year = - 572, winner = 'Agis of Elis' }, { numberOl = '53rd', yearBC = '568 BC', year = - 568, winner = 'Hagnon of Peparethus' }, { numberOl = '54th', yearBC = '564 BC', year = - 564, winner = 'Hippostratus of Croton' }, { numberOl = '55th', yearBC = '560 BC', year = - 560, winner = 'Hippostratus of Croton' }, { numberOl = '56th', yearBC = '556 BC', year = - 556, winner = 'Phaedrus of Pharsalus' }, { numberOl = '57th', yearBC = '552 BC', year = - 552, winner = 'Ladromus of Laconia' }, { numberOl = '58th', yearBC = '548 BC', year = - 548, winner = 'Diognetus of Croton' }, { numberOl = '59th', yearBC = '544 BC', year = - 544, winner = 'Archilochus of Corcyra' }, { numberOl = '60th', yearBC = '540 BC', year = - 540, winner = 'Apellaeus of Elis' }, { numberOl = '61st', yearBC = '536 BC', year = - 536, winner = 'Agatharchus of Corcyra' }, { numberOl = '62nd', yearBC = '532 BC', year = - 532, winner = 'Eryxias of Chalcis' }, { numberOl = '63rd', yearBC = '528 BC', year = - 528, winner = 'Parmenides of Camarina' }, { numberOl = '64th', yearBC = '524 BC', year = - 524, winner = 'Menander of Thessaly' }, { numberOl = '65th', yearBC = '520 BC', year = - 520, winner = 'Anochas of Tarentum' }, { numberOl = '66th', yearBC = '516 BC', year = - 516, winner = 'Ischyrus of Himera' }, { numberOl = '67th', yearBC = '512 BC', year = - 512, winner = 'Phanas of Pellene' }, { numberOl = '68th', yearBC = '508 BC', year = - 508, winner = 'Isomachus of Croton' }, { numberOl = '69th', yearBC = '504 BC', year = - 504, winner = 'Isomachus of Croton' }, { numberOl = '70th', yearBC = '500 BC', year = - 500, winner = 'Nicasias of Opus' }, { numberOl = '71st', yearBC = '496 BC', year = - 496, winner = 'Tisicrates of Croton' }, { numberOl = '72nd', yearBC = '492 BC', year = - 492, winner = 'Tisicrates of Croton' }, { numberOl = '73rd', yearBC = '488 BC', year = - 488, winner = 'Astyalus of Croton' }, { numberOl = '74th', yearBC = '484 BC', year = - 484, winner = 'Astyalus of Croton' }, { numberOl = '75th', yearBC = '480 BC', year = - 480, winner = 'Astyalus of Croton' }, { numberOl = '76th', yearBC = '476 BC', year = - 476, winner = 'Scamander of Mytilene' }, { numberOl = '77th', yearBC = '472 BC', year = - 472, winner = 'Dandes of Argos' }, { numberOl = '78th', yearBC = '468 BC', year = - 468, winner = 'Parmenides of Poseidonia' }, { numberOl = '79th', yearBC = '464 BC', year = - 464, winner = 'Xenophon of Corinth' }, { numberOl = '80th', yearBC = '460 BC', year = - 460, winner = 'Torymmas of Thessaly' }, { numberOl = '81st', yearBC = '456 BC', year = - 456, winner = 'Polymnastus of Cyrene' }, { numberOl = '82nd', yearBC = '452 BC', year = - 452, winner = 'Lycus of Larissa' }, { numberOl = '83rd', yearBC = '448 BC', year = - 448, winner = 'Crisson of Himera' }, { numberOl = '84th', yearBC = '444 BC', year = - 444, winner = 'Crisson of Himera' }, { numberOl = '85th', yearBC = '440 BC', year = - 440, winner = 'Crisson of Himera' }, { numberOl = '86th', yearBC = '436 BC', year = - 436, winner = 'Theopompus of Thessaly' }, { numberOl = '87th', yearBC = '432 BC', year = - 432, winner = 'Sophron of Ambracia' }, { numberOl = '88th', yearBC = '428 BC', year = - 428, winner = 'Symmachus of Messenia' }, { numberOl = '89th', yearBC = '424 BC', year = - 424, winner = 'Symmachus of Messenia' }, { numberOl = '90th', yearBC = '420 BC', year = - 420, winner = 'Hyperbius of Syracuse' }, { numberOl = '91st', yearBC = '416 BC', year = - 416, winner = 'Exagentus of Acragas' }, { numberOl = '92nd', yearBC = '412 BC', year = - 412, winner = 'Exagentus of Acragas' }, { numberOl = '93rd', yearBC = '408 BC', year = - 408, winner = 'Eubatus of Cyrene' }, { numberOl = '94th', yearBC = '404 BC', year = - 404, winner = 'Crocinas of Larissa' }, { numberOl = '95th', yearBC = '400 BC', year = - 400, winner = 'Minon of Athens' }, { numberOl = '96th', yearBC = '396 BC', year = - 396, winner = 'Eupolemus of Elis' }, { numberOl = '97th', yearBC = '392 BC', year = - 392, winner = 'Terinaeus' }, { numberOl = '98th', yearBC = '388 BC', year = - 388, winner = 'Sosippus of Delphi' }, { numberOl = '99th', yearBC = '384 BC', year = - 384, winner = 'Dicon of Syracuse' }, { numberOl = '100th', yearBC = '380 BC', year = - 380, winner = 'Dionysodorus of Tarentum' }, { numberOl = '101st', yearBC = '376 BC', year = - 376, winner = 'Damon of Thurii' }, { numberOl = '102nd', yearBC = '372 BC', year = - 372, winner = 'Damon of Thurii' }, { numberOl = '103rd', yearBC = '368 BC', year = - 368, winner = 'Pythostratus of Ephesus' }, { numberOl = '104th', yearBC = '364 BC', year = - 364, winner = 'Phocides of Athens' }, { numberOl = '105th', yearBC = '360 BC', year = - 360, winner = 'Porus of Cyrene' }, { numberOl = '106th', yearBC = '356 BC', year = - 356, winner = 'Porus of Cyrene' }, { numberOl = '107th', yearBC = '352 BC', year = - 352, winner = 'Micrinas of Tarentum' }, { numberOl = '108th', yearBC = '348 BC', year = - 348, winner = 'Polycles of Cyrene' }, { numberOl = '109th', yearBC = '344 BC', year = - 344, winner = 'Aristolochus of Athens' }, { numberOl = '110th', yearBC = '340 BC', year = - 340, winner = 'Anticles of Athens' }, { numberOl = '111th', yearBC = '336 BC', year = - 336, winner = 'Cleomantis of Cleitor' }, { numberOl = '112th', yearBC = '332 BC', year = - 332, winner = 'Eurylas of Chalcis' }, { numberOl = '113th', yearBC = '328 BC', year = - 328, winner = 'Cliton of Macedonia' }, { numberOl = '114th', yearBC = '324 BC', year = - 324, winner = 'Micinas of Rhodes' }, { numberOl = '115th', yearBC = '320 BC', year = - 320, winner = 'Damasias of Amphipolis' }, { numberOl = '116th', yearBC = '316 BC', year = - 316, winner = 'Demosthenes of Laconia' }, { numberOl = '117th', yearBC = '312 BC', year = - 312, winner = 'Parmenides of Mytilene' }, { numberOl = '118th', yearBC = '308 BC', year = - 308, winner = 'Andromenes of Corinth' }, { numberOl = '119th', yearBC = '304 BC', year = - 304, winner = 'Andromenes of Corinth' }, { numberOl = '120th', yearBC = '300 BC', year = - 300, winner = 'Pythagoras of Magnesia-on-Maeander' }, { numberOl = '121st', yearBC = '296 BC', year = - 296, winner = 'Pythagoras of Magnesia-on-Maeander' }, { numberOl = '122nd', yearBC = '292 BC', year = - 292, winner = 'Antigonus of Macedonia' }, { numberOl = '123rd', yearBC = '288 BC', year = - 288, winner = 'Antigonus of Macedonia' }, { numberOl = '124th', yearBC = '284 BC', year = - 284, winner = 'Philomelus of Pharsalus' }, { numberOl = '125th', yearBC = '280 BC', year = - 280, winner = 'Ladas of Aegium' }, { numberOl = '126th', yearBC = '276 BC', year = - 276, winner = 'Idaeus or Nicator of Cyrene' }, { numberOl = '127th', yearBC = '272 BC', year = - 272, winner = 'Perigenes of Alexandria' }, { numberOl = '128th', yearBC = '268 BC', year = - 268, winner = 'Seleucus of Macedonia' }, { numberOl = '129th', yearBC = '264 BC', year = - 264, winner = 'Philinus of Cos (athlete)' }, { numberOl = '130th', yearBC = '260 BC', year = - 260, winner = 'Philinus of Cos (athlete)' }, { numberOl = '131st', yearBC = '256 BC', year = - 256, winner = 'Ammonius of Alexandria (athlete)' }, { numberOl = '132nd', yearBC = '252 BC', year = - 252, winner = 'Xenophanes of Amphissa' }, { numberOl = '133rd', yearBC = '248 BC', year = - 248, winner = 'Simylus of Neapolis' }, { numberOl = '134th', yearBC = '244 BC', year = - 244, winner = 'Alcides of Laconia' }, { numberOl = '135th', yearBC = '240 BC', year = - 240, winner = 'Eraton of Aetolia' }, { numberOl = '136th', yearBC = '236 BC', year = - 236, winner = 'Pythocles of Sicyon' }, { numberOl = '137th', yearBC = '232 BC', year = - 232, winner = 'Menestheus of Barcyla' }, { numberOl = '138th', yearBC = '228 BC', year = - 228, winner = 'Demetrius of Alexandria (athlete)' }, { numberOl = '139th', yearBC = '224 BC', year = - 224, winner = 'Iolaidas of Argos' }, { numberOl = '140th', yearBC = '220 BC', year = - 220, winner = 'Zopyrus of Syracuse' }, { numberOl = '141st', yearBC = '216 BC', year = - 216, winner = 'Dorotheus of Rhodes' }, { numberOl = '142nd', yearBC = '212 BC', year = - 212, winner = 'Crates of Alexandria' }, { numberOl = '143rd', yearBC = '208 BC', year = - 208, winner = 'Heracleitus of Samos' }, { numberOl = '144th', yearBC = '204 BC', year = - 204, winner = 'Heracleides of Salamis in Cyprus' }, { numberOl = '145th', yearBC = '200 BC', year = - 200, winner = 'Pyrrhias of Aetolia' }, { numberOl = '146th', yearBC = '196 BC', year = - 196, winner = 'Micion of Boeotia' }, { numberOl = '147th', yearBC = '192 BC', year = - 192, winner = 'Agemachus of Cyzicus' }, { numberOl = '148th', yearBC = '188 BC', year = - 188, winner = 'Arcesilaus of Megalopolis' }, { numberOl = '149th', yearBC = '184 BC', year = - 184, winner = 'Hippostratus of Seleuceia in Pieria' }, { numberOl = '150th', yearBC = '180 BC', year = - 180, winner = 'Onesicritus of Salamis' }, { numberOl = '151st', yearBC = '176 BC', year = - 176, winner = 'Thymilus of Aspendus' }, { numberOl = '152nd', yearBC = '172 BC', year = - 172, winner = 'Democritus of Megara' }, { numberOl = '153rd', yearBC = '168 BC', year = - 168, winner = 'Aristander of Antissa in Lesbos' }, { numberOl = '154th', yearBC = '164 BC', year = - 164, winner = 'Leonidas of Rhodes' }, { numberOl = '155th', yearBC = '160 BC', year = - 160, winner = 'Leonidas of Rhodes' }, { numberOl = '156th', yearBC = '156 BC', year = - 156, winner = 'Leonidas of Rhodes' }, { numberOl = '157th', yearBC = '152 BC', year = - 152, winner = 'Leonidas of Rhodes' }, { numberOl = '158th', yearBC = '148 BC', year = - 148, winner = 'Othon of Syracuse' }, { numberOl = '159th', yearBC = '144 BC', year = - 144, winner = 'Alcimus of Cyzicus' }, { numberOl = '160th', yearBC = '140 BC', year = - 140, winner = 'Agnodorus of Cyzicus' }, { numberOl = '161st', yearBC = '136 BC', year = - 136, winner = 'Antipater of Epirus' }, { numberOl = '162nd', yearBC = '132 BC', year = - 132, winner = 'Damon of Delphi' }, { numberOl = '163rd', yearBC = '128 BC', year = - 128, winner = 'Timotheus of Tralles' }, { numberOl = '164th', yearBC = '124 BC', year = - 124, winner = 'Boeotus of Sicyon' }, { numberOl = '165th', yearBC = '120 BC', year = - 120, winner = 'Acusilaus of Cyrene' }, { numberOl = '166th', yearBC = '116 BC', year = - 116, winner = 'Chrysogonus of Nicaea' }, { numberOl = '167th', yearBC = '112 BC', year = - 112, winner = 'Chrysogonus of Nicaea' }, { numberOl = '168th', yearBC = '108 BC', year = - 108, winner = 'Nicomachus of Philadelphia' }, { numberOl = '169th', yearBC = '104 BC', year = - 104, winner = 'Nicodemus of Lacedaemon' }, { numberOl = '170th', yearBC = '100 BC', year = - 100, winner = 'Simmias of Seleuceia-on-Tigris' }, { numberOl = '171st', yearBC = '96 BC', year = - 96, winner = 'Parmeniscus of Corcyra' }, { numberOl = '172nd', yearBC = '92 BC', year = - 92, winner = 'Eudamus of Cos' }, { numberOl = '173rd', yearBC = '88 BC', year = - 88, winner = 'Parmeniscus of Corcyra' }, { numberOl = '174th', yearBC = '84 BC', year = - 84, winner = 'Demostratus of Larissa' }, { numberOl = '175th', yearBC = '80 BC', year = - 80, winner = 'Epaenetus of Argos' }, { numberOl = '176th', yearBC = '76 BC', year = - 76, winner = 'Dion of Cyparissus' }, { numberOl = '177th', yearBC = '72 BC', year = - 72, winner = 'Hecatomnus of Elis' }, { numberOl = '178th', yearBC = '68 BC', year = - 68, winner = 'Diocles of Hypopenus' }, { numberOl = '179th', yearBC = '64 BC', year = - 64, winner = 'Andreas of Lacedaemon' }, { numberOl = '180th', yearBC = '60 BC', year = - 60, winner = 'Andromachus of Ambracia' }, { numberOl = '181st', yearBC = '56 BC', year = - 56, winner = 'Lamachus of Tauromenium' }, { numberOl = '182nd', yearBC = '52 BC', year = - 52, winner = 'Anthestion of Argos' }, { numberOl = '183rd', yearBC = '48 BC', year = - 48, winner = 'Theodorus of Messene' }, { numberOl = '184th', yearBC = '44 BC', year = - 44, winner = 'Theodorus of Messene' }, { numberOl = '185th', yearBC = '40 BC', year = - 40, winner = 'Ariston of Thurii' }, { numberOl = '186th', yearBC = '36 BC', year = - 36, winner = 'Scamander of Alexandria Troas' }, { numberOl = '187th', yearBC = '32 BC', year = - 32, winner = 'Ariston of Thurii' }, { numberOl = '188th', yearBC = '28 BC', year = - 28, winner = 'Sopater of Argos' }, { numberOl = '189th', yearBC = '24 BC', year = - 24, winner = 'Asclepiades of Sidon' }, { numberOl = '190th', yearBC = '20 BC', year = - 20, winner = 'Auphidius of Patrae' }, { numberOl = '191st', yearBC = '16 BC', year = - 16, winner = 'Diodotus of Tyana' }, { numberOl = '192nd', yearBC = '12 BC', year = - 12, winner = 'Diophanes of Aeolis' }, { numberOl = '193rd', yearBC = '8 BC', year = - 8, winner = 'Artemidorus of Thyateira' }, { numberOl = '194th', yearBC = '4 BC', year = - 4, winner = 'Demaratus of Ephesus' }, } 2ffebu1xudzn80562uk9cc24qk1x1x8 Module:Ancient Egypt era 828 33057 153307 2023-09-30T03:28:13Z en>Pppery 0 Changed protection settings for "[[Module:Ancient Egypt era]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 153307 Scribunto text/plain local data = mw.loadData( 'Module:Ancient Egypt era/data' ) local lang = mw.language.getContentLanguage() local p = {} function p._main( inputYear ) -- Convert the input to an integer if possible. Return "N/A" if the input could -- not be converted, or if the converted input is too big or too small. inputYear = tonumber( inputYear ) if not inputYear or inputYear > tonumber( lang:formatDate( 'Y' ) ) then return "''N/A''" end -- Find the length of the data. -- We need the length of the data so that we can loop through it backwards. -- Normally we can get the length of tables with the # operator, but this -- doesn't work with mw.loadData, as mw.loadData uses a metatable, and the -- # operator doesn't work for tables that use metatables. local dataLength = 0 for i, t in ipairs( data ) do dataLength = i end -- Find the year in the data page and display the output. for i = dataLength, 1, -1 do local t = data[i] if inputYear - 1 >= t.dynstart and inputYear - 1 <= t.dynend then -- year of the dynasty, test with = p._main( -495 ) -- The input year in the calendar is one after the expected (-775 for the year 776 BC). This is why all values need to be corrected by 1. return string.format( '[[%s|%s]] [[List of ancient Egyptian dynasties|dynasty]], %d', t.dynlink, t.dynasty, inputYear - t.dynstart ) end end end function p.main( frame ) -- If you only want to run this module from another Lua module, you can get -- rid of this function entirely. This function is only used if you want to -- run this individual module from a template. local args = require( 'Module:Arguments' ).getArgs( frame, { parentOnly = true } ) return p._main( args[ 1 ] ) end return p i9m0l2sngg6vg0wnwfu3dc4szflys54 153308 153307 2026-10-06T18:13:24Z 511KeV 8268 1 revision imported from [[:en:Module:Ancient_Egypt_era]]: Needed locally 153307 Scribunto text/plain local data = mw.loadData( 'Module:Ancient Egypt era/data' ) local lang = mw.language.getContentLanguage() local p = {} function p._main( inputYear ) -- Convert the input to an integer if possible. Return "N/A" if the input could -- not be converted, or if the converted input is too big or too small. inputYear = tonumber( inputYear ) if not inputYear or inputYear > tonumber( lang:formatDate( 'Y' ) ) then return "''N/A''" end -- Find the length of the data. -- We need the length of the data so that we can loop through it backwards. -- Normally we can get the length of tables with the # operator, but this -- doesn't work with mw.loadData, as mw.loadData uses a metatable, and the -- # operator doesn't work for tables that use metatables. local dataLength = 0 for i, t in ipairs( data ) do dataLength = i end -- Find the year in the data page and display the output. for i = dataLength, 1, -1 do local t = data[i] if inputYear - 1 >= t.dynstart and inputYear - 1 <= t.dynend then -- year of the dynasty, test with = p._main( -495 ) -- The input year in the calendar is one after the expected (-775 for the year 776 BC). This is why all values need to be corrected by 1. return string.format( '[[%s|%s]] [[List of ancient Egyptian dynasties|dynasty]], %d', t.dynlink, t.dynasty, inputYear - t.dynstart ) end end end function p.main( frame ) -- If you only want to run this module from another Lua module, you can get -- rid of this function entirely. This function is only used if you want to -- run this individual module from a template. local args = require( 'Module:Arguments' ).getArgs( frame, { parentOnly = true } ) return p._main( args[ 1 ] ) end return p i9m0l2sngg6vg0wnwfu3dc4szflys54 Module:Ancient Egypt era/data 828 33058 153309 2023-09-30T03:28:25Z en>Pppery 0 Changed protection settings for "[[Module:Ancient Egypt era/data]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 153309 Scribunto text/plain -- This is the 1st data sheet for Module:Ancient Egypt era. -- It stores the number, link, and years of the dynasties. return { { dynasty = 'XVIII', dynlink = 'Eighteenth Dynasty of Egypt', dynstart = - 1549, dynend = - 1292 }, { dynasty = 'XIX', dynlink = 'Nineteenth Dynasty of Egypt', dynstart = - 1292, dynend = - 1189 }, { dynasty = 'XX', dynlink = 'Twentieth Dynasty of Egypt', dynstart = - 1189, dynend = - 1077 }, { dynasty = 'XXI', dynlink = 'Twenty-first Dynasty of Egypt', dynstart = - 1077, dynend = - 944 }, { dynasty = 'XXII', dynlink = 'Twenty-second Dynasty of Egypt', dynstart = - 943, dynend = - 798 -- dynendactual = - 720 }, { dynasty = 'XXIII', dynlink = 'Twenty-third Dynasty of Egypt', dynstart = - 880, dynend = - 752 -- dynendactual = - 728 }, -- { -- dynasty = 'XXIV', -- dynlink = 'Twenty-fourth Dynasty of Egypt', -- dynstart = - 732, -- dynend = - 720 -- }, { dynasty = 'XXV', dynlink = 'Twenty-fifth Dynasty of Egypt', dynstart = - 752, dynend = - 656 }, { dynasty = 'XXVI', dynlink = 'Twenty-sixth Dynasty of Egypt', dynstart = - 664, dynend = - 525 }, { dynasty = 'XXVII', dynlink = 'Twenty-seventh Dynasty of Egypt', dynstart = - 525, dynend = - 405 }, { dynasty = 'XXVIII', dynlink = 'Twenty-eighth Dynasty of Egypt', dynstart = - 404, dynend = - 399 }, { dynasty = 'XXIX', dynlink = 'Twenty-ninth Dynasty of Egypt', dynstart = - 398, dynend = - 380 }, { dynasty = 'XXX', dynlink = 'Thirtieth Dynasty of Egypt', dynstart = - 380, dynend = - 343 }, { dynasty = 'XXXI', dynlink = 'Thirty-first Dynasty of Egypt', dynstart = - 343, dynend = - 332 }, { dynasty = 'XXXII', dynlink = 'Argead dynasty', dynstart = - 332, dynend = - 323 }, { dynasty = 'XXXIII', dynlink = 'Ptolemaic dynasty', dynstart = - 323, dynend = - 30 }, } 2yip7i7qvodanffbv62u2zimcnwfozt 153310 153309 2026-10-06T18:14:31Z 511KeV 8268 1 revision imported from [[:en:Module:Ancient_Egypt_era/data]]: Needed locally 153309 Scribunto text/plain -- This is the 1st data sheet for Module:Ancient Egypt era. -- It stores the number, link, and years of the dynasties. return { { dynasty = 'XVIII', dynlink = 'Eighteenth Dynasty of Egypt', dynstart = - 1549, dynend = - 1292 }, { dynasty = 'XIX', dynlink = 'Nineteenth Dynasty of Egypt', dynstart = - 1292, dynend = - 1189 }, { dynasty = 'XX', dynlink = 'Twentieth Dynasty of Egypt', dynstart = - 1189, dynend = - 1077 }, { dynasty = 'XXI', dynlink = 'Twenty-first Dynasty of Egypt', dynstart = - 1077, dynend = - 944 }, { dynasty = 'XXII', dynlink = 'Twenty-second Dynasty of Egypt', dynstart = - 943, dynend = - 798 -- dynendactual = - 720 }, { dynasty = 'XXIII', dynlink = 'Twenty-third Dynasty of Egypt', dynstart = - 880, dynend = - 752 -- dynendactual = - 728 }, -- { -- dynasty = 'XXIV', -- dynlink = 'Twenty-fourth Dynasty of Egypt', -- dynstart = - 732, -- dynend = - 720 -- }, { dynasty = 'XXV', dynlink = 'Twenty-fifth Dynasty of Egypt', dynstart = - 752, dynend = - 656 }, { dynasty = 'XXVI', dynlink = 'Twenty-sixth Dynasty of Egypt', dynstart = - 664, dynend = - 525 }, { dynasty = 'XXVII', dynlink = 'Twenty-seventh Dynasty of Egypt', dynstart = - 525, dynend = - 405 }, { dynasty = 'XXVIII', dynlink = 'Twenty-eighth Dynasty of Egypt', dynstart = - 404, dynend = - 399 }, { dynasty = 'XXIX', dynlink = 'Twenty-ninth Dynasty of Egypt', dynstart = - 398, dynend = - 380 }, { dynasty = 'XXX', dynlink = 'Thirtieth Dynasty of Egypt', dynstart = - 380, dynend = - 343 }, { dynasty = 'XXXI', dynlink = 'Thirty-first Dynasty of Egypt', dynstart = - 343, dynend = - 332 }, { dynasty = 'XXXII', dynlink = 'Argead dynasty', dynstart = - 332, dynend = - 323 }, { dynasty = 'XXXIII', dynlink = 'Ptolemaic dynasty', dynstart = - 323, dynend = - 30 }, } 2yip7i7qvodanffbv62u2zimcnwfozt Module:Ancient Egypt kings 828 33059 153312 2023-09-30T03:28:39Z en>Pppery 0 Changed protection settings for "[[Module:Ancient Egypt kings]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 153312 Scribunto text/plain -- This module implements {{Ancient Egypt kings}}. It converts a year in the Gregorian -- calendar to the equivalent year of the ancient Egyptian era organized by pharaohs and kings. local data = mw.loadData( 'Module:Ancient Egypt kings/data' ) local lang = mw.language.getContentLanguage() local p = {} function p._main( inputYear ) -- Convert the input to an integer if possible. Return "N/A" if the input could -- not be converted, or if the converted input is too big or too small. inputYear = tonumber( inputYear ) if not inputYear or inputYear > tonumber( lang:formatDate( 'Y' ) ) then return "''N/A''" end -- Find the length of the data. -- We need the length of the data so that we can loop through it backwards. -- Normally we can get the length of tables with the # operator, but this -- doesn't work with mw.loadData, as mw.loadData uses a metatable, and the -- # operator doesn't work for tables that use metatables. local dataLength = 0 for i, t in ipairs( data ) do dataLength = i end -- Find the year in the data page and display the output. for i = dataLength, 1, -1 do local t = data[i] if inputYear - 1 >= t.rulerstart and inputYear - 1 <= t.rulerend then -- year of the dynasty, test with = p._main( -495 ) -- The input year in the calendar is one after the expected (-775 for the year 776 BC). This is why all values need to be corrected by 1. return string.format( '[[%s]], %d', t.ruler, inputYear - t.rulerstart ) end end end function p.main( frame ) -- If you only want to run this module from another Lua module, you can get -- rid of this function entirely. This function is only used if you want to -- run this individual module from a template. local args = require( 'Module:Arguments' ).getArgs( frame, { parentOnly = true } ) return p._main( args[ 1 ] ) end return p gw4zde0lslf3volxdqhdy53ktj0gtar 153313 153312 2026-10-06T18:14:56Z 511KeV 8268 1 revision imported from [[:en:Module:Ancient_Egypt_kings]]: Needed locally 153312 Scribunto text/plain -- This module implements {{Ancient Egypt kings}}. It converts a year in the Gregorian -- calendar to the equivalent year of the ancient Egyptian era organized by pharaohs and kings. local data = mw.loadData( 'Module:Ancient Egypt kings/data' ) local lang = mw.language.getContentLanguage() local p = {} function p._main( inputYear ) -- Convert the input to an integer if possible. Return "N/A" if the input could -- not be converted, or if the converted input is too big or too small. inputYear = tonumber( inputYear ) if not inputYear or inputYear > tonumber( lang:formatDate( 'Y' ) ) then return "''N/A''" end -- Find the length of the data. -- We need the length of the data so that we can loop through it backwards. -- Normally we can get the length of tables with the # operator, but this -- doesn't work with mw.loadData, as mw.loadData uses a metatable, and the -- # operator doesn't work for tables that use metatables. local dataLength = 0 for i, t in ipairs( data ) do dataLength = i end -- Find the year in the data page and display the output. for i = dataLength, 1, -1 do local t = data[i] if inputYear - 1 >= t.rulerstart and inputYear - 1 <= t.rulerend then -- year of the dynasty, test with = p._main( -495 ) -- The input year in the calendar is one after the expected (-775 for the year 776 BC). This is why all values need to be corrected by 1. return string.format( '[[%s]], %d', t.ruler, inputYear - t.rulerstart ) end end end function p.main( frame ) -- If you only want to run this module from another Lua module, you can get -- rid of this function entirely. This function is only used if you want to -- run this individual module from a template. local args = require( 'Module:Arguments' ).getArgs( frame, { parentOnly = true } ) return p._main( args[ 1 ] ) end return p gw4zde0lslf3volxdqhdy53ktj0gtar Module:Ancient Egypt kings/data 828 33060 153314 2023-09-30T03:28:56Z en>Pppery 0 Changed protection settings for "[[Module:Ancient Egypt kings/data]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 153314 Scribunto text/plain -- This is the data sheet for Module:Ancient Egypt kings return { { ruler = 'Piye', rulerlink = '', rulerstart = - 752, rulerend = - 722, coruler = '' }, { ruler = 'Shabaka', rulerlink = '', rulerstart = - 721, rulerend = - 707, coruler = '' }, { ruler = 'Shebitku', rulerlink = '', rulerstart = - 707, rulerend = - 690, coruler = '' }, { ruler = 'Taharqa', rulerlink = '', rulerstart = - 690, rulerend = - 664, coruler = '' }, { ruler = 'Tantamani', rulerlink = '', rulerstart = - 664, rulerend = - 656, coruler = '' }, { ruler = 'Psamtik I', rulerlink = '', rulerstart = - 664, rulerend = - 610, coruler = '' }, { ruler = 'Necho II', rulerlink = '', rulerstart = - 610, rulerend = - 595, coruler = '' }, { ruler = 'Psamtik II', rulerlink = '', rulerstart = - 595, rulerend = - 589, coruler = '' }, { ruler = 'Apries', rulerlink = '', rulerstart = - 589, rulerend = - 570, coruler = '' }, { ruler = 'Amasis II', rulerlink = '', rulerstart = - 570, rulerend = - 526, coruler = '' }, { ruler = 'Psamtik III', rulerlink = '', rulerstart = - 526, rulerend = - 525, coruler = '' }, { ruler = 'Cambyses II of Persia', rulerlink = '', rulerstart = - 525, rulerend = - 521, coruler = '' }, { ruler = 'Darius I of Persia', rulerlink = '', rulerstart = - 521, rulerend = - 486, coruler = '' }, { ruler = 'Xerxes I of Persia', rulerlink = '', rulerstart = - 485, rulerend = - 465, coruler = '' }, { ruler = 'Artaxerxes I of Persia', rulerlink = '', rulerstart = - 465, rulerend = - 424, coruler = '' }, { ruler = 'Darius II of Persia', rulerlink = '', rulerstart = - 423, rulerend = - 405, coruler = '' }, { ruler = 'Amyrtaeus', rulerlink = '', rulerstart = - 404, rulerend = - 399, coruler = '' }, { ruler = 'Nepherites I', rulerlink = '', rulerstart = - 398, rulerend = - 393, coruler = '' }, { ruler = 'Hakor', rulerlink = '', rulerstart = - 393, rulerend = - 380, coruler = '' }, { ruler = 'Nectanebo I', rulerlink = '', rulerstart = - 380, rulerend = - 362, coruler = '' }, { ruler = 'Djedhor', rulerlink = '', rulerstart = - 362, rulerend = - 360, coruler = '' }, { ruler = 'Nectanebo II', rulerlink = '', rulerstart = - 360, rulerend = - 343, coruler = '' }, { ruler = 'Artaxerxes III of Persia', rulerlink = '', rulerstart = - 343, rulerend = - 338, coruler = '' }, { ruler = 'Arses of Persia', rulerlink = '', rulerstart = - 338, rulerend = - 337, coruler = '' }, { ruler = 'Darius III of Persia', rulerlink = '', rulerstart = - 336, rulerend = - 332, coruler = '' }, { ruler = 'Alexander the Great', rulerlink = '', rulerstart = - 332, rulerend = - 323, coruler = '' }, { ruler = 'Ptolemy I Soter', rulerlink = '', rulerstart = - 323, rulerend = - 283, coruler = '' }, { ruler = 'Ptolemy II Philadelphus', rulerlink = '', rulerstart = - 283, rulerend = - 246, coruler = '' }, { ruler = 'Ptolemy III Euergetes', rulerlink = '', rulerstart = - 246, rulerend = - 222, coruler = '' }, { ruler = 'Ptolemy IV Philopator', rulerlink = '', rulerstart = - 221, rulerend = - 204, coruler = '' }, { ruler = 'Ptolemy V Epiphanes', rulerlink = '', rulerstart = - 203, rulerend = - 181, coruler = '' }, { ruler = 'Ptolemy VI Philometor', rulerlink = '', rulerstart = - 180, rulerend = - 145, coruler = '' }, { ruler = 'Ptolemy VIII Physcon', rulerlink = '', rulerstart = - 145, rulerend = - 116, coruler = '' }, { ruler = 'Ptolemy IX Lathyros', rulerlink = '', rulerstart = - 116, rulerend = - 107, coruler = '' }, { ruler = 'Ptolemy X Alexander', rulerlink = '', rulerstart = - 107, rulerend = - 88, coruler = '' }, { ruler = 'Ptolemy IX Lathyros', rulerlink = '', rulerstart = - 88, rulerend = - 81, coruler = '' }, { ruler = 'Ptolemy XII Auletes', rulerlink = '', rulerstart = - 80, rulerend = - 51, coruler = '' }, { ruler = 'Cleopatra VII', rulerlink = '', rulerstart = - 51, rulerend = - 30, coruler = '' }, } lf2lih8h3w5p3d0w6d3fv3nn8p30ywq 153315 153314 2026-10-06T18:15:18Z 511KeV 8268 1 revision imported from [[:en:Module:Ancient_Egypt_kings/data]]: Needed locally 153314 Scribunto text/plain -- This is the data sheet for Module:Ancient Egypt kings return { { ruler = 'Piye', rulerlink = '', rulerstart = - 752, rulerend = - 722, coruler = '' }, { ruler = 'Shabaka', rulerlink = '', rulerstart = - 721, rulerend = - 707, coruler = '' }, { ruler = 'Shebitku', rulerlink = '', rulerstart = - 707, rulerend = - 690, coruler = '' }, { ruler = 'Taharqa', rulerlink = '', rulerstart = - 690, rulerend = - 664, coruler = '' }, { ruler = 'Tantamani', rulerlink = '', rulerstart = - 664, rulerend = - 656, coruler = '' }, { ruler = 'Psamtik I', rulerlink = '', rulerstart = - 664, rulerend = - 610, coruler = '' }, { ruler = 'Necho II', rulerlink = '', rulerstart = - 610, rulerend = - 595, coruler = '' }, { ruler = 'Psamtik II', rulerlink = '', rulerstart = - 595, rulerend = - 589, coruler = '' }, { ruler = 'Apries', rulerlink = '', rulerstart = - 589, rulerend = - 570, coruler = '' }, { ruler = 'Amasis II', rulerlink = '', rulerstart = - 570, rulerend = - 526, coruler = '' }, { ruler = 'Psamtik III', rulerlink = '', rulerstart = - 526, rulerend = - 525, coruler = '' }, { ruler = 'Cambyses II of Persia', rulerlink = '', rulerstart = - 525, rulerend = - 521, coruler = '' }, { ruler = 'Darius I of Persia', rulerlink = '', rulerstart = - 521, rulerend = - 486, coruler = '' }, { ruler = 'Xerxes I of Persia', rulerlink = '', rulerstart = - 485, rulerend = - 465, coruler = '' }, { ruler = 'Artaxerxes I of Persia', rulerlink = '', rulerstart = - 465, rulerend = - 424, coruler = '' }, { ruler = 'Darius II of Persia', rulerlink = '', rulerstart = - 423, rulerend = - 405, coruler = '' }, { ruler = 'Amyrtaeus', rulerlink = '', rulerstart = - 404, rulerend = - 399, coruler = '' }, { ruler = 'Nepherites I', rulerlink = '', rulerstart = - 398, rulerend = - 393, coruler = '' }, { ruler = 'Hakor', rulerlink = '', rulerstart = - 393, rulerend = - 380, coruler = '' }, { ruler = 'Nectanebo I', rulerlink = '', rulerstart = - 380, rulerend = - 362, coruler = '' }, { ruler = 'Djedhor', rulerlink = '', rulerstart = - 362, rulerend = - 360, coruler = '' }, { ruler = 'Nectanebo II', rulerlink = '', rulerstart = - 360, rulerend = - 343, coruler = '' }, { ruler = 'Artaxerxes III of Persia', rulerlink = '', rulerstart = - 343, rulerend = - 338, coruler = '' }, { ruler = 'Arses of Persia', rulerlink = '', rulerstart = - 338, rulerend = - 337, coruler = '' }, { ruler = 'Darius III of Persia', rulerlink = '', rulerstart = - 336, rulerend = - 332, coruler = '' }, { ruler = 'Alexander the Great', rulerlink = '', rulerstart = - 332, rulerend = - 323, coruler = '' }, { ruler = 'Ptolemy I Soter', rulerlink = '', rulerstart = - 323, rulerend = - 283, coruler = '' }, { ruler = 'Ptolemy II Philadelphus', rulerlink = '', rulerstart = - 283, rulerend = - 246, coruler = '' }, { ruler = 'Ptolemy III Euergetes', rulerlink = '', rulerstart = - 246, rulerend = - 222, coruler = '' }, { ruler = 'Ptolemy IV Philopator', rulerlink = '', rulerstart = - 221, rulerend = - 204, coruler = '' }, { ruler = 'Ptolemy V Epiphanes', rulerlink = '', rulerstart = - 203, rulerend = - 181, coruler = '' }, { ruler = 'Ptolemy VI Philometor', rulerlink = '', rulerstart = - 180, rulerend = - 145, coruler = '' }, { ruler = 'Ptolemy VIII Physcon', rulerlink = '', rulerstart = - 145, rulerend = - 116, coruler = '' }, { ruler = 'Ptolemy IX Lathyros', rulerlink = '', rulerstart = - 116, rulerend = - 107, coruler = '' }, { ruler = 'Ptolemy X Alexander', rulerlink = '', rulerstart = - 107, rulerend = - 88, coruler = '' }, { ruler = 'Ptolemy IX Lathyros', rulerlink = '', rulerstart = - 88, rulerend = - 81, coruler = '' }, { ruler = 'Ptolemy XII Auletes', rulerlink = '', rulerstart = - 80, rulerend = - 51, coruler = '' }, { ruler = 'Cleopatra VII', rulerlink = '', rulerstart = - 51, rulerend = - 30, coruler = '' }, } lf2lih8h3w5p3d0w6d3fv3nn8p30ywq فرما:Number sign 10 33061 153340 2021-01-25T01:30:52Z en>Jonesey95 0 Adding unknown parameter tracking through [[:Category:Pages using number sign with unknown parameters]] using [[Module:check for unknown parameters]] 153340 wikitext text/x-wiki <nowiki>#</nowiki>{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using number sign template with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Number sign]] with unknown parameter "_VALUE_"|ignoreblank=y}}<noinclude> {{Documentation}} <!-- Please add categories to the /doc subpage, and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> </noinclude> 4si6ounncqlxvrasiz3fjx7kx7ik707 153341 153340 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Template:Number_sign]]: Needed locally 153340 wikitext text/x-wiki <nowiki>#</nowiki>{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using number sign template with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Number sign]] with unknown parameter "_VALUE_"|ignoreblank=y}}<noinclude> {{Documentation}} <!-- Please add categories to the /doc subpage, and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> </noinclude> 4si6ounncqlxvrasiz3fjx7kx7ik707 فرما:Hash 10 33062 153342 2021-04-13T18:32:41Z en>DB1729 0 Reverted 1 edit by [[Special:Contributions/2401:4900:5813:66C:E03A:9DE8:B6F9:4B7A|2401:4900:5813:66C:E03A:9DE8:B6F9:4B7A]] ([[User talk:2401:4900:5813:66C:E03A:9DE8:B6F9:4B7A|talk]]): Misplaced/stray characters 153342 wikitext text/x-wiki #REDIRECT[[Template:Number sign]]{{R from move}} k4bbtxf4zvm6h17sac3g39dic1z43oa 153343 153342 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Template:Hash]]: Needed locally 153342 wikitext text/x-wiki #REDIRECT[[Template:Number sign]]{{R from move}} k4bbtxf4zvm6h17sac3g39dic1z43oa Module:Armenian 828 33063 153348 2023-09-30T03:29:09Z en>Pppery 0 Changed protection settings for "[[Module:Armenian]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 153348 Scribunto text/plain -- This module implements {{Armenian}}. It converts numbers to old Armenian -- numerals, for numbers from 1-29999. local p = {} function p.main( frame ) -- If we are being called from #invoke, then the number is the first positional -- argument. If not, it is the frame parameter. local num if frame == mw.getCurrentFrame() then num = frame:getParent().args[ 1 ] local frameArgsNum = frame.args[ 1 ] if frameArgsNum then num = frameArgsNum end else num = frame end -- Convert the input to an integer if possible. if type( num ) ~= 'number' then num = tonumber( num ) end if not num then return '' end num = math.floor( num ) -- Exit if the number is not expressible in Armenian numerals. -- FIXME: Check if Armenian numerals can really be made 10,000x bigger through -- overlining them as it says in our article. (That claim is unsourced.) If they -- can, there is code at [[Module:Roman]] that can be stolen from to make it work. if num < 1 or num > 29999 then return '' end local numerals = { { 20000, "Ֆ" }, { 10000, "Օ" }, { 9000, "Ք" }, { 8000, "Փ" }, { 7000, "Ւ" }, { 6000, "Ց" }, { 5000, "Ր" }, { 4000, "Տ" }, { 3000, "Վ" }, { 2000, "Ս" }, { 1000, "Ռ" }, { 900, "Ջ" }, { 800, "Պ" }, { 700, "Չ" }, { 600, "Ո" }, { 500, "Շ" }, { 400, "Ն" }, { 300, "Յ" }, { 200, "Մ" }, { 100, "Ճ" }, { 90, "Ղ" }, { 80, "Ձ" }, { 70, "Հ" }, { 60, "Կ" }, { 50, "Ծ" }, { 40, "Խ" }, { 30, "Լ" }, { 20, "Ի" }, { 10, "Ժ" }, { 9, "Թ" }, { 8, "Ը" }, { 7, "Է" }, { 6, "Զ" }, { 5, "Ե" }, { 4, "Դ" }, { 3, "Գ" }, { 2, "Բ" }, { 1, "Ա" } } local ret = {} for _, v in ipairs( numerals ) do local val, letter = unpack( v ) while num >= val do num = num - val table.insert( ret, letter ) end end return table.concat( ret ) end return p oqsbmhfa7jea4v8rzfmf44mtj16i4zl 153349 153348 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Module:Armenian]]: Needed locally 153348 Scribunto text/plain -- This module implements {{Armenian}}. It converts numbers to old Armenian -- numerals, for numbers from 1-29999. local p = {} function p.main( frame ) -- If we are being called from #invoke, then the number is the first positional -- argument. If not, it is the frame parameter. local num if frame == mw.getCurrentFrame() then num = frame:getParent().args[ 1 ] local frameArgsNum = frame.args[ 1 ] if frameArgsNum then num = frameArgsNum end else num = frame end -- Convert the input to an integer if possible. if type( num ) ~= 'number' then num = tonumber( num ) end if not num then return '' end num = math.floor( num ) -- Exit if the number is not expressible in Armenian numerals. -- FIXME: Check if Armenian numerals can really be made 10,000x bigger through -- overlining them as it says in our article. (That claim is unsourced.) If they -- can, there is code at [[Module:Roman]] that can be stolen from to make it work. if num < 1 or num > 29999 then return '' end local numerals = { { 20000, "Ֆ" }, { 10000, "Օ" }, { 9000, "Ք" }, { 8000, "Փ" }, { 7000, "Ւ" }, { 6000, "Ց" }, { 5000, "Ր" }, { 4000, "Տ" }, { 3000, "Վ" }, { 2000, "Ս" }, { 1000, "Ռ" }, { 900, "Ջ" }, { 800, "Պ" }, { 700, "Չ" }, { 600, "Ո" }, { 500, "Շ" }, { 400, "Ն" }, { 300, "Յ" }, { 200, "Մ" }, { 100, "Ճ" }, { 90, "Ղ" }, { 80, "Ձ" }, { 70, "Հ" }, { 60, "Կ" }, { 50, "Ծ" }, { 40, "Խ" }, { 30, "Լ" }, { 20, "Ի" }, { 10, "Ժ" }, { 9, "Թ" }, { 8, "Ը" }, { 7, "Է" }, { 6, "Զ" }, { 5, "Ե" }, { 4, "Դ" }, { 3, "Գ" }, { 2, "Բ" }, { 1, "Ա" } } local ret = {} for _, v in ipairs( numerals ) do local val, letter = unpack( v ) while num >= val do num = num - val table.insert( ret, letter ) end end return table.concat( ret ) end return p oqsbmhfa7jea4v8rzfmf44mtj16i4zl Module:British regnal year 828 33064 153350 2023-09-30T03:29:27Z en>Pppery 0 Changed protection settings for "[[Module:British regnal year]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require administrator access] (indefinite)) 153350 Scribunto text/plain -- This module implements {{British regnal year}}. It converts a year in the Gregorian -- calendar to the equivalent English or British regnal year. local data = mw.loadData( 'Module:British regnal year/data' ) local p = {} function p.main( frame ) -- If we are being called from #invoke, then the year is the first positional -- argument. If not, it is the frame parameter. local inputYear if frame == mw.getCurrentFrame() then inputYear = frame:getParent().args[ 1 ] local frameArgsYear = frame.args[ 1 ] if frameArgsYear then inputYear = frameArgsYear end else inputYear = frame end -- Convert the input to an integer if possible. Return "N/A" if the input could -- not be converted, or if the converted input is too big or too small. if type( inputYear ) ~= 'number' then inputYear = tonumber( inputYear ) end if not inputYear then return "''N/A''" end local currentYear = tonumber( mw.language.getContentLanguage():formatDate( 'Y' ) ) -- The year 1066 is significant because it is when the Norman conquest of England occurred. if inputYear < 1066 or inputYear > currentYear then return "''N/A''" end -- Find the year in the data page and display the output. for _, t in ipairs( data ) do local dataYear = t.year if inputYear >= dataYear then -- Get data values from the data page. local startYear = t.startYear local currentRegnalYear = inputYear - dataYear + startYear local linkCurrent = t.linkCurrent local prevEndYear = t.prevEndYear local linkPrev = t.linkPrev local note = t.note if inputYear > dataYear then -- Years with the same monarch. return mw.ustring.format( '%d&nbsp;%s&nbsp;–&nbsp;%d&nbsp;%s%s', currentRegnalYear - 1, linkCurrent, currentRegnalYear, linkCurrent, note or '' ) elseif inputYear == dataYear and prevEndYear and linkPrev then -- Years with a different monarch. return mw.ustring.format( '%d&nbsp;%s&nbsp;–&nbsp;%d&nbsp;%s%s', prevEndYear, linkPrev, currentRegnalYear, linkCurrent, note or '' ) else -- This should only match the year 1066. return mw.ustring.format( '%d&nbsp;%s%s', currentRegnalYear, linkCurrent, note or '' ) end end end end return p cimaue3v8expoeneh5xy16j5t1t6jl9 153351 153350 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Module:British_regnal_year]]: Needed locally 153350 Scribunto text/plain -- This module implements {{British regnal year}}. It converts a year in the Gregorian -- calendar to the equivalent English or British regnal year. local data = mw.loadData( 'Module:British regnal year/data' ) local p = {} function p.main( frame ) -- If we are being called from #invoke, then the year is the first positional -- argument. If not, it is the frame parameter. local inputYear if frame == mw.getCurrentFrame() then inputYear = frame:getParent().args[ 1 ] local frameArgsYear = frame.args[ 1 ] if frameArgsYear then inputYear = frameArgsYear end else inputYear = frame end -- Convert the input to an integer if possible. Return "N/A" if the input could -- not be converted, or if the converted input is too big or too small. if type( inputYear ) ~= 'number' then inputYear = tonumber( inputYear ) end if not inputYear then return "''N/A''" end local currentYear = tonumber( mw.language.getContentLanguage():formatDate( 'Y' ) ) -- The year 1066 is significant because it is when the Norman conquest of England occurred. if inputYear < 1066 or inputYear > currentYear then return "''N/A''" end -- Find the year in the data page and display the output. for _, t in ipairs( data ) do local dataYear = t.year if inputYear >= dataYear then -- Get data values from the data page. local startYear = t.startYear local currentRegnalYear = inputYear - dataYear + startYear local linkCurrent = t.linkCurrent local prevEndYear = t.prevEndYear local linkPrev = t.linkPrev local note = t.note if inputYear > dataYear then -- Years with the same monarch. return mw.ustring.format( '%d&nbsp;%s&nbsp;–&nbsp;%d&nbsp;%s%s', currentRegnalYear - 1, linkCurrent, currentRegnalYear, linkCurrent, note or '' ) elseif inputYear == dataYear and prevEndYear and linkPrev then -- Years with a different monarch. return mw.ustring.format( '%d&nbsp;%s&nbsp;–&nbsp;%d&nbsp;%s%s', prevEndYear, linkPrev, currentRegnalYear, linkCurrent, note or '' ) else -- This should only match the year 1066. return mw.ustring.format( '%d&nbsp;%s%s', currentRegnalYear, linkCurrent, note or '' ) end end end end return p cimaue3v8expoeneh5xy16j5t1t6jl9 Module:British regnal year/data 828 33065 153352 2024-04-14T15:30:21Z en>Jonesey95 0 bypass more redirects 153352 Scribunto text/plain -- This is the data for Module:British regnal year. It stores the year that British monarchs -- ascended to the throne, and the links to their Wikipedia articles. return { { year = 2022, linkCurrent = '[[Charles III|Cha.&nbsp;3]]', startYear = 1, linkPrev = '[[Elizabeth II|Eliz.&nbsp;2]]', prevEndYear = 70 }, { year = 1952, linkCurrent = '[[Elizabeth II|Eliz.&nbsp;2]]', startYear = 1, linkPrev = '[[George VI|Geo.&nbsp;6]]', prevEndYear = 16 }, { year = 1937, linkCurrent = '[[George VI|Geo.&nbsp;6]]', startYear = 2, linkPrev = '[[George VI|Geo.&nbsp;6]]', prevEndYear = 1 }, { year = 1936, linkCurrent = '[[George VI|Geo.&nbsp;6]]', startYear = 1, linkPrev = '[[George V|Geo.&nbsp;5]]&nbsp;–&nbsp;1&nbsp;[[Edward VIII|Edw.&nbsp;8]]', prevEndYear = 26 }, { year = 1910, linkCurrent = '[[George V|Geo.&nbsp;5]]', startYear = 1, linkPrev = '[[Edward VII|Edw.&nbsp;7]]', prevEndYear = 10 }, { year = 1901, linkCurrent = '[[Edward VII|Edw.&nbsp;7]]', startYear = 1, linkPrev = '[[Queen Victoria|Vict.&nbsp;1]]', prevEndYear = 64 }, { year = 1837, linkCurrent = '[[Queen Victoria|Vict.&nbsp;1]]', startYear = 1, linkPrev = '[[William IV|Will.&nbsp;4]]', prevEndYear = 7 }, { year = 1830, linkCurrent = '[[William IV|Will.&nbsp;4]]', startYear = 1, linkPrev = '[[George IV|Geo.&nbsp;4]]', prevEndYear = 10 }, { year = 1820, linkCurrent = '[[George IV|Geo.&nbsp;4]]', startYear = 1, linkPrev = '[[George III|Geo.&nbsp;3]]', prevEndYear = 60 }, { year = 1760, linkCurrent = '[[George III|Geo.&nbsp;3]]', startYear = 1, linkPrev = '[[George II of Great Britain|Geo.&nbsp;2]]', prevEndYear = 33 }, { year = 1727, linkCurrent = '[[George II of Great Britain|Geo.&nbsp;2]]', startYear = 1, linkPrev = '[[George I of Great Britain|Geo.&nbsp;1]]', prevEndYear = 13 }, { year = 1714, linkCurrent = '[[George I of Great Britain|Geo.&nbsp;1]]', startYear = 1, linkPrev = '[[Anne, Queen of Great Britain|Ann.&nbsp;1]]', prevEndYear = 12 }, { year = 1702, linkCurrent = '[[Anne, Queen of Great Britain|Ann.&nbsp;1]]', startYear = 1, linkPrev = '[[William III of England|Will.&nbsp;3]]', prevEndYear = 14 }, { year = 1695, linkCurrent = '[[William III of England|Will.&nbsp;3]]', startYear = 8, linkPrev = '[[William III of England|Will.]]&nbsp;&&nbsp;[[Mary II|Mar.]]', prevEndYear = 7 }, { year = 1688, linkCurrent = '[[William III of England|Will.]]&nbsp;&&nbsp;[[Mary II|Mar.]]', startYear = 1, linkPrev = '[[James II of England|Ja.&nbsp;2]]', prevEndYear = 3 }, { year = 1685, linkCurrent = '[[James II of England|Ja.&nbsp;2]]', startYear = 1, linkPrev = '[[Charles II of England|Cha.&nbsp;2]]', prevEndYear = 36 }, { year = 1660, linkCurrent = '[[Charles II of England|Cha.&nbsp;2]]', startYear = 12, linkPrev = '[[Charles II of England|Cha.&nbsp;2]]', prevEndYear = 11 }, { year = 1649, linkCurrent = '[[Charles II of England|Cha.&nbsp;2]]', startYear = 1, linkPrev = '[[Charles I of England|Cha.&nbsp;1]]', prevEndYear = 24, note = "<br />''([[Interregnum (England)|Interregnum]])''" }, { year = 1625, linkCurrent = '[[Charles I of England|Cha.&nbsp;1]]', startYear = 1, linkPrev = '[[James VI and I|Ja.&nbsp;1]]', prevEndYear = 22 }, { year = 1603, linkCurrent = '[[James VI and I|Ja.&nbsp;1]]', startYear = 1, linkPrev = '[[Elizabeth I|Eliz.&nbsp;1]]', prevEndYear = 45 }, { year = 1558, linkCurrent = '[[Elizabeth I|Eliz.&nbsp;1]]', startYear = 1, linkPrev = '[[Philip II of Spain|Ph.]]&nbsp;&&nbsp;[[Mary I of England|M.]]', prevEndYear = 4 }, { year = 1554, linkCurrent = '[[Philip II of Spain|Ph.]]&nbsp;&&nbsp;[[Mary I of England|M.]]', startYear = 1, linkPrev = '[[Mary I of England|Mar.&nbsp;1]]', prevEndYear = 1 }, { year = 1553, linkCurrent = '[[Mary I of England|Mar.&nbsp;1]]', startYear = 1, linkPrev = '[[Edward VI of England|Edw.&nbsp;6]]', prevEndYear = 6 }, { year = 1547, linkCurrent = '[[Edward VI of England|Edw.&nbsp;6]]', startYear = 1, linkPrev = '[[Henry VIII of England|Hen.&nbsp;8]]', prevEndYear = 38 }, { year = 1509, linkCurrent = '[[Henry VIII of England|Hen.&nbsp;8]]', startYear = 1, linkPrev = '[[Henry VII of England|Hen.&nbsp;7]]', prevEndYear = 24 }, { year = 1485, linkCurrent = '[[Henry VII of England|Hen.&nbsp;7]]', startYear = 1, linkPrev = '[[Richard III of England|Ric.&nbsp;3]]', prevEndYear = 2 }, { year = 1483, linkCurrent = '[[Richard III of England|Ric.&nbsp;3]]', startYear = 1, linkPrev = '[[Edward IV of England|Edw.&nbsp;4]]', prevEndYear = 22 }, { year = 1461, linkCurrent = '[[Edward IV of England|Edw.&nbsp;4]]', startYear = 1, linkPrev = '[[Henry VI of England|Hen.&nbsp;6]]', prevEndYear = 39 }, { year = 1422, linkCurrent = '[[Henry VI of England|Hen.&nbsp;6]]', startYear = 1, linkPrev = '[[Henry V of England|Hen.&nbsp;5]]', prevEndYear = 9 }, { year = 1413, linkCurrent = '[[Henry V of England|Hen.&nbsp;5]]', startYear = 1, linkPrev = '[[Henry IV of England|Hen.&nbsp;4]]', prevEndYear = 14 }, { year = 1399, linkCurrent = '[[Henry IV of England|Hen.&nbsp;4]]', startYear = 1, linkPrev = '[[Richard II of England|Ric.&nbsp;2]]', prevEndYear = 22 }, { year = 1377, linkCurrent = '[[Richard II of England|Ric.&nbsp;2]]', startYear = 1, linkPrev = '[[Edward III of England|Edw.&nbsp;3]]', prevEndYear = 50 }, { year = 1327, linkCurrent = '[[Edward III of England|Edw.&nbsp;3]]', startYear = 1, linkPrev = '[[Edward II of England|Edw.&nbsp;2]]', prevEndYear = 20 }, { year = 1307, linkCurrent = '[[Edward II of England|Edw.&nbsp;2]]', startYear = 1, linkPrev = '[[Edward I of England|Edw.&nbsp;1]]', prevEndYear = 35 }, { year = 1272, linkCurrent = '[[Edward I of England|Edw.&nbsp;1]]', startYear = 1, linkPrev = '[[Henry III of England|Hen.&nbsp;3]]', prevEndYear = 56 }, { year = 1216, linkCurrent = '[[Henry III of England|Hen.&nbsp;3]]', startYear = 1, linkPrev = '[[John, King of England|Joh.&nbsp;1]]', prevEndYear = 17 }, { year = 1199, linkCurrent = '[[John, King of England|Joh.&nbsp;1]]', startYear = 1, linkPrev = '[[Richard I of England|Ric.&nbsp;1]]', prevEndYear = 10 }, { year = 1189, linkCurrent = '[[Richard I of England|Ric.&nbsp;1]]', startYear = 1, linkPrev = '[[Henry II of England|Hen.&nbsp;2]]', prevEndYear = 35 }, { year = 1154, linkCurrent = '[[Henry II of England|Hen.&nbsp;2]]', startYear = 1, linkPrev = '[[Stephen, King of England|Ste.&nbsp;1]]', prevEndYear = 19 }, { year = 1135, linkCurrent = '[[Stephen, King of England|Ste.&nbsp;1]]', startYear = 1, linkPrev = '[[Henry I of England|Hen.&nbsp;1]]', prevEndYear = 35 }, { year = 1100, linkCurrent = '[[Henry I of England|Hen.&nbsp;1]]', startYear = 1, linkPrev = '[[William II of England|Will.&nbsp;2]]', prevEndYear = 13 }, { year = 1087, linkCurrent = '[[William II of England|Will.&nbsp;2]]', startYear = 1, linkPrev = '[[William the Conqueror|Will.&nbsp;1]]', prevEndYear = 21 }, { year = 1066, startYear = 1, linkCurrent = '[[William the Conqueror|Will.&nbsp;1]]' } } 3p7deonegyop3gqziaregedc06n3n3h 153353 153352 2026-10-06T18:16:04Z 511KeV 8268 1 revision imported from [[:en:Module:British_regnal_year/data]]: Needed locally 153352 Scribunto text/plain -- This is the data for Module:British regnal year. It stores the year that British monarchs -- ascended to the throne, and the links to their Wikipedia articles. return { { year = 2022, linkCurrent = '[[Charles III|Cha.&nbsp;3]]', startYear = 1, linkPrev = '[[Elizabeth II|Eliz.&nbsp;2]]', prevEndYear = 70 }, { year = 1952, linkCurrent = '[[Elizabeth II|Eliz.&nbsp;2]]', startYear = 1, linkPrev = '[[George VI|Geo.&nbsp;6]]', prevEndYear = 16 }, { year = 1937, linkCurrent = '[[George VI|Geo.&nbsp;6]]', startYear = 2, linkPrev = '[[George VI|Geo.&nbsp;6]]', prevEndYear = 1 }, { year = 1936, linkCurrent = '[[George VI|Geo.&nbsp;6]]', startYear = 1, linkPrev = '[[George V|Geo.&nbsp;5]]&nbsp;–&nbsp;1&nbsp;[[Edward VIII|Edw.&nbsp;8]]', prevEndYear = 26 }, { year = 1910, linkCurrent = '[[George V|Geo.&nbsp;5]]', startYear = 1, linkPrev = '[[Edward VII|Edw.&nbsp;7]]', prevEndYear = 10 }, { year = 1901, linkCurrent = '[[Edward VII|Edw.&nbsp;7]]', startYear = 1, linkPrev = '[[Queen Victoria|Vict.&nbsp;1]]', prevEndYear = 64 }, { year = 1837, linkCurrent = '[[Queen Victoria|Vict.&nbsp;1]]', startYear = 1, linkPrev = '[[William IV|Will.&nbsp;4]]', prevEndYear = 7 }, { year = 1830, linkCurrent = '[[William IV|Will.&nbsp;4]]', startYear = 1, linkPrev = '[[George IV|Geo.&nbsp;4]]', prevEndYear = 10 }, { year = 1820, linkCurrent = '[[George IV|Geo.&nbsp;4]]', startYear = 1, linkPrev = '[[George III|Geo.&nbsp;3]]', prevEndYear = 60 }, { year = 1760, linkCurrent = '[[George III|Geo.&nbsp;3]]', startYear = 1, linkPrev = '[[George II of Great Britain|Geo.&nbsp;2]]', prevEndYear = 33 }, { year = 1727, linkCurrent = '[[George II of Great Britain|Geo.&nbsp;2]]', startYear = 1, linkPrev = '[[George I of Great Britain|Geo.&nbsp;1]]', prevEndYear = 13 }, { year = 1714, linkCurrent = '[[George I of Great Britain|Geo.&nbsp;1]]', startYear = 1, linkPrev = '[[Anne, Queen of Great Britain|Ann.&nbsp;1]]', prevEndYear = 12 }, { year = 1702, linkCurrent = '[[Anne, Queen of Great Britain|Ann.&nbsp;1]]', startYear = 1, linkPrev = '[[William III of England|Will.&nbsp;3]]', prevEndYear = 14 }, { year = 1695, linkCurrent = '[[William III of England|Will.&nbsp;3]]', startYear = 8, linkPrev = '[[William III of England|Will.]]&nbsp;&&nbsp;[[Mary II|Mar.]]', prevEndYear = 7 }, { year = 1688, linkCurrent = '[[William III of England|Will.]]&nbsp;&&nbsp;[[Mary II|Mar.]]', startYear = 1, linkPrev = '[[James II of England|Ja.&nbsp;2]]', prevEndYear = 3 }, { year = 1685, linkCurrent = '[[James II of England|Ja.&nbsp;2]]', startYear = 1, linkPrev = '[[Charles II of England|Cha.&nbsp;2]]', prevEndYear = 36 }, { year = 1660, linkCurrent = '[[Charles II of England|Cha.&nbsp;2]]', startYear = 12, linkPrev = '[[Charles II of England|Cha.&nbsp;2]]', prevEndYear = 11 }, { year = 1649, linkCurrent = '[[Charles II of England|Cha.&nbsp;2]]', startYear = 1, linkPrev = '[[Charles I of England|Cha.&nbsp;1]]', prevEndYear = 24, note = "<br />''([[Interregnum (England)|Interregnum]])''" }, { year = 1625, linkCurrent = '[[Charles I of England|Cha.&nbsp;1]]', startYear = 1, linkPrev = '[[James VI and I|Ja.&nbsp;1]]', prevEndYear = 22 }, { year = 1603, linkCurrent = '[[James VI and I|Ja.&nbsp;1]]', startYear = 1, linkPrev = '[[Elizabeth I|Eliz.&nbsp;1]]', prevEndYear = 45 }, { year = 1558, linkCurrent = '[[Elizabeth I|Eliz.&nbsp;1]]', startYear = 1, linkPrev = '[[Philip II of Spain|Ph.]]&nbsp;&&nbsp;[[Mary I of England|M.]]', prevEndYear = 4 }, { year = 1554, linkCurrent = '[[Philip II of Spain|Ph.]]&nbsp;&&nbsp;[[Mary I of England|M.]]', startYear = 1, linkPrev = '[[Mary I of England|Mar.&nbsp;1]]', prevEndYear = 1 }, { year = 1553, linkCurrent = '[[Mary I of England|Mar.&nbsp;1]]', startYear = 1, linkPrev = '[[Edward VI of England|Edw.&nbsp;6]]', prevEndYear = 6 }, { year = 1547, linkCurrent = '[[Edward VI of England|Edw.&nbsp;6]]', startYear = 1, linkPrev = '[[Henry VIII of England|Hen.&nbsp;8]]', prevEndYear = 38 }, { year = 1509, linkCurrent = '[[Henry VIII of England|Hen.&nbsp;8]]', startYear = 1, linkPrev = '[[Henry VII of England|Hen.&nbsp;7]]', prevEndYear = 24 }, { year = 1485, linkCurrent = '[[Henry VII of England|Hen.&nbsp;7]]', startYear = 1, linkPrev = '[[Richard III of England|Ric.&nbsp;3]]', prevEndYear = 2 }, { year = 1483, linkCurrent = '[[Richard III of England|Ric.&nbsp;3]]', startYear = 1, linkPrev = '[[Edward IV of England|Edw.&nbsp;4]]', prevEndYear = 22 }, { year = 1461, linkCurrent = '[[Edward IV of England|Edw.&nbsp;4]]', startYear = 1, linkPrev = '[[Henry VI of England|Hen.&nbsp;6]]', prevEndYear = 39 }, { year = 1422, linkCurrent = '[[Henry VI of England|Hen.&nbsp;6]]', startYear = 1, linkPrev = '[[Henry V of England|Hen.&nbsp;5]]', prevEndYear = 9 }, { year = 1413, linkCurrent = '[[Henry V of England|Hen.&nbsp;5]]', startYear = 1, linkPrev = '[[Henry IV of England|Hen.&nbsp;4]]', prevEndYear = 14 }, { year = 1399, linkCurrent = '[[Henry IV of England|Hen.&nbsp;4]]', startYear = 1, linkPrev = '[[Richard II of England|Ric.&nbsp;2]]', prevEndYear = 22 }, { year = 1377, linkCurrent = '[[Richard II of England|Ric.&nbsp;2]]', startYear = 1, linkPrev = '[[Edward III of England|Edw.&nbsp;3]]', prevEndYear = 50 }, { year = 1327, linkCurrent = '[[Edward III of England|Edw.&nbsp;3]]', startYear = 1, linkPrev = '[[Edward II of England|Edw.&nbsp;2]]', prevEndYear = 20 }, { year = 1307, linkCurrent = '[[Edward II of England|Edw.&nbsp;2]]', startYear = 1, linkPrev = '[[Edward I of England|Edw.&nbsp;1]]', prevEndYear = 35 }, { year = 1272, linkCurrent = '[[Edward I of England|Edw.&nbsp;1]]', startYear = 1, linkPrev = '[[Henry III of England|Hen.&nbsp;3]]', prevEndYear = 56 }, { year = 1216, linkCurrent = '[[Henry III of England|Hen.&nbsp;3]]', startYear = 1, linkPrev = '[[John, King of England|Joh.&nbsp;1]]', prevEndYear = 17 }, { year = 1199, linkCurrent = '[[John, King of England|Joh.&nbsp;1]]', startYear = 1, linkPrev = '[[Richard I of England|Ric.&nbsp;1]]', prevEndYear = 10 }, { year = 1189, linkCurrent = '[[Richard I of England|Ric.&nbsp;1]]', startYear = 1, linkPrev = '[[Henry II of England|Hen.&nbsp;2]]', prevEndYear = 35 }, { year = 1154, linkCurrent = '[[Henry II of England|Hen.&nbsp;2]]', startYear = 1, linkPrev = '[[Stephen, King of England|Ste.&nbsp;1]]', prevEndYear = 19 }, { year = 1135, linkCurrent = '[[Stephen, King of England|Ste.&nbsp;1]]', startYear = 1, linkPrev = '[[Henry I of England|Hen.&nbsp;1]]', prevEndYear = 35 }, { year = 1100, linkCurrent = '[[Henry I of England|Hen.&nbsp;1]]', startYear = 1, linkPrev = '[[William II of England|Will.&nbsp;2]]', prevEndYear = 13 }, { year = 1087, linkCurrent = '[[William II of England|Will.&nbsp;2]]', startYear = 1, linkPrev = '[[William the Conqueror|Will.&nbsp;1]]', prevEndYear = 21 }, { year = 1066, startYear = 1, linkCurrent = '[[William the Conqueror|Will.&nbsp;1]]' } } 3p7deonegyop3gqziaregedc06n3n3h Module:Convert character width 828 33066 153354 2023-09-30T03:30:30Z en>Pppery 0 Changed protection settings for "[[Module:Convert character width]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require administrator access] (indefinite)) 153354 Scribunto text/plain -- This module converts support characters from half-width to full-width, and vice versa. -- See [[Halfwidth and fullwidth forms]] for an explanation of half- and full-width characters. -- @todo FIXME: Needs more characters adding, needs support for diacritic marks. local data = mw.loadData( 'Module:Convert character width/data' ) local p = {} -- Converts one half-width character to one full-width character. local function getFull( s ) return data[ s ] or s end -- Converts one full-width character to one half-width character. local function getHalf( s ) for half, full in pairs( data ) do if s == full then return half end end return s end -- Converts multiple half-width characters to full-width characters. function p.full( frame ) local s = type( frame ) == 'table' and frame.args and frame.args[ 1 ] or frame s = type( s ) == 'number' and tostring( s ) or s if type( s ) ~= 'string' then return end return ( mw.ustring.gsub( s, '.', getFull ) ) end -- Converts multiple full-width characters to half-width characters. function p.half( frame ) local s = type( frame ) == 'table' and frame.args and frame.args[ 1 ] or frame s = type( s ) == 'number' and tostring( s ) or s if type( s ) ~= 'string' then return end return ( mw.ustring.gsub( s, '.', getHalf ) ) end return p 8hxk1rupqmuwu208z9w8suwqp1u08zw 153355 153354 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Module:Convert_character_width]]: Needed locally 153354 Scribunto text/plain -- This module converts support characters from half-width to full-width, and vice versa. -- See [[Halfwidth and fullwidth forms]] for an explanation of half- and full-width characters. -- @todo FIXME: Needs more characters adding, needs support for diacritic marks. local data = mw.loadData( 'Module:Convert character width/data' ) local p = {} -- Converts one half-width character to one full-width character. local function getFull( s ) return data[ s ] or s end -- Converts one full-width character to one half-width character. local function getHalf( s ) for half, full in pairs( data ) do if s == full then return half end end return s end -- Converts multiple half-width characters to full-width characters. function p.full( frame ) local s = type( frame ) == 'table' and frame.args and frame.args[ 1 ] or frame s = type( s ) == 'number' and tostring( s ) or s if type( s ) ~= 'string' then return end return ( mw.ustring.gsub( s, '.', getFull ) ) end -- Converts multiple full-width characters to half-width characters. function p.half( frame ) local s = type( frame ) == 'table' and frame.args and frame.args[ 1 ] or frame s = type( s ) == 'number' and tostring( s ) or s if type( s ) ~= 'string' then return end return ( mw.ustring.gsub( s, '.', getHalf ) ) end return p 8hxk1rupqmuwu208z9w8suwqp1u08zw Module:Convert character width/data 828 33067 153356 2021-10-26T17:25:21Z en>MusikBot II 0 Changed protection settings for "[[Module:Convert character width/data]]": [[Wikipedia:High-risk templates|High-risk template or module]]: 2783 transclusions ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Require extended confirmed access] (indefinite) [Move=Require administrator access] (indefinite)) 153356 Scribunto text/plain -- This is the data page for [[Module:Convert character width]]. -- TODO: There are quite a few missing characters. See [[Halfwidth and Fullwidth Forms (Unicode block)]] for the full list. local convert = { [" "] = " ", ["!"] = "!", ['"'] = '"', ['#'] = '#', ['$'] = '$', ['\%'] = '%', -- This needs to be escaped, otherwise it generates invalid pattern matches. ['&'] = '&', ["'"] = "'", ['('] = '(', [')'] = ')', ['*'] = '*', ['+'] = '+', [','] = ',', ['-'] = '-', ['.'] = '.', ['/'] = '/', ['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9', [':'] = ':', [';'] = ';', ['<'] = '<', ['='] = '=', ['>'] = '>', ['?'] = '?', ['@'] = '@', ['A'] = 'A', ['B'] = 'B', ['C'] = 'C', ['D'] = 'D', ['E'] = 'E', ['F'] = 'F', ['G'] = 'G', ['H'] = 'H', ['I'] = 'I', ['J'] = 'J', ['K'] = 'K', ['L'] = 'L', ['M'] = 'M', ['N'] = 'N', ['O'] = 'O', ['P'] = 'P', ['Q'] = 'Q', ['R'] = 'R', ['S'] = 'S', ['T'] = 'T', ['U'] = 'U', ['V'] = 'V', ['W'] = 'W', ['X'] = 'X', ['Y'] = 'Y', ['Z'] = 'Z', ['['] = '[', [ [[\]] ] = '\', [']'] = ']', ['^'] = '^', ['_'] = '_', ['`'] = '`', ['a'] = 'a', ['b'] = 'b', ['c'] = 'c', ['d'] = 'd', ['e'] = 'e', ['f'] = 'f', ['g'] = 'g', ['h'] = 'h', ['i'] = 'i', ['j'] = 'j', ['k'] = 'k', ['l'] = 'l', ['m'] = 'm', ['n'] = 'n', ['o'] = 'o', ['p'] = 'p', ['q'] = 'q', ['r'] = 'r', ['s'] = 's', ['t'] = 't', ['u'] = 'u', ['v'] = 'v', ['w'] = 'w', ['x'] = 'x', ['y'] = 'y', ['z'] = 'z', ['{'] = '{', ['|'] = '|', ['}'] = '}', ['~'] = '~', --[[ -- TODO: The following need to be converted to the correct characters. [''] = '⦅', [''] = '⦆', [''] = '。', [''] = '「', [''] = '」', [''] = '、', [''] = '・', --]] ['ヲ'] = 'ヲ', ['ァ'] = 'ァ', ['ィ'] = 'ィ', ['ゥ'] = 'ゥ', ['ェ'] = 'ェ', ['ォ'] = 'ォ', ['ャ'] = 'ャ', ['ュ'] = 'ュ', ['ョ'] = 'ョ', ['ッ'] = 'ッ', ['ー'] = 'ー', ['ア'] = 'ア', ['イ'] = 'イ', ['ウ'] = 'ウ', ['エ'] = 'エ', ['オ'] = 'オ', ['カ'] = 'カ', ['キ'] = 'キ', ['ク'] = 'ク', ['ケ'] = 'ケ', ['コ'] = 'コ', ['サ'] = 'サ', ['シ'] = 'シ', ['ス'] = 'ス', ['セ'] = 'セ', ['ソ'] = 'ソ', ['タ'] = 'タ', ['チ'] = 'チ', ['ツ'] = 'ツ', ['テ'] = 'テ', ['ト'] = 'ト', ['ナ'] = 'ナ', ['ニ'] = 'ニ', ['ヌ'] = 'ヌ', ['ネ'] = 'ネ', ['ノ'] = 'ノ', ['ハ'] = 'ハ', ['ヒ'] = 'ヒ', ['フ'] = 'フ', ['ヘ'] = 'ヘ', ['ホ'] = 'ホ', ['マ'] = 'マ', ['ミ'] = 'ミ', ['ム'] = 'ム', ['メ'] = 'メ', ['モ'] = 'モ', ['ヤ'] = 'ヤ', ['ユ'] = 'ユ', ['ヨ'] = 'ヨ', ['ラ'] = 'ラ', ['リ'] = 'リ', ['ル'] = 'ル', ['レ'] = 'レ', ['ロ'] = 'ロ', ['ワ'] = 'ワ', ['ン'] = 'ン' } return convert dfpo1iuza15u1ovdg02esz9kwufw9pe 153357 153356 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Module:Convert_character_width/data]]: Needed locally 153356 Scribunto text/plain -- This is the data page for [[Module:Convert character width]]. -- TODO: There are quite a few missing characters. See [[Halfwidth and Fullwidth Forms (Unicode block)]] for the full list. local convert = { [" "] = " ", ["!"] = "!", ['"'] = '"', ['#'] = '#', ['$'] = '$', ['\%'] = '%', -- This needs to be escaped, otherwise it generates invalid pattern matches. ['&'] = '&', ["'"] = "'", ['('] = '(', [')'] = ')', ['*'] = '*', ['+'] = '+', [','] = ',', ['-'] = '-', ['.'] = '.', ['/'] = '/', ['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9', [':'] = ':', [';'] = ';', ['<'] = '<', ['='] = '=', ['>'] = '>', ['?'] = '?', ['@'] = '@', ['A'] = 'A', ['B'] = 'B', ['C'] = 'C', ['D'] = 'D', ['E'] = 'E', ['F'] = 'F', ['G'] = 'G', ['H'] = 'H', ['I'] = 'I', ['J'] = 'J', ['K'] = 'K', ['L'] = 'L', ['M'] = 'M', ['N'] = 'N', ['O'] = 'O', ['P'] = 'P', ['Q'] = 'Q', ['R'] = 'R', ['S'] = 'S', ['T'] = 'T', ['U'] = 'U', ['V'] = 'V', ['W'] = 'W', ['X'] = 'X', ['Y'] = 'Y', ['Z'] = 'Z', ['['] = '[', [ [[\]] ] = '\', [']'] = ']', ['^'] = '^', ['_'] = '_', ['`'] = '`', ['a'] = 'a', ['b'] = 'b', ['c'] = 'c', ['d'] = 'd', ['e'] = 'e', ['f'] = 'f', ['g'] = 'g', ['h'] = 'h', ['i'] = 'i', ['j'] = 'j', ['k'] = 'k', ['l'] = 'l', ['m'] = 'm', ['n'] = 'n', ['o'] = 'o', ['p'] = 'p', ['q'] = 'q', ['r'] = 'r', ['s'] = 's', ['t'] = 't', ['u'] = 'u', ['v'] = 'v', ['w'] = 'w', ['x'] = 'x', ['y'] = 'y', ['z'] = 'z', ['{'] = '{', ['|'] = '|', ['}'] = '}', ['~'] = '~', --[[ -- TODO: The following need to be converted to the correct characters. [''] = '⦅', [''] = '⦆', [''] = '。', [''] = '「', [''] = '」', [''] = '、', [''] = '・', --]] ['ヲ'] = 'ヲ', ['ァ'] = 'ァ', ['ィ'] = 'ィ', ['ゥ'] = 'ゥ', ['ェ'] = 'ェ', ['ォ'] = 'ォ', ['ャ'] = 'ャ', ['ュ'] = 'ュ', ['ョ'] = 'ョ', ['ッ'] = 'ッ', ['ー'] = 'ー', ['ア'] = 'ア', ['イ'] = 'イ', ['ウ'] = 'ウ', ['エ'] = 'エ', ['オ'] = 'オ', ['カ'] = 'カ', ['キ'] = 'キ', ['ク'] = 'ク', ['ケ'] = 'ケ', ['コ'] = 'コ', ['サ'] = 'サ', ['シ'] = 'シ', ['ス'] = 'ス', ['セ'] = 'セ', ['ソ'] = 'ソ', ['タ'] = 'タ', ['チ'] = 'チ', ['ツ'] = 'ツ', ['テ'] = 'テ', ['ト'] = 'ト', ['ナ'] = 'ナ', ['ニ'] = 'ニ', ['ヌ'] = 'ヌ', ['ネ'] = 'ネ', ['ノ'] = 'ノ', ['ハ'] = 'ハ', ['ヒ'] = 'ヒ', ['フ'] = 'フ', ['ヘ'] = 'ヘ', ['ホ'] = 'ホ', ['マ'] = 'マ', ['ミ'] = 'ミ', ['ム'] = 'ム', ['メ'] = 'メ', ['モ'] = 'モ', ['ヤ'] = 'ヤ', ['ユ'] = 'ユ', ['ヨ'] = 'ヨ', ['ラ'] = 'ラ', ['リ'] = 'リ', ['ル'] = 'ル', ['レ'] = 'レ', ['ロ'] = 'ロ', ['ワ'] = 'ワ', ['ン'] = 'ン' } return convert dfpo1iuza15u1ovdg02esz9kwufw9pe Module:Japanese calendar 828 33068 153358 2023-09-30T03:29:55Z en>Pppery 0 Changed protection settings for "[[Module:Japanese calendar]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require administrator access] (indefinite)) 153358 Scribunto text/plain -- This module defines an "era" class for processing eras in the Japanese calendar. -- It also contains functions to export the class properties to #invoke. local eras = mw.loadData( 'Module:Japanese calendar/data' ) local halfToFull = require( 'Module:Convert character width' ).full -- Converts half-width characters to full-width characters. -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function yearToEraIndex( year ) year = tonumber( year ) if type( year ) ~= 'number' then return end for i, t in ipairs( eras ) do if year > t.startYear then return i elseif year == t.startYear then if eras[ i + 1 ] and eras[ i + 1 ].startYear == t.startYear then -- This checks for occasions when there were more than two eras in the same year. At the moment, that only applies to the year 686. return i + 1 else return i end end end end local function textToEraIndex( s ) if not s or s == '' then return end sTitle = mw.title.new( s ) for i, t in ipairs( eras ) do if t.article and t.article ~= '' then tTitle = mw.title.new( t.article ) if mw.title.equals( sTitle.redirectTarget or sTitle, tTitle.redirectTarget or tTitle ) then return i end end if s == t.kanji then return i end end end -------------------------------------------------------------------- -- Era class definition -------------------------------------------------------------------- local era = {} era.__index = era function era:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Grab the data from the init table. obj.gregorianYear = tonumber( init.year ) local initText = type( init.era ) == 'string' and init.era or nil local initIndex = tonumber( init.index ) if not ( initIndex and initIndex >= 1 and math.floor( initIndex ) == initIndex and initIndex ~= math.huge ) then -- Check that initIndex is a positive integer. initIndex = nil end -- Calculate the era data from the input. First we find the era from the era index, although this is only supposed -- to be for internal use. Next we find the era from the era name or the kanji if possible, as this allows us to -- specify the last year of one era rather than the first year of the next one, if that is the desired behaviour. local eraIndex if initIndex then eraIndex = initIndex elseif initText then eraIndex = textToEraIndex( initText ) elseif obj.gregorianYear then eraIndex = yearToEraIndex( obj.gregorianYear ) end -- If the data entry was found for the era, process it and add it to the object. if not eraIndex then return end local eraData = eras[ eraIndex ] if not eraData or not eraData.article or eraData.article == '' then return end -- Exit if we are not dealing with a valid era. obj.startYear = eraData.startYear obj.endYear = eraData.endYear obj.article = eraData.article obj.kanji = eraData.kanji obj.label = eraData.label -- Create a link to the era article if possible. if obj.label and obj.article then obj.link = mw.ustring.format( '[[%s|%s]]', obj.article, obj.label ) elseif obj.article then obj.link = mw.ustring.format( '[[%s]]', obj.article ) end -- Allow matching years to different eras, but only for the first year of the next era. For example, Taisho 15 is also Showa 1, but there is no such thing as Taisho 16. -- So, the code era:new{ year = 1926, era = "Taishō" } will return an object with an eraYear of 15, and era:new{ year = 1926 } will return an object with an eraYear of 1. local nextEraData = eras[ eraIndex - 1 ] local nextStartYear = nextEraData and nextEraData.startYear if obj.gregorianYear and ( -- If there is a later era, only allow the first year of that era or an earlier year. not nextStartYear or ( nextStartYear and obj.gregorianYear <= nextStartYear ) ) and obj.gregorianYear >= obj.startYear -- Don't allow negative years. and obj.article ~= '' -- Don't allow periods between named eras. and ( obj.endYear and obj.gregorianYear <= obj.endYear or true ) -- If this era has an end year, don't allow years that are greater than the end year. then obj.eraYear = obj.gregorianYear - obj.startYear + 1 if obj.eraYear == 1 then obj.eraYearKanji = '元' else obj.eraYearKanji = halfToFull( obj.eraYear ) end end -- Make sure obj.label is available even if it is the same as the article name. obj.label = obj.label or obj.article -- Add methods to get the next and previous eras. function obj:getNextEra() if not eraIndex then return end return era:new{ index = eraIndex - 1, year = obj.gregorianYear } end function obj:getPreviousEra() if not eraIndex then return end return era:new{ index = eraIndex + 1, year = obj.gregorianYear } end -- Gets the era object for the "old" era. In most cases this is the same as the current era object, but -- if the era year for the current object is 1, this method will return the era object for the previous -- era. If the method can't find a valid previous era it will return the object for the current era. function obj:getOldEra() if obj.eraYear == 1 then local prevEra = obj:getPreviousEra() if prevEra then return prevEra else return obj end else return obj end end return setmetatable( obj, { __index = self }) end -------------------------------------------------------------------- -- Interface for old Japanese calendar templates -------------------------------------------------------------------- local function getStartYear( obj ) return obj.startYear end local function getEndYear( obj ) return obj.endYear end local function getEraYear( obj ) return obj.eraYear end local function getEraYearKanji( obj ) return obj.eraYearKanji end local function getArticle( obj ) return obj.article end local function getLabel( obj ) return obj.label end local function getLink( obj ) return obj.link end local function getKanji( obj ) return obj.kanji end local function getLabelAndEraYear( obj, kanji ) local eraYear = kanji and obj.eraYearKanji or obj.eraYear if obj.label and eraYear then return mw.ustring.format( '%s %s', obj.label, tostring( eraYear ) ) end end local function getLinkAndEraYear( obj, kanji ) local eraYear = kanji and obj.eraYearKanji or obj.eraYear if obj.link and eraYear then return mw.ustring.format( '%s %s', obj.link, tostring( eraYear ) ) end end local function getLabelAndEraYearKanji( obj ) return getLabelAndEraYear( obj, true ) end local function getLinkAndEraYearKanji( obj ) return getLinkAndEraYear( obj, true ) end -- Process the arguments from #invoke. local function makeWrapper( func ) return function( frame ) -- If called via #invoke, use the args passed into the invoking -- template, or the args passed to #invoke if any exist. Otherwise -- assume args are being passed directly in from the debug console -- or from another Lua module. local origArgs if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args for k, v in pairs( frame.args ) do origArgs = frame.args break end else origArgs = frame end -- Trim whitespace and remove blank arguments. local args = {} for k, v in pairs( origArgs ) do if type( v ) == 'string' then v = mw.text.trim( v ) end if v ~= '' then args[k] = v end end local myEra local otherEraArgs = {} table.insert( otherEraArgs, args.next ) table.insert( otherEraArgs, args.previous ) table.insert( otherEraArgs, args.old ) if #otherEraArgs > 1 then return '<strong class="error">[[Module:Japanese calendar]] error: you can only specify one parameter out of "next", "previous" and "old".</strong>' elseif args.next then myEra = era:new( args ):getNextEra() elseif args.previous then myEra = era:new( args ):getPreviousEra() elseif args.old then myEra = era:new( args ):getOldEra() else myEra = era:new( args ) end return myEra and func( myEra ) or '' end end -------------------------------------------------------------------- -- Return the era class and the template interface -------------------------------------------------------------------- return { era = function () return era end, -- Accessor function for getting the era class from other modules. baseyear = makeWrapper( getStartYear ), endyear = makeWrapper( getEndYear ), year = makeWrapper( getEraYear ), kanjiyear = makeWrapper( getEraYearKanji ), article = makeWrapper( getArticle ), label = makeWrapper( getLabel ), link = makeWrapper( getLink ), kanji = makeWrapper( getKanji ), label_year = makeWrapper( getLabelAndEraYear ), link_year = makeWrapper( getLinkAndEraYear ), label_kanjiyear = makeWrapper( getLabelAndEraYearKanji ), link_kanjiyear = makeWrapper( getLinkAndEraYearKanji ) } 46zavo74df7xp6m8jbna2gwf8xjt6pb 153359 153358 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Module:Japanese_calendar]]: Needed locally 153358 Scribunto text/plain -- This module defines an "era" class for processing eras in the Japanese calendar. -- It also contains functions to export the class properties to #invoke. local eras = mw.loadData( 'Module:Japanese calendar/data' ) local halfToFull = require( 'Module:Convert character width' ).full -- Converts half-width characters to full-width characters. -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function yearToEraIndex( year ) year = tonumber( year ) if type( year ) ~= 'number' then return end for i, t in ipairs( eras ) do if year > t.startYear then return i elseif year == t.startYear then if eras[ i + 1 ] and eras[ i + 1 ].startYear == t.startYear then -- This checks for occasions when there were more than two eras in the same year. At the moment, that only applies to the year 686. return i + 1 else return i end end end end local function textToEraIndex( s ) if not s or s == '' then return end sTitle = mw.title.new( s ) for i, t in ipairs( eras ) do if t.article and t.article ~= '' then tTitle = mw.title.new( t.article ) if mw.title.equals( sTitle.redirectTarget or sTitle, tTitle.redirectTarget or tTitle ) then return i end end if s == t.kanji then return i end end end -------------------------------------------------------------------- -- Era class definition -------------------------------------------------------------------- local era = {} era.__index = era function era:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Grab the data from the init table. obj.gregorianYear = tonumber( init.year ) local initText = type( init.era ) == 'string' and init.era or nil local initIndex = tonumber( init.index ) if not ( initIndex and initIndex >= 1 and math.floor( initIndex ) == initIndex and initIndex ~= math.huge ) then -- Check that initIndex is a positive integer. initIndex = nil end -- Calculate the era data from the input. First we find the era from the era index, although this is only supposed -- to be for internal use. Next we find the era from the era name or the kanji if possible, as this allows us to -- specify the last year of one era rather than the first year of the next one, if that is the desired behaviour. local eraIndex if initIndex then eraIndex = initIndex elseif initText then eraIndex = textToEraIndex( initText ) elseif obj.gregorianYear then eraIndex = yearToEraIndex( obj.gregorianYear ) end -- If the data entry was found for the era, process it and add it to the object. if not eraIndex then return end local eraData = eras[ eraIndex ] if not eraData or not eraData.article or eraData.article == '' then return end -- Exit if we are not dealing with a valid era. obj.startYear = eraData.startYear obj.endYear = eraData.endYear obj.article = eraData.article obj.kanji = eraData.kanji obj.label = eraData.label -- Create a link to the era article if possible. if obj.label and obj.article then obj.link = mw.ustring.format( '[[%s|%s]]', obj.article, obj.label ) elseif obj.article then obj.link = mw.ustring.format( '[[%s]]', obj.article ) end -- Allow matching years to different eras, but only for the first year of the next era. For example, Taisho 15 is also Showa 1, but there is no such thing as Taisho 16. -- So, the code era:new{ year = 1926, era = "Taishō" } will return an object with an eraYear of 15, and era:new{ year = 1926 } will return an object with an eraYear of 1. local nextEraData = eras[ eraIndex - 1 ] local nextStartYear = nextEraData and nextEraData.startYear if obj.gregorianYear and ( -- If there is a later era, only allow the first year of that era or an earlier year. not nextStartYear or ( nextStartYear and obj.gregorianYear <= nextStartYear ) ) and obj.gregorianYear >= obj.startYear -- Don't allow negative years. and obj.article ~= '' -- Don't allow periods between named eras. and ( obj.endYear and obj.gregorianYear <= obj.endYear or true ) -- If this era has an end year, don't allow years that are greater than the end year. then obj.eraYear = obj.gregorianYear - obj.startYear + 1 if obj.eraYear == 1 then obj.eraYearKanji = '元' else obj.eraYearKanji = halfToFull( obj.eraYear ) end end -- Make sure obj.label is available even if it is the same as the article name. obj.label = obj.label or obj.article -- Add methods to get the next and previous eras. function obj:getNextEra() if not eraIndex then return end return era:new{ index = eraIndex - 1, year = obj.gregorianYear } end function obj:getPreviousEra() if not eraIndex then return end return era:new{ index = eraIndex + 1, year = obj.gregorianYear } end -- Gets the era object for the "old" era. In most cases this is the same as the current era object, but -- if the era year for the current object is 1, this method will return the era object for the previous -- era. If the method can't find a valid previous era it will return the object for the current era. function obj:getOldEra() if obj.eraYear == 1 then local prevEra = obj:getPreviousEra() if prevEra then return prevEra else return obj end else return obj end end return setmetatable( obj, { __index = self }) end -------------------------------------------------------------------- -- Interface for old Japanese calendar templates -------------------------------------------------------------------- local function getStartYear( obj ) return obj.startYear end local function getEndYear( obj ) return obj.endYear end local function getEraYear( obj ) return obj.eraYear end local function getEraYearKanji( obj ) return obj.eraYearKanji end local function getArticle( obj ) return obj.article end local function getLabel( obj ) return obj.label end local function getLink( obj ) return obj.link end local function getKanji( obj ) return obj.kanji end local function getLabelAndEraYear( obj, kanji ) local eraYear = kanji and obj.eraYearKanji or obj.eraYear if obj.label and eraYear then return mw.ustring.format( '%s %s', obj.label, tostring( eraYear ) ) end end local function getLinkAndEraYear( obj, kanji ) local eraYear = kanji and obj.eraYearKanji or obj.eraYear if obj.link and eraYear then return mw.ustring.format( '%s %s', obj.link, tostring( eraYear ) ) end end local function getLabelAndEraYearKanji( obj ) return getLabelAndEraYear( obj, true ) end local function getLinkAndEraYearKanji( obj ) return getLinkAndEraYear( obj, true ) end -- Process the arguments from #invoke. local function makeWrapper( func ) return function( frame ) -- If called via #invoke, use the args passed into the invoking -- template, or the args passed to #invoke if any exist. Otherwise -- assume args are being passed directly in from the debug console -- or from another Lua module. local origArgs if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args for k, v in pairs( frame.args ) do origArgs = frame.args break end else origArgs = frame end -- Trim whitespace and remove blank arguments. local args = {} for k, v in pairs( origArgs ) do if type( v ) == 'string' then v = mw.text.trim( v ) end if v ~= '' then args[k] = v end end local myEra local otherEraArgs = {} table.insert( otherEraArgs, args.next ) table.insert( otherEraArgs, args.previous ) table.insert( otherEraArgs, args.old ) if #otherEraArgs > 1 then return '<strong class="error">[[Module:Japanese calendar]] error: you can only specify one parameter out of "next", "previous" and "old".</strong>' elseif args.next then myEra = era:new( args ):getNextEra() elseif args.previous then myEra = era:new( args ):getPreviousEra() elseif args.old then myEra = era:new( args ):getOldEra() else myEra = era:new( args ) end return myEra and func( myEra ) or '' end end -------------------------------------------------------------------- -- Return the era class and the template interface -------------------------------------------------------------------- return { era = function () return era end, -- Accessor function for getting the era class from other modules. baseyear = makeWrapper( getStartYear ), endyear = makeWrapper( getEndYear ), year = makeWrapper( getEraYear ), kanjiyear = makeWrapper( getEraYearKanji ), article = makeWrapper( getArticle ), label = makeWrapper( getLabel ), link = makeWrapper( getLink ), kanji = makeWrapper( getKanji ), label_year = makeWrapper( getLabelAndEraYear ), link_year = makeWrapper( getLinkAndEraYear ), label_kanjiyear = makeWrapper( getLabelAndEraYearKanji ), link_kanjiyear = makeWrapper( getLinkAndEraYearKanji ) } 46zavo74df7xp6m8jbna2gwf8xjt6pb Module:Japanese calendar/data 828 33069 153360 2023-09-30T03:30:11Z en>Pppery 0 Changed protection settings for "[[Module:Japanese calendar/data]]": Up to template-protection as dependency of template-protected [[Module:Year in various calendars]] ([Edit=Require template editor access] (indefinite) [Move=Require administrator access] (indefinite)) 153360 Scribunto text/plain -- This module stores the data for [[Module:Japanese calendar]]. The formatting is as follows: -- -- { -- article = "Shōwa (1926–1989)", -- The Wikipedia article about the era. -- startYear = 1926, -- The year that the era started. -- endYear = 1989, -- The year that the era ended. -- kanji = "昭和", -- The kanji for the era. -- label = "Shōwa" -- The romaji for the era, if the article name is disambiguated. -- }, -- -- The "label" field may be absent some or most of the time, and the "article" and "kanji" values -- may be set to "" (the blank string) if it is a period between era names. -- See [[Japanese era name]] for more details on era names and how they correspond to -- Gregorian calendar years. eras = { { article = "Reiwa", startYear = 2019, kanji = "令和", }, { article = "Heisei", startYear = 1989, endyear = 2019, kanji = "平成", }, { article = "Shōwa (1926–1989)", startYear = 1926, endYear = 1989, kanji = "昭和", label = "Shōwa" }, { article = "Taishō", startYear = 1912, endYear = 1926, kanji = "大正", }, { article = "Meiji (era)", startYear = 1868, endYear = 1912, kanji = "明治", label = "Meiji" }, { article = "Keiō", startYear = 1865, endYear = 1868, kanji = "慶応" }, { article = "Genji (era)", startYear = 1864, endYear = 1865, kanji = "元治", label = "Genji" }, { article = "Bunkyū", startYear = 1861, endYear = 1864, kanji = "文久" }, { article = "Man'en", startYear = 1860, endYear = 1861, kanji = "万延" }, { article = "Ansei", startYear = 1854, endYear = 1860, kanji = "安政" }, { article = "Kaei", startYear = 1848, endYear = 1854, kanji = "嘉永" }, { article = "Kōka", startYear = 1844, endYear = 1848, kanji = "弘化" }, { article = "Tenpō", startYear = 1830, endYear = 1844, kanji = "天保" }, { article = "Bunsei", startYear = 1818, endYear = 1830, kanji = "文政" }, { article = "Bunka", startYear = 1804, endYear = 1818, kanji = "文化" }, { article = "Kyōwa", startYear = 1802, endYear = 1804, kanji = "享和" }, { article = "Kansei", startYear = 1789, endYear = 1802, kanji = "寛政" }, { article = "Tenmei", startYear = 1781, endYear = 1789, kanji = "天明" }, { article = "An'ei", startYear = 1772, endYear = 1781, kanji = "安永" }, { article = "Meiwa", startYear = 1764, endYear = 1772, kanji = "明和" }, { article = "Hōreki", startYear = 1751, endYear = 1764, kanji = "宝暦" }, { article = "Kan'en", startYear = 1748, endYear = 1751, kanji = "寛延" }, { article = "Enkyō (Edo period)", startYear = 1744, endYear = 1748, kanji = "延享", label = "Enkyō" }, { article = "Kanpō", startYear = 1741, endYear = 1744, kanji = "寛保" }, { article = "Genbun", startYear = 1736, endYear = 1741, kanji = "元文" }, { article = "Kyōhō", startYear = 1716, endYear = 1736, kanji = "享保" }, { article = "Shōtoku (era)", startYear = 1711, endYear = 1716, kanji = "正徳", label = "Shōtoku" }, { article = "Hōei", startYear = 1704, endYear = 1711, kanji = "宝永" }, { article = "Genroku", startYear = 1688, endYear = 1704, kanji = "元禄" }, { article = "Jōkyō", startYear = 1684, endYear = 1688, kanji = "貞享" }, { article = "Tenna", startYear = 1681, endYear = 1684, kanji = "天和" }, { article = "Enpō", startYear = 1673, endYear = 1681, kanji = "延宝" }, { article = "Kanbun (era)", startYear = 1661, endYear = 1673, kanji = "寛文", label = "Kanbun" }, { article = "Manji (era)", startYear = 1658, endYear = 1661, kanji = "万治", label = "Manji" }, { article = "Meireki", startYear = 1655, endYear = 1658, kanji = "明暦" }, { article = "Jōō (Edo period)", startYear = 1652, endYear = 1655, kanji = "承応", label = "Jōō" }, { article = "Keian", startYear = 1648, endYear = 1652, kanji = "慶安" }, { article = "Shōhō", startYear = 1644, endYear = 1648, kanji = "正保" }, { article = "Kan'ei", startYear = 1624, endYear = 1644, kanji = "寛永" }, { article = "Genna", startYear = 1615, endYear = 1624, kanji = "元和" }, { article = "Keichō", startYear = 1596, endYear = 1615, kanji = "慶長" }, { article = "Bunroku", startYear = 1592, endYear = 1596, kanji = "文禄" }, { article = "Tenshō (Momoyama period)", startYear = 1573, endYear = 1592, kanji = "天正", label = "Tenshō" }, { article = "Genki (era)", startYear = 1570, endYear = 1573, kanji = "元亀", label = "Genki" }, { article = "Eiroku", startYear = 1558, endYear = 1570, kanji = "永禄" }, { article = "Kōji (Muromachi period)", startYear = 1555, endYear = 1558, kanji = "弘治", label = "Kōji" }, { article = "Tenbun", startYear = 1532, endYear = 1555, kanji = "天文" }, { article = "Kyōroku", startYear = 1528, endYear = 1532, kanji = "享禄" }, { article = "Daiei (era)", startYear = 1521, endYear = 1528, kanji = "大永", label = "Daiei" }, { article = "Eishō (Muromachi period)", startYear = 1504, endYear = 1521, kanji = "永正", label = "Eishō" }, { article = "Bunki", startYear = 1501, endYear = 1504, kanji = "文亀" }, { article = "Meiō", startYear = 1492, endYear = 1501, kanji = "明応", }, { article = "Entoku", startYear = 1489, endYear = 1492, kanji = "延徳" }, { article = "Chōkyō", startYear = 1487, endYear = 1489, kanji = "長享" }, { article = "Bunmei", startYear = 1469, endYear = 1487, kanji = "文明" }, { article = "Ōnin", startYear = 1467, endYear = 1469, kanji = "応仁" }, { article = "Bunshō", startYear = 1466, endYear = 1467, kanji = "文正" }, { article = "Kanshō", startYear = 1460, endYear = 1466, kanji = "寛正" }, { article = "Chōroku", startYear = 1457, endYear = 1460, kanji = "長禄" }, { article = "Kōshō", startYear = 1455, endYear = 1457, kanji = "康正" }, { article = "Kyōtoku", startYear = 1452, endYear = 1455, kanji = "享徳" }, { article = "Hōtoku", startYear = 1449, endYear = 1452, kanji = "宝徳" }, { article = "Bun'an", startYear = 1444, endYear = 1449, kanji = "文安" }, { article = "Kakitsu", startYear = 1441, endYear = 1444, kanji = "嘉吉" }, { article = "Eikyō", startYear = 1429, endYear = 1441, kanji = "永享" }, { article = "Shocho", startYear = 1428, endYear = 1429, kanji = "正長" }, { article = "Ōei", startYear = 1394, endYear = 1428, kanji = "応永" }, { article = "Meitoku", startYear = 1390, endYear = 1394, kanji = "明徳" }, { article = "Kōō", startYear = 1389, endYear = 1390, kanji = "康応" }, { article = "Kakei", startYear = 1387, endYear = 1389, kanji = "嘉慶" }, { article = "Shitoku", startYear = 1384, endYear = 1387, kanji = "至徳" }, { article = "Eitoku", startYear = 1381, endYear = 1384, kanji = "永徳" }, { article = "Kōryaku", startYear = 1379, endYear = 1381, kanji = "康暦" }, { article = "Eiwa", startYear = 1375, endYear = 1379, kanji = "永和" }, { article = "Ōan", startYear = 1368, endYear = 1375, kanji = "応安" }, { article = "Jōji", startYear = 1362, endYear = 1368, kanji = "貞治" }, { article = "Kōan (Muromachi period)", startYear = 1361, endYear = 1362, kanji = "康安", label = "Kōan" }, { article = "Enbun", startYear = 1356, endYear = 1361, kanji = "延文" }, { article = "Bunna", startYear = 1352, endYear = 1356, kanji = "文和" }, { article = "Kannō", startYear = 1350, endYear = 1352, kanji = "観応" }, { article = "Jōwa (Muromachi period)", startYear = 1345, endYear = 1350, kanji = "貞和", label = "Jōwa" }, { article = "Kōei", startYear = 1342, endYear = 1345, kanji = "康永" }, { article = "Ryakuō", startYear = 1338, endYear = 1342, kanji = "暦応" }, { article = "Shōkei", startYear = 1332, endYear = 1338, kanji = "正慶" }, { article = "Kenmu", startYear = 1334, endYear = 1332, kanji = "建武" }, { article = "Genkō (second)", startYear = 1331, endYear = 1334, kanji = "元弘", label = "Genkō" }, { article = "Gentoku", startYear = 1329, endYear = 1331, kanji = "元徳" }, { article = "Karyaku", startYear = 1326, endYear = 1329, kanji = "嘉暦" }, { article = "Shōchū (era)", startYear = 1324, endYear = 1326, kanji = "正中", label = "Shōchū" }, { article = "Genkō (first)", startYear = 1321, endYear = 1324, kanji = "元亨", label = "Genkō" }, { article = "Gen'ō", startYear = 1319, endYear = 1321, kanji = "元応" }, { article = "Bunpō", startYear = 1317, endYear = 1319, kanji = "文保" }, { article = "Shōwa (1312–1317)", startYear = 1312, endYear = 1317, kanji = "正和", label = "Shōwa" }, { article = "Ōchō", startYear = 1311, endYear = 1312, kanji = "応長" }, { article = "Enkyō (Kamakura period)", startYear = 1308, endYear = 1311, kanji = "延慶", label = "Enkyō" }, { article = "Tokuji", startYear = 1306, endYear = 1308, kanji = "徳治" }, { article = "Kagen", startYear = 1303, endYear = 1306, kanji = "嘉元" }, { article = "Kengen", startYear = 1302, endYear = 1303, kanji = "乾元" }, { article = "Shōan", startYear = 1299, endYear = 1302, kanji = "正安" }, { article = "Einin", startYear = 1293, endYear = 1299, kanji = "永仁" }, { article = "Shōō (Kamakura period)", startYear = 1288, endYear = 1293, kanji = "正応", label = "Shōō" }, { article = "Kōan (Kamakura period)", startYear = 1278, endYear = 1288, kanji = "弘安", label = "Kōan" }, { article = "Kenji (era)", startYear = 1275, endYear = 1278, kanji = "建治", label = "Kenji" }, { article = "Bun'ei", startYear = 1264, endYear = 1275, kanji = "文永" }, { article = "Kōchō", startYear = 1261, endYear = 1264, kanji = "弘長" }, { article = "Bun'ō", startYear = 1260, endYear = 1261, kanji = "文応" }, { article = "Shōgen", startYear = 1259, endYear = 1260, kanji = "正元" }, { article = "Shōka (era)", startYear = 1257, endYear = 1259, kanji = "正嘉" }, { article = "Kōgen", startYear = 1256, endYear = 1257, kanji = "康元" }, { article = "Kenchō", startYear = 1249, endYear = 1256, kanji = "建長" }, { article = "Hōji (era)", startYear = 1247, endYear = 1249, kanji = "宝治", label = "Hōji" }, { article = "Kangen", startYear = 1243, endYear = 1247, kanji = "寛元" }, { article = "Ninji", startYear = 1240, endYear = 1243, kanji = "仁治" }, { article = "En'ō", startYear = 1239, endYear = 1240, kanji = "延応" }, { article = "Ryakunin", startYear = 1238, endYear = 1239, kanji = "暦仁" }, { article = "Katei", startYear = 1235, endYear = 1238, kanji = "嘉禎" }, { article = "Bunryaku", startYear = 1234, endYear = 1235, kanji = "文暦" }, { article = "Tenpuku", startYear = 1233, endYear = 1234, kanji = "天福" }, { article = "Jōei", startYear = 1232, endYear = 1233, kanji = "貞永" }, { article = "Kangi", startYear = 1229, endYear = 1232, kanji = "寛喜" }, { article = "Antei", startYear = 1227, endYear = 1229, kanji = "安貞" }, { article = "Karoku", startYear = 1225, endYear = 1227, kanji = "嘉禄" }, { article = "Gennin", startYear = 1224, endYear = 1225, kanji = "元仁" }, { article = "Jōō (Kamakura period)", startYear = 1222, endYear = 1224, kanji = "貞応", label = "Jōō" }, { article = "Jōkyū", startYear = 1219, endYear = 1222, kanji = "承久" }, { article = "Kenpō (era)", startYear = 1213, endYear = 1219, kanji = "建保", label = "Kenpō" }, { article = "Kenryaku", startYear = 1211, endYear = 1213, kanji = "建暦" }, { article = "Jōgen (Kamakura period)", startYear = 1207, endYear = 1211, kanji = "承元", label = "Jōgen" }, { article = "Ken'ei", startYear = 1206, endYear = 1207, kanji = "建永" }, { article = "Genkyū", startYear = 1204, endYear = 1206, kanji = "元久" }, { article = "Kennin", startYear = 1201, endYear = 1204, kanji = "建仁" }, { article = "Shōji (era)", startYear = 1199, endYear = 1201, kanji = "正治", label = "Shōji" }, { article = "Kenkyū", startYear = 1190, endYear = 1199, kanji = "建久" }, { article = "Bunji (era)", startYear = 1185, endYear = 1190, kanji = "文治", label = "Bunji" }, { article = "Genryaku", startYear = 1184, endYear = 1185, kanji = "元暦" }, { article = "Juei", startYear = 1182, endYear = 1184, kanji = "寿永" }, { article = "Yōwa", startYear = 1181, endYear = 1182, kanji = "養和" }, { article = "Jishō", startYear = 1177, endYear = 1181, kanji = "治承" }, { article = "Angen", startYear = 1175, endYear = 1177, kanji = "安元" }, { article = "Jōan (era)", startYear = 1171, endYear = 1175, kanji = "承安", label = "Jōan" }, { article = "Kaō (era)", startYear = 1169, endYear = 1171, kanji = "嘉応", label = "Kaō" }, { article = "Nin'an", startYear = 1166, endYear = 1169, kanji = "仁安" }, { article = "Eiman", startYear = 1165, endYear = 1166, kanji = "永万" }, { article = "Chōkan", startYear = 1163, endYear = 1165, kanji = "長寛" }, { article = "Ōhō", startYear = 1161, endYear = 1163, kanji = "応保" }, { article = "Eiryaku", startYear = 1160, endYear = 1161, kanji = "永暦" }, { article = "Heiji", startYear = 1159, endYear = 1160, kanji = "平治" }, { article = "Hōgen (era)", startYear = 1156, endYear = 1159, kanji = "保元", label = "Hōgen" }, { article = "Kyūju", startYear = 1154, endYear = 1156, kanji = "久寿" }, { article = "Ninpei", startYear = 1151, endYear = 1154, kanji = "仁平" }, { article = "Kyūan", startYear = 1145, endYear = 1151, kanji = "久安" }, { article = "Ten'yō", startYear = 1144, endYear = 1145, kanji = "天養" }, { article = "Kōji (Heian period)", startYear = 1142, endYear = 1144, kanji = "康治", label = "Kōji" }, { article = "Eiji (era)", startYear = 1141, endYear = 1142, kanji = "永治" }, { article = "Hōen", startYear = 1135, endYear = 1141, kanji = "保延" }, { article = "Chōshō", startYear = 1132, endYear = 1135, kanji = "長承" }, { article = "Tenshō (Heian period)", startYear = 1131, endYear = 1132, kanji = "天承", label = "Tenshō" }, { article = "Daiji (era)", startYear = 1126, endYear = 1131, kanji = "大治", label = "Daiji" }, { article = "Tenji (era)", startYear = 1124, endYear = 1126, kanji = "天治", label = "Tenji" }, { article = "Hōan", startYear = 1120, endYear = 1124, kanji = "保安" }, { article = "Gen'ei", startYear = 1118, endYear = 1120, kanji = "元永" }, { article = "Eikyū", startYear = 1113, endYear = 1118, kanji = "永久" }, { article = "Ten'ei", startYear = 1110, endYear = 1113, kanji = "天永" }, { article = "Tennin (era)", startYear = 1108, endYear = 1110, kanji = "天仁", label = "Tennin" }, { article = "Kajō", startYear = 1106, endYear = 1108, kanji = "嘉承" }, { article = "Chōji", startYear = 1104, endYear = 1106, kanji = "長治" }, { article = "Kōwa (Heian period)", startYear = 1099, endYear = 1104, kanji = "康和", label = "Kōwa" }, { article = "Jōtoku", startYear = 1097, endYear = 1099, kanji = "承徳" }, { article = "Eichō", startYear = 1096, endYear = 1097, kanji = "永長" }, { article = "Kahō", startYear = 1094, endYear = 1096, kanji = "嘉保" }, { article = "Kanji (era)", startYear = 1087, endYear = 1094, kanji = "寛治", label = "Kanji" }, { article = "Ōtoku", startYear = 1084, endYear = 1087, kanji = "応徳" }, { article = "Eihō", startYear = 1081, endYear = 1084, kanji = "永保" }, { article = "Jōryaku", startYear = 1077, endYear = 1081, kanji = "承暦" }, { article = "Jōhō", startYear = 1074, endYear = 1077, kanji = "承保" }, { article = "Enkyū", startYear = 1069, endYear = 1074, kanji = "延久" }, { article = "Jiryaku", startYear = 1065, endYear = 1069, kanji = "治暦" }, { article = "Kōhei", startYear = 1058, endYear = 1065, kanji = "康平" }, { article = "Tengi", startYear = 1053, endYear = 1058, kanji = "天喜" }, { article = "Eishō (Heian period)", startYear = 1046, endYear = 1053, kanji = "永承", label = "Eishō" }, { article = "Kantoku", startYear = 1044, endYear = 1046, kanji = "寛徳" }, { article = "Chōkyū", startYear = 1040, endYear = 1044, kanji = "長久" }, { article = "Chōryaku", startYear = 1037, endYear = 1040, kanji = "長暦" }, { article = "Chōgen", startYear = 1028, endYear = 1037, kanji = "長元" }, { article = "Manju (era)", startYear = 1024, endYear = 1028, kanji = "万寿", label = "Manju" }, { article = "Jian (era)", startYear = 1021, endYear = 1024, kanji = "治安", label = "Jian" }, { article = "Kannin", startYear = 1017, endYear = 1021, kanji = "寛仁" }, { article = "Chōwa", startYear = 1012, endYear = 1017, kanji = "長和" }, { article = "Kankō", startYear = 1004, endYear = 1012, kanji = "寛弘" }, { article = "Chōhō (era)", startYear = 999, endYear = 1004, kanji = "長保", label = "Chōhō" }, { article = "Chōtoku", startYear = 995, endYear = 999, kanji = "長徳" }, { article = "Shōryaku", startYear = 990, endYear = 995, kanji = "正暦" }, { article = "Eiso (era)", startYear = 988, endYear = 990, kanji = "永祚", label = "Eiso" }, { article = "Eien", startYear = 987, endYear = 988, kanji = "永延" }, { article = "Kanna (era)", startYear = 985, endYear = 987, kanji = "寛和", label = "Kanna" }, { article = "Eikan", startYear = 983, endYear = 985, kanji = "永観" }, { article = "Tengen (era)", startYear = 978, endYear = 983, kanji = "天元", label = "Tengen" }, { article = "Jōgen (Heian period)", startYear = 976, endYear = 978, kanji = "貞元", label = "Jōgen" }, { article = "Ten'en", startYear = 973, endYear = 976, kanji = "天延" }, { article = "Tenroku", startYear = 970, endYear = 973, kanji = "天禄" }, { article = "Anna (era)", startYear = 968, endYear = 970, kanji = "安和", label = "Anna" }, { article = "Kōhō", startYear = 964, endYear = 968, kanji = "康保" }, { article = "Ōwa", startYear = 961, endYear = 964, kanji = "応和" }, { article = "Tentoku", startYear = 957, endYear = 961, kanji = "天徳" }, { article = "Tenryaku", startYear = 947, endYear = 957, kanji = "天暦" }, { article = "Tengyō", startYear = 938, endYear = 947, kanji = "天慶" }, { article = "Jōhei", startYear = 931, endYear = 938, kanji = "承平" }, { article = "Enchō", startYear = 923, endYear = 931, kanji = "延長" }, { article = "Engi (era)", startYear = 901, endYear = 923, kanji = "延喜", label = "Engi" }, { article = "Shōtai", startYear = 898, endYear = 901, kanji = "昌泰" }, { article = "Kanpyō (era)", startYear = 889, endYear = 898, kanji = "寛平", label = "Kanpyō" }, { article = "Ninna", startYear = 885, endYear = 889, kanji = "仁和" }, { article = "Gangyō", startYear = 877, endYear = 885, kanji = "元慶" }, { article = "Jōgan", startYear = 859, endYear = 877, kanji = "貞観" }, { article = "Ten'an", startYear = 857, endYear = 859, kanji = "天安" }, { article = "Saikō", startYear = 854, endYear = 857, kanji = "斉衡" }, { article = "Ninju", startYear = 851, endYear = 854, kanji = "仁寿" }, { article = "Kashō", startYear = 848, endYear = 851, kanji = "嘉祥" }, { article = "Jōwa (Heian period)", startYear = 834, endYear = 848, kanji = "承和", label = "Jōwa" }, { article = "Tenchō", startYear = 824, endYear = 834, kanji = "天長" }, { article = "Kōnin (era)", startYear = 810, endYear = 824, kanji = "弘仁", label = "Kōnin" }, { article = "Daidō", startYear = 806, endYear = 810, kanji = "大同" }, { article = "Enryaku", startYear = 782, endYear = 806, kanji = "延暦" }, { article = "Ten'ō", startYear = 781, endYear = 782, kanji = "天応" }, { article = "Hōki", startYear = 770, endYear = 781, kanji = "宝亀" }, { article = "Jingo-keiun", startYear = 767, endYear = 770, kanji = "神護景雲" }, { article = "Tenpyō-jingo", startYear = 765, endYear = 767, kanji = "天平神護" }, { article = "Tenpyō-hōji", startYear = 757, endYear = 765, kanji = "天平宝字" }, { article = "Tenpyō-shōhō", startYear = 749, endYear = 757, kanji = "天平勝宝" }, { article = "Tenpyō-kanpō", startYear = 749, endYear = 749, kanji = "天平感宝" }, { article = "Tenpyō", startYear = 729, endYear = 749, kanji = "天平" }, { article = "Jinki (era)", startYear = 724, endYear = 729, kanji = "神亀", label = "Jinki" }, { article = "Yōrō", startYear = 717, endYear = 724, kanji = "養老" }, { article = "Reiki (era)", startYear = 715, endYear = 717, kanji = "霊亀", label = "Reiki" }, { article = "Wadō (era)", startYear = 708, endYear = 715, kanji = "和銅", label = "Wadō" }, { article = "Keiun", startYear = 704, endYear = 708, kanji = "慶雲" }, { article = "Taihō (era)", startYear = 701, endYear = 704, kanji = "大宝", label = "Taihō" }, { article = "Shuchō", startYear = 686, endYear = 686, kanji = "朱鳥" }, { article = "Hakuchi (era)", startYear = 650, endYear = 654, kanji = "白雉", label = "Hakuchi" }, { article = "Taika (era)", startYear = 645, endYear = 650, kanji = "大化", label = "Taika" } } return eras 2eygnvvs4aldb68962y64kiiptrh4mw 153361 153360 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Module:Japanese_calendar/data]]: Needed locally 153360 Scribunto text/plain -- This module stores the data for [[Module:Japanese calendar]]. The formatting is as follows: -- -- { -- article = "Shōwa (1926–1989)", -- The Wikipedia article about the era. -- startYear = 1926, -- The year that the era started. -- endYear = 1989, -- The year that the era ended. -- kanji = "昭和", -- The kanji for the era. -- label = "Shōwa" -- The romaji for the era, if the article name is disambiguated. -- }, -- -- The "label" field may be absent some or most of the time, and the "article" and "kanji" values -- may be set to "" (the blank string) if it is a period between era names. -- See [[Japanese era name]] for more details on era names and how they correspond to -- Gregorian calendar years. eras = { { article = "Reiwa", startYear = 2019, kanji = "令和", }, { article = "Heisei", startYear = 1989, endyear = 2019, kanji = "平成", }, { article = "Shōwa (1926–1989)", startYear = 1926, endYear = 1989, kanji = "昭和", label = "Shōwa" }, { article = "Taishō", startYear = 1912, endYear = 1926, kanji = "大正", }, { article = "Meiji (era)", startYear = 1868, endYear = 1912, kanji = "明治", label = "Meiji" }, { article = "Keiō", startYear = 1865, endYear = 1868, kanji = "慶応" }, { article = "Genji (era)", startYear = 1864, endYear = 1865, kanji = "元治", label = "Genji" }, { article = "Bunkyū", startYear = 1861, endYear = 1864, kanji = "文久" }, { article = "Man'en", startYear = 1860, endYear = 1861, kanji = "万延" }, { article = "Ansei", startYear = 1854, endYear = 1860, kanji = "安政" }, { article = "Kaei", startYear = 1848, endYear = 1854, kanji = "嘉永" }, { article = "Kōka", startYear = 1844, endYear = 1848, kanji = "弘化" }, { article = "Tenpō", startYear = 1830, endYear = 1844, kanji = "天保" }, { article = "Bunsei", startYear = 1818, endYear = 1830, kanji = "文政" }, { article = "Bunka", startYear = 1804, endYear = 1818, kanji = "文化" }, { article = "Kyōwa", startYear = 1802, endYear = 1804, kanji = "享和" }, { article = "Kansei", startYear = 1789, endYear = 1802, kanji = "寛政" }, { article = "Tenmei", startYear = 1781, endYear = 1789, kanji = "天明" }, { article = "An'ei", startYear = 1772, endYear = 1781, kanji = "安永" }, { article = "Meiwa", startYear = 1764, endYear = 1772, kanji = "明和" }, { article = "Hōreki", startYear = 1751, endYear = 1764, kanji = "宝暦" }, { article = "Kan'en", startYear = 1748, endYear = 1751, kanji = "寛延" }, { article = "Enkyō (Edo period)", startYear = 1744, endYear = 1748, kanji = "延享", label = "Enkyō" }, { article = "Kanpō", startYear = 1741, endYear = 1744, kanji = "寛保" }, { article = "Genbun", startYear = 1736, endYear = 1741, kanji = "元文" }, { article = "Kyōhō", startYear = 1716, endYear = 1736, kanji = "享保" }, { article = "Shōtoku (era)", startYear = 1711, endYear = 1716, kanji = "正徳", label = "Shōtoku" }, { article = "Hōei", startYear = 1704, endYear = 1711, kanji = "宝永" }, { article = "Genroku", startYear = 1688, endYear = 1704, kanji = "元禄" }, { article = "Jōkyō", startYear = 1684, endYear = 1688, kanji = "貞享" }, { article = "Tenna", startYear = 1681, endYear = 1684, kanji = "天和" }, { article = "Enpō", startYear = 1673, endYear = 1681, kanji = "延宝" }, { article = "Kanbun (era)", startYear = 1661, endYear = 1673, kanji = "寛文", label = "Kanbun" }, { article = "Manji (era)", startYear = 1658, endYear = 1661, kanji = "万治", label = "Manji" }, { article = "Meireki", startYear = 1655, endYear = 1658, kanji = "明暦" }, { article = "Jōō (Edo period)", startYear = 1652, endYear = 1655, kanji = "承応", label = "Jōō" }, { article = "Keian", startYear = 1648, endYear = 1652, kanji = "慶安" }, { article = "Shōhō", startYear = 1644, endYear = 1648, kanji = "正保" }, { article = "Kan'ei", startYear = 1624, endYear = 1644, kanji = "寛永" }, { article = "Genna", startYear = 1615, endYear = 1624, kanji = "元和" }, { article = "Keichō", startYear = 1596, endYear = 1615, kanji = "慶長" }, { article = "Bunroku", startYear = 1592, endYear = 1596, kanji = "文禄" }, { article = "Tenshō (Momoyama period)", startYear = 1573, endYear = 1592, kanji = "天正", label = "Tenshō" }, { article = "Genki (era)", startYear = 1570, endYear = 1573, kanji = "元亀", label = "Genki" }, { article = "Eiroku", startYear = 1558, endYear = 1570, kanji = "永禄" }, { article = "Kōji (Muromachi period)", startYear = 1555, endYear = 1558, kanji = "弘治", label = "Kōji" }, { article = "Tenbun", startYear = 1532, endYear = 1555, kanji = "天文" }, { article = "Kyōroku", startYear = 1528, endYear = 1532, kanji = "享禄" }, { article = "Daiei (era)", startYear = 1521, endYear = 1528, kanji = "大永", label = "Daiei" }, { article = "Eishō (Muromachi period)", startYear = 1504, endYear = 1521, kanji = "永正", label = "Eishō" }, { article = "Bunki", startYear = 1501, endYear = 1504, kanji = "文亀" }, { article = "Meiō", startYear = 1492, endYear = 1501, kanji = "明応", }, { article = "Entoku", startYear = 1489, endYear = 1492, kanji = "延徳" }, { article = "Chōkyō", startYear = 1487, endYear = 1489, kanji = "長享" }, { article = "Bunmei", startYear = 1469, endYear = 1487, kanji = "文明" }, { article = "Ōnin", startYear = 1467, endYear = 1469, kanji = "応仁" }, { article = "Bunshō", startYear = 1466, endYear = 1467, kanji = "文正" }, { article = "Kanshō", startYear = 1460, endYear = 1466, kanji = "寛正" }, { article = "Chōroku", startYear = 1457, endYear = 1460, kanji = "長禄" }, { article = "Kōshō", startYear = 1455, endYear = 1457, kanji = "康正" }, { article = "Kyōtoku", startYear = 1452, endYear = 1455, kanji = "享徳" }, { article = "Hōtoku", startYear = 1449, endYear = 1452, kanji = "宝徳" }, { article = "Bun'an", startYear = 1444, endYear = 1449, kanji = "文安" }, { article = "Kakitsu", startYear = 1441, endYear = 1444, kanji = "嘉吉" }, { article = "Eikyō", startYear = 1429, endYear = 1441, kanji = "永享" }, { article = "Shocho", startYear = 1428, endYear = 1429, kanji = "正長" }, { article = "Ōei", startYear = 1394, endYear = 1428, kanji = "応永" }, { article = "Meitoku", startYear = 1390, endYear = 1394, kanji = "明徳" }, { article = "Kōō", startYear = 1389, endYear = 1390, kanji = "康応" }, { article = "Kakei", startYear = 1387, endYear = 1389, kanji = "嘉慶" }, { article = "Shitoku", startYear = 1384, endYear = 1387, kanji = "至徳" }, { article = "Eitoku", startYear = 1381, endYear = 1384, kanji = "永徳" }, { article = "Kōryaku", startYear = 1379, endYear = 1381, kanji = "康暦" }, { article = "Eiwa", startYear = 1375, endYear = 1379, kanji = "永和" }, { article = "Ōan", startYear = 1368, endYear = 1375, kanji = "応安" }, { article = "Jōji", startYear = 1362, endYear = 1368, kanji = "貞治" }, { article = "Kōan (Muromachi period)", startYear = 1361, endYear = 1362, kanji = "康安", label = "Kōan" }, { article = "Enbun", startYear = 1356, endYear = 1361, kanji = "延文" }, { article = "Bunna", startYear = 1352, endYear = 1356, kanji = "文和" }, { article = "Kannō", startYear = 1350, endYear = 1352, kanji = "観応" }, { article = "Jōwa (Muromachi period)", startYear = 1345, endYear = 1350, kanji = "貞和", label = "Jōwa" }, { article = "Kōei", startYear = 1342, endYear = 1345, kanji = "康永" }, { article = "Ryakuō", startYear = 1338, endYear = 1342, kanji = "暦応" }, { article = "Shōkei", startYear = 1332, endYear = 1338, kanji = "正慶" }, { article = "Kenmu", startYear = 1334, endYear = 1332, kanji = "建武" }, { article = "Genkō (second)", startYear = 1331, endYear = 1334, kanji = "元弘", label = "Genkō" }, { article = "Gentoku", startYear = 1329, endYear = 1331, kanji = "元徳" }, { article = "Karyaku", startYear = 1326, endYear = 1329, kanji = "嘉暦" }, { article = "Shōchū (era)", startYear = 1324, endYear = 1326, kanji = "正中", label = "Shōchū" }, { article = "Genkō (first)", startYear = 1321, endYear = 1324, kanji = "元亨", label = "Genkō" }, { article = "Gen'ō", startYear = 1319, endYear = 1321, kanji = "元応" }, { article = "Bunpō", startYear = 1317, endYear = 1319, kanji = "文保" }, { article = "Shōwa (1312–1317)", startYear = 1312, endYear = 1317, kanji = "正和", label = "Shōwa" }, { article = "Ōchō", startYear = 1311, endYear = 1312, kanji = "応長" }, { article = "Enkyō (Kamakura period)", startYear = 1308, endYear = 1311, kanji = "延慶", label = "Enkyō" }, { article = "Tokuji", startYear = 1306, endYear = 1308, kanji = "徳治" }, { article = "Kagen", startYear = 1303, endYear = 1306, kanji = "嘉元" }, { article = "Kengen", startYear = 1302, endYear = 1303, kanji = "乾元" }, { article = "Shōan", startYear = 1299, endYear = 1302, kanji = "正安" }, { article = "Einin", startYear = 1293, endYear = 1299, kanji = "永仁" }, { article = "Shōō (Kamakura period)", startYear = 1288, endYear = 1293, kanji = "正応", label = "Shōō" }, { article = "Kōan (Kamakura period)", startYear = 1278, endYear = 1288, kanji = "弘安", label = "Kōan" }, { article = "Kenji (era)", startYear = 1275, endYear = 1278, kanji = "建治", label = "Kenji" }, { article = "Bun'ei", startYear = 1264, endYear = 1275, kanji = "文永" }, { article = "Kōchō", startYear = 1261, endYear = 1264, kanji = "弘長" }, { article = "Bun'ō", startYear = 1260, endYear = 1261, kanji = "文応" }, { article = "Shōgen", startYear = 1259, endYear = 1260, kanji = "正元" }, { article = "Shōka (era)", startYear = 1257, endYear = 1259, kanji = "正嘉" }, { article = "Kōgen", startYear = 1256, endYear = 1257, kanji = "康元" }, { article = "Kenchō", startYear = 1249, endYear = 1256, kanji = "建長" }, { article = "Hōji (era)", startYear = 1247, endYear = 1249, kanji = "宝治", label = "Hōji" }, { article = "Kangen", startYear = 1243, endYear = 1247, kanji = "寛元" }, { article = "Ninji", startYear = 1240, endYear = 1243, kanji = "仁治" }, { article = "En'ō", startYear = 1239, endYear = 1240, kanji = "延応" }, { article = "Ryakunin", startYear = 1238, endYear = 1239, kanji = "暦仁" }, { article = "Katei", startYear = 1235, endYear = 1238, kanji = "嘉禎" }, { article = "Bunryaku", startYear = 1234, endYear = 1235, kanji = "文暦" }, { article = "Tenpuku", startYear = 1233, endYear = 1234, kanji = "天福" }, { article = "Jōei", startYear = 1232, endYear = 1233, kanji = "貞永" }, { article = "Kangi", startYear = 1229, endYear = 1232, kanji = "寛喜" }, { article = "Antei", startYear = 1227, endYear = 1229, kanji = "安貞" }, { article = "Karoku", startYear = 1225, endYear = 1227, kanji = "嘉禄" }, { article = "Gennin", startYear = 1224, endYear = 1225, kanji = "元仁" }, { article = "Jōō (Kamakura period)", startYear = 1222, endYear = 1224, kanji = "貞応", label = "Jōō" }, { article = "Jōkyū", startYear = 1219, endYear = 1222, kanji = "承久" }, { article = "Kenpō (era)", startYear = 1213, endYear = 1219, kanji = "建保", label = "Kenpō" }, { article = "Kenryaku", startYear = 1211, endYear = 1213, kanji = "建暦" }, { article = "Jōgen (Kamakura period)", startYear = 1207, endYear = 1211, kanji = "承元", label = "Jōgen" }, { article = "Ken'ei", startYear = 1206, endYear = 1207, kanji = "建永" }, { article = "Genkyū", startYear = 1204, endYear = 1206, kanji = "元久" }, { article = "Kennin", startYear = 1201, endYear = 1204, kanji = "建仁" }, { article = "Shōji (era)", startYear = 1199, endYear = 1201, kanji = "正治", label = "Shōji" }, { article = "Kenkyū", startYear = 1190, endYear = 1199, kanji = "建久" }, { article = "Bunji (era)", startYear = 1185, endYear = 1190, kanji = "文治", label = "Bunji" }, { article = "Genryaku", startYear = 1184, endYear = 1185, kanji = "元暦" }, { article = "Juei", startYear = 1182, endYear = 1184, kanji = "寿永" }, { article = "Yōwa", startYear = 1181, endYear = 1182, kanji = "養和" }, { article = "Jishō", startYear = 1177, endYear = 1181, kanji = "治承" }, { article = "Angen", startYear = 1175, endYear = 1177, kanji = "安元" }, { article = "Jōan (era)", startYear = 1171, endYear = 1175, kanji = "承安", label = "Jōan" }, { article = "Kaō (era)", startYear = 1169, endYear = 1171, kanji = "嘉応", label = "Kaō" }, { article = "Nin'an", startYear = 1166, endYear = 1169, kanji = "仁安" }, { article = "Eiman", startYear = 1165, endYear = 1166, kanji = "永万" }, { article = "Chōkan", startYear = 1163, endYear = 1165, kanji = "長寛" }, { article = "Ōhō", startYear = 1161, endYear = 1163, kanji = "応保" }, { article = "Eiryaku", startYear = 1160, endYear = 1161, kanji = "永暦" }, { article = "Heiji", startYear = 1159, endYear = 1160, kanji = "平治" }, { article = "Hōgen (era)", startYear = 1156, endYear = 1159, kanji = "保元", label = "Hōgen" }, { article = "Kyūju", startYear = 1154, endYear = 1156, kanji = "久寿" }, { article = "Ninpei", startYear = 1151, endYear = 1154, kanji = "仁平" }, { article = "Kyūan", startYear = 1145, endYear = 1151, kanji = "久安" }, { article = "Ten'yō", startYear = 1144, endYear = 1145, kanji = "天養" }, { article = "Kōji (Heian period)", startYear = 1142, endYear = 1144, kanji = "康治", label = "Kōji" }, { article = "Eiji (era)", startYear = 1141, endYear = 1142, kanji = "永治" }, { article = "Hōen", startYear = 1135, endYear = 1141, kanji = "保延" }, { article = "Chōshō", startYear = 1132, endYear = 1135, kanji = "長承" }, { article = "Tenshō (Heian period)", startYear = 1131, endYear = 1132, kanji = "天承", label = "Tenshō" }, { article = "Daiji (era)", startYear = 1126, endYear = 1131, kanji = "大治", label = "Daiji" }, { article = "Tenji (era)", startYear = 1124, endYear = 1126, kanji = "天治", label = "Tenji" }, { article = "Hōan", startYear = 1120, endYear = 1124, kanji = "保安" }, { article = "Gen'ei", startYear = 1118, endYear = 1120, kanji = "元永" }, { article = "Eikyū", startYear = 1113, endYear = 1118, kanji = "永久" }, { article = "Ten'ei", startYear = 1110, endYear = 1113, kanji = "天永" }, { article = "Tennin (era)", startYear = 1108, endYear = 1110, kanji = "天仁", label = "Tennin" }, { article = "Kajō", startYear = 1106, endYear = 1108, kanji = "嘉承" }, { article = "Chōji", startYear = 1104, endYear = 1106, kanji = "長治" }, { article = "Kōwa (Heian period)", startYear = 1099, endYear = 1104, kanji = "康和", label = "Kōwa" }, { article = "Jōtoku", startYear = 1097, endYear = 1099, kanji = "承徳" }, { article = "Eichō", startYear = 1096, endYear = 1097, kanji = "永長" }, { article = "Kahō", startYear = 1094, endYear = 1096, kanji = "嘉保" }, { article = "Kanji (era)", startYear = 1087, endYear = 1094, kanji = "寛治", label = "Kanji" }, { article = "Ōtoku", startYear = 1084, endYear = 1087, kanji = "応徳" }, { article = "Eihō", startYear = 1081, endYear = 1084, kanji = "永保" }, { article = "Jōryaku", startYear = 1077, endYear = 1081, kanji = "承暦" }, { article = "Jōhō", startYear = 1074, endYear = 1077, kanji = "承保" }, { article = "Enkyū", startYear = 1069, endYear = 1074, kanji = "延久" }, { article = "Jiryaku", startYear = 1065, endYear = 1069, kanji = "治暦" }, { article = "Kōhei", startYear = 1058, endYear = 1065, kanji = "康平" }, { article = "Tengi", startYear = 1053, endYear = 1058, kanji = "天喜" }, { article = "Eishō (Heian period)", startYear = 1046, endYear = 1053, kanji = "永承", label = "Eishō" }, { article = "Kantoku", startYear = 1044, endYear = 1046, kanji = "寛徳" }, { article = "Chōkyū", startYear = 1040, endYear = 1044, kanji = "長久" }, { article = "Chōryaku", startYear = 1037, endYear = 1040, kanji = "長暦" }, { article = "Chōgen", startYear = 1028, endYear = 1037, kanji = "長元" }, { article = "Manju (era)", startYear = 1024, endYear = 1028, kanji = "万寿", label = "Manju" }, { article = "Jian (era)", startYear = 1021, endYear = 1024, kanji = "治安", label = "Jian" }, { article = "Kannin", startYear = 1017, endYear = 1021, kanji = "寛仁" }, { article = "Chōwa", startYear = 1012, endYear = 1017, kanji = "長和" }, { article = "Kankō", startYear = 1004, endYear = 1012, kanji = "寛弘" }, { article = "Chōhō (era)", startYear = 999, endYear = 1004, kanji = "長保", label = "Chōhō" }, { article = "Chōtoku", startYear = 995, endYear = 999, kanji = "長徳" }, { article = "Shōryaku", startYear = 990, endYear = 995, kanji = "正暦" }, { article = "Eiso (era)", startYear = 988, endYear = 990, kanji = "永祚", label = "Eiso" }, { article = "Eien", startYear = 987, endYear = 988, kanji = "永延" }, { article = "Kanna (era)", startYear = 985, endYear = 987, kanji = "寛和", label = "Kanna" }, { article = "Eikan", startYear = 983, endYear = 985, kanji = "永観" }, { article = "Tengen (era)", startYear = 978, endYear = 983, kanji = "天元", label = "Tengen" }, { article = "Jōgen (Heian period)", startYear = 976, endYear = 978, kanji = "貞元", label = "Jōgen" }, { article = "Ten'en", startYear = 973, endYear = 976, kanji = "天延" }, { article = "Tenroku", startYear = 970, endYear = 973, kanji = "天禄" }, { article = "Anna (era)", startYear = 968, endYear = 970, kanji = "安和", label = "Anna" }, { article = "Kōhō", startYear = 964, endYear = 968, kanji = "康保" }, { article = "Ōwa", startYear = 961, endYear = 964, kanji = "応和" }, { article = "Tentoku", startYear = 957, endYear = 961, kanji = "天徳" }, { article = "Tenryaku", startYear = 947, endYear = 957, kanji = "天暦" }, { article = "Tengyō", startYear = 938, endYear = 947, kanji = "天慶" }, { article = "Jōhei", startYear = 931, endYear = 938, kanji = "承平" }, { article = "Enchō", startYear = 923, endYear = 931, kanji = "延長" }, { article = "Engi (era)", startYear = 901, endYear = 923, kanji = "延喜", label = "Engi" }, { article = "Shōtai", startYear = 898, endYear = 901, kanji = "昌泰" }, { article = "Kanpyō (era)", startYear = 889, endYear = 898, kanji = "寛平", label = "Kanpyō" }, { article = "Ninna", startYear = 885, endYear = 889, kanji = "仁和" }, { article = "Gangyō", startYear = 877, endYear = 885, kanji = "元慶" }, { article = "Jōgan", startYear = 859, endYear = 877, kanji = "貞観" }, { article = "Ten'an", startYear = 857, endYear = 859, kanji = "天安" }, { article = "Saikō", startYear = 854, endYear = 857, kanji = "斉衡" }, { article = "Ninju", startYear = 851, endYear = 854, kanji = "仁寿" }, { article = "Kashō", startYear = 848, endYear = 851, kanji = "嘉祥" }, { article = "Jōwa (Heian period)", startYear = 834, endYear = 848, kanji = "承和", label = "Jōwa" }, { article = "Tenchō", startYear = 824, endYear = 834, kanji = "天長" }, { article = "Kōnin (era)", startYear = 810, endYear = 824, kanji = "弘仁", label = "Kōnin" }, { article = "Daidō", startYear = 806, endYear = 810, kanji = "大同" }, { article = "Enryaku", startYear = 782, endYear = 806, kanji = "延暦" }, { article = "Ten'ō", startYear = 781, endYear = 782, kanji = "天応" }, { article = "Hōki", startYear = 770, endYear = 781, kanji = "宝亀" }, { article = "Jingo-keiun", startYear = 767, endYear = 770, kanji = "神護景雲" }, { article = "Tenpyō-jingo", startYear = 765, endYear = 767, kanji = "天平神護" }, { article = "Tenpyō-hōji", startYear = 757, endYear = 765, kanji = "天平宝字" }, { article = "Tenpyō-shōhō", startYear = 749, endYear = 757, kanji = "天平勝宝" }, { article = "Tenpyō-kanpō", startYear = 749, endYear = 749, kanji = "天平感宝" }, { article = "Tenpyō", startYear = 729, endYear = 749, kanji = "天平" }, { article = "Jinki (era)", startYear = 724, endYear = 729, kanji = "神亀", label = "Jinki" }, { article = "Yōrō", startYear = 717, endYear = 724, kanji = "養老" }, { article = "Reiki (era)", startYear = 715, endYear = 717, kanji = "霊亀", label = "Reiki" }, { article = "Wadō (era)", startYear = 708, endYear = 715, kanji = "和銅", label = "Wadō" }, { article = "Keiun", startYear = 704, endYear = 708, kanji = "慶雲" }, { article = "Taihō (era)", startYear = 701, endYear = 704, kanji = "大宝", label = "Taihō" }, { article = "Shuchō", startYear = 686, endYear = 686, kanji = "朱鳥" }, { article = "Hakuchi (era)", startYear = 650, endYear = 654, kanji = "白雉", label = "Hakuchi" }, { article = "Taika (era)", startYear = 645, endYear = 650, kanji = "大化", label = "Taika" } } return eras 2eygnvvs4aldb68962y64kiiptrh4mw فرما:Template rating 10 33070 153370 2026-06-25T04:39:27Z en>Jonesey95 0 Fix name of error category that is not an unknown parameter category 153370 wikitext text/x-wiki <includeonly>{{#if:{{{1|}}}<!-- Escape empty required first unnamed parameter -->|{{#switch:{{Namespace detect|template=t|module=m|demospace={{{demospace|}}}|page={{{demopage|}}}}} |m |t = <!-- ***** IF IN MODULE OR TEMPLATE NAMESPACE ***** -->{{ombox | type = notice | image = {{#switch: {{lc:{{{1|}}}}} | pre-alpha | prealpha | pa | experimental = [[File:Ambox warning blue construction.svg|40x40px|link=|alt=]] | alpha | a = [[File:Greek lc alpha icon.svg|class=skin-invert|26x26px|link=|alt=]] | beta | b = [[File:Greek lc beta icon.svg|class=skin-invert|40x40px|link=|alt=]] | release | r | general | g | stable | protected | protect | p | semiprotected | semiprotect | semi = [[File:Green check.svg|40x40px|link=|alt=]] | broken | br | unstable = [[File:Red x.svg|40x40px|link=|alt=]] | deprecated | d | defunct = [[File:Historical.svg|40x40px|link=|alt=]] }} | style = | textstyle = | text = {{#switch: {{lc:{{{1|}}}}} | pre-alpha | prealpha | pa | experimental = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in pre-alpha development|pre-alpha]]. It is incomplete and may or may not be in active development. Do not use it in [[Wikipedia:Article namespace|article namespace]] pages. A {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}} remains in pre-alpha until its developer, or another editor who adopts it if it is abandoned for some time, considers the basic structure complete. | alpha | a = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in alpha|alpha]]. It is ready for limited use and third-party feedback. It may be used on a small number of pages, but should be monitored closely. Suggestions for new features or adjustments to input and output are welcome. | beta | b = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in beta|beta]]. It is considered ready for widespread use, but as it is still relatively new, it should be applied with some caution to ensure results are as expected. | release | r | general | g | stable | protected | protect | p | semiprotected | semiprotect | semi = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s for general use|ready for general use]]. It has reached a mature state, is considered relatively stable and bug-free, and may be used wherever appropriate. It can be mentioned on [[Wikipedia:Help pages|help pages]] and other Wikipedia resources as an option for new users. To minimise server load and avoid disruptive output, improvements should be developed through [[Wikipedia:Template sandbox and test cases|sandbox testing]] rather than repeated trial-and-error editing. | broken | br | unstable = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:Unstable {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}s|unstable]]. It has missing dependencies, compatibility issues, or output errors that make it unusable. Editors are encouraged to [[Special:EditPage/{{FULLPAGENAME}}|improve its compatibility]] or [[Wikipedia:Templates for discussion|nominate it for deletion]] if it cannot be fixed. | deprecated | d | defunct = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as '''[[:Category:Deprecated {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}s|deprecated]]''' and defunct.{{#if:{{{replaced|}}}|{{space}}It is recommended editors use [[{{{replaced}}}]].}}{{#if:{{{message|}}}|{{space}}{{{message}}}}} | #default = {{error|Page using [[Template:Template rating]] with <u>invalid</u> template or module rating in {{para|1}} parameter.}}[[Category:Pages using template rating template with invalid rating|{{FULLPAGENAME}}]] }} }}<!-- Categorize. -->{{#if:{{{demopage|}}}{{{demospace|}}}|| {{#switch: {{lc:{{SUBPAGENAME}}}} | doc | sandbox =<!-- No category for /doc or /sandbox subpages --> | {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | {{#switch: {{lc:{{{1|}}}}} | pre-alpha | prealpha | pa | experimental = [[Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in pre-alpha development|{{PAGENAME}}]] | alpha | a = [[Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in alpha|{{PAGENAME}}]] | beta | b = [[Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in beta|{{PAGENAME}}]] | release | r | general | g | stable | protected | p | semiprotected | semiprotect | semi = [[Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s for general use|{{PAGENAME}}]] | deprecated | d | defunct = [[Category:Deprecated {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}s|{{PAGENAME}}]] | broken | br | unstable = [[Category:Unstable {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}s|{{PAGENAME}}]] }} }} }} }} | #default = <!-- ***** Error not in Template or Module namespaces ***** -->{{if preview|1={{error|Error: {{tl|Template rating}} can only be used on pages in the [[Wikipedia:Template namespace|Template:]] or [[Wikipedia:Module namespace|Module: namespaces]].}}}}[[Category:Pages with templates in the wrong namespace]] }}<!-- End switch. -->|{{If preview|1={{error|Page using [[Template:Template rating]] with <u>empty</u> {{para|1}} module rating parameter.}}}}[[Category:Pages using template rating template with invalid rating|{{FULLPAGENAME}}]]<!-- -->}}<!-- End if. Display protection template if necessary, this will obviously show it for /doc page too since it uses {{FULLPAGENAME}}: -->{{#switch:{{Namespace detect|template=t|module=m|demospace={{{demospace|}}}}} |t|m = {{#if:{{{suppress-pp|}}} | |{{#switch:{{#invoke:Effective protection level|edit|1={{{demopage|{{FULLPAGENAME}}}}}}} |*|user = <!-- If not protected page, do nothing. --> |#default = {{#ifeq:{{lc:{{SUBPAGENAME}}}}|doc |<!-- {{#if:{{{2|}}}{{{doc-reason|}}}{{{3|}}}{{{doc-action|}}} --><!-- --><!-- | -->{{pp|{{{2|{{{doc-reason|}}}}}}|action={{{3|{{{doc-action|}}}}}}}}<!-- --><!-- }} --> -->|{{pp|1={{{reason|{{{doc-reason|}}}}}}|action={{{action|{{{doc-action|}}}}}}|demolevel={{{demolevel|}}}}}<!-- -->}}<!-- -->}}<!-- -->}} |#default = <!-- If not in template or module namespace, do nothing -->}}<!-- End template, start tracking. -->{{#invoke:Check for unknown parameters| check | unknown = {{#if:{{{demopage|}}}{{{demospace|}}}||{{#switch:{{Namespace detect|template=t|module=m}}|m|t=[[Category:Pages using template rating template with unknown parameters|_VALUE_{{FULLPAGENAME}}]]}}}} | preview = Page using [[Template:Template rating]] with unknown parameter "_VALUE_" | ignoreblank=y | demospace | demopage | 1 | 2 | 3 | reason | action | doc-reason | doc-action | nocat | replaced | message | demolevel | suppress-pp | demopage }}</includeonly><!-- End tracking. --><noinclude> {{template rating/sandbox|release|nocat=true|demospace=template|demopage=template:template rating|demolevel=edit}} {{mbox|text=The above template is a demo.}} {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go in Wikidata. --> </noinclude> 1uyrkb0aphrohrsebghuak589eymdnp 153371 153370 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Template:Template_rating]]: Needed locally 153370 wikitext text/x-wiki <includeonly>{{#if:{{{1|}}}<!-- Escape empty required first unnamed parameter -->|{{#switch:{{Namespace detect|template=t|module=m|demospace={{{demospace|}}}|page={{{demopage|}}}}} |m |t = <!-- ***** IF IN MODULE OR TEMPLATE NAMESPACE ***** -->{{ombox | type = notice | image = {{#switch: {{lc:{{{1|}}}}} | pre-alpha | prealpha | pa | experimental = [[File:Ambox warning blue construction.svg|40x40px|link=|alt=]] | alpha | a = [[File:Greek lc alpha icon.svg|class=skin-invert|26x26px|link=|alt=]] | beta | b = [[File:Greek lc beta icon.svg|class=skin-invert|40x40px|link=|alt=]] | release | r | general | g | stable | protected | protect | p | semiprotected | semiprotect | semi = [[File:Green check.svg|40x40px|link=|alt=]] | broken | br | unstable = [[File:Red x.svg|40x40px|link=|alt=]] | deprecated | d | defunct = [[File:Historical.svg|40x40px|link=|alt=]] }} | style = | textstyle = | text = {{#switch: {{lc:{{{1|}}}}} | pre-alpha | prealpha | pa | experimental = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in pre-alpha development|pre-alpha]]. It is incomplete and may or may not be in active development. Do not use it in [[Wikipedia:Article namespace|article namespace]] pages. A {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}} remains in pre-alpha until its developer, or another editor who adopts it if it is abandoned for some time, considers the basic structure complete. | alpha | a = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in alpha|alpha]]. It is ready for limited use and third-party feedback. It may be used on a small number of pages, but should be monitored closely. Suggestions for new features or adjustments to input and output are welcome. | beta | b = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in beta|beta]]. It is considered ready for widespread use, but as it is still relatively new, it should be applied with some caution to ensure results are as expected. | release | r | general | g | stable | protected | protect | p | semiprotected | semiprotect | semi = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s for general use|ready for general use]]. It has reached a mature state, is considered relatively stable and bug-free, and may be used wherever appropriate. It can be mentioned on [[Wikipedia:Help pages|help pages]] and other Wikipedia resources as an option for new users. To minimise server load and avoid disruptive output, improvements should be developed through [[Wikipedia:Template sandbox and test cases|sandbox testing]] rather than repeated trial-and-error editing. | broken | br | unstable = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as [[:Category:Unstable {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}s|unstable]]. It has missing dependencies, compatibility issues, or output errors that make it unusable. Editors are encouraged to [[Special:EditPage/{{FULLPAGENAME}}|improve its compatibility]] or [[Wikipedia:Templates for discussion|nominate it for deletion]] if it cannot be fixed. | deprecated | d | defunct = This [[Wikipedia:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}|{{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}]] is rated as '''[[:Category:Deprecated {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}s|deprecated]]''' and defunct.{{#if:{{{replaced|}}}|{{space}}It is recommended editors use [[{{{replaced}}}]].}}{{#if:{{{message|}}}|{{space}}{{{message}}}}} | #default = {{error|Page using [[Template:Template rating]] with <u>invalid</u> template or module rating in {{para|1}} parameter.}}[[Category:Pages using template rating template with invalid rating|{{FULLPAGENAME}}]] }} }}<!-- Categorize. -->{{#if:{{{demopage|}}}{{{demospace|}}}|| {{#switch: {{lc:{{SUBPAGENAME}}}} | doc | sandbox =<!-- No category for /doc or /sandbox subpages --> | {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | {{#switch: {{lc:{{{1|}}}}} | pre-alpha | prealpha | pa | experimental = [[Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in pre-alpha development|{{PAGENAME}}]] | alpha | a = [[Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in alpha|{{PAGENAME}}]] | beta | b = [[Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s in beta|{{PAGENAME}}]] | release | r | general | g | stable | protected | p | semiprotected | semiprotect | semi = [[Category:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}s for general use|{{PAGENAME}}]] | deprecated | d | defunct = [[Category:Deprecated {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}s|{{PAGENAME}}]] | broken | br | unstable = [[Category:Unstable {{lc:{{NAMESPACE:{{{demopage|{{FULLPAGENAME}}}}}}}}}s|{{PAGENAME}}]] }} }} }} }} | #default = <!-- ***** Error not in Template or Module namespaces ***** -->{{if preview|1={{error|Error: {{tl|Template rating}} can only be used on pages in the [[Wikipedia:Template namespace|Template:]] or [[Wikipedia:Module namespace|Module: namespaces]].}}}}[[Category:Pages with templates in the wrong namespace]] }}<!-- End switch. -->|{{If preview|1={{error|Page using [[Template:Template rating]] with <u>empty</u> {{para|1}} module rating parameter.}}}}[[Category:Pages using template rating template with invalid rating|{{FULLPAGENAME}}]]<!-- -->}}<!-- End if. Display protection template if necessary, this will obviously show it for /doc page too since it uses {{FULLPAGENAME}}: -->{{#switch:{{Namespace detect|template=t|module=m|demospace={{{demospace|}}}}} |t|m = {{#if:{{{suppress-pp|}}} | |{{#switch:{{#invoke:Effective protection level|edit|1={{{demopage|{{FULLPAGENAME}}}}}}} |*|user = <!-- If not protected page, do nothing. --> |#default = {{#ifeq:{{lc:{{SUBPAGENAME}}}}|doc |<!-- {{#if:{{{2|}}}{{{doc-reason|}}}{{{3|}}}{{{doc-action|}}} --><!-- --><!-- | -->{{pp|{{{2|{{{doc-reason|}}}}}}|action={{{3|{{{doc-action|}}}}}}}}<!-- --><!-- }} --> -->|{{pp|1={{{reason|{{{doc-reason|}}}}}}|action={{{action|{{{doc-action|}}}}}}|demolevel={{{demolevel|}}}}}<!-- -->}}<!-- -->}}<!-- -->}} |#default = <!-- If not in template or module namespace, do nothing -->}}<!-- End template, start tracking. -->{{#invoke:Check for unknown parameters| check | unknown = {{#if:{{{demopage|}}}{{{demospace|}}}||{{#switch:{{Namespace detect|template=t|module=m}}|m|t=[[Category:Pages using template rating template with unknown parameters|_VALUE_{{FULLPAGENAME}}]]}}}} | preview = Page using [[Template:Template rating]] with unknown parameter "_VALUE_" | ignoreblank=y | demospace | demopage | 1 | 2 | 3 | reason | action | doc-reason | doc-action | nocat | replaced | message | demolevel | suppress-pp | demopage }}</includeonly><!-- End tracking. --><noinclude> {{template rating/sandbox|release|nocat=true|demospace=template|demopage=template:template rating|demolevel=edit}} {{mbox|text=The above template is a demo.}} {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go in Wikidata. --> </noinclude> 1uyrkb0aphrohrsebghuak589eymdnp فرما:UF-hcal-auto 10 33071 153372 2026-01-22T23:39:00Z en>JJMC89 bot III 0 Moving [[:Category:Microformat (uF) message templates]] to [[:Category:Microformat message templates]] per [[Wikipedia:Categories for discussion/Speedy]] 153372 wikitext text/x-wiki {{Microformat message | format = hCalendar | data = event/date details |attendee |description |dtend |dtstart |location |summary |url |vevent | nocollapse = on }}<includeonly>{{#ifeq:{{SUBPAGENAME}}|doc | |{{#ifeq:{{SUBPAGENAME}}|sandbox | |[[Category:Templates generating hCalendars|{{PAGENAME}}]]}} }}</includeonly><noinclude> {{Documentation |content={{Microformat message templates}}}} [[Category:Microformat message templates]] </noinclude> iwml74vl7z9teqzbi0eh48ecqwfu7ea 153373 153372 2026-10-06T18:16:05Z 511KeV 8268 1 revision imported from [[:en:Template:UF-hcal-auto]]: Needed locally 153372 wikitext text/x-wiki {{Microformat message | format = hCalendar | data = event/date details |attendee |description |dtend |dtstart |location |summary |url |vevent | nocollapse = on }}<includeonly>{{#ifeq:{{SUBPAGENAME}}|doc | |{{#ifeq:{{SUBPAGENAME}}|sandbox | |[[Category:Templates generating hCalendars|{{PAGENAME}}]]}} }}</includeonly><noinclude> {{Documentation |content={{Microformat message templates}}}} [[Category:Microformat message templates]] </noinclude> iwml74vl7z9teqzbi0eh48ecqwfu7ea فرما:Horizontal list 10 33072 153376 2026-09-12T00:36:18Z en>BD2412 0 RM closed as moved. 153376 wikitext text/x-wiki {{<includeonly>safesubst:</includeonly>#invoke:list|horizontal}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> ihcdy525o8nnmq114czc48dpk6pnojd 153377 153376 2026-10-06T18:16:06Z 511KeV 8268 1 revision imported from [[:en:Template:Horizontal_list]]: Needed locally 153376 wikitext text/x-wiki {{<includeonly>safesubst:</includeonly>#invoke:list|horizontal}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> ihcdy525o8nnmq114czc48dpk6pnojd فرما:Year in various calendars/doc 10 33073 153378 2026-06-29T16:24:17Z en>ABreault (WMF) 0 For [[phab:T353697|T353697]] 153378 wikitext text/x-wiki {{#ifeq:{{{type|}}}|module|| <noinclude>{{Documentation subpage}}</noinclude> {{High-use}} {{lua|Module:Year in various calendars|Module:Armenian}} }} {{Year in various calendars|{{CURRENTYEAR}}}} This {{{type|template}}} produces the sidebar opposite displaying a given [[Gregorian calendar|Gregorian]] year in various different calendars. ===Syntax=== '''Simple''' {{pre |<nowiki>{{</nowiki>{{#ifeq:{{{type|}}}|module |{{hash}}invoke:Year in various calendars{{!}}main |Year in various calendars}}<nowiki>}}</nowiki> }} '''All parameters''' {{pre |<nowiki>{{</nowiki>{{#ifeq:{{{type|}}}|module |{{hash}}invoke:Year in various calendars{{!}}main |Year in various calendars}} {{!}}year{{=}}''(n)'' {{!}}footnotes{{=}}''(footnotes)'' {{!}}gregcal{{=}}''(article name)''<nowiki>}}</nowiki> }} ===Parameters=== ; year : Number specifying the year to be displayed. This can be negative and also can be in the format "''n BC''" to display BC dates or "''AD n''" as an alternative to a positive number. If not specified, the current year is used. ; footnotes : Any footnotes to be placed at the bottom of the sidebar. ; gregcal : Name of an article to be displayed for Gregorian and Julian years (e.g. "2000 BC"). Do not include square brackets. ===Microformat=== {{UF-hcal-auto}} <includeonly>{{Sandbox other||{{#ifeq:{{{type|}}}|module|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Calendar templates]] [[Category:History and events sidebar templates]] }}}}</includeonly> hm4f8ww35opj5p7iuomcieez7uqqs9h 153379 153378 2026-10-06T18:16:06Z 511KeV 8268 1 revision imported from [[:en:Template:Year_in_various_calendars/doc]]: Needed locally 153378 wikitext text/x-wiki {{#ifeq:{{{type|}}}|module|| <noinclude>{{Documentation subpage}}</noinclude> {{High-use}} {{lua|Module:Year in various calendars|Module:Armenian}} }} {{Year in various calendars|{{CURRENTYEAR}}}} This {{{type|template}}} produces the sidebar opposite displaying a given [[Gregorian calendar|Gregorian]] year in various different calendars. ===Syntax=== '''Simple''' {{pre |<nowiki>{{</nowiki>{{#ifeq:{{{type|}}}|module |{{hash}}invoke:Year in various calendars{{!}}main |Year in various calendars}}<nowiki>}}</nowiki> }} '''All parameters''' {{pre |<nowiki>{{</nowiki>{{#ifeq:{{{type|}}}|module |{{hash}}invoke:Year in various calendars{{!}}main |Year in various calendars}} {{!}}year{{=}}''(n)'' {{!}}footnotes{{=}}''(footnotes)'' {{!}}gregcal{{=}}''(article name)''<nowiki>}}</nowiki> }} ===Parameters=== ; year : Number specifying the year to be displayed. This can be negative and also can be in the format "''n BC''" to display BC dates or "''AD n''" as an alternative to a positive number. If not specified, the current year is used. ; footnotes : Any footnotes to be placed at the bottom of the sidebar. ; gregcal : Name of an article to be displayed for Gregorian and Julian years (e.g. "2000 BC"). Do not include square brackets. ===Microformat=== {{UF-hcal-auto}} <includeonly>{{Sandbox other||{{#ifeq:{{{type|}}}|module|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Calendar templates]] [[Category:History and events sidebar templates]] }}}}</includeonly> hm4f8ww35opj5p7iuomcieez7uqqs9h Module:Year in various calendars/doc 828 33074 153380 2023-12-28T14:57:18Z en>Tom.Reding 0 /* top */{{High-use}} 153380 wikitext text/x-wiki {{High-use}} {{Module rating|beta}} {{Lua|Module:Roman|Module:Ancient Olympiads|Module:Ancient Egypt era|Module:Ancient Egypt kings|Module:Armenian|Module:British regnal year|Module:Japanese calendar|Module:Arguments}} {{#invoke:Year in various calendars|main}} {{Year in various calendars/doc|type=module}} === Adding new calendars === The module is set up to allow for easy addition of new calendars. Just scroll down to the "Build the box" section of the module code, and add your calendar as follows: To display one year: <div style="overflow: auto;"><syntaxhighlight lang="lua"> local myCalendar = calendar:new() myCalendar:setLink( 'My calendar article' ) -- The name of the calendar's Wikipedia article. myCalendar:setYear( year + 10 ) -- Lua code linking the Gregorian calendar year to your calendar's year. box:addCalendar( myCalendar ) </syntaxhighlight></div> To display a year range: <div style="overflow: auto;"><syntaxhighlight lang="lua"> local myCalendar = calendar:new() myCalendar:setLink( 'My calendar article' ) -- The name of the calendar's Wikipedia article. myCalendar:setYearRange( year + 10, year + 11 ) -- Lua code outputting the start year and the end year of the year range. box:addCalendar( myCalendar ) </syntaxhighlight></div> More complicated calendars can be passed as a string to <code>calendar:setYear()</code>. === Technical details === The module defines three [[class (programming)|classes]] which do the work of setting up the sidebar and displaying the data provided by the calendar functions. These are the <code>calendarBox</code> class, which defines the sidebar; the <code>calendar</code> class, which holds the data for one calendar; and the <code>calendarGroup</code> object, which defines a group of calendar objects with a heading. To load these classes from another module, use the following: <div style="overflow: auto;"><syntaxhighlight lang="lua"> local yearInOtherCalendars = require( 'Module:Year in various calendars' ) local calendarBox = yearInOtherCalendars.calendarBox local calendarGroup = yearInOtherCalendars.calendarGroup local calendar = yearInOtherCalendars.calendar </syntaxhighlight></div> ==== calendarBox class ==== A <code>calendarBox</code> object is initiated with: {{pre| <nowiki>local myCalendarBox = calendarBox:new{ year = </nowiki>''yyyy''<nowiki>, footnotes = </nowiki>''footnotes''<nowiki>, navbar = </nowiki>''page name''<nowiki> }</nowiki> }} * <code>year</code> - sets the Gregorian year to base calendar calculations on. If not specified, the current year is used. * <code>footnotes</code> - sets text to be displayed in a footnotes section at the bottom of the sidebar. * <code>navbar</code> - sets the page name to be used by the [[Template:Navbar|navbar]]. Calendar box objects have the following properties: * <code>calendarBox.year</code> - the Gregorian year number. This is negative for BC years; for example, for the year 100 BC the value of calendarBox.year is <code>-99</code>. (BC years are calculated by "1 - n" rather than "0 - n", as there is no year zero.) * <code>calendarBox.yearText</code> - the Gregorian year text. This is a string value of the format "n" for AD years and "n BC" for BC years. * <code>calendarBox.caption</code> - the text of the box caption (the bold text that appears directly above the box). The default caption is the value of <code>calendarBox.yearText</code>. * <code>calendarBox.footnotes</code> - the text of the box footnotes. * <code>calendarBox.navbar</code> - the page name used by the navbar. Calendar box objects have the following methods: * <code>calendarBox:setCaption( ''caption'' )</code> - sets the box caption (the bold text that appears directly above the box). The default caption is the value of <code>calendarBox.yearText</code>. * <code>calendarBox:addCalendar( ''obj'' )</code> - adds a calendar object or a calendar group object to the calendar box. * <code>calendarBox:addCalendarGroup( ''obj'' )</code> - an alias for <code>myCalendarBox:addCalendar()</code>. * <code>calendarBox:export()</code> - converts the calendar box object to wikicode. This calls <code>calendar:export()</code> and <code>calendarGroup:export()</code> to export calendar objects and calendar group objects. ==== calendar class ==== A <code>calendar</code> object is initiated with: {{pre| <nowiki>local myCalendar = calendar:new()</nowiki> }} Calendar objects have the following properties: * <code>calendar.link</code> - the link name. * <code>calendar.year</code> - the year value. This is always a string value. Calendar objects have the following methods: * <code>calendar:setLink( ''link'', ''display'' )</code> - sets the link name for the calendar object. <code>''link''</code> is the name of Wikipedia's article about the calendar, and <code>''display''</code> is an optional display name for the article link. * <code>calendar:setRawLink( ''wikitext'' )</code> - sets the calendar link as raw wikitext. * <code>calendar:getLink()</code> - gets the link value. * <code>calendar:setYear( ''year'' )</code> - sets the year value for the calendar. <code>''year''</code> can be a number or a string. * <code>calendar:setYearRange( ''startYear'', ''endYear'' )</code> - sets the year value for the calendar as a year range. Both <code>''startYear''</code> and <code>''endYear''</code> must be number values. * <code>calendar:export()</code> - exports the calendar to wikitext. If no link value was found, this returns <code>nil</code>. If a link was found but no year value was found, the calendar is output with a value of <code>''N/A''</code> for the year. ==== calendarGroup class ==== A <code>calendarGroup</code> object is initiated with: {{pre| <nowiki>local myCalendarGroup = calendarGroup:new{ heading = </nowiki>''heading''<nowiki> }</nowiki> }} * <code>heading</code> - the wikitext heading for the calendar group (e.g. <code><nowiki>[[Hindu calendar]]s</nowiki></code>). Calendar group objects have one property: * <code>calendarGroup.heading</code> - the calendar group heading text. Calendar group objects have the following methods: * <code>calendarGroup:addCalendar( ''obj'' )</code> - adds a calendar object to the calendar group. * <code>calendarGroup:export()</code> - converts a calendar group to wikitext. Calls <code>calendar:export()</code> to export individual calendar objects. === See also === {{tl|Year in various calendars}} <includeonly>{{Sandbox other|| [[Category:Time, date and calendar modules]] }}</includeonly> 7vq24ncmtjokp8totsy74dgvdtimbuu 153381 153380 2026-10-06T18:16:06Z 511KeV 8268 1 revision imported from [[:en:Module:Year_in_various_calendars/doc]]: Needed locally 153380 wikitext text/x-wiki {{High-use}} {{Module rating|beta}} {{Lua|Module:Roman|Module:Ancient Olympiads|Module:Ancient Egypt era|Module:Ancient Egypt kings|Module:Armenian|Module:British regnal year|Module:Japanese calendar|Module:Arguments}} {{#invoke:Year in various calendars|main}} {{Year in various calendars/doc|type=module}} === Adding new calendars === The module is set up to allow for easy addition of new calendars. Just scroll down to the "Build the box" section of the module code, and add your calendar as follows: To display one year: <div style="overflow: auto;"><syntaxhighlight lang="lua"> local myCalendar = calendar:new() myCalendar:setLink( 'My calendar article' ) -- The name of the calendar's Wikipedia article. myCalendar:setYear( year + 10 ) -- Lua code linking the Gregorian calendar year to your calendar's year. box:addCalendar( myCalendar ) </syntaxhighlight></div> To display a year range: <div style="overflow: auto;"><syntaxhighlight lang="lua"> local myCalendar = calendar:new() myCalendar:setLink( 'My calendar article' ) -- The name of the calendar's Wikipedia article. myCalendar:setYearRange( year + 10, year + 11 ) -- Lua code outputting the start year and the end year of the year range. box:addCalendar( myCalendar ) </syntaxhighlight></div> More complicated calendars can be passed as a string to <code>calendar:setYear()</code>. === Technical details === The module defines three [[class (programming)|classes]] which do the work of setting up the sidebar and displaying the data provided by the calendar functions. These are the <code>calendarBox</code> class, which defines the sidebar; the <code>calendar</code> class, which holds the data for one calendar; and the <code>calendarGroup</code> object, which defines a group of calendar objects with a heading. To load these classes from another module, use the following: <div style="overflow: auto;"><syntaxhighlight lang="lua"> local yearInOtherCalendars = require( 'Module:Year in various calendars' ) local calendarBox = yearInOtherCalendars.calendarBox local calendarGroup = yearInOtherCalendars.calendarGroup local calendar = yearInOtherCalendars.calendar </syntaxhighlight></div> ==== calendarBox class ==== A <code>calendarBox</code> object is initiated with: {{pre| <nowiki>local myCalendarBox = calendarBox:new{ year = </nowiki>''yyyy''<nowiki>, footnotes = </nowiki>''footnotes''<nowiki>, navbar = </nowiki>''page name''<nowiki> }</nowiki> }} * <code>year</code> - sets the Gregorian year to base calendar calculations on. If not specified, the current year is used. * <code>footnotes</code> - sets text to be displayed in a footnotes section at the bottom of the sidebar. * <code>navbar</code> - sets the page name to be used by the [[Template:Navbar|navbar]]. Calendar box objects have the following properties: * <code>calendarBox.year</code> - the Gregorian year number. This is negative for BC years; for example, for the year 100 BC the value of calendarBox.year is <code>-99</code>. (BC years are calculated by "1 - n" rather than "0 - n", as there is no year zero.) * <code>calendarBox.yearText</code> - the Gregorian year text. This is a string value of the format "n" for AD years and "n BC" for BC years. * <code>calendarBox.caption</code> - the text of the box caption (the bold text that appears directly above the box). The default caption is the value of <code>calendarBox.yearText</code>. * <code>calendarBox.footnotes</code> - the text of the box footnotes. * <code>calendarBox.navbar</code> - the page name used by the navbar. Calendar box objects have the following methods: * <code>calendarBox:setCaption( ''caption'' )</code> - sets the box caption (the bold text that appears directly above the box). The default caption is the value of <code>calendarBox.yearText</code>. * <code>calendarBox:addCalendar( ''obj'' )</code> - adds a calendar object or a calendar group object to the calendar box. * <code>calendarBox:addCalendarGroup( ''obj'' )</code> - an alias for <code>myCalendarBox:addCalendar()</code>. * <code>calendarBox:export()</code> - converts the calendar box object to wikicode. This calls <code>calendar:export()</code> and <code>calendarGroup:export()</code> to export calendar objects and calendar group objects. ==== calendar class ==== A <code>calendar</code> object is initiated with: {{pre| <nowiki>local myCalendar = calendar:new()</nowiki> }} Calendar objects have the following properties: * <code>calendar.link</code> - the link name. * <code>calendar.year</code> - the year value. This is always a string value. Calendar objects have the following methods: * <code>calendar:setLink( ''link'', ''display'' )</code> - sets the link name for the calendar object. <code>''link''</code> is the name of Wikipedia's article about the calendar, and <code>''display''</code> is an optional display name for the article link. * <code>calendar:setRawLink( ''wikitext'' )</code> - sets the calendar link as raw wikitext. * <code>calendar:getLink()</code> - gets the link value. * <code>calendar:setYear( ''year'' )</code> - sets the year value for the calendar. <code>''year''</code> can be a number or a string. * <code>calendar:setYearRange( ''startYear'', ''endYear'' )</code> - sets the year value for the calendar as a year range. Both <code>''startYear''</code> and <code>''endYear''</code> must be number values. * <code>calendar:export()</code> - exports the calendar to wikitext. If no link value was found, this returns <code>nil</code>. If a link was found but no year value was found, the calendar is output with a value of <code>''N/A''</code> for the year. ==== calendarGroup class ==== A <code>calendarGroup</code> object is initiated with: {{pre| <nowiki>local myCalendarGroup = calendarGroup:new{ heading = </nowiki>''heading''<nowiki> }</nowiki> }} * <code>heading</code> - the wikitext heading for the calendar group (e.g. <code><nowiki>[[Hindu calendar]]s</nowiki></code>). Calendar group objects have one property: * <code>calendarGroup.heading</code> - the calendar group heading text. Calendar group objects have the following methods: * <code>calendarGroup:addCalendar( ''obj'' )</code> - adds a calendar object to the calendar group. * <code>calendarGroup:export()</code> - converts a calendar group to wikitext. Calls <code>calendar:export()</code> to export individual calendar objects. === See also === {{tl|Year in various calendars}} <includeonly>{{Sandbox other|| [[Category:Time, date and calendar modules]] }}</includeonly> 7vq24ncmtjokp8totsy74dgvdtimbuu فرما کَتھ:Year in various calendars 11 33075 153384 2026-09-05T18:55:41Z en>Zackmann08 0 /* Template-protected edit request on 26 July 2026 */ Reply 153384 wikitext text/x-wiki {{Permanently protected}} {{talkheader}} {{WikiProject banner shell| {{WikiProject Time}} }} {{Centralized talk page|text=all talk pages belonging to [[Template:Year in various calendars]] and [[Module:Year in various calendars]] redirect here.}} <!--- Auto archiving configured by [[User:Mlpearc]] ---> {{User:MiszaBot/config |algo = old(31d) |archive = Template talk:Year in various calendars/Archive %(counter)d |counter = 4 |maxarchivesize = 150K |archiveheader = {{tan}} |minthreadstoarchive = 2 |minthreadsleft = 3 }} == Template-protected edit request on 11 February 2026 == {{edit template-protected|Module:Year in various calendars|answered=yes}} [[Republic of China (1912–1949)]] is inaccurate, as there were actually two rival states within that time period that happened to share the name '''Republic of China'''. The [[Beiyang government]] was considered the legitimate government of China from 1912–1928, and the [[Nationalist government]] replaced it from 1928–1949, where it retreated to [[Taiwan]]. I've replaced all links to [[Republic of China (1912–1949)]] and added an additional elseif statement to distinguish between the two governments. {{cot|Diff:}} '''Diff:''' {{col-begin}} {{col-2}} <syntaxhighlight lang="lua" line start="891"> local minguo = calendar:new() minguo:setLink( 'Minguo calendar' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Taiwan|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Republic of China (1912–1949)|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '%d before [[Republic of China (1912–1949)|ROC]]<br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) </syntaxhighlight> {{col-2}} <syntaxhighlight lang="lua" line start="891"> local minguo = calendar:new() minguo:setLink( 'Minguo calendar' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Taiwan|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1928 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Nationalist government|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Beiyang government|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '%d before [[Beiyang government|ROC]]<br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) </syntaxhighlight> {{col-end}} {{cob}} [[User:Wasting-time-is-my-passion|Wasting-time-is-my-passion]] ([[User talk:Wasting-time-is-my-passion|talk]]) 17:07, 11 February 2026 (UTC) :Please wait for the merge discussion and potential implementation to be completed. – [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 13:59, 12 February 2026 (UTC) == Template-protected edit request on 20 March 2026 == {{edit template-protected|Module:Year in various calendars|answered=yed}} The backend module for this template currently uses raw {{code|.infobox|lang=css}}, which will [[MediaWiki talk:Common.css/to do#Infobox|''eventually'' be removed]]. Please overwrite [[Module:Year in various calendars]] with [[Special:PermaLink/1344481968|its sandbox version]] which I've modified to go through the infobox module ([https://en.wikipedia.org/w/index.php?oldid=1323578091&diff=1344481968 diff]). — <span style="padding:2px 3px;color:black;font-variant:small-caps;font-variant:small-caps"><b>[[User:Chrs|<span style="color:#e36f0b">chrs</span>]] &#91;[[User_talk:Chrs|<span style="color: red">talk</span>]]&#93;</b></span> 20:08, 20 March 2026 (UTC) :Done! [[User:Santiago Claudio|Santiago Claudio]] ([[User talk:Santiago Claudio|talk]]) 06:45, 22 March 2026 (UTC) == Chinese calendar == The current so-called Chinese calendar in this template is a mix of the [[Sexagenary cycle]] and (not explicitly stated but supposedly) the [[zh:黄帝纪元|Yellow Emperor Calendar]]. However, the Yellow Emperor Calendar was only quasi-officially used for a short period in the early 20th century when debates were heated on which calendar to use, with the [[Gregorian Calendar]] and the [[zh:孔子紀年|Confucius Calendar]] being prominent rivals. So it might be not fully neutral if we only include the Yellow Emperor Calendar. Hence, I suggest removing the Yellow Emperor Calendar from this template due to lack of significance and neutrality. Meanwhile, I suggest including the [[regnal year]] (like Japanese calendar and English regnal years in this template) in the Chinese calendar. And during the period when there were more than one regime, use the traditional one: [[Cao Wei]], [[Eastern Jin]], [[Liu Song]], [[Southern Qi]], [[Liang dynasty]], [[Chen dynasty]], [[Southern Song]]. For example, 353 C.E. corresponds to [[zh:永和_(东晋)|Yonghe]] 8 ([[Sexagenary cycle|壬子]]) - Yonghe 9 (癸丑). [[User:Gu0427|Gu0427]] ([[User talk:Gu0427|talk]]) 22:05, 31 March 2026 (UTC) == Template-protected edit request on 26 July 2026 == {{Edit template-protected|Template:Year in various calendars|answered=yes}} Would someone add a [[WP:PARAMETER|parameter]], where it only displays one specific calander similar to [[Template:Infobox calendar date today|other infobox]] and adding the [[Avasarpiṇī#Duṣama (read as Dukhma)|Jain calendar]]? – [[User:KaijuEditor|KaijuEditor]] ([[User talk:KaijuEditor|talk]]) 18:21, 28 July 2026 (UTC) :{{Not done}}''':''' please make your requested changes to the template's sandbox first. See [[Wikipedia:Template sandbox and test cases|WP:TESTCASES]].<!-- Template:ETp --> '''[[User:Zackmann08|<span style="color:#00d5ff">Zack</span><span style="color:#007F94">mann</span>]]''' (<sup>[[User_talk:Zackmann08|Talk to me]]</sup>/<sub>[[Special:Contributions/Zackmann08|<span style="color:orange">What I been doing</span>]]</sub>) 16:24, 5 September 2026 (UTC) ::The [[WP:SB|sandbox]] redirects here. – [[User:KaijuEditor|KaijuEditor]] ([[User talk:KaijuEditor|talk]]) 17:55, 5 September 2026 (UTC) :::The sandbox is [[Template:Year in various calendars/sandbox]] and doesn't redirect anywhere. '''[[User:Zackmann08|<span style="color:#00d5ff">Zack</span><span style="color:#007F94">mann</span>]]''' (<sup>[[User_talk:Zackmann08|Talk to me]]</sup>/<sub>[[Special:Contributions/Zackmann08|<span style="color:orange">What I been doing</span>]]</sub>) 18:31, 5 September 2026 (UTC) ::::The [[Template talk:Year in various calendars/sandbox|talk page]] does. — [[User:KaijuEditor|KaijuEditor]] ([[User talk:KaijuEditor|talk]]) 18:51, 5 September 2026 (UTC) :::::You aren't editing the talk page... You need to edit the sandbox. What is the problem? '''[[User:Zackmann08|<span style="color:#00d5ff">Zack</span><span style="color:#007F94">mann</span>]]''' (<sup>[[User_talk:Zackmann08|Talk to me]]</sup>/<sub>[[Special:Contributions/Zackmann08|<span style="color:orange">What I been doing</span>]]</sub>) 18:55, 5 September 2026 (UTC) qzx8lq9ytxivvjmqfco77ckxysaxijf 153385 153384 2026-10-06T18:16:07Z 511KeV 8268 1 revision imported from [[:en:Template_talk:Year_in_various_calendars]]: Needed locally 153384 wikitext text/x-wiki {{Permanently protected}} {{talkheader}} {{WikiProject banner shell| {{WikiProject Time}} }} {{Centralized talk page|text=all talk pages belonging to [[Template:Year in various calendars]] and [[Module:Year in various calendars]] redirect here.}} <!--- Auto archiving configured by [[User:Mlpearc]] ---> {{User:MiszaBot/config |algo = old(31d) |archive = Template talk:Year in various calendars/Archive %(counter)d |counter = 4 |maxarchivesize = 150K |archiveheader = {{tan}} |minthreadstoarchive = 2 |minthreadsleft = 3 }} == Template-protected edit request on 11 February 2026 == {{edit template-protected|Module:Year in various calendars|answered=yes}} [[Republic of China (1912–1949)]] is inaccurate, as there were actually two rival states within that time period that happened to share the name '''Republic of China'''. The [[Beiyang government]] was considered the legitimate government of China from 1912–1928, and the [[Nationalist government]] replaced it from 1928–1949, where it retreated to [[Taiwan]]. I've replaced all links to [[Republic of China (1912–1949)]] and added an additional elseif statement to distinguish between the two governments. {{cot|Diff:}} '''Diff:''' {{col-begin}} {{col-2}} <syntaxhighlight lang="lua" line start="891"> local minguo = calendar:new() minguo:setLink( 'Minguo calendar' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Taiwan|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Republic of China (1912–1949)|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '%d before [[Republic of China (1912–1949)|ROC]]<br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) </syntaxhighlight> {{col-2}} <syntaxhighlight lang="lua" line start="891"> local minguo = calendar:new() minguo:setLink( 'Minguo calendar' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Taiwan|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1928 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Nationalist government|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Beiyang government|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '%d before [[Beiyang government|ROC]]<br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) </syntaxhighlight> {{col-end}} {{cob}} [[User:Wasting-time-is-my-passion|Wasting-time-is-my-passion]] ([[User talk:Wasting-time-is-my-passion|talk]]) 17:07, 11 February 2026 (UTC) :Please wait for the merge discussion and potential implementation to be completed. – [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 13:59, 12 February 2026 (UTC) == Template-protected edit request on 20 March 2026 == {{edit template-protected|Module:Year in various calendars|answered=yed}} The backend module for this template currently uses raw {{code|.infobox|lang=css}}, which will [[MediaWiki talk:Common.css/to do#Infobox|''eventually'' be removed]]. Please overwrite [[Module:Year in various calendars]] with [[Special:PermaLink/1344481968|its sandbox version]] which I've modified to go through the infobox module ([https://en.wikipedia.org/w/index.php?oldid=1323578091&diff=1344481968 diff]). — <span style="padding:2px 3px;color:black;font-variant:small-caps;font-variant:small-caps"><b>[[User:Chrs|<span style="color:#e36f0b">chrs</span>]] &#91;[[User_talk:Chrs|<span style="color: red">talk</span>]]&#93;</b></span> 20:08, 20 March 2026 (UTC) :Done! [[User:Santiago Claudio|Santiago Claudio]] ([[User talk:Santiago Claudio|talk]]) 06:45, 22 March 2026 (UTC) == Chinese calendar == The current so-called Chinese calendar in this template is a mix of the [[Sexagenary cycle]] and (not explicitly stated but supposedly) the [[zh:黄帝纪元|Yellow Emperor Calendar]]. However, the Yellow Emperor Calendar was only quasi-officially used for a short period in the early 20th century when debates were heated on which calendar to use, with the [[Gregorian Calendar]] and the [[zh:孔子紀年|Confucius Calendar]] being prominent rivals. So it might be not fully neutral if we only include the Yellow Emperor Calendar. Hence, I suggest removing the Yellow Emperor Calendar from this template due to lack of significance and neutrality. Meanwhile, I suggest including the [[regnal year]] (like Japanese calendar and English regnal years in this template) in the Chinese calendar. And during the period when there were more than one regime, use the traditional one: [[Cao Wei]], [[Eastern Jin]], [[Liu Song]], [[Southern Qi]], [[Liang dynasty]], [[Chen dynasty]], [[Southern Song]]. For example, 353 C.E. corresponds to [[zh:永和_(东晋)|Yonghe]] 8 ([[Sexagenary cycle|壬子]]) - Yonghe 9 (癸丑). [[User:Gu0427|Gu0427]] ([[User talk:Gu0427|talk]]) 22:05, 31 March 2026 (UTC) == Template-protected edit request on 26 July 2026 == {{Edit template-protected|Template:Year in various calendars|answered=yes}} Would someone add a [[WP:PARAMETER|parameter]], where it only displays one specific calander similar to [[Template:Infobox calendar date today|other infobox]] and adding the [[Avasarpiṇī#Duṣama (read as Dukhma)|Jain calendar]]? – [[User:KaijuEditor|KaijuEditor]] ([[User talk:KaijuEditor|talk]]) 18:21, 28 July 2026 (UTC) :{{Not done}}''':''' please make your requested changes to the template's sandbox first. See [[Wikipedia:Template sandbox and test cases|WP:TESTCASES]].<!-- Template:ETp --> '''[[User:Zackmann08|<span style="color:#00d5ff">Zack</span><span style="color:#007F94">mann</span>]]''' (<sup>[[User_talk:Zackmann08|Talk to me]]</sup>/<sub>[[Special:Contributions/Zackmann08|<span style="color:orange">What I been doing</span>]]</sub>) 16:24, 5 September 2026 (UTC) ::The [[WP:SB|sandbox]] redirects here. – [[User:KaijuEditor|KaijuEditor]] ([[User talk:KaijuEditor|talk]]) 17:55, 5 September 2026 (UTC) :::The sandbox is [[Template:Year in various calendars/sandbox]] and doesn't redirect anywhere. '''[[User:Zackmann08|<span style="color:#00d5ff">Zack</span><span style="color:#007F94">mann</span>]]''' (<sup>[[User_talk:Zackmann08|Talk to me]]</sup>/<sub>[[Special:Contributions/Zackmann08|<span style="color:orange">What I been doing</span>]]</sub>) 18:31, 5 September 2026 (UTC) ::::The [[Template talk:Year in various calendars/sandbox|talk page]] does. — [[User:KaijuEditor|KaijuEditor]] ([[User talk:KaijuEditor|talk]]) 18:51, 5 September 2026 (UTC) :::::You aren't editing the talk page... You need to edit the sandbox. What is the problem? '''[[User:Zackmann08|<span style="color:#00d5ff">Zack</span><span style="color:#007F94">mann</span>]]''' (<sup>[[User_talk:Zackmann08|Talk to me]]</sup>/<sub>[[Special:Contributions/Zackmann08|<span style="color:orange">What I been doing</span>]]</sub>) 18:55, 5 September 2026 (UTC) qzx8lq9ytxivvjmqfco77ckxysaxijf Module talk:Year in various calendars 829 33076 153386 2025-07-10T09:10:51Z en>Paine Ellsworth 0 add [[WP:RCAT|rcat template]]s 153386 wikitext text/x-wiki #REDIRECT [[Template talk:Year in various calendars]] {{Rcat shell| {{R from move}} {{R from remote page}} }} q94lmm2b3mtf2mmvlaqxn5shqtha3m3 153387 153386 2026-10-06T18:16:07Z 511KeV 8268 1 revision imported from [[:en:Module_talk:Year_in_various_calendars]]: Needed locally 153386 wikitext text/x-wiki #REDIRECT [[Template talk:Year in various calendars]] {{Rcat shell| {{R from move}} {{R from remote page}} }} q94lmm2b3mtf2mmvlaqxn5shqtha3m3 فرما:Protected page 10 33077 153388 2026-08-30T17:26:39Z en>Primefac 0 /* top */ clean up post-move 153388 wikitext text/x-wiki <includeonly>{{#invoke:Protected page|main}}</includeonly><noinclude> {{Documentation}} </noinclude> 6y1fepgg5duiitvvcck1nbt4hrqzfwb 153389 153388 2026-10-06T18:16:07Z 511KeV 8268 1 revision imported from [[:en:Template:Protected_page]]: Needed locally 153388 wikitext text/x-wiki <includeonly>{{#invoke:Protected page|main}}</includeonly><noinclude> {{Documentation}} </noinclude> 6y1fepgg5duiitvvcck1nbt4hrqzfwb Module:Protected page 828 33078 153390 2026-08-30T17:24:01Z en>Primefac 0 update /config call 153390 Scribunto text/plain -- This module implements {{pp-meta}} and its daughter templates such as -- {{pp-dispute}}, {{pp-vandalism}} and {{pp-sock}}. -- Initialise necessary modules. require('strict') local makeFileLink = require('Module:File link')._main local effectiveProtectionLevel = require('Module:Effective protection level')._main local effectiveProtectionExpiry = require('Module:Effective protection expiry')._main local yesno = require('Module:Yesno') -- Lazily initialise modules and objects we don't always need. local getArgs, makeMessageBox, lang -- Set constants. local CONFIG_MODULE = 'Module:Protected page/config' -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function makeCategoryLink(cat, sort) if cat then return string.format( '[[%s:%s|%s]]', mw.site.namespaces[14].name, cat, sort ) end end -- Validation function for the expiry and the protection date local function validateDate(dateString, dateType) if not lang then lang = mw.language.getContentLanguage() end local success, result = pcall(lang.formatDate, lang, 'U', dateString) if success then result = tonumber(result) if result then return result end end error(string.format( 'invalid %s: %s', dateType, tostring(dateString) ), 4) end local function makeFullUrl(page, query, display) return string.format( '[%s %s]', tostring(mw.uri.fullUrl(page, query)), display ) end -- Given a directed graph formatted as node -> table of direct successors, -- get a table of all nodes reachable from a given node (though always -- including the given node). local function getReachableNodes(graph, start) local toWalk, retval = {[start] = true}, {} while true do -- Can't use pairs() since we're adding and removing things as we're iterating local k = next(toWalk) -- This always gets the "first" key if k == nil then return retval end toWalk[k] = nil retval[k] = true for _,v in ipairs(graph[k]) do if not retval[v] then toWalk[v] = true end end end end -------------------------------------------------------------------------------- -- Protection class -------------------------------------------------------------------------------- local Protection = {} Protection.__index = Protection Protection.supportedActions = { edit = true, move = true, autoreview = true, upload = true } Protection.bannerConfigFields = { 'text', 'explanation', 'tooltip', 'alt', 'link', 'image' } function Protection.new(args, cfg, title) local obj = {} obj._cfg = cfg obj.title = title or mw.title.getCurrentTitle() -- Set action if not args.action then obj.action = 'edit' elseif Protection.supportedActions[args.action] then obj.action = args.action else error(string.format( 'invalid action: %s', tostring(args.action) ), 3) end -- Set level obj.level = args.demolevel or effectiveProtectionLevel(obj.action, obj.title) if not obj.level or (obj.action == 'move' and obj.level == 'autoconfirmed') then -- Users need to be autoconfirmed to move pages anyway, so treat -- semi-move-protected pages as unprotected. obj.level = '*' end -- Set expiry local effectiveExpiry = effectiveProtectionExpiry(obj.action, obj.title) if effectiveExpiry == 'infinity' then obj.expiry = 'indef' elseif effectiveExpiry ~= 'unknown' then obj.expiry = validateDate(effectiveExpiry, 'expiry date') end -- Set reason if args[1] then obj.reason = mw.ustring.lower(args[1]) if obj.reason:find('|') then error('reasons cannot contain the pipe character ("|")', 3) end end -- Set protection date if args.date then obj.protectionDate = validateDate(args.date, 'protection date') end -- Set banner config do obj.bannerConfig = {} local configTables = {} if cfg.banners[obj.action] then configTables[#configTables + 1] = cfg.banners[obj.action][obj.reason] end if cfg.defaultBanners[obj.action] then configTables[#configTables + 1] = cfg.defaultBanners[obj.action][obj.level] configTables[#configTables + 1] = cfg.defaultBanners[obj.action].default end configTables[#configTables + 1] = cfg.masterBanner for i, field in ipairs(Protection.bannerConfigFields) do for j, t in ipairs(configTables) do if t[field] then obj.bannerConfig[field] = t[field] break end end end end return setmetatable(obj, Protection) end function Protection:isUserScript() -- Whether the page is a user JavaScript or CSS page. local title = self.title return title.namespace == 2 and ( title.contentModel == 'javascript' or title.contentModel == 'css' ) end function Protection:isProtected() return self.level ~= '*' end function Protection:shouldShowLock() -- Whether we should output a banner/padlock return self:isProtected() and not self:isUserScript() end -- Whether this page needs a protection category. Protection.shouldHaveProtectionCategory = Protection.shouldShowLock function Protection:isTemporary() return type(self.expiry) == 'number' end function Protection:makeProtectionCategory() if not self:shouldHaveProtectionCategory() then return '' end local cfg = self._cfg local title = self.title -- Get the expiry key fragment. local expiryFragment if self.expiry == 'indef' then expiryFragment = self.expiry elseif type(self.expiry) == 'number' then expiryFragment = 'temp' end -- Get the namespace key fragment. local namespaceFragment = cfg.categoryNamespaceKeys[title.namespace] if not namespaceFragment and title.namespace % 2 == 1 then namespaceFragment = 'talk' end -- Define the order that key fragments are tested in. This is done with an -- array of tables containing the value to be tested, along with its -- position in the cfg.protectionCategories table. local order = { {val = expiryFragment, keypos = 1}, {val = namespaceFragment, keypos = 2}, {val = self.reason, keypos = 3}, {val = self.level, keypos = 4}, {val = self.action, keypos = 5} } --[[ -- The old protection templates used an ad-hoc protection category system, -- with some templates prioritising namespaces in their categories, and -- others prioritising the protection reason. To emulate this in this module -- we use the config table cfg.reasonsWithNamespacePriority to set the -- reasons for which namespaces have priority over protection reason. -- If we are dealing with one of those reasons, move the namespace table to -- the end of the order table, i.e. give it highest priority. If not, the -- reason should have highest priority, so move that to the end of the table -- instead. --]] table.insert(order, table.remove(order, self.reason and cfg.reasonsWithNamespacePriority[self.reason] and 2 or 3)) --[[ -- Define the attempt order. Inactive subtables (subtables with nil "value" -- fields) are moved to the end, where they will later be given the key -- "all". This is to cut down on the number of table lookups in -- cfg.protectionCategories, which grows exponentially with the number of -- non-nil keys. We keep track of the number of active subtables with the -- noActive parameter. --]] local noActive, attemptOrder do local active, inactive = {}, {} for i, t in ipairs(order) do if t.val then active[#active + 1] = t else inactive[#inactive + 1] = t end end noActive = #active attemptOrder = active for i, t in ipairs(inactive) do attemptOrder[#attemptOrder + 1] = t end end --[[ -- Check increasingly generic key combinations until we find a match. If a -- specific category exists for the combination of key fragments we are -- given, that match will be found first. If not, we keep trying different -- key fragment combinations until we match using the key -- "all-all-all-all-all". -- -- To generate the keys, we index the key subtables using a binary matrix -- with indexes i and j. j is only calculated up to the number of active -- subtables. For example, if there were three active subtables, the matrix -- would look like this, with 0 corresponding to the key fragment "all", and -- 1 corresponding to other key fragments. -- -- j 1 2 3 -- i -- 1 1 1 1 -- 2 0 1 1 -- 3 1 0 1 -- 4 0 0 1 -- 5 1 1 0 -- 6 0 1 0 -- 7 1 0 0 -- 8 0 0 0 -- -- Values of j higher than the number of active subtables are set -- to the string "all". -- -- A key for cfg.protectionCategories is constructed for each value of i. -- The position of the value in the key is determined by the keypos field in -- each subtable. --]] local cats = cfg.protectionCategories for i = 1, 2^noActive do local key = {} for j, t in ipairs(attemptOrder) do if j > noActive then key[t.keypos] = 'all' else local quotient = i / 2 ^ (j - 1) quotient = math.ceil(quotient) if quotient % 2 == 1 then key[t.keypos] = t.val else key[t.keypos] = 'all' end end end key = table.concat(key, '|') local attempt = cats[key] if attempt then return makeCategoryLink(attempt, title.text) end end return '' end function Protection:isIncorrect() if not self:shouldHaveProtectionCategory() then return true end if type(self.expiry) ~= 'number' then return false end local expiry = os.date('*t', self.expiry) -- Avoid checking today.day or os.time(), unless close. https://phabricator.wikimedia.org/T416616 local today = os.date('*t') return (expiry.year < today.year) or (expiry.year == today.year and expiry.month < today.month) or (expiry.year == today.year and expiry.month == today.month and expiry.day < today.day) or (expiry.year == today.year and expiry.month == today.month and expiry.day == today.day and self.expiry < os.time()) end function Protection:isTemplateProtectedNonTemplate() local action, namespace = self.action, self.title.namespace return self.level == 'templateeditor' and ( (action ~= 'edit' and action ~= 'move') or (namespace ~= 10 and namespace ~= 828) ) end function Protection:makeCategoryLinks() local msg = self._cfg.msg local ret = {self:makeProtectionCategory()} if self:isIncorrect() then ret[#ret + 1] = makeCategoryLink( msg['tracking-category-incorrect'], self.title.text ) end if self:isTemplateProtectedNonTemplate() then ret[#ret + 1] = makeCategoryLink( msg['tracking-category-template'], self.title.text ) end return table.concat(ret) end -------------------------------------------------------------------------------- -- Blurb class -------------------------------------------------------------------------------- local Blurb = {} Blurb.__index = Blurb Blurb.bannerTextFields = { text = true, explanation = true, tooltip = true, alt = true, link = true } function Blurb.new(protectionObj, args, cfg) return setmetatable({ _cfg = cfg, _protectionObj = protectionObj, _args = args }, Blurb) end -- Private methods -- function Blurb:_formatDate(num) -- Formats a Unix timestamp into dd Month, YYYY format. lang = lang or mw.language.getContentLanguage() local success, date = pcall( lang.formatDate, lang, self._cfg.msg['expiry-date-format'] or 'j F Y', '@' .. tostring(num) ) if success then return date end end function Blurb:_getExpandedMessage(msgKey) return self:_substituteParameters(self._cfg.msg[msgKey]) end function Blurb:_substituteParameters(msg) if not self._params then local parameterFuncs = {} parameterFuncs.CURRENTVERSION = self._makeCurrentVersionParameter parameterFuncs.EDITREQUEST = self._makeEditRequestParameter parameterFuncs.EXPIRY = self._makeExpiryParameter parameterFuncs.EXPLANATIONBLURB = self._makeExplanationBlurbParameter parameterFuncs.IMAGELINK = self._makeImageLinkParameter parameterFuncs.INTROBLURB = self._makeIntroBlurbParameter parameterFuncs.INTROFRAGMENT = self._makeIntroFragmentParameter parameterFuncs.PAGETYPE = self._makePagetypeParameter parameterFuncs.PROTECTIONBLURB = self._makeProtectionBlurbParameter parameterFuncs.PROTECTIONDATE = self._makeProtectionDateParameter parameterFuncs.PROTECTIONLEVEL = self._makeProtectionLevelParameter parameterFuncs.PROTECTIONLOG = self._makeProtectionLogParameter parameterFuncs.TALKPAGE = self._makeTalkPageParameter parameterFuncs.TOOLTIPBLURB = self._makeTooltipBlurbParameter parameterFuncs.TOOLTIPFRAGMENT = self._makeTooltipFragmentParameter parameterFuncs.VANDAL = self._makeVandalTemplateParameter self._params = setmetatable({}, { __index = function (t, k) local param if parameterFuncs[k] then param = parameterFuncs[k](self) end param = param or '' t[k] = param return param end }) end msg = msg:gsub('${(%u+)}', self._params) return msg end function Blurb:_makeCurrentVersionParameter() -- A link to the page history or the move log, depending on the kind of -- protection. local pagename = self._protectionObj.title.prefixedText if self._protectionObj.action == 'move' then -- We need the move log link. return makeFullUrl( 'Special:Log', {type = 'move', page = pagename}, self:_getExpandedMessage('current-version-move-display') ) else -- We need the history link. return makeFullUrl( pagename, {action = 'history'}, self:_getExpandedMessage('current-version-edit-display') ) end end function Blurb:_makeEditRequestParameter() local mEditRequest = require('Module:Submit an edit request') local action = self._protectionObj.action local level = self._protectionObj.level -- Get the edit request type. local requestType if action == 'edit' then if level == 'autoconfirmed' then requestType = 'semi' elseif level == 'extendedconfirmed' then requestType = 'extended' elseif level == 'templateeditor' then requestType = 'template' end end requestType = requestType or 'full' -- Get the display value. local display = self:_getExpandedMessage('edit-request-display') return mEditRequest._link{type = requestType, display = display} end function Blurb:_makeExpiryParameter() local expiry = self._protectionObj.expiry if type(expiry) == 'number' then return self:_formatDate(expiry) else return expiry end end function Blurb:_makeExplanationBlurbParameter() -- Cover special cases first. if self._protectionObj.title.namespace == 8 then -- MediaWiki namespace return self:_getExpandedMessage('explanation-blurb-nounprotect') end -- Get explanation blurb table keys local action = self._protectionObj.action local level = self._protectionObj.level local talkKey = self._protectionObj.title.isTalkPage and 'talk' or 'subject' -- Find the message in the explanation blurb table and substitute any -- parameters. local explanations = self._cfg.explanationBlurbs local msg if explanations[action][level] and explanations[action][level][talkKey] then msg = explanations[action][level][talkKey] elseif explanations[action][level] and explanations[action][level].default then msg = explanations[action][level].default elseif explanations[action].default and explanations[action].default[talkKey] then msg = explanations[action].default[talkKey] elseif explanations[action].default and explanations[action].default.default then msg = explanations[action].default.default else error(string.format( 'could not find explanation blurb for action "%s", level "%s" and talk key "%s"', action, level, talkKey ), 8) end return self:_substituteParameters(msg) end function Blurb:_makeImageLinkParameter() local imageLinks = self._cfg.imageLinks local action = self._protectionObj.action local level = self._protectionObj.level local msg if imageLinks[action][level] then msg = imageLinks[action][level] elseif imageLinks[action].default then msg = imageLinks[action].default else msg = imageLinks.edit.default end return self:_substituteParameters(msg) end function Blurb:_makeIntroBlurbParameter() if self._protectionObj:isTemporary() then return self:_getExpandedMessage('intro-blurb-expiry') else return self:_getExpandedMessage('intro-blurb-noexpiry') end end function Blurb:_makeIntroFragmentParameter() if self._protectionObj:isTemporary() then return self:_getExpandedMessage('intro-fragment-expiry') else return self:_getExpandedMessage('intro-fragment-noexpiry') end end function Blurb:_makePagetypeParameter() local pagetypes = self._cfg.pagetypes return pagetypes[self._protectionObj.title.namespace] or pagetypes.default or error('no default pagetype defined', 8) end function Blurb:_makeProtectionBlurbParameter() local protectionBlurbs = self._cfg.protectionBlurbs local action = self._protectionObj.action local level = self._protectionObj.level local msg if protectionBlurbs[action][level] then msg = protectionBlurbs[action][level] elseif protectionBlurbs[action].default then msg = protectionBlurbs[action].default elseif protectionBlurbs.edit.default then msg = protectionBlurbs.edit.default else error('no protection blurb defined for protectionBlurbs.edit.default', 8) end return self:_substituteParameters(msg) end function Blurb:_makeProtectionDateParameter() local protectionDate = self._protectionObj.protectionDate if type(protectionDate) == 'number' then return self:_formatDate(protectionDate) else return protectionDate end end function Blurb:_makeProtectionLevelParameter() local protectionLevels = self._cfg.protectionLevels local action = self._protectionObj.action local level = self._protectionObj.level local msg if protectionLevels[action][level] then msg = protectionLevels[action][level] elseif protectionLevels[action].default then msg = protectionLevels[action].default elseif protectionLevels.edit.default then msg = protectionLevels.edit.default else error('no protection level defined for protectionLevels.edit.default', 8) end return self:_substituteParameters(msg) end function Blurb:_makeProtectionLogParameter() local pagename = self._protectionObj.title.prefixedText if self._protectionObj.action == 'autoreview' then -- We need the pending changes log. return makeFullUrl( 'Special:Log', {type = 'stable', page = pagename}, self:_getExpandedMessage('pc-log-display') ) else -- We need the protection log. return makeFullUrl( 'Special:Log', {type = 'protect', page = pagename}, self:_getExpandedMessage('protection-log-display') ) end end function Blurb:_makeTalkPageParameter() return string.format( '[[%s:%s#%s|%s]]', mw.site.namespaces[self._protectionObj.title.namespace].talk.name, self._protectionObj.title.text, self._args.section or 'top', self:_getExpandedMessage('talk-page-link-display') ) end function Blurb:_makeTooltipBlurbParameter() if self._protectionObj:isTemporary() then return self:_getExpandedMessage('tooltip-blurb-expiry') else return self:_getExpandedMessage('tooltip-blurb-noexpiry') end end function Blurb:_makeTooltipFragmentParameter() if self._protectionObj:isTemporary() then return self:_getExpandedMessage('tooltip-fragment-expiry') else return self:_getExpandedMessage('tooltip-fragment-noexpiry') end end function Blurb:_makeVandalTemplateParameter() return mw.getCurrentFrame():expandTemplate{ title="vandal-m", args={self._args.user or self._protectionObj.title.baseText} } end -- Public methods -- function Blurb:makeBannerText(key) -- Validate input. if not key or not Blurb.bannerTextFields[key] then error(string.format( '"%s" is not a valid banner config field', tostring(key) ), 2) end -- Generate the text. local msg = self._protectionObj.bannerConfig[key] if type(msg) == 'string' then return self:_substituteParameters(msg) elseif type(msg) == 'function' then msg = msg(self._protectionObj, self._args) if type(msg) ~= 'string' then error(string.format( 'bad output from banner config function with key "%s"' .. ' (expected string, got %s)', tostring(key), type(msg) ), 4) end return self:_substituteParameters(msg) end end -------------------------------------------------------------------------------- -- BannerTemplate class -------------------------------------------------------------------------------- local BannerTemplate = {} BannerTemplate.__index = BannerTemplate function BannerTemplate.new(protectionObj, cfg) local obj = {} obj._cfg = cfg -- Set the image filename. local imageFilename = protectionObj.bannerConfig.image if imageFilename then obj._imageFilename = imageFilename else -- If an image filename isn't specified explicitly in the banner config, -- generate it from the protection status and the namespace. local action = protectionObj.action local level = protectionObj.level local namespace = protectionObj.title.namespace local reason = protectionObj.reason -- Deal with special cases first. if ( namespace == 10 or namespace == 828 or reason and obj._cfg.indefImageReasons[reason] ) and action == 'edit' and level == 'sysop' and not protectionObj:isTemporary() then -- Fully protected modules and templates get the special red "indef" -- padlock. obj._imageFilename = obj._cfg.msg['image-filename-indef'] else -- Deal with regular protection types. local images = obj._cfg.images if images[action] then if images[action][level] then obj._imageFilename = images[action][level] elseif images[action].default then obj._imageFilename = images[action].default end end end end return setmetatable(obj, BannerTemplate) end function BannerTemplate:renderImage() local filename = self._imageFilename or self._cfg.msg['image-filename-default'] or 'Transparent.gif' return makeFileLink{ file = filename, size = (self.imageWidth or 20) .. 'px', alt = self._imageAlt, link = self._imageLink, caption = self.imageCaption } end -------------------------------------------------------------------------------- -- Banner class -------------------------------------------------------------------------------- local Banner = setmetatable({}, BannerTemplate) Banner.__index = Banner function Banner.new(protectionObj, blurbObj, cfg) local obj = BannerTemplate.new(protectionObj, cfg) -- This doesn't need the blurb. obj.imageWidth = 40 obj.imageCaption = blurbObj:makeBannerText('alt') -- Large banners use the alt text for the tooltip. obj._reasonText = blurbObj:makeBannerText('text') obj._explanationText = blurbObj:makeBannerText('explanation') obj._page = protectionObj.title.prefixedText -- Only makes a difference in testing. return setmetatable(obj, Banner) end function Banner:__tostring() -- Renders the banner. makeMessageBox = makeMessageBox or require('Module:Message box').main local reasonText = self._reasonText or error('no reason text set', 2) local explanationText = self._explanationText local mbargs = { page = self._page, type = 'protection', image = self:renderImage(), text = string.format( "'''%s'''%s", reasonText, explanationText and '<br />' .. explanationText or '' ) } return makeMessageBox('mbox', mbargs) end -------------------------------------------------------------------------------- -- Padlock class -------------------------------------------------------------------------------- local Padlock = setmetatable({}, BannerTemplate) Padlock.__index = Padlock function Padlock.new(protectionObj, blurbObj, cfg) local obj = BannerTemplate.new(protectionObj, cfg) -- This doesn't need the blurb. obj.imageWidth = 20 obj.imageCaption = blurbObj:makeBannerText('tooltip') obj._imageAlt = blurbObj:makeBannerText('alt') obj._imageLink = blurbObj:makeBannerText('link') obj._indicatorName = cfg.padlockIndicatorNames[protectionObj.action] or cfg.padlockIndicatorNames.default or 'pp-default' return setmetatable(obj, Padlock) end function Padlock:__tostring() local frame = mw.getCurrentFrame() -- The nowiki tag helps prevent whitespace at the top of articles. return frame:extensionTag{name = 'nowiki'} .. frame:extensionTag{ name = 'indicator', args = {name = self._indicatorName}, content = self:renderImage() } end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p = {} function p._exportClasses() -- This is used for testing purposes. return { Protection = Protection, Blurb = Blurb, BannerTemplate = BannerTemplate, Banner = Banner, Padlock = Padlock, } end function p._main(args, cfg, title) args = args or {} cfg = cfg or require(CONFIG_MODULE) local protectionObj = Protection.new(args, cfg, title) local ret = {} -- If a page's edit protection is equally or more restrictive than its -- protection from some other action, then don't bother displaying anything -- for the other action (except categories). if not yesno(args.catonly) and (protectionObj.action == 'edit' or args.demolevel or not getReachableNodes( cfg.hierarchy, protectionObj.level )[effectiveProtectionLevel('edit', protectionObj.title)]) then -- Initialise the blurb object local blurbObj = Blurb.new(protectionObj, args, cfg) -- Render the banner if protectionObj:shouldShowLock() then ret[#ret + 1] = tostring( (yesno(args.small) and Padlock or Banner) .new(protectionObj, blurbObj, cfg) ) end end -- Render the categories if yesno(args.category) ~= false then ret[#ret + 1] = protectionObj:makeCategoryLinks() end -- For arbitration enforcement, flagging [[WP:PIA]] pages to enable [[Special:AbuseFilter/1339]] to flag edits to them if protectionObj.level == "extendedconfirmed" then if require("Module:TableTools").inArray(protectionObj.title.talkPageTitle.categories, "Wikipedia pages subject to the extended confirmed restriction related to the Arab-Israeli conflict") then ret[#ret + 1] = "<p class='PIA-flag' style='display:none; visibility:hidden;' title='This page is subject to the extended confirmed restriction related to the Arab-Israeli conflict.'></p>" end end return table.concat(ret) end function p.main(frame, cfg) cfg = cfg or require(CONFIG_MODULE) -- Find default args, if any. local parent = frame.getParent and frame:getParent() local defaultArgs = parent and cfg.wrappers[parent:getTitle():gsub('/sandbox$', '')] -- Find user args, and use the parent frame if we are being called from a -- wrapper template. getArgs = getArgs or require('Module:Arguments').getArgs local userArgs = getArgs(frame, { parentOnly = defaultArgs, frameOnly = not defaultArgs }) -- Build the args table. User-specified args overwrite default args. local args = {} for k, v in pairs(defaultArgs or {}) do args[k] = v end for k, v in pairs(userArgs) do args[k] = v end return p._main(args, cfg) end return p p8ryzquso3eyufqyguwh2oyqz5eu1l6 153391 153390 2026-10-06T18:16:07Z 511KeV 8268 1 revision imported from [[:en:Module:Protected_page]]: Needed locally 153390 Scribunto text/plain -- This module implements {{pp-meta}} and its daughter templates such as -- {{pp-dispute}}, {{pp-vandalism}} and {{pp-sock}}. -- Initialise necessary modules. require('strict') local makeFileLink = require('Module:File link')._main local effectiveProtectionLevel = require('Module:Effective protection level')._main local effectiveProtectionExpiry = require('Module:Effective protection expiry')._main local yesno = require('Module:Yesno') -- Lazily initialise modules and objects we don't always need. local getArgs, makeMessageBox, lang -- Set constants. local CONFIG_MODULE = 'Module:Protected page/config' -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function makeCategoryLink(cat, sort) if cat then return string.format( '[[%s:%s|%s]]', mw.site.namespaces[14].name, cat, sort ) end end -- Validation function for the expiry and the protection date local function validateDate(dateString, dateType) if not lang then lang = mw.language.getContentLanguage() end local success, result = pcall(lang.formatDate, lang, 'U', dateString) if success then result = tonumber(result) if result then return result end end error(string.format( 'invalid %s: %s', dateType, tostring(dateString) ), 4) end local function makeFullUrl(page, query, display) return string.format( '[%s %s]', tostring(mw.uri.fullUrl(page, query)), display ) end -- Given a directed graph formatted as node -> table of direct successors, -- get a table of all nodes reachable from a given node (though always -- including the given node). local function getReachableNodes(graph, start) local toWalk, retval = {[start] = true}, {} while true do -- Can't use pairs() since we're adding and removing things as we're iterating local k = next(toWalk) -- This always gets the "first" key if k == nil then return retval end toWalk[k] = nil retval[k] = true for _,v in ipairs(graph[k]) do if not retval[v] then toWalk[v] = true end end end end -------------------------------------------------------------------------------- -- Protection class -------------------------------------------------------------------------------- local Protection = {} Protection.__index = Protection Protection.supportedActions = { edit = true, move = true, autoreview = true, upload = true } Protection.bannerConfigFields = { 'text', 'explanation', 'tooltip', 'alt', 'link', 'image' } function Protection.new(args, cfg, title) local obj = {} obj._cfg = cfg obj.title = title or mw.title.getCurrentTitle() -- Set action if not args.action then obj.action = 'edit' elseif Protection.supportedActions[args.action] then obj.action = args.action else error(string.format( 'invalid action: %s', tostring(args.action) ), 3) end -- Set level obj.level = args.demolevel or effectiveProtectionLevel(obj.action, obj.title) if not obj.level or (obj.action == 'move' and obj.level == 'autoconfirmed') then -- Users need to be autoconfirmed to move pages anyway, so treat -- semi-move-protected pages as unprotected. obj.level = '*' end -- Set expiry local effectiveExpiry = effectiveProtectionExpiry(obj.action, obj.title) if effectiveExpiry == 'infinity' then obj.expiry = 'indef' elseif effectiveExpiry ~= 'unknown' then obj.expiry = validateDate(effectiveExpiry, 'expiry date') end -- Set reason if args[1] then obj.reason = mw.ustring.lower(args[1]) if obj.reason:find('|') then error('reasons cannot contain the pipe character ("|")', 3) end end -- Set protection date if args.date then obj.protectionDate = validateDate(args.date, 'protection date') end -- Set banner config do obj.bannerConfig = {} local configTables = {} if cfg.banners[obj.action] then configTables[#configTables + 1] = cfg.banners[obj.action][obj.reason] end if cfg.defaultBanners[obj.action] then configTables[#configTables + 1] = cfg.defaultBanners[obj.action][obj.level] configTables[#configTables + 1] = cfg.defaultBanners[obj.action].default end configTables[#configTables + 1] = cfg.masterBanner for i, field in ipairs(Protection.bannerConfigFields) do for j, t in ipairs(configTables) do if t[field] then obj.bannerConfig[field] = t[field] break end end end end return setmetatable(obj, Protection) end function Protection:isUserScript() -- Whether the page is a user JavaScript or CSS page. local title = self.title return title.namespace == 2 and ( title.contentModel == 'javascript' or title.contentModel == 'css' ) end function Protection:isProtected() return self.level ~= '*' end function Protection:shouldShowLock() -- Whether we should output a banner/padlock return self:isProtected() and not self:isUserScript() end -- Whether this page needs a protection category. Protection.shouldHaveProtectionCategory = Protection.shouldShowLock function Protection:isTemporary() return type(self.expiry) == 'number' end function Protection:makeProtectionCategory() if not self:shouldHaveProtectionCategory() then return '' end local cfg = self._cfg local title = self.title -- Get the expiry key fragment. local expiryFragment if self.expiry == 'indef' then expiryFragment = self.expiry elseif type(self.expiry) == 'number' then expiryFragment = 'temp' end -- Get the namespace key fragment. local namespaceFragment = cfg.categoryNamespaceKeys[title.namespace] if not namespaceFragment and title.namespace % 2 == 1 then namespaceFragment = 'talk' end -- Define the order that key fragments are tested in. This is done with an -- array of tables containing the value to be tested, along with its -- position in the cfg.protectionCategories table. local order = { {val = expiryFragment, keypos = 1}, {val = namespaceFragment, keypos = 2}, {val = self.reason, keypos = 3}, {val = self.level, keypos = 4}, {val = self.action, keypos = 5} } --[[ -- The old protection templates used an ad-hoc protection category system, -- with some templates prioritising namespaces in their categories, and -- others prioritising the protection reason. To emulate this in this module -- we use the config table cfg.reasonsWithNamespacePriority to set the -- reasons for which namespaces have priority over protection reason. -- If we are dealing with one of those reasons, move the namespace table to -- the end of the order table, i.e. give it highest priority. If not, the -- reason should have highest priority, so move that to the end of the table -- instead. --]] table.insert(order, table.remove(order, self.reason and cfg.reasonsWithNamespacePriority[self.reason] and 2 or 3)) --[[ -- Define the attempt order. Inactive subtables (subtables with nil "value" -- fields) are moved to the end, where they will later be given the key -- "all". This is to cut down on the number of table lookups in -- cfg.protectionCategories, which grows exponentially with the number of -- non-nil keys. We keep track of the number of active subtables with the -- noActive parameter. --]] local noActive, attemptOrder do local active, inactive = {}, {} for i, t in ipairs(order) do if t.val then active[#active + 1] = t else inactive[#inactive + 1] = t end end noActive = #active attemptOrder = active for i, t in ipairs(inactive) do attemptOrder[#attemptOrder + 1] = t end end --[[ -- Check increasingly generic key combinations until we find a match. If a -- specific category exists for the combination of key fragments we are -- given, that match will be found first. If not, we keep trying different -- key fragment combinations until we match using the key -- "all-all-all-all-all". -- -- To generate the keys, we index the key subtables using a binary matrix -- with indexes i and j. j is only calculated up to the number of active -- subtables. For example, if there were three active subtables, the matrix -- would look like this, with 0 corresponding to the key fragment "all", and -- 1 corresponding to other key fragments. -- -- j 1 2 3 -- i -- 1 1 1 1 -- 2 0 1 1 -- 3 1 0 1 -- 4 0 0 1 -- 5 1 1 0 -- 6 0 1 0 -- 7 1 0 0 -- 8 0 0 0 -- -- Values of j higher than the number of active subtables are set -- to the string "all". -- -- A key for cfg.protectionCategories is constructed for each value of i. -- The position of the value in the key is determined by the keypos field in -- each subtable. --]] local cats = cfg.protectionCategories for i = 1, 2^noActive do local key = {} for j, t in ipairs(attemptOrder) do if j > noActive then key[t.keypos] = 'all' else local quotient = i / 2 ^ (j - 1) quotient = math.ceil(quotient) if quotient % 2 == 1 then key[t.keypos] = t.val else key[t.keypos] = 'all' end end end key = table.concat(key, '|') local attempt = cats[key] if attempt then return makeCategoryLink(attempt, title.text) end end return '' end function Protection:isIncorrect() if not self:shouldHaveProtectionCategory() then return true end if type(self.expiry) ~= 'number' then return false end local expiry = os.date('*t', self.expiry) -- Avoid checking today.day or os.time(), unless close. https://phabricator.wikimedia.org/T416616 local today = os.date('*t') return (expiry.year < today.year) or (expiry.year == today.year and expiry.month < today.month) or (expiry.year == today.year and expiry.month == today.month and expiry.day < today.day) or (expiry.year == today.year and expiry.month == today.month and expiry.day == today.day and self.expiry < os.time()) end function Protection:isTemplateProtectedNonTemplate() local action, namespace = self.action, self.title.namespace return self.level == 'templateeditor' and ( (action ~= 'edit' and action ~= 'move') or (namespace ~= 10 and namespace ~= 828) ) end function Protection:makeCategoryLinks() local msg = self._cfg.msg local ret = {self:makeProtectionCategory()} if self:isIncorrect() then ret[#ret + 1] = makeCategoryLink( msg['tracking-category-incorrect'], self.title.text ) end if self:isTemplateProtectedNonTemplate() then ret[#ret + 1] = makeCategoryLink( msg['tracking-category-template'], self.title.text ) end return table.concat(ret) end -------------------------------------------------------------------------------- -- Blurb class -------------------------------------------------------------------------------- local Blurb = {} Blurb.__index = Blurb Blurb.bannerTextFields = { text = true, explanation = true, tooltip = true, alt = true, link = true } function Blurb.new(protectionObj, args, cfg) return setmetatable({ _cfg = cfg, _protectionObj = protectionObj, _args = args }, Blurb) end -- Private methods -- function Blurb:_formatDate(num) -- Formats a Unix timestamp into dd Month, YYYY format. lang = lang or mw.language.getContentLanguage() local success, date = pcall( lang.formatDate, lang, self._cfg.msg['expiry-date-format'] or 'j F Y', '@' .. tostring(num) ) if success then return date end end function Blurb:_getExpandedMessage(msgKey) return self:_substituteParameters(self._cfg.msg[msgKey]) end function Blurb:_substituteParameters(msg) if not self._params then local parameterFuncs = {} parameterFuncs.CURRENTVERSION = self._makeCurrentVersionParameter parameterFuncs.EDITREQUEST = self._makeEditRequestParameter parameterFuncs.EXPIRY = self._makeExpiryParameter parameterFuncs.EXPLANATIONBLURB = self._makeExplanationBlurbParameter parameterFuncs.IMAGELINK = self._makeImageLinkParameter parameterFuncs.INTROBLURB = self._makeIntroBlurbParameter parameterFuncs.INTROFRAGMENT = self._makeIntroFragmentParameter parameterFuncs.PAGETYPE = self._makePagetypeParameter parameterFuncs.PROTECTIONBLURB = self._makeProtectionBlurbParameter parameterFuncs.PROTECTIONDATE = self._makeProtectionDateParameter parameterFuncs.PROTECTIONLEVEL = self._makeProtectionLevelParameter parameterFuncs.PROTECTIONLOG = self._makeProtectionLogParameter parameterFuncs.TALKPAGE = self._makeTalkPageParameter parameterFuncs.TOOLTIPBLURB = self._makeTooltipBlurbParameter parameterFuncs.TOOLTIPFRAGMENT = self._makeTooltipFragmentParameter parameterFuncs.VANDAL = self._makeVandalTemplateParameter self._params = setmetatable({}, { __index = function (t, k) local param if parameterFuncs[k] then param = parameterFuncs[k](self) end param = param or '' t[k] = param return param end }) end msg = msg:gsub('${(%u+)}', self._params) return msg end function Blurb:_makeCurrentVersionParameter() -- A link to the page history or the move log, depending on the kind of -- protection. local pagename = self._protectionObj.title.prefixedText if self._protectionObj.action == 'move' then -- We need the move log link. return makeFullUrl( 'Special:Log', {type = 'move', page = pagename}, self:_getExpandedMessage('current-version-move-display') ) else -- We need the history link. return makeFullUrl( pagename, {action = 'history'}, self:_getExpandedMessage('current-version-edit-display') ) end end function Blurb:_makeEditRequestParameter() local mEditRequest = require('Module:Submit an edit request') local action = self._protectionObj.action local level = self._protectionObj.level -- Get the edit request type. local requestType if action == 'edit' then if level == 'autoconfirmed' then requestType = 'semi' elseif level == 'extendedconfirmed' then requestType = 'extended' elseif level == 'templateeditor' then requestType = 'template' end end requestType = requestType or 'full' -- Get the display value. local display = self:_getExpandedMessage('edit-request-display') return mEditRequest._link{type = requestType, display = display} end function Blurb:_makeExpiryParameter() local expiry = self._protectionObj.expiry if type(expiry) == 'number' then return self:_formatDate(expiry) else return expiry end end function Blurb:_makeExplanationBlurbParameter() -- Cover special cases first. if self._protectionObj.title.namespace == 8 then -- MediaWiki namespace return self:_getExpandedMessage('explanation-blurb-nounprotect') end -- Get explanation blurb table keys local action = self._protectionObj.action local level = self._protectionObj.level local talkKey = self._protectionObj.title.isTalkPage and 'talk' or 'subject' -- Find the message in the explanation blurb table and substitute any -- parameters. local explanations = self._cfg.explanationBlurbs local msg if explanations[action][level] and explanations[action][level][talkKey] then msg = explanations[action][level][talkKey] elseif explanations[action][level] and explanations[action][level].default then msg = explanations[action][level].default elseif explanations[action].default and explanations[action].default[talkKey] then msg = explanations[action].default[talkKey] elseif explanations[action].default and explanations[action].default.default then msg = explanations[action].default.default else error(string.format( 'could not find explanation blurb for action "%s", level "%s" and talk key "%s"', action, level, talkKey ), 8) end return self:_substituteParameters(msg) end function Blurb:_makeImageLinkParameter() local imageLinks = self._cfg.imageLinks local action = self._protectionObj.action local level = self._protectionObj.level local msg if imageLinks[action][level] then msg = imageLinks[action][level] elseif imageLinks[action].default then msg = imageLinks[action].default else msg = imageLinks.edit.default end return self:_substituteParameters(msg) end function Blurb:_makeIntroBlurbParameter() if self._protectionObj:isTemporary() then return self:_getExpandedMessage('intro-blurb-expiry') else return self:_getExpandedMessage('intro-blurb-noexpiry') end end function Blurb:_makeIntroFragmentParameter() if self._protectionObj:isTemporary() then return self:_getExpandedMessage('intro-fragment-expiry') else return self:_getExpandedMessage('intro-fragment-noexpiry') end end function Blurb:_makePagetypeParameter() local pagetypes = self._cfg.pagetypes return pagetypes[self._protectionObj.title.namespace] or pagetypes.default or error('no default pagetype defined', 8) end function Blurb:_makeProtectionBlurbParameter() local protectionBlurbs = self._cfg.protectionBlurbs local action = self._protectionObj.action local level = self._protectionObj.level local msg if protectionBlurbs[action][level] then msg = protectionBlurbs[action][level] elseif protectionBlurbs[action].default then msg = protectionBlurbs[action].default elseif protectionBlurbs.edit.default then msg = protectionBlurbs.edit.default else error('no protection blurb defined for protectionBlurbs.edit.default', 8) end return self:_substituteParameters(msg) end function Blurb:_makeProtectionDateParameter() local protectionDate = self._protectionObj.protectionDate if type(protectionDate) == 'number' then return self:_formatDate(protectionDate) else return protectionDate end end function Blurb:_makeProtectionLevelParameter() local protectionLevels = self._cfg.protectionLevels local action = self._protectionObj.action local level = self._protectionObj.level local msg if protectionLevels[action][level] then msg = protectionLevels[action][level] elseif protectionLevels[action].default then msg = protectionLevels[action].default elseif protectionLevels.edit.default then msg = protectionLevels.edit.default else error('no protection level defined for protectionLevels.edit.default', 8) end return self:_substituteParameters(msg) end function Blurb:_makeProtectionLogParameter() local pagename = self._protectionObj.title.prefixedText if self._protectionObj.action == 'autoreview' then -- We need the pending changes log. return makeFullUrl( 'Special:Log', {type = 'stable', page = pagename}, self:_getExpandedMessage('pc-log-display') ) else -- We need the protection log. return makeFullUrl( 'Special:Log', {type = 'protect', page = pagename}, self:_getExpandedMessage('protection-log-display') ) end end function Blurb:_makeTalkPageParameter() return string.format( '[[%s:%s#%s|%s]]', mw.site.namespaces[self._protectionObj.title.namespace].talk.name, self._protectionObj.title.text, self._args.section or 'top', self:_getExpandedMessage('talk-page-link-display') ) end function Blurb:_makeTooltipBlurbParameter() if self._protectionObj:isTemporary() then return self:_getExpandedMessage('tooltip-blurb-expiry') else return self:_getExpandedMessage('tooltip-blurb-noexpiry') end end function Blurb:_makeTooltipFragmentParameter() if self._protectionObj:isTemporary() then return self:_getExpandedMessage('tooltip-fragment-expiry') else return self:_getExpandedMessage('tooltip-fragment-noexpiry') end end function Blurb:_makeVandalTemplateParameter() return mw.getCurrentFrame():expandTemplate{ title="vandal-m", args={self._args.user or self._protectionObj.title.baseText} } end -- Public methods -- function Blurb:makeBannerText(key) -- Validate input. if not key or not Blurb.bannerTextFields[key] then error(string.format( '"%s" is not a valid banner config field', tostring(key) ), 2) end -- Generate the text. local msg = self._protectionObj.bannerConfig[key] if type(msg) == 'string' then return self:_substituteParameters(msg) elseif type(msg) == 'function' then msg = msg(self._protectionObj, self._args) if type(msg) ~= 'string' then error(string.format( 'bad output from banner config function with key "%s"' .. ' (expected string, got %s)', tostring(key), type(msg) ), 4) end return self:_substituteParameters(msg) end end -------------------------------------------------------------------------------- -- BannerTemplate class -------------------------------------------------------------------------------- local BannerTemplate = {} BannerTemplate.__index = BannerTemplate function BannerTemplate.new(protectionObj, cfg) local obj = {} obj._cfg = cfg -- Set the image filename. local imageFilename = protectionObj.bannerConfig.image if imageFilename then obj._imageFilename = imageFilename else -- If an image filename isn't specified explicitly in the banner config, -- generate it from the protection status and the namespace. local action = protectionObj.action local level = protectionObj.level local namespace = protectionObj.title.namespace local reason = protectionObj.reason -- Deal with special cases first. if ( namespace == 10 or namespace == 828 or reason and obj._cfg.indefImageReasons[reason] ) and action == 'edit' and level == 'sysop' and not protectionObj:isTemporary() then -- Fully protected modules and templates get the special red "indef" -- padlock. obj._imageFilename = obj._cfg.msg['image-filename-indef'] else -- Deal with regular protection types. local images = obj._cfg.images if images[action] then if images[action][level] then obj._imageFilename = images[action][level] elseif images[action].default then obj._imageFilename = images[action].default end end end end return setmetatable(obj, BannerTemplate) end function BannerTemplate:renderImage() local filename = self._imageFilename or self._cfg.msg['image-filename-default'] or 'Transparent.gif' return makeFileLink{ file = filename, size = (self.imageWidth or 20) .. 'px', alt = self._imageAlt, link = self._imageLink, caption = self.imageCaption } end -------------------------------------------------------------------------------- -- Banner class -------------------------------------------------------------------------------- local Banner = setmetatable({}, BannerTemplate) Banner.__index = Banner function Banner.new(protectionObj, blurbObj, cfg) local obj = BannerTemplate.new(protectionObj, cfg) -- This doesn't need the blurb. obj.imageWidth = 40 obj.imageCaption = blurbObj:makeBannerText('alt') -- Large banners use the alt text for the tooltip. obj._reasonText = blurbObj:makeBannerText('text') obj._explanationText = blurbObj:makeBannerText('explanation') obj._page = protectionObj.title.prefixedText -- Only makes a difference in testing. return setmetatable(obj, Banner) end function Banner:__tostring() -- Renders the banner. makeMessageBox = makeMessageBox or require('Module:Message box').main local reasonText = self._reasonText or error('no reason text set', 2) local explanationText = self._explanationText local mbargs = { page = self._page, type = 'protection', image = self:renderImage(), text = string.format( "'''%s'''%s", reasonText, explanationText and '<br />' .. explanationText or '' ) } return makeMessageBox('mbox', mbargs) end -------------------------------------------------------------------------------- -- Padlock class -------------------------------------------------------------------------------- local Padlock = setmetatable({}, BannerTemplate) Padlock.__index = Padlock function Padlock.new(protectionObj, blurbObj, cfg) local obj = BannerTemplate.new(protectionObj, cfg) -- This doesn't need the blurb. obj.imageWidth = 20 obj.imageCaption = blurbObj:makeBannerText('tooltip') obj._imageAlt = blurbObj:makeBannerText('alt') obj._imageLink = blurbObj:makeBannerText('link') obj._indicatorName = cfg.padlockIndicatorNames[protectionObj.action] or cfg.padlockIndicatorNames.default or 'pp-default' return setmetatable(obj, Padlock) end function Padlock:__tostring() local frame = mw.getCurrentFrame() -- The nowiki tag helps prevent whitespace at the top of articles. return frame:extensionTag{name = 'nowiki'} .. frame:extensionTag{ name = 'indicator', args = {name = self._indicatorName}, content = self:renderImage() } end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p = {} function p._exportClasses() -- This is used for testing purposes. return { Protection = Protection, Blurb = Blurb, BannerTemplate = BannerTemplate, Banner = Banner, Padlock = Padlock, } end function p._main(args, cfg, title) args = args or {} cfg = cfg or require(CONFIG_MODULE) local protectionObj = Protection.new(args, cfg, title) local ret = {} -- If a page's edit protection is equally or more restrictive than its -- protection from some other action, then don't bother displaying anything -- for the other action (except categories). if not yesno(args.catonly) and (protectionObj.action == 'edit' or args.demolevel or not getReachableNodes( cfg.hierarchy, protectionObj.level )[effectiveProtectionLevel('edit', protectionObj.title)]) then -- Initialise the blurb object local blurbObj = Blurb.new(protectionObj, args, cfg) -- Render the banner if protectionObj:shouldShowLock() then ret[#ret + 1] = tostring( (yesno(args.small) and Padlock or Banner) .new(protectionObj, blurbObj, cfg) ) end end -- Render the categories if yesno(args.category) ~= false then ret[#ret + 1] = protectionObj:makeCategoryLinks() end -- For arbitration enforcement, flagging [[WP:PIA]] pages to enable [[Special:AbuseFilter/1339]] to flag edits to them if protectionObj.level == "extendedconfirmed" then if require("Module:TableTools").inArray(protectionObj.title.talkPageTitle.categories, "Wikipedia pages subject to the extended confirmed restriction related to the Arab-Israeli conflict") then ret[#ret + 1] = "<p class='PIA-flag' style='display:none; visibility:hidden;' title='This page is subject to the extended confirmed restriction related to the Arab-Israeli conflict.'></p>" end end return table.concat(ret) end function p.main(frame, cfg) cfg = cfg or require(CONFIG_MODULE) -- Find default args, if any. local parent = frame.getParent and frame:getParent() local defaultArgs = parent and cfg.wrappers[parent:getTitle():gsub('/sandbox$', '')] -- Find user args, and use the parent frame if we are being called from a -- wrapper template. getArgs = getArgs or require('Module:Arguments').getArgs local userArgs = getArgs(frame, { parentOnly = defaultArgs, frameOnly = not defaultArgs }) -- Build the args table. User-specified args overwrite default args. local args = {} for k, v in pairs(defaultArgs or {}) do args[k] = v end for k, v in pairs(userArgs) do args[k] = v end return p._main(args, cfg) end return p p8ryzquso3eyufqyguwh2oyqz5eu1l6 Module:Protected page/config 828 33079 153392 2026-08-30T17:22:32Z en>Primefac 0 per prev, old wrappers moved, removing from this list 153392 Scribunto text/plain -- This module provides configuration data for [[Module:Protection banner]]. return { -------------------------------------------------------------------------------- -- -- BANNER DATA -- -------------------------------------------------------------------------------- --[[ -- Banner data consists of six fields: -- * text - the main protection text that appears at the top of protection -- banners. -- * explanation - the text that appears below the main protection text, used -- to explain the details of the protection. -- * tooltip - the tooltip text you see when you move the mouse over a small -- padlock icon. -- * link - the page that the small padlock icon links to. -- * alt - the alt text for the small padlock icon. This is also used as tooltip -- text for the large protection banners. -- * image - the padlock image used in both protection banners and small padlock -- icons. -- -- The module checks in three separate tables to find a value for each field. -- First it checks the banners table, which has values specific to the reason -- for the page being protected. Then the module checks the defaultBanners -- table, which has values specific to each protection level. Finally, the -- module checks the masterBanner table, which holds data for protection -- templates to use if no data has been found in the previous two tables. -- -- The values in the banner data can take parameters. These are specified -- using ${TEXTLIKETHIS} (a dollar sign preceding a parameter name -- enclosed in curly braces). -- -- Available parameters: -- -- ${CURRENTVERSION} - a link to the page history or the move log, with the -- display message "current-version-edit-display" or -- "current-version-move-display". -- -- ${EDITREQUEST} - a link to create an edit request for the current page. -- -- ${EXPLANATIONBLURB} - an explanation blurb, e.g. "Please discuss any changes -- on the talk page; you may submit a request to ask an administrator to make -- an edit if it is minor or supported by consensus." -- -- ${IMAGELINK} - a link to set the image to, depending on the protection -- action and protection level. -- -- ${INTROBLURB} - the PROTECTIONBLURB parameter, plus the expiry if an expiry -- is set. E.g. "Editing of this page by new or unregistered users is currently -- disabled until dd Month YYYY." -- -- ${INTROFRAGMENT} - the same as ${INTROBLURB}, but without final punctuation -- so that it can be used in run-on sentences. -- -- ${PAGETYPE} - the type of the page, e.g. "article" or "template". -- Defined in the cfg.pagetypes table. -- -- ${PROTECTIONBLURB} - a blurb explaining the protection level of the page, e.g. -- "Editing of this page by new or unregistered users is currently disabled" -- -- ${PROTECTIONDATE} - the protection date, if it has been supplied to the -- template. -- -- ${PROTECTIONLEVEL} - the protection level, e.g. "fully protected" or -- "semi-protected". -- -- ${PROTECTIONLOG} - a link to the protection log or the pending changes log, -- depending on the protection action. -- -- ${TALKPAGE} - a link to the talk page. If a section is specified, links -- straight to that talk page section. -- -- ${TOOLTIPBLURB} - uses the PAGETYPE, PROTECTIONTYPE and EXPIRY parameters to -- create a blurb like "This template is semi-protected", or "This article is -- move-protected until DD Month YYYY". -- -- ${VANDAL} - links for the specified username (or the root page name) -- using Module:Vandal-m. -- -- Functions -- -- For advanced users, it is possible to use Lua functions instead of strings -- in the banner config tables. Using functions gives flexibility that is not -- possible just by using parameters. Functions take two arguments, the -- protection object and the template arguments, and they must output a string. -- -- For example: -- -- text = function (protectionObj, args) -- if protectionObj.level == 'autoconfirmed' then -- return 'foo' -- else -- return 'bar' -- end -- end -- -- Some protection object properties and methods that may be useful: -- protectionObj.action - the protection action -- protectionObj.level - the protection level -- protectionObj.reason - the protection reason -- protectionObj.expiry - the expiry. Nil if unset, the string "indef" if set -- to indefinite, and the protection time in unix time if temporary. -- protectionObj.protectionDate - the protection date in unix time, or nil if -- unspecified. -- protectionObj.bannerConfig - the banner config found by the module. Beware -- of editing the config field used by the function, as it could create an -- infinite loop. -- protectionObj:isProtected - returns a boolean showing whether the page is -- protected. -- protectionObj:isTemporary - returns a boolean showing whether the expiry is -- temporary. -- protectionObj:isIncorrect - returns a boolean showing whether the protection -- template is incorrect. --]] -- The master banner data, used if no values have been found in banners or -- defaultBanners. masterBanner = { text = '${INTROBLURB}', explanation = '${EXPLANATIONBLURB}', tooltip = '${TOOLTIPBLURB}', link = '${IMAGELINK}', alt = 'Page ${PROTECTIONLEVEL}' }, -- The default banner data. This holds banner data for different protection -- levels. -- *required* - this table needs edit, move, autoreview and upload subtables. defaultBanners = { edit = {}, move = {}, autoreview = { default = { alt = 'Page protected with pending changes', tooltip = 'All edits by unregistered and new users are subject to review prior to becoming visible to unregistered users', image = 'Pending-protection-shackle.svg' } }, upload = {} }, -- The banner data. This holds banner data for different protection reasons. -- In fact, the reasons specified in this table control which reasons are -- valid inputs to the first positional parameter. -- -- There is also a non-standard "description" field that can be used for items -- in this table. This is a description of the protection reason for use in the -- module documentation. -- -- *required* - this table needs edit, move, autoreview and upload subtables. banners = { edit = { blp = { description = 'For pages protected to promote compliance with the' .. ' [[Wikipedia:Biographies of living persons' .. '|biographies of living persons]] policy', text = '${INTROFRAGMENT} to promote compliance with' .. ' [[Wikipedia:Biographies of living persons' .. "|Wikipedia's&nbsp;policy on&nbsp;the&nbsp;biographies" .. ' of&nbsp;living&nbsp;people]].', tooltip = '${TOOLTIPFRAGMENT} to promote compliance with the policy on' .. ' biographies of living persons', }, deceased = { description = 'For user pages of Wikipedia users who are deceased', text = '${INTROFRAGMENT} to prevent vandalism of a deceased' .. ' Wikipedian\'s user page.' .. ' A family member who wishes to edit this user page can use this' .. ' user\'s ${TALKPAGE} or submit a request to [[Wikipedia:VRT|the' .. ' Volunteer Response Team]].', tooltip = '${TOOLTIPFRAGMENT} because this Wikipedian is deceased' }, dmca = { description = 'For pages protected by the Wikimedia Foundation' .. ' due to [[Digital Millennium Copyright Act]] takedown requests', explanation = function (protectionObj, args) local ret = 'Pursuant to a rights owner notice under the Digital' .. ' Millennium Copyright Act (DMCA) regarding some content' .. ' in this article, the Wikimedia Foundation acted under' .. ' applicable law and took down and restricted the content' .. ' in question.' if args.notice then ret = ret .. ' A copy of the received notice can be found here: ' .. args.notice .. '.' end ret = ret .. ' For more information, including websites discussing' .. ' how to file a counter-notice, please see' .. " [[Wikipedia:Office actions]] and the article's ${TALKPAGE}." .. "'''Do not remove this template from the article until the" .. " restrictions are withdrawn'''." return ret end, image = 'Office-protection-shackle.svg', link = 'Wikipedia:Protection policy#office', }, dispute = { description = 'For pages protected due to editing disputes', text = function (protectionObj, args) -- Find the value of "disputes". local display = 'disputes' local disputes if args.section then disputes = string.format( '[[%s:%s#%s|%s]]', mw.site.namespaces[protectionObj.title.namespace].talk.name, protectionObj.title.text, args.section, display ) else disputes = display end -- Make the blurb, depending on the expiry. local msg if type(protectionObj.expiry) == 'number' then msg = '${INTROFRAGMENT} or until editing %s have been resolved.' else msg = '${INTROFRAGMENT} until editing %s have been resolved.' end return string.format(msg, disputes) end, explanation = "This protection is '''not''' an endorsement of the" .. ' ${CURRENTVERSION}. ${EXPLANATIONBLURB}', tooltip = '${TOOLTIPFRAGMENT} due to editing disputes', }, ecp = { description = 'For articles in topic areas authorized by' .. ' [[Wikipedia:Arbitration Committee|ArbCom]] or' .. ' meets the criteria for community use', alt = 'Extended-protected ${PAGETYPE}', }, mainpage = { description = 'For pages protected for being displayed on the [[Main Page]]', text = 'This file is currently' .. ' [[Wikipedia:This page is protected|protected]] from' .. ' editing because it is currently or will soon be displayed' .. ' on the [[Main Page]].', explanation = 'Images on the Main Page are protected due to their high' .. ' visibility. Please discuss any necessary changes on the ${TALKPAGE}.' .. '<br /><span style="font-size:90%;">' .. "'''Administrators:''' Once this image is definitely off the Main Page," .. ' please unprotect this file, or reduce to semi-protection,' .. ' as appropriate.</span>', }, office = { description = 'For pages protected by the Wikimedia Foundation', text = function (protectionObj, args) local ret = 'This ${PAGETYPE} is currently under the' .. ' scrutiny of the' .. ' [[Wikipedia:Office actions|Wikimedia Foundation Office]]' .. ' and is protected.' if protectionObj.protectionDate then ret = ret .. ' It has been protected since ${PROTECTIONDATE}.' end return ret end, explanation = "If you can edit this page, please discuss all changes and" .. " additions on the ${TALKPAGE} first. '''Do not remove protection from this" .. " page unless you are authorized by the Wikimedia Foundation to do" .. " so.'''", image = 'Office-protection-shackle.svg', link = 'Wikipedia:Protection policy#office', }, reset = { description = 'For pages protected by the Wikimedia Foundation and' .. ' "reset" to a bare-bones version', text = 'This ${PAGETYPE} is currently under the' .. ' scrutiny of the' .. ' [[Wikipedia:Office actions|Wikimedia Foundation Office]]' .. ' and is protected.', explanation = function (protectionObj, args) local ret = '' if protectionObj.protectionDate then ret = ret .. 'On ${PROTECTIONDATE} this ${PAGETYPE} was' else ret = ret .. 'This ${PAGETYPE} has been' end ret = ret .. ' reduced to a' .. ' simplified, "bare bones" version so that it may be completely' .. ' rewritten to ensure it meets the policies of' .. ' [[WP:NPOV|Neutral Point of View]] and [[WP:V|Verifiability]].' .. ' Standard Wikipedia policies will apply to its rewriting—which' .. ' will eventually be open to all editors—and will be strictly' .. ' enforced. The ${PAGETYPE} has been ${PROTECTIONLEVEL} while' .. ' it is being rebuilt.\n\n' .. 'Any insertion of material directly from' .. ' pre-protection revisions of the ${PAGETYPE} will be removed, as' .. ' will any material added to the ${PAGETYPE} that is not properly' .. ' sourced. The associated talk page(s) were also cleared on the' .. " same date.\n\n" .. "If you can edit this page, please discuss all changes and" .. " additions on the ${TALKPAGE} first. '''Do not override" .. " this action, and do not remove protection from this page," .. " unless you are authorized by the Wikimedia Foundation" .. " to do so. No editor may remove this notice.'''" return ret end, image = 'Office-protection-shackle.svg', link = 'Wikipedia:Protection policy#office', }, sock = { description = 'For pages protected due to' .. ' [[Wikipedia:Sock puppetry|sock puppetry]]', text = '${INTROFRAGMENT} to prevent [[Wikipedia:Sock puppetry|sock puppets]] of' .. ' [[Wikipedia:Blocking policy|blocked]] or' .. ' [[Wikipedia:Banning policy|banned users]]' .. ' from editing it.', tooltip = '${TOOLTIPFRAGMENT} to prevent sock puppets of blocked or banned users from' .. ' editing it', }, template = { description = 'For [[Wikipedia:High-risk templates|high-risk]]' .. ' templates and Lua modules', text = 'This is a permanently [[Wikipedia:Protection policy|protected]] ${PAGETYPE},' .. ' as it is [[Wikipedia:High-risk templates|high-risk]].', explanation = 'Please discuss any changes on the ${TALKPAGE}; you may' .. ' ${EDITREQUEST} to ask an' .. ' [[Wikipedia:Administrators|administrator]] or' .. ' [[Wikipedia:Template editor|template editor]] to make an edit if' .. ' it is [[Help:Minor edit#When to mark an edit as a minor edit' .. '|uncontroversial]] or supported by' .. ' [[Wikipedia:Consensus|consensus]]. You can also' .. ' [[Wikipedia:Requests for page protection|request]] that the page be' .. ' unprotected.', tooltip = 'This high-risk ${PAGETYPE} is permanently ${PROTECTIONLEVEL}' .. ' to prevent vandalism', alt = 'Permanently protected ${PAGETYPE}', }, usertalk = { description = 'For pages protected against disruptive edits by a' .. ' particular user', text = '${INTROFRAGMENT} to prevent ${VANDAL} from using it to make disruptive edits,' .. ' such as abusing the' .. ' &#123;&#123;[[Template:unblock|unblock]]&#125;&#125; template.', explanation = 'If you cannot edit this user talk page and you need to' .. ' make a change or leave a message, you can' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for edits to a protected page' .. '|request an edit]],' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for reduction in protection level' .. '|request unprotection]],' .. ' [[Special:Userlogin|log in]],' .. ' or [[Special:UserLogin/signup|create an account]].', }, vandalism = { description = 'For pages protected against' .. ' [[Wikipedia:Vandalism|vandalism]]', text = '${INTROFRAGMENT} due to [[Wikipedia:Vandalism|vandalism]].', explanation = function (protectionObj, args) local ret = '' if protectionObj.level == 'sysop' then ret = ret .. "This protection is '''not''' an endorsement of the" .. ' ${CURRENTVERSION}. ' end return ret .. '${EXPLANATIONBLURB}' end, tooltip = '${TOOLTIPFRAGMENT} due to vandalism', } }, move = { dispute = { description = 'For pages protected against page moves due to' .. ' disputes over the page title', explanation = "This protection is '''not''' an endorsement of the" .. ' ${CURRENTVERSION}. ${EXPLANATIONBLURB}', image = 'Move-protection-shackle.svg' }, vandalism = { description = 'For pages protected against' .. ' [[Wikipedia:Vandalism#Page-move vandalism' .. ' |page-move vandalism]]' } }, autoreview = {}, upload = {} }, -------------------------------------------------------------------------------- -- -- GENERAL DATA TABLES -- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Protection blurbs -------------------------------------------------------------------------------- -- This table produces the protection blurbs available with the -- ${PROTECTIONBLURB} parameter. It is sorted by protection action and -- protection level, and is checked by the module in the following order: -- 1. page's protection action, page's protection level -- 2. page's protection action, default protection level -- 3. "edit" protection action, default protection level -- -- It is possible to use banner parameters inside this table. -- *required* - this table needs edit, move, autoreview and upload subtables. protectionBlurbs = { edit = { default = 'This ${PAGETYPE} is currently [[Wikipedia:Protection policy#full|' .. 'protected]] from editing', templateeditor = 'This ${PAGETYPE} is currently [[Wikipedia:Protection policy#template' .. '|protected]] from editing', autoconfirmed = 'Editing of this ${PAGETYPE} by [[Wikipedia:User access' .. ' levels#New users|new]] or [[Wikipedia:User access levels#Unregistered' .. ' users|unregistered]] users is currently [[Wikipedia:Protection' .. ' policy#semi|disabled]]', extendedconfirmed = 'This ${PAGETYPE} is currently under [[Wikipedia:Protection' .. ' policy#extended|extended confirmed protection]]', }, move = { default = 'This ${PAGETYPE} is currently [[Wikipedia:Protection policy#Move' .. ' protection|protected]] from [[Help:Moving a page|page moves]]' }, autoreview = { default = 'All edits made to this ${PAGETYPE} by' .. ' [[Wikipedia:User access levels#New users|new]] or' .. ' [[Wikipedia:User access levels#Unregistered users|unregistered]]' .. ' users are currently' .. ' [[Wikipedia:Pending changes|subject to review]]' }, upload = { default = 'Uploading new versions of this ${PAGETYPE} is currently disabled' } }, -------------------------------------------------------------------------------- -- Explanation blurbs -------------------------------------------------------------------------------- -- This table produces the explanation blurbs available with the -- ${EXPLANATIONBLURB} parameter. It is sorted by protection action, -- protection level, and whether the page is a talk page or not. If the page is -- a talk page it will have a talk key of "talk"; otherwise it will have a talk -- key of "subject". The table is checked in the following order: -- 1. page's protection action, page's protection level, page's talk key -- 2. page's protection action, page's protection level, default talk key -- 3. page's protection action, default protection level, page's talk key -- 4. page's protection action, default protection level, default talk key -- -- It is possible to use banner parameters inside this table. -- *required* - this table needs edit, move, autoreview and upload subtables. explanationBlurbs = { edit = { autoconfirmed = { subject = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details. If you' .. ' cannot edit this ${PAGETYPE} and you wish to make a change, you can' .. ' ${EDITREQUEST}, discuss changes on the ${TALKPAGE},' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for reduction in protection level' .. '|request unprotection]], [[Special:Userlogin|log in]], or' .. ' [[Special:UserLogin/signup|create an account]].', default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details. If you' .. ' cannot edit this ${PAGETYPE} and you wish to make a change, you can' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for reduction in protection level' .. '|request unprotection]], [[Special:Userlogin|log in]], or' .. ' [[Special:UserLogin/signup|create an account]].', }, extendedconfirmed = { default = 'Extended confirmed protection prevents edits from all unregistered editors' .. ' and registered users with fewer than 30 days tenure and 500 edits.' .. ' The [[Wikipedia:Protection policy#extended|policy on community use]]' .. ' specifies that extended confirmed protection can be applied to combat' .. ' disruption, if semi-protection has proven to be ineffective.' .. ' Extended confirmed protection may also be applied to enforce' .. ' [[Wikipedia:Arbitration Committee|arbitration sanctions]].' .. ' Please discuss any changes on the ${TALKPAGE}; you may' .. ' ${EDITREQUEST} to ask for uncontroversial changes supported by' .. ' [[Wikipedia:Consensus|consensus]].' }, default = { subject = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' Please discuss any changes on the ${TALKPAGE}; you' .. ' may ${EDITREQUEST} to ask an' .. ' [[Wikipedia:Administrators|administrator]] to make an edit if it' .. ' is [[Help:Minor edit#When to mark an edit as a minor edit' .. '|uncontroversial]] or supported by [[Wikipedia:Consensus' .. '|consensus]]. You may also [[Wikipedia:Requests for' .. ' page protection#Current requests for reduction in protection level' .. '|request]] that this page be unprotected.', default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' You may [[Wikipedia:Requests for page' .. ' protection#Current requests for edits to a protected page|request an' .. ' edit]] to this page, or [[Wikipedia:Requests for' .. ' page protection#Current requests for reduction in protection level' .. '|ask]] for it to be unprotected.' } }, move = { default = { subject = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' The page may still be edited but cannot be moved' .. ' until unprotected. Please discuss any suggested moves on the' .. ' ${TALKPAGE} or at [[Wikipedia:Requested moves]]. You can also' .. ' [[Wikipedia:Requests for page protection|request]] that the page be' .. ' unprotected.', default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' The page may still be edited but cannot be moved' .. ' until unprotected. Please discuss any suggested moves at' .. ' [[Wikipedia:Requested moves]]. You can also' .. ' [[Wikipedia:Requests for page protection|request]] that the page be' .. ' unprotected.' } }, autoreview = { default = { default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' Edits to this ${PAGETYPE} by new and unregistered users' .. ' will not be visible to readers until they are accepted by' .. ' a reviewer. To avoid the need for your edits to be' .. ' reviewed, you may' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for reduction in protection level' .. '|request unprotection]], [[Special:Userlogin|log in]], or' .. ' [[Special:UserLogin/signup|create an account]].' }, }, upload = { default = { default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' The page may still be edited but new versions of the file' .. ' cannot be uploaded until it is unprotected. You can' .. ' request that a new version be uploaded by using a' .. ' [[Wikipedia:Edit requests|protected edit request]], or you' .. ' can [[Wikipedia:Requests for page protection|request]]' .. ' that the file be unprotected.' } } }, -------------------------------------------------------------------------------- -- Protection levels -------------------------------------------------------------------------------- -- This table provides the data for the ${PROTECTIONLEVEL} parameter, which -- produces a short label for different protection levels. It is sorted by -- protection action and protection level, and is checked in the following -- order: -- 1. page's protection action, page's protection level -- 2. page's protection action, default protection level -- 3. "edit" protection action, default protection level -- -- It is possible to use banner parameters inside this table. -- *required* - this table needs edit, move, autoreview and upload subtables. protectionLevels = { edit = { default = 'protected', templateeditor = 'template-protected', extendedconfirmed = 'extended-confirmed-protected', autoconfirmed = 'semi-protected', }, move = { default = 'move-protected' }, autoreview = { }, upload = { default = 'upload-protected' } }, -------------------------------------------------------------------------------- -- Images -------------------------------------------------------------------------------- -- This table lists different padlock images for each protection action and -- protection level. It is used if an image is not specified in any of the -- banner data tables, and if the page does not satisfy the conditions for using -- the ['image-filename-indef'] image. It is checked in the following order: -- 1. page's protection action, page's protection level -- 2. page's protection action, default protection level images = { edit = { default = 'Full-protection-shackle.svg', templateeditor = 'Template-protection-shackle.svg', extendedconfirmed = 'Extended-protection-shackle.svg', autoconfirmed = 'Semi-protection-shackle.svg' }, move = { default = 'Move-protection-shackle.svg', }, autoreview = { default = 'Pending-protection-shackle.svg' }, upload = { default = 'Upload-protection-shackle.svg' } }, -- Pages with a reason specified in this table will show the special "indef" -- padlock, defined in the 'image-filename-indef' message, if no expiry is set. indefImageReasons = { template = true }, -------------------------------------------------------------------------------- -- Image links -------------------------------------------------------------------------------- -- This table provides the data for the ${IMAGELINK} parameter, which gets -- the image link for small padlock icons based on the page's protection action -- and protection level. It is checked in the following order: -- 1. page's protection action, page's protection level -- 2. page's protection action, default protection level -- 3. "edit" protection action, default protection level -- -- It is possible to use banner parameters inside this table. -- *required* - this table needs edit, move, autoreview and upload subtables. imageLinks = { edit = { default = 'Wikipedia:Protection policy#full', templateeditor = 'Wikipedia:Protection policy#template', extendedconfirmed = 'Wikipedia:Protection policy#extended', autoconfirmed = 'Wikipedia:Protection policy#semi' }, move = { default = 'Wikipedia:Protection policy#move' }, autoreview = { default = 'Wikipedia:Protection policy#pending' }, upload = { default = 'Wikipedia:Protection policy#upload' } }, -------------------------------------------------------------------------------- -- Padlock indicator names -------------------------------------------------------------------------------- -- This table provides the "name" attribute for the <indicator> extension tag -- with which small padlock icons are generated. All indicator tags on a page -- are displayed in alphabetical order based on this attribute, and with -- indicator tags with duplicate names, the last tag on the page wins. -- The attribute is chosen based on the protection action; table keys must be a -- protection action name or the string "default". padlockIndicatorNames = { autoreview = 'pp-autoreview', default = 'pp-default' }, -------------------------------------------------------------------------------- -- Protection categories -------------------------------------------------------------------------------- --[[ -- The protection categories are stored in the protectionCategories table. -- Keys to this table are made up of the following strings: -- -- 1. the expiry date -- 2. the namespace -- 3. the protection reason (e.g. "dispute" or "vandalism") -- 4. the protection level (e.g. "sysop" or "autoconfirmed") -- 5. the action (e.g. "edit" or "move") -- -- When the module looks up a category in the table, first it will will check to -- see a key exists that corresponds to all five parameters. For example, a -- user page semi-protected from vandalism for two weeks would have the key -- "temp-user-vandalism-autoconfirmed-edit". If no match is found, the module -- changes the first part of the key to "all" and checks the table again. It -- keeps checking increasingly generic key combinations until it finds the -- field, or until it reaches the key "all-all-all-all-all". -- -- The module uses a binary matrix to determine the order in which to search. -- This is best demonstrated by a table. In this table, the "0" values -- represent "all", and the "1" values represent the original data (e.g. -- "indef" or "file" or "vandalism"). -- -- expiry namespace reason level action -- order -- 1 1 1 1 1 1 -- 2 0 1 1 1 1 -- 3 1 0 1 1 1 -- 4 0 0 1 1 1 -- 5 1 1 0 1 1 -- 6 0 1 0 1 1 -- 7 1 0 0 1 1 -- 8 0 0 0 1 1 -- 9 1 1 1 0 1 -- 10 0 1 1 0 1 -- 11 1 0 1 0 1 -- 12 0 0 1 0 1 -- 13 1 1 0 0 1 -- 14 0 1 0 0 1 -- 15 1 0 0 0 1 -- 16 0 0 0 0 1 -- 17 1 1 1 1 0 -- 18 0 1 1 1 0 -- 19 1 0 1 1 0 -- 20 0 0 1 1 0 -- 21 1 1 0 1 0 -- 22 0 1 0 1 0 -- 23 1 0 0 1 0 -- 24 0 0 0 1 0 -- 25 1 1 1 0 0 -- 26 0 1 1 0 0 -- 27 1 0 1 0 0 -- 28 0 0 1 0 0 -- 29 1 1 0 0 0 -- 30 0 1 0 0 0 -- 31 1 0 0 0 0 -- 32 0 0 0 0 0 -- -- In this scheme the action has the highest priority, as it is the last -- to change, and the expiry has the least priority, as it changes the most. -- The priorities of the expiry, the protection level and the action are -- fixed, but the priorities of the reason and the namespace can be swapped -- through the use of the cfg.bannerDataNamespaceHasPriority table. --]] -- If the reason specified to the template is listed in this table, -- namespace data will take priority over reason data in the protectionCategories -- table. reasonsWithNamespacePriority = { vandalism = true, }, -- The string to use as a namespace key for the protectionCategories table for each -- namespace number. categoryNamespaceKeys = { [ 2] = 'user', [ 3] = 'user', [ 4] = 'project', [ 6] = 'file', [ 8] = 'mediawiki', [ 10] = 'template', [ 12] = 'project', [ 14] = 'category', [100] = 'portal', [828] = 'module', }, protectionCategories = { ['all|all|all|all|all'] = 'Wikipedia fully protected pages', ['all|all|office|all|all'] = 'Wikipedia Office-protected pages', ['all|all|reset|all|all'] = 'Wikipedia Office-protected pages', ['all|all|dmca|all|all'] = 'Wikipedia Office-protected pages', ['all|all|mainpage|all|all'] = 'Wikipedia fully protected main page files', ['all|all|all|extendedconfirmed|all'] = 'Wikipedia extended-confirmed-protected pages', ['all|all|ecp|extendedconfirmed|all'] = 'Wikipedia extended-confirmed-protected pages', ['all|template|all|all|edit'] = 'Wikipedia fully protected templates', ['all|all|all|autoconfirmed|edit'] = 'Wikipedia semi-protected pages', ['indef|all|all|autoconfirmed|edit'] = 'Wikipedia indefinitely semi-protected pages', ['all|all|blp|autoconfirmed|edit'] = 'Wikipedia indefinitely semi-protected biographies of living people', ['temp|all|blp|autoconfirmed|edit'] = 'Wikipedia temporarily semi-protected biographies of living people', ['all|all|dispute|autoconfirmed|edit'] = 'Wikipedia pages semi-protected due to dispute', ['all|all|sock|autoconfirmed|edit'] = 'Wikipedia pages semi-protected from banned users', ['all|all|vandalism|autoconfirmed|edit'] = 'Wikipedia pages semi-protected against vandalism', ['all|category|all|autoconfirmed|edit'] = 'Wikipedia semi-protected categories', ['all|file|all|autoconfirmed|edit'] = 'Wikipedia semi-protected files', ['all|portal|all|autoconfirmed|edit'] = 'Wikipedia semi-protected portals', ['all|project|all|autoconfirmed|edit'] = 'Wikipedia semi-protected project pages', ['all|talk|all|autoconfirmed|edit'] = 'Wikipedia semi-protected talk pages', ['all|template|all|autoconfirmed|edit'] = 'Wikipedia semi-protected templates', ['all|user|all|autoconfirmed|edit'] = 'Wikipedia semi-protected user and user talk pages', ['all|all|all|templateeditor|move'] = 'Wikipedia template-protected pages other than templates and modules', ['all|all|all|templateeditor|edit'] = 'Wikipedia template-protected pages other than templates and modules', ['all|template|all|templateeditor|edit'] = 'Wikipedia template-protected templates', ['all|template|all|templateeditor|move'] = 'Wikipedia template-protected templates', -- move-protected templates ['all|all|blp|sysop|edit'] = 'Wikipedia indefinitely protected biographies of living people', ['temp|all|blp|sysop|edit'] = 'Wikipedia temporarily protected biographies of living people', ['all|all|dispute|sysop|edit'] = 'Wikipedia pages protected due to dispute', ['all|all|sock|sysop|edit'] = 'Wikipedia pages protected from banned users', ['all|all|vandalism|sysop|edit'] = 'Wikipedia pages protected against vandalism', ['all|category|all|sysop|edit'] = 'Wikipedia fully protected categories', ['all|file|all|sysop|edit'] = 'Wikipedia fully protected files', ['all|project|all|sysop|edit'] = 'Wikipedia fully protected project pages', ['all|talk|all|sysop|edit'] = 'Wikipedia fully protected talk pages', ['all|template|all|extendedconfirmed|edit'] = 'Wikipedia extended-confirmed-protected templates', ['all|template|all|extendedconfirmed|move'] = 'Wikipedia extended-confirmed-protected templates', ['all|template|all|sysop|edit'] = 'Wikipedia fully protected templates', ['all|user|all|sysop|edit'] = 'Wikipedia fully protected user and user talk pages', ['all|module|all|all|edit'] = 'Wikipedia fully protected modules', ['all|module|all|templateeditor|edit'] = 'Wikipedia template-protected modules', ['all|module|all|extendedconfirmed|edit'] = 'Wikipedia extended-confirmed-protected modules', ['all|module|all|autoconfirmed|edit'] = 'Wikipedia semi-protected modules', ['all|all|all|sysop|move'] = 'Wikipedia move-protected pages', ['indef|all|all|sysop|move'] = 'Wikipedia indefinitely move-protected pages', ['all|all|dispute|sysop|move'] = 'Wikipedia pages move-protected due to dispute', ['all|all|vandalism|sysop|move'] = 'Wikipedia pages move-protected due to vandalism', ['all|portal|all|sysop|move'] = 'Wikipedia move-protected portals', ['all|project|all|sysop|move'] = 'Wikipedia move-protected project pages', ['all|talk|all|sysop|move'] = 'Wikipedia move-protected talk pages', ['all|template|all|sysop|move'] = 'Wikipedia move-protected templates', ['all|user|all|sysop|move'] = 'Wikipedia move-protected user and user talk pages', ['all|all|all|autoconfirmed|autoreview'] = 'Wikipedia pending changes protected pages', ['all|file|all|all|upload'] = 'Wikipedia upload-protected files', }, -------------------------------------------------------------------------------- -- Expiry category config -------------------------------------------------------------------------------- -- This table configures the expiry category behaviour for each protection -- action. -- * If set to true, setting that action will always categorise the page if -- an expiry parameter is not set. -- * If set to false, setting that action will never categorise the page. -- * If set to nil, the module will categorise the page if: -- 1) an expiry parameter is not set, and -- 2) a reason is provided, and -- 3) the specified reason is not blacklisted in the reasonsWithoutExpiryCheck -- table. expiryCheckActions = { edit = nil, move = false, autoreview = true, upload = false }, reasonsWithoutExpiryCheck = { blp = true, template = true, }, -------------------------------------------------------------------------------- -- Pagetypes -------------------------------------------------------------------------------- -- This table produces the page types available with the ${PAGETYPE} parameter. -- Keys are namespace numbers, or the string "default" for the default value. pagetypes = { [0] = 'article', [6] = 'file', [10] = 'template', [14] = 'category', [828] = 'module', default = 'page' }, -------------------------------------------------------------------------------- -- Strings marking indefinite protection -------------------------------------------------------------------------------- -- This table contains values passed to the expiry parameter that mean the page -- is protected indefinitely. indefStrings = { ['indef'] = true, ['indefinite'] = true, ['indefinitely'] = true, ['infinite'] = true, }, -------------------------------------------------------------------------------- -- Group hierarchy -------------------------------------------------------------------------------- -- This table maps each group to all groups that have a superset of the original -- group's page editing permissions. hierarchy = { sysop = {}, reviewer = {'sysop'}, filemover = {'sysop'}, templateeditor = {'sysop'}, extendedconfirmed = {'sysop'}, autoconfirmed = {'reviewer', 'filemover', 'templateeditor', 'extendedconfirmed'}, user = {'autoconfirmed'}, ['*'] = {'user'} }, -------------------------------------------------------------------------------- -- Wrapper templates and their default arguments -------------------------------------------------------------------------------- -- This table contains wrapper templates used with the module, and their -- default arguments. Templates specified in this table should contain the -- following invocation, and no other template content: -- -- {{#invoke:Protection banner|main}} -- -- If other content is desired, it can be added between -- <noinclude>...</noinclude> tags. -- -- When a user calls one of these wrapper templates, they will use the -- default arguments automatically. However, users can override any of the -- arguments. wrappers = { ['Template:Protected page'] = {}, ['Template:Extended confirmed–protected'] = {'ecp'}, ['Template:Protected biography of a living person'] = {'blp'}, ['Template:Protected due to a dispute'] = {'dispute'}, ['Template:Move-protected'] = {action = 'move', catonly = 'yes'}, ['Template:Move-protected due to a dispute'] = {'dispute', action = 'move', catonly = 'yes'}, ['Template:Move-protected due to vandalism'] = {'vandalism', action = 'move', catonly = 'yes'}, ['Template:Office-protected'] = {'office'}, ['Template:Pending changes–protected'] = {action = 'autoreview', small = true}, ['Template:Semi-protected indefinitely'] = {small = true}, ['Template:Protected due to sockpuppetry'] = {'sock'}, ['Template:Template-protected'] = {'template', small = true}, ['Template:Upload-protected'] = {action = 'upload'}, ['Template:Protected talk page of a blocked user'] = {'usertalk'}, ['Template:Protected due to vandalism'] = {'vandalism'}, }, -------------------------------------------------------------------------------- -- -- MESSAGES -- -------------------------------------------------------------------------------- msg = { -------------------------------------------------------------------------------- -- Intro blurb and intro fragment -------------------------------------------------------------------------------- -- These messages specify what is produced by the ${INTROBLURB} and -- ${INTROFRAGMENT} parameters. If the protection is temporary they use the -- intro-blurb-expiry or intro-fragment-expiry, and if not they use -- intro-blurb-noexpiry or intro-fragment-noexpiry. -- It is possible to use banner parameters in these messages. ['intro-blurb-expiry'] = '${PROTECTIONBLURB} until ${EXPIRY}.', ['intro-blurb-noexpiry'] = '${PROTECTIONBLURB}.', ['intro-fragment-expiry'] = '${PROTECTIONBLURB} until ${EXPIRY},', ['intro-fragment-noexpiry'] = '${PROTECTIONBLURB}', -------------------------------------------------------------------------------- -- Tooltip blurb -------------------------------------------------------------------------------- -- These messages specify what is produced by the ${TOOLTIPBLURB} parameter. -- If the protection is temporary the tooltip-blurb-expiry message is used, and -- if not the tooltip-blurb-noexpiry message is used. -- It is possible to use banner parameters in these messages. ['tooltip-blurb-expiry'] = 'This ${PAGETYPE} is ${PROTECTIONLEVEL} until ${EXPIRY}.', ['tooltip-blurb-noexpiry'] = 'This ${PAGETYPE} is ${PROTECTIONLEVEL}.', ['tooltip-fragment-expiry'] = 'This ${PAGETYPE} is ${PROTECTIONLEVEL} until ${EXPIRY},', ['tooltip-fragment-noexpiry'] = 'This ${PAGETYPE} is ${PROTECTIONLEVEL}', -------------------------------------------------------------------------------- -- Special explanation blurb -------------------------------------------------------------------------------- -- An explanation blurb for pages that cannot be unprotected, e.g. for pages -- in the MediaWiki namespace. -- It is possible to use banner parameters in this message. ['explanation-blurb-nounprotect'] = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' Please discuss any changes on the ${TALKPAGE}; you' .. ' may ${EDITREQUEST} to ask an' .. ' [[Wikipedia:Administrators|administrator]] to make an edit if it' .. ' is [[Help:Minor edit#When to mark an edit as a minor edit' .. '|uncontroversial]] or supported by [[Wikipedia:Consensus' .. '|consensus]].', -------------------------------------------------------------------------------- -- Protection log display values -------------------------------------------------------------------------------- -- These messages determine the display values for the protection log link -- or the pending changes log link produced by the ${PROTECTIONLOG} parameter. -- It is possible to use banner parameters in these messages. ['protection-log-display'] = 'protection log', ['pc-log-display'] = 'pending changes log', -------------------------------------------------------------------------------- -- Current version display values -------------------------------------------------------------------------------- -- These messages determine the display values for the page history link -- or the move log link produced by the ${CURRENTVERSION} parameter. -- It is possible to use banner parameters in these messages. ['current-version-move-display'] = 'current title', ['current-version-edit-display'] = 'current version', -------------------------------------------------------------------------------- -- Talk page -------------------------------------------------------------------------------- -- This message determines the display value of the talk page link produced -- with the ${TALKPAGE} parameter. -- It is possible to use banner parameters in this message. ['talk-page-link-display'] = 'talk page', -------------------------------------------------------------------------------- -- Edit requests -------------------------------------------------------------------------------- -- This message determines the display value of the edit request link produced -- with the ${EDITREQUEST} parameter. -- It is possible to use banner parameters in this message. ['edit-request-display'] = 'submit an edit request', -------------------------------------------------------------------------------- -- Expiry date format -------------------------------------------------------------------------------- -- This is the format for the blurb expiry date. It should be valid input for -- the first parameter of the #time parser function. ['expiry-date-format'] = 'F j, Y "at" H:i e', -------------------------------------------------------------------------------- -- Tracking categories -------------------------------------------------------------------------------- -- These messages determine which tracking categories the module outputs. ['tracking-category-incorrect'] = 'Wikipedia pages with incorrect protection templates', ['tracking-category-template'] = 'Wikipedia template-protected pages other than templates and modules', -------------------------------------------------------------------------------- -- Images -------------------------------------------------------------------------------- -- These are images that are not defined by their protection action and protection level. ['image-filename-indef'] = 'Full-protection-shackle.svg', ['image-filename-default'] = 'Transparent.gif', -------------------------------------------------------------------------------- -- End messages -------------------------------------------------------------------------------- } -------------------------------------------------------------------------------- -- End configuration -------------------------------------------------------------------------------- } pj6zo6l44p4bk4pwax9tlbkyf7cpx34 153393 153392 2026-10-06T18:16:07Z 511KeV 8268 1 revision imported from [[:en:Module:Protected_page/config]]: Needed locally 153392 Scribunto text/plain -- This module provides configuration data for [[Module:Protection banner]]. return { -------------------------------------------------------------------------------- -- -- BANNER DATA -- -------------------------------------------------------------------------------- --[[ -- Banner data consists of six fields: -- * text - the main protection text that appears at the top of protection -- banners. -- * explanation - the text that appears below the main protection text, used -- to explain the details of the protection. -- * tooltip - the tooltip text you see when you move the mouse over a small -- padlock icon. -- * link - the page that the small padlock icon links to. -- * alt - the alt text for the small padlock icon. This is also used as tooltip -- text for the large protection banners. -- * image - the padlock image used in both protection banners and small padlock -- icons. -- -- The module checks in three separate tables to find a value for each field. -- First it checks the banners table, which has values specific to the reason -- for the page being protected. Then the module checks the defaultBanners -- table, which has values specific to each protection level. Finally, the -- module checks the masterBanner table, which holds data for protection -- templates to use if no data has been found in the previous two tables. -- -- The values in the banner data can take parameters. These are specified -- using ${TEXTLIKETHIS} (a dollar sign preceding a parameter name -- enclosed in curly braces). -- -- Available parameters: -- -- ${CURRENTVERSION} - a link to the page history or the move log, with the -- display message "current-version-edit-display" or -- "current-version-move-display". -- -- ${EDITREQUEST} - a link to create an edit request for the current page. -- -- ${EXPLANATIONBLURB} - an explanation blurb, e.g. "Please discuss any changes -- on the talk page; you may submit a request to ask an administrator to make -- an edit if it is minor or supported by consensus." -- -- ${IMAGELINK} - a link to set the image to, depending on the protection -- action and protection level. -- -- ${INTROBLURB} - the PROTECTIONBLURB parameter, plus the expiry if an expiry -- is set. E.g. "Editing of this page by new or unregistered users is currently -- disabled until dd Month YYYY." -- -- ${INTROFRAGMENT} - the same as ${INTROBLURB}, but without final punctuation -- so that it can be used in run-on sentences. -- -- ${PAGETYPE} - the type of the page, e.g. "article" or "template". -- Defined in the cfg.pagetypes table. -- -- ${PROTECTIONBLURB} - a blurb explaining the protection level of the page, e.g. -- "Editing of this page by new or unregistered users is currently disabled" -- -- ${PROTECTIONDATE} - the protection date, if it has been supplied to the -- template. -- -- ${PROTECTIONLEVEL} - the protection level, e.g. "fully protected" or -- "semi-protected". -- -- ${PROTECTIONLOG} - a link to the protection log or the pending changes log, -- depending on the protection action. -- -- ${TALKPAGE} - a link to the talk page. If a section is specified, links -- straight to that talk page section. -- -- ${TOOLTIPBLURB} - uses the PAGETYPE, PROTECTIONTYPE and EXPIRY parameters to -- create a blurb like "This template is semi-protected", or "This article is -- move-protected until DD Month YYYY". -- -- ${VANDAL} - links for the specified username (or the root page name) -- using Module:Vandal-m. -- -- Functions -- -- For advanced users, it is possible to use Lua functions instead of strings -- in the banner config tables. Using functions gives flexibility that is not -- possible just by using parameters. Functions take two arguments, the -- protection object and the template arguments, and they must output a string. -- -- For example: -- -- text = function (protectionObj, args) -- if protectionObj.level == 'autoconfirmed' then -- return 'foo' -- else -- return 'bar' -- end -- end -- -- Some protection object properties and methods that may be useful: -- protectionObj.action - the protection action -- protectionObj.level - the protection level -- protectionObj.reason - the protection reason -- protectionObj.expiry - the expiry. Nil if unset, the string "indef" if set -- to indefinite, and the protection time in unix time if temporary. -- protectionObj.protectionDate - the protection date in unix time, or nil if -- unspecified. -- protectionObj.bannerConfig - the banner config found by the module. Beware -- of editing the config field used by the function, as it could create an -- infinite loop. -- protectionObj:isProtected - returns a boolean showing whether the page is -- protected. -- protectionObj:isTemporary - returns a boolean showing whether the expiry is -- temporary. -- protectionObj:isIncorrect - returns a boolean showing whether the protection -- template is incorrect. --]] -- The master banner data, used if no values have been found in banners or -- defaultBanners. masterBanner = { text = '${INTROBLURB}', explanation = '${EXPLANATIONBLURB}', tooltip = '${TOOLTIPBLURB}', link = '${IMAGELINK}', alt = 'Page ${PROTECTIONLEVEL}' }, -- The default banner data. This holds banner data for different protection -- levels. -- *required* - this table needs edit, move, autoreview and upload subtables. defaultBanners = { edit = {}, move = {}, autoreview = { default = { alt = 'Page protected with pending changes', tooltip = 'All edits by unregistered and new users are subject to review prior to becoming visible to unregistered users', image = 'Pending-protection-shackle.svg' } }, upload = {} }, -- The banner data. This holds banner data for different protection reasons. -- In fact, the reasons specified in this table control which reasons are -- valid inputs to the first positional parameter. -- -- There is also a non-standard "description" field that can be used for items -- in this table. This is a description of the protection reason for use in the -- module documentation. -- -- *required* - this table needs edit, move, autoreview and upload subtables. banners = { edit = { blp = { description = 'For pages protected to promote compliance with the' .. ' [[Wikipedia:Biographies of living persons' .. '|biographies of living persons]] policy', text = '${INTROFRAGMENT} to promote compliance with' .. ' [[Wikipedia:Biographies of living persons' .. "|Wikipedia's&nbsp;policy on&nbsp;the&nbsp;biographies" .. ' of&nbsp;living&nbsp;people]].', tooltip = '${TOOLTIPFRAGMENT} to promote compliance with the policy on' .. ' biographies of living persons', }, deceased = { description = 'For user pages of Wikipedia users who are deceased', text = '${INTROFRAGMENT} to prevent vandalism of a deceased' .. ' Wikipedian\'s user page.' .. ' A family member who wishes to edit this user page can use this' .. ' user\'s ${TALKPAGE} or submit a request to [[Wikipedia:VRT|the' .. ' Volunteer Response Team]].', tooltip = '${TOOLTIPFRAGMENT} because this Wikipedian is deceased' }, dmca = { description = 'For pages protected by the Wikimedia Foundation' .. ' due to [[Digital Millennium Copyright Act]] takedown requests', explanation = function (protectionObj, args) local ret = 'Pursuant to a rights owner notice under the Digital' .. ' Millennium Copyright Act (DMCA) regarding some content' .. ' in this article, the Wikimedia Foundation acted under' .. ' applicable law and took down and restricted the content' .. ' in question.' if args.notice then ret = ret .. ' A copy of the received notice can be found here: ' .. args.notice .. '.' end ret = ret .. ' For more information, including websites discussing' .. ' how to file a counter-notice, please see' .. " [[Wikipedia:Office actions]] and the article's ${TALKPAGE}." .. "'''Do not remove this template from the article until the" .. " restrictions are withdrawn'''." return ret end, image = 'Office-protection-shackle.svg', link = 'Wikipedia:Protection policy#office', }, dispute = { description = 'For pages protected due to editing disputes', text = function (protectionObj, args) -- Find the value of "disputes". local display = 'disputes' local disputes if args.section then disputes = string.format( '[[%s:%s#%s|%s]]', mw.site.namespaces[protectionObj.title.namespace].talk.name, protectionObj.title.text, args.section, display ) else disputes = display end -- Make the blurb, depending on the expiry. local msg if type(protectionObj.expiry) == 'number' then msg = '${INTROFRAGMENT} or until editing %s have been resolved.' else msg = '${INTROFRAGMENT} until editing %s have been resolved.' end return string.format(msg, disputes) end, explanation = "This protection is '''not''' an endorsement of the" .. ' ${CURRENTVERSION}. ${EXPLANATIONBLURB}', tooltip = '${TOOLTIPFRAGMENT} due to editing disputes', }, ecp = { description = 'For articles in topic areas authorized by' .. ' [[Wikipedia:Arbitration Committee|ArbCom]] or' .. ' meets the criteria for community use', alt = 'Extended-protected ${PAGETYPE}', }, mainpage = { description = 'For pages protected for being displayed on the [[Main Page]]', text = 'This file is currently' .. ' [[Wikipedia:This page is protected|protected]] from' .. ' editing because it is currently or will soon be displayed' .. ' on the [[Main Page]].', explanation = 'Images on the Main Page are protected due to their high' .. ' visibility. Please discuss any necessary changes on the ${TALKPAGE}.' .. '<br /><span style="font-size:90%;">' .. "'''Administrators:''' Once this image is definitely off the Main Page," .. ' please unprotect this file, or reduce to semi-protection,' .. ' as appropriate.</span>', }, office = { description = 'For pages protected by the Wikimedia Foundation', text = function (protectionObj, args) local ret = 'This ${PAGETYPE} is currently under the' .. ' scrutiny of the' .. ' [[Wikipedia:Office actions|Wikimedia Foundation Office]]' .. ' and is protected.' if protectionObj.protectionDate then ret = ret .. ' It has been protected since ${PROTECTIONDATE}.' end return ret end, explanation = "If you can edit this page, please discuss all changes and" .. " additions on the ${TALKPAGE} first. '''Do not remove protection from this" .. " page unless you are authorized by the Wikimedia Foundation to do" .. " so.'''", image = 'Office-protection-shackle.svg', link = 'Wikipedia:Protection policy#office', }, reset = { description = 'For pages protected by the Wikimedia Foundation and' .. ' "reset" to a bare-bones version', text = 'This ${PAGETYPE} is currently under the' .. ' scrutiny of the' .. ' [[Wikipedia:Office actions|Wikimedia Foundation Office]]' .. ' and is protected.', explanation = function (protectionObj, args) local ret = '' if protectionObj.protectionDate then ret = ret .. 'On ${PROTECTIONDATE} this ${PAGETYPE} was' else ret = ret .. 'This ${PAGETYPE} has been' end ret = ret .. ' reduced to a' .. ' simplified, "bare bones" version so that it may be completely' .. ' rewritten to ensure it meets the policies of' .. ' [[WP:NPOV|Neutral Point of View]] and [[WP:V|Verifiability]].' .. ' Standard Wikipedia policies will apply to its rewriting—which' .. ' will eventually be open to all editors—and will be strictly' .. ' enforced. The ${PAGETYPE} has been ${PROTECTIONLEVEL} while' .. ' it is being rebuilt.\n\n' .. 'Any insertion of material directly from' .. ' pre-protection revisions of the ${PAGETYPE} will be removed, as' .. ' will any material added to the ${PAGETYPE} that is not properly' .. ' sourced. The associated talk page(s) were also cleared on the' .. " same date.\n\n" .. "If you can edit this page, please discuss all changes and" .. " additions on the ${TALKPAGE} first. '''Do not override" .. " this action, and do not remove protection from this page," .. " unless you are authorized by the Wikimedia Foundation" .. " to do so. No editor may remove this notice.'''" return ret end, image = 'Office-protection-shackle.svg', link = 'Wikipedia:Protection policy#office', }, sock = { description = 'For pages protected due to' .. ' [[Wikipedia:Sock puppetry|sock puppetry]]', text = '${INTROFRAGMENT} to prevent [[Wikipedia:Sock puppetry|sock puppets]] of' .. ' [[Wikipedia:Blocking policy|blocked]] or' .. ' [[Wikipedia:Banning policy|banned users]]' .. ' from editing it.', tooltip = '${TOOLTIPFRAGMENT} to prevent sock puppets of blocked or banned users from' .. ' editing it', }, template = { description = 'For [[Wikipedia:High-risk templates|high-risk]]' .. ' templates and Lua modules', text = 'This is a permanently [[Wikipedia:Protection policy|protected]] ${PAGETYPE},' .. ' as it is [[Wikipedia:High-risk templates|high-risk]].', explanation = 'Please discuss any changes on the ${TALKPAGE}; you may' .. ' ${EDITREQUEST} to ask an' .. ' [[Wikipedia:Administrators|administrator]] or' .. ' [[Wikipedia:Template editor|template editor]] to make an edit if' .. ' it is [[Help:Minor edit#When to mark an edit as a minor edit' .. '|uncontroversial]] or supported by' .. ' [[Wikipedia:Consensus|consensus]]. You can also' .. ' [[Wikipedia:Requests for page protection|request]] that the page be' .. ' unprotected.', tooltip = 'This high-risk ${PAGETYPE} is permanently ${PROTECTIONLEVEL}' .. ' to prevent vandalism', alt = 'Permanently protected ${PAGETYPE}', }, usertalk = { description = 'For pages protected against disruptive edits by a' .. ' particular user', text = '${INTROFRAGMENT} to prevent ${VANDAL} from using it to make disruptive edits,' .. ' such as abusing the' .. ' &#123;&#123;[[Template:unblock|unblock]]&#125;&#125; template.', explanation = 'If you cannot edit this user talk page and you need to' .. ' make a change or leave a message, you can' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for edits to a protected page' .. '|request an edit]],' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for reduction in protection level' .. '|request unprotection]],' .. ' [[Special:Userlogin|log in]],' .. ' or [[Special:UserLogin/signup|create an account]].', }, vandalism = { description = 'For pages protected against' .. ' [[Wikipedia:Vandalism|vandalism]]', text = '${INTROFRAGMENT} due to [[Wikipedia:Vandalism|vandalism]].', explanation = function (protectionObj, args) local ret = '' if protectionObj.level == 'sysop' then ret = ret .. "This protection is '''not''' an endorsement of the" .. ' ${CURRENTVERSION}. ' end return ret .. '${EXPLANATIONBLURB}' end, tooltip = '${TOOLTIPFRAGMENT} due to vandalism', } }, move = { dispute = { description = 'For pages protected against page moves due to' .. ' disputes over the page title', explanation = "This protection is '''not''' an endorsement of the" .. ' ${CURRENTVERSION}. ${EXPLANATIONBLURB}', image = 'Move-protection-shackle.svg' }, vandalism = { description = 'For pages protected against' .. ' [[Wikipedia:Vandalism#Page-move vandalism' .. ' |page-move vandalism]]' } }, autoreview = {}, upload = {} }, -------------------------------------------------------------------------------- -- -- GENERAL DATA TABLES -- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Protection blurbs -------------------------------------------------------------------------------- -- This table produces the protection blurbs available with the -- ${PROTECTIONBLURB} parameter. It is sorted by protection action and -- protection level, and is checked by the module in the following order: -- 1. page's protection action, page's protection level -- 2. page's protection action, default protection level -- 3. "edit" protection action, default protection level -- -- It is possible to use banner parameters inside this table. -- *required* - this table needs edit, move, autoreview and upload subtables. protectionBlurbs = { edit = { default = 'This ${PAGETYPE} is currently [[Wikipedia:Protection policy#full|' .. 'protected]] from editing', templateeditor = 'This ${PAGETYPE} is currently [[Wikipedia:Protection policy#template' .. '|protected]] from editing', autoconfirmed = 'Editing of this ${PAGETYPE} by [[Wikipedia:User access' .. ' levels#New users|new]] or [[Wikipedia:User access levels#Unregistered' .. ' users|unregistered]] users is currently [[Wikipedia:Protection' .. ' policy#semi|disabled]]', extendedconfirmed = 'This ${PAGETYPE} is currently under [[Wikipedia:Protection' .. ' policy#extended|extended confirmed protection]]', }, move = { default = 'This ${PAGETYPE} is currently [[Wikipedia:Protection policy#Move' .. ' protection|protected]] from [[Help:Moving a page|page moves]]' }, autoreview = { default = 'All edits made to this ${PAGETYPE} by' .. ' [[Wikipedia:User access levels#New users|new]] or' .. ' [[Wikipedia:User access levels#Unregistered users|unregistered]]' .. ' users are currently' .. ' [[Wikipedia:Pending changes|subject to review]]' }, upload = { default = 'Uploading new versions of this ${PAGETYPE} is currently disabled' } }, -------------------------------------------------------------------------------- -- Explanation blurbs -------------------------------------------------------------------------------- -- This table produces the explanation blurbs available with the -- ${EXPLANATIONBLURB} parameter. It is sorted by protection action, -- protection level, and whether the page is a talk page or not. If the page is -- a talk page it will have a talk key of "talk"; otherwise it will have a talk -- key of "subject". The table is checked in the following order: -- 1. page's protection action, page's protection level, page's talk key -- 2. page's protection action, page's protection level, default talk key -- 3. page's protection action, default protection level, page's talk key -- 4. page's protection action, default protection level, default talk key -- -- It is possible to use banner parameters inside this table. -- *required* - this table needs edit, move, autoreview and upload subtables. explanationBlurbs = { edit = { autoconfirmed = { subject = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details. If you' .. ' cannot edit this ${PAGETYPE} and you wish to make a change, you can' .. ' ${EDITREQUEST}, discuss changes on the ${TALKPAGE},' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for reduction in protection level' .. '|request unprotection]], [[Special:Userlogin|log in]], or' .. ' [[Special:UserLogin/signup|create an account]].', default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details. If you' .. ' cannot edit this ${PAGETYPE} and you wish to make a change, you can' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for reduction in protection level' .. '|request unprotection]], [[Special:Userlogin|log in]], or' .. ' [[Special:UserLogin/signup|create an account]].', }, extendedconfirmed = { default = 'Extended confirmed protection prevents edits from all unregistered editors' .. ' and registered users with fewer than 30 days tenure and 500 edits.' .. ' The [[Wikipedia:Protection policy#extended|policy on community use]]' .. ' specifies that extended confirmed protection can be applied to combat' .. ' disruption, if semi-protection has proven to be ineffective.' .. ' Extended confirmed protection may also be applied to enforce' .. ' [[Wikipedia:Arbitration Committee|arbitration sanctions]].' .. ' Please discuss any changes on the ${TALKPAGE}; you may' .. ' ${EDITREQUEST} to ask for uncontroversial changes supported by' .. ' [[Wikipedia:Consensus|consensus]].' }, default = { subject = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' Please discuss any changes on the ${TALKPAGE}; you' .. ' may ${EDITREQUEST} to ask an' .. ' [[Wikipedia:Administrators|administrator]] to make an edit if it' .. ' is [[Help:Minor edit#When to mark an edit as a minor edit' .. '|uncontroversial]] or supported by [[Wikipedia:Consensus' .. '|consensus]]. You may also [[Wikipedia:Requests for' .. ' page protection#Current requests for reduction in protection level' .. '|request]] that this page be unprotected.', default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' You may [[Wikipedia:Requests for page' .. ' protection#Current requests for edits to a protected page|request an' .. ' edit]] to this page, or [[Wikipedia:Requests for' .. ' page protection#Current requests for reduction in protection level' .. '|ask]] for it to be unprotected.' } }, move = { default = { subject = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' The page may still be edited but cannot be moved' .. ' until unprotected. Please discuss any suggested moves on the' .. ' ${TALKPAGE} or at [[Wikipedia:Requested moves]]. You can also' .. ' [[Wikipedia:Requests for page protection|request]] that the page be' .. ' unprotected.', default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' The page may still be edited but cannot be moved' .. ' until unprotected. Please discuss any suggested moves at' .. ' [[Wikipedia:Requested moves]]. You can also' .. ' [[Wikipedia:Requests for page protection|request]] that the page be' .. ' unprotected.' } }, autoreview = { default = { default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' Edits to this ${PAGETYPE} by new and unregistered users' .. ' will not be visible to readers until they are accepted by' .. ' a reviewer. To avoid the need for your edits to be' .. ' reviewed, you may' .. ' [[Wikipedia:Requests for page protection' .. '#Current requests for reduction in protection level' .. '|request unprotection]], [[Special:Userlogin|log in]], or' .. ' [[Special:UserLogin/signup|create an account]].' }, }, upload = { default = { default = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' The page may still be edited but new versions of the file' .. ' cannot be uploaded until it is unprotected. You can' .. ' request that a new version be uploaded by using a' .. ' [[Wikipedia:Edit requests|protected edit request]], or you' .. ' can [[Wikipedia:Requests for page protection|request]]' .. ' that the file be unprotected.' } } }, -------------------------------------------------------------------------------- -- Protection levels -------------------------------------------------------------------------------- -- This table provides the data for the ${PROTECTIONLEVEL} parameter, which -- produces a short label for different protection levels. It is sorted by -- protection action and protection level, and is checked in the following -- order: -- 1. page's protection action, page's protection level -- 2. page's protection action, default protection level -- 3. "edit" protection action, default protection level -- -- It is possible to use banner parameters inside this table. -- *required* - this table needs edit, move, autoreview and upload subtables. protectionLevels = { edit = { default = 'protected', templateeditor = 'template-protected', extendedconfirmed = 'extended-confirmed-protected', autoconfirmed = 'semi-protected', }, move = { default = 'move-protected' }, autoreview = { }, upload = { default = 'upload-protected' } }, -------------------------------------------------------------------------------- -- Images -------------------------------------------------------------------------------- -- This table lists different padlock images for each protection action and -- protection level. It is used if an image is not specified in any of the -- banner data tables, and if the page does not satisfy the conditions for using -- the ['image-filename-indef'] image. It is checked in the following order: -- 1. page's protection action, page's protection level -- 2. page's protection action, default protection level images = { edit = { default = 'Full-protection-shackle.svg', templateeditor = 'Template-protection-shackle.svg', extendedconfirmed = 'Extended-protection-shackle.svg', autoconfirmed = 'Semi-protection-shackle.svg' }, move = { default = 'Move-protection-shackle.svg', }, autoreview = { default = 'Pending-protection-shackle.svg' }, upload = { default = 'Upload-protection-shackle.svg' } }, -- Pages with a reason specified in this table will show the special "indef" -- padlock, defined in the 'image-filename-indef' message, if no expiry is set. indefImageReasons = { template = true }, -------------------------------------------------------------------------------- -- Image links -------------------------------------------------------------------------------- -- This table provides the data for the ${IMAGELINK} parameter, which gets -- the image link for small padlock icons based on the page's protection action -- and protection level. It is checked in the following order: -- 1. page's protection action, page's protection level -- 2. page's protection action, default protection level -- 3. "edit" protection action, default protection level -- -- It is possible to use banner parameters inside this table. -- *required* - this table needs edit, move, autoreview and upload subtables. imageLinks = { edit = { default = 'Wikipedia:Protection policy#full', templateeditor = 'Wikipedia:Protection policy#template', extendedconfirmed = 'Wikipedia:Protection policy#extended', autoconfirmed = 'Wikipedia:Protection policy#semi' }, move = { default = 'Wikipedia:Protection policy#move' }, autoreview = { default = 'Wikipedia:Protection policy#pending' }, upload = { default = 'Wikipedia:Protection policy#upload' } }, -------------------------------------------------------------------------------- -- Padlock indicator names -------------------------------------------------------------------------------- -- This table provides the "name" attribute for the <indicator> extension tag -- with which small padlock icons are generated. All indicator tags on a page -- are displayed in alphabetical order based on this attribute, and with -- indicator tags with duplicate names, the last tag on the page wins. -- The attribute is chosen based on the protection action; table keys must be a -- protection action name or the string "default". padlockIndicatorNames = { autoreview = 'pp-autoreview', default = 'pp-default' }, -------------------------------------------------------------------------------- -- Protection categories -------------------------------------------------------------------------------- --[[ -- The protection categories are stored in the protectionCategories table. -- Keys to this table are made up of the following strings: -- -- 1. the expiry date -- 2. the namespace -- 3. the protection reason (e.g. "dispute" or "vandalism") -- 4. the protection level (e.g. "sysop" or "autoconfirmed") -- 5. the action (e.g. "edit" or "move") -- -- When the module looks up a category in the table, first it will will check to -- see a key exists that corresponds to all five parameters. For example, a -- user page semi-protected from vandalism for two weeks would have the key -- "temp-user-vandalism-autoconfirmed-edit". If no match is found, the module -- changes the first part of the key to "all" and checks the table again. It -- keeps checking increasingly generic key combinations until it finds the -- field, or until it reaches the key "all-all-all-all-all". -- -- The module uses a binary matrix to determine the order in which to search. -- This is best demonstrated by a table. In this table, the "0" values -- represent "all", and the "1" values represent the original data (e.g. -- "indef" or "file" or "vandalism"). -- -- expiry namespace reason level action -- order -- 1 1 1 1 1 1 -- 2 0 1 1 1 1 -- 3 1 0 1 1 1 -- 4 0 0 1 1 1 -- 5 1 1 0 1 1 -- 6 0 1 0 1 1 -- 7 1 0 0 1 1 -- 8 0 0 0 1 1 -- 9 1 1 1 0 1 -- 10 0 1 1 0 1 -- 11 1 0 1 0 1 -- 12 0 0 1 0 1 -- 13 1 1 0 0 1 -- 14 0 1 0 0 1 -- 15 1 0 0 0 1 -- 16 0 0 0 0 1 -- 17 1 1 1 1 0 -- 18 0 1 1 1 0 -- 19 1 0 1 1 0 -- 20 0 0 1 1 0 -- 21 1 1 0 1 0 -- 22 0 1 0 1 0 -- 23 1 0 0 1 0 -- 24 0 0 0 1 0 -- 25 1 1 1 0 0 -- 26 0 1 1 0 0 -- 27 1 0 1 0 0 -- 28 0 0 1 0 0 -- 29 1 1 0 0 0 -- 30 0 1 0 0 0 -- 31 1 0 0 0 0 -- 32 0 0 0 0 0 -- -- In this scheme the action has the highest priority, as it is the last -- to change, and the expiry has the least priority, as it changes the most. -- The priorities of the expiry, the protection level and the action are -- fixed, but the priorities of the reason and the namespace can be swapped -- through the use of the cfg.bannerDataNamespaceHasPriority table. --]] -- If the reason specified to the template is listed in this table, -- namespace data will take priority over reason data in the protectionCategories -- table. reasonsWithNamespacePriority = { vandalism = true, }, -- The string to use as a namespace key for the protectionCategories table for each -- namespace number. categoryNamespaceKeys = { [ 2] = 'user', [ 3] = 'user', [ 4] = 'project', [ 6] = 'file', [ 8] = 'mediawiki', [ 10] = 'template', [ 12] = 'project', [ 14] = 'category', [100] = 'portal', [828] = 'module', }, protectionCategories = { ['all|all|all|all|all'] = 'Wikipedia fully protected pages', ['all|all|office|all|all'] = 'Wikipedia Office-protected pages', ['all|all|reset|all|all'] = 'Wikipedia Office-protected pages', ['all|all|dmca|all|all'] = 'Wikipedia Office-protected pages', ['all|all|mainpage|all|all'] = 'Wikipedia fully protected main page files', ['all|all|all|extendedconfirmed|all'] = 'Wikipedia extended-confirmed-protected pages', ['all|all|ecp|extendedconfirmed|all'] = 'Wikipedia extended-confirmed-protected pages', ['all|template|all|all|edit'] = 'Wikipedia fully protected templates', ['all|all|all|autoconfirmed|edit'] = 'Wikipedia semi-protected pages', ['indef|all|all|autoconfirmed|edit'] = 'Wikipedia indefinitely semi-protected pages', ['all|all|blp|autoconfirmed|edit'] = 'Wikipedia indefinitely semi-protected biographies of living people', ['temp|all|blp|autoconfirmed|edit'] = 'Wikipedia temporarily semi-protected biographies of living people', ['all|all|dispute|autoconfirmed|edit'] = 'Wikipedia pages semi-protected due to dispute', ['all|all|sock|autoconfirmed|edit'] = 'Wikipedia pages semi-protected from banned users', ['all|all|vandalism|autoconfirmed|edit'] = 'Wikipedia pages semi-protected against vandalism', ['all|category|all|autoconfirmed|edit'] = 'Wikipedia semi-protected categories', ['all|file|all|autoconfirmed|edit'] = 'Wikipedia semi-protected files', ['all|portal|all|autoconfirmed|edit'] = 'Wikipedia semi-protected portals', ['all|project|all|autoconfirmed|edit'] = 'Wikipedia semi-protected project pages', ['all|talk|all|autoconfirmed|edit'] = 'Wikipedia semi-protected talk pages', ['all|template|all|autoconfirmed|edit'] = 'Wikipedia semi-protected templates', ['all|user|all|autoconfirmed|edit'] = 'Wikipedia semi-protected user and user talk pages', ['all|all|all|templateeditor|move'] = 'Wikipedia template-protected pages other than templates and modules', ['all|all|all|templateeditor|edit'] = 'Wikipedia template-protected pages other than templates and modules', ['all|template|all|templateeditor|edit'] = 'Wikipedia template-protected templates', ['all|template|all|templateeditor|move'] = 'Wikipedia template-protected templates', -- move-protected templates ['all|all|blp|sysop|edit'] = 'Wikipedia indefinitely protected biographies of living people', ['temp|all|blp|sysop|edit'] = 'Wikipedia temporarily protected biographies of living people', ['all|all|dispute|sysop|edit'] = 'Wikipedia pages protected due to dispute', ['all|all|sock|sysop|edit'] = 'Wikipedia pages protected from banned users', ['all|all|vandalism|sysop|edit'] = 'Wikipedia pages protected against vandalism', ['all|category|all|sysop|edit'] = 'Wikipedia fully protected categories', ['all|file|all|sysop|edit'] = 'Wikipedia fully protected files', ['all|project|all|sysop|edit'] = 'Wikipedia fully protected project pages', ['all|talk|all|sysop|edit'] = 'Wikipedia fully protected talk pages', ['all|template|all|extendedconfirmed|edit'] = 'Wikipedia extended-confirmed-protected templates', ['all|template|all|extendedconfirmed|move'] = 'Wikipedia extended-confirmed-protected templates', ['all|template|all|sysop|edit'] = 'Wikipedia fully protected templates', ['all|user|all|sysop|edit'] = 'Wikipedia fully protected user and user talk pages', ['all|module|all|all|edit'] = 'Wikipedia fully protected modules', ['all|module|all|templateeditor|edit'] = 'Wikipedia template-protected modules', ['all|module|all|extendedconfirmed|edit'] = 'Wikipedia extended-confirmed-protected modules', ['all|module|all|autoconfirmed|edit'] = 'Wikipedia semi-protected modules', ['all|all|all|sysop|move'] = 'Wikipedia move-protected pages', ['indef|all|all|sysop|move'] = 'Wikipedia indefinitely move-protected pages', ['all|all|dispute|sysop|move'] = 'Wikipedia pages move-protected due to dispute', ['all|all|vandalism|sysop|move'] = 'Wikipedia pages move-protected due to vandalism', ['all|portal|all|sysop|move'] = 'Wikipedia move-protected portals', ['all|project|all|sysop|move'] = 'Wikipedia move-protected project pages', ['all|talk|all|sysop|move'] = 'Wikipedia move-protected talk pages', ['all|template|all|sysop|move'] = 'Wikipedia move-protected templates', ['all|user|all|sysop|move'] = 'Wikipedia move-protected user and user talk pages', ['all|all|all|autoconfirmed|autoreview'] = 'Wikipedia pending changes protected pages', ['all|file|all|all|upload'] = 'Wikipedia upload-protected files', }, -------------------------------------------------------------------------------- -- Expiry category config -------------------------------------------------------------------------------- -- This table configures the expiry category behaviour for each protection -- action. -- * If set to true, setting that action will always categorise the page if -- an expiry parameter is not set. -- * If set to false, setting that action will never categorise the page. -- * If set to nil, the module will categorise the page if: -- 1) an expiry parameter is not set, and -- 2) a reason is provided, and -- 3) the specified reason is not blacklisted in the reasonsWithoutExpiryCheck -- table. expiryCheckActions = { edit = nil, move = false, autoreview = true, upload = false }, reasonsWithoutExpiryCheck = { blp = true, template = true, }, -------------------------------------------------------------------------------- -- Pagetypes -------------------------------------------------------------------------------- -- This table produces the page types available with the ${PAGETYPE} parameter. -- Keys are namespace numbers, or the string "default" for the default value. pagetypes = { [0] = 'article', [6] = 'file', [10] = 'template', [14] = 'category', [828] = 'module', default = 'page' }, -------------------------------------------------------------------------------- -- Strings marking indefinite protection -------------------------------------------------------------------------------- -- This table contains values passed to the expiry parameter that mean the page -- is protected indefinitely. indefStrings = { ['indef'] = true, ['indefinite'] = true, ['indefinitely'] = true, ['infinite'] = true, }, -------------------------------------------------------------------------------- -- Group hierarchy -------------------------------------------------------------------------------- -- This table maps each group to all groups that have a superset of the original -- group's page editing permissions. hierarchy = { sysop = {}, reviewer = {'sysop'}, filemover = {'sysop'}, templateeditor = {'sysop'}, extendedconfirmed = {'sysop'}, autoconfirmed = {'reviewer', 'filemover', 'templateeditor', 'extendedconfirmed'}, user = {'autoconfirmed'}, ['*'] = {'user'} }, -------------------------------------------------------------------------------- -- Wrapper templates and their default arguments -------------------------------------------------------------------------------- -- This table contains wrapper templates used with the module, and their -- default arguments. Templates specified in this table should contain the -- following invocation, and no other template content: -- -- {{#invoke:Protection banner|main}} -- -- If other content is desired, it can be added between -- <noinclude>...</noinclude> tags. -- -- When a user calls one of these wrapper templates, they will use the -- default arguments automatically. However, users can override any of the -- arguments. wrappers = { ['Template:Protected page'] = {}, ['Template:Extended confirmed–protected'] = {'ecp'}, ['Template:Protected biography of a living person'] = {'blp'}, ['Template:Protected due to a dispute'] = {'dispute'}, ['Template:Move-protected'] = {action = 'move', catonly = 'yes'}, ['Template:Move-protected due to a dispute'] = {'dispute', action = 'move', catonly = 'yes'}, ['Template:Move-protected due to vandalism'] = {'vandalism', action = 'move', catonly = 'yes'}, ['Template:Office-protected'] = {'office'}, ['Template:Pending changes–protected'] = {action = 'autoreview', small = true}, ['Template:Semi-protected indefinitely'] = {small = true}, ['Template:Protected due to sockpuppetry'] = {'sock'}, ['Template:Template-protected'] = {'template', small = true}, ['Template:Upload-protected'] = {action = 'upload'}, ['Template:Protected talk page of a blocked user'] = {'usertalk'}, ['Template:Protected due to vandalism'] = {'vandalism'}, }, -------------------------------------------------------------------------------- -- -- MESSAGES -- -------------------------------------------------------------------------------- msg = { -------------------------------------------------------------------------------- -- Intro blurb and intro fragment -------------------------------------------------------------------------------- -- These messages specify what is produced by the ${INTROBLURB} and -- ${INTROFRAGMENT} parameters. If the protection is temporary they use the -- intro-blurb-expiry or intro-fragment-expiry, and if not they use -- intro-blurb-noexpiry or intro-fragment-noexpiry. -- It is possible to use banner parameters in these messages. ['intro-blurb-expiry'] = '${PROTECTIONBLURB} until ${EXPIRY}.', ['intro-blurb-noexpiry'] = '${PROTECTIONBLURB}.', ['intro-fragment-expiry'] = '${PROTECTIONBLURB} until ${EXPIRY},', ['intro-fragment-noexpiry'] = '${PROTECTIONBLURB}', -------------------------------------------------------------------------------- -- Tooltip blurb -------------------------------------------------------------------------------- -- These messages specify what is produced by the ${TOOLTIPBLURB} parameter. -- If the protection is temporary the tooltip-blurb-expiry message is used, and -- if not the tooltip-blurb-noexpiry message is used. -- It is possible to use banner parameters in these messages. ['tooltip-blurb-expiry'] = 'This ${PAGETYPE} is ${PROTECTIONLEVEL} until ${EXPIRY}.', ['tooltip-blurb-noexpiry'] = 'This ${PAGETYPE} is ${PROTECTIONLEVEL}.', ['tooltip-fragment-expiry'] = 'This ${PAGETYPE} is ${PROTECTIONLEVEL} until ${EXPIRY},', ['tooltip-fragment-noexpiry'] = 'This ${PAGETYPE} is ${PROTECTIONLEVEL}', -------------------------------------------------------------------------------- -- Special explanation blurb -------------------------------------------------------------------------------- -- An explanation blurb for pages that cannot be unprotected, e.g. for pages -- in the MediaWiki namespace. -- It is possible to use banner parameters in this message. ['explanation-blurb-nounprotect'] = 'See the [[Wikipedia:Protection policy|' .. 'protection policy]] and ${PROTECTIONLOG} for more details.' .. ' Please discuss any changes on the ${TALKPAGE}; you' .. ' may ${EDITREQUEST} to ask an' .. ' [[Wikipedia:Administrators|administrator]] to make an edit if it' .. ' is [[Help:Minor edit#When to mark an edit as a minor edit' .. '|uncontroversial]] or supported by [[Wikipedia:Consensus' .. '|consensus]].', -------------------------------------------------------------------------------- -- Protection log display values -------------------------------------------------------------------------------- -- These messages determine the display values for the protection log link -- or the pending changes log link produced by the ${PROTECTIONLOG} parameter. -- It is possible to use banner parameters in these messages. ['protection-log-display'] = 'protection log', ['pc-log-display'] = 'pending changes log', -------------------------------------------------------------------------------- -- Current version display values -------------------------------------------------------------------------------- -- These messages determine the display values for the page history link -- or the move log link produced by the ${CURRENTVERSION} parameter. -- It is possible to use banner parameters in these messages. ['current-version-move-display'] = 'current title', ['current-version-edit-display'] = 'current version', -------------------------------------------------------------------------------- -- Talk page -------------------------------------------------------------------------------- -- This message determines the display value of the talk page link produced -- with the ${TALKPAGE} parameter. -- It is possible to use banner parameters in this message. ['talk-page-link-display'] = 'talk page', -------------------------------------------------------------------------------- -- Edit requests -------------------------------------------------------------------------------- -- This message determines the display value of the edit request link produced -- with the ${EDITREQUEST} parameter. -- It is possible to use banner parameters in this message. ['edit-request-display'] = 'submit an edit request', -------------------------------------------------------------------------------- -- Expiry date format -------------------------------------------------------------------------------- -- This is the format for the blurb expiry date. It should be valid input for -- the first parameter of the #time parser function. ['expiry-date-format'] = 'F j, Y "at" H:i e', -------------------------------------------------------------------------------- -- Tracking categories -------------------------------------------------------------------------------- -- These messages determine which tracking categories the module outputs. ['tracking-category-incorrect'] = 'Wikipedia pages with incorrect protection templates', ['tracking-category-template'] = 'Wikipedia template-protected pages other than templates and modules', -------------------------------------------------------------------------------- -- Images -------------------------------------------------------------------------------- -- These are images that are not defined by their protection action and protection level. ['image-filename-indef'] = 'Full-protection-shackle.svg', ['image-filename-default'] = 'Transparent.gif', -------------------------------------------------------------------------------- -- End messages -------------------------------------------------------------------------------- } -------------------------------------------------------------------------------- -- End configuration -------------------------------------------------------------------------------- } pj6zo6l44p4bk4pwax9tlbkyf7cpx34 Gregorian calendar 0 33080 153395 2026-10-06T18:24:19Z 511KeV 8268 Redirect 153395 wikitext text/x-wiki #Redirect [[گریگورین کیلنڈر]] 1lfk2h2nyl9kmbimyxcfuvl37vblzc1 مُحمد اِقبال شیدایی 0 33081 153398 2026-10-06T18:44:56Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1377230732|Mohammad Iqbal Shedai]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 153398 wikitext text/x-wiki '''مُحمد اِقبال شیدایی''' ({{زَبان|پَنٛجٲبؠ زَبان|محمد اقبال شیدہائی}}) اوس اکھ برطانوی ہندوستٲنی تہٕ پتہٕ پٲکستٲنؠ کارکن ییٚمۍ ہندوستان خٲطرٕ آزٲدی تہٕ برطانوی نوآبادیاتی پالیسین ہٕنٛز مخالفت ہٕنٛز حمایت کٔر۔ تٔمۍ گزٲر پنٛنہِ زِنٛدگی ہنٛد زیٛادٕ تر حصہٕ ایشیٲیی تہٕ یوٗرَپی ملکن منٛز پانہٕ جلاے وطن گژھنس منٛز۔ 3w0uoej0v4k0z4qsahez1w1cpmg58ky 153399 153398 2026-10-06T18:46:18Z آیات محراج 11062 /* */ 153399 wikitext text/x-wiki {{Infobox person/Wikidata|fetchwikidata=ALL|onlysourced=No|noicon=Yes}} '''مُحمد اِقبال شیدایی''' ({{زَبان|پَنٛجٲبؠ زَبان|محمد اقبال شیدہائی}}) اوس اکھ برطانوی ہندوستٲنی تہٕ پتہٕ پٲکستٲنؠ کارکن ییٚمۍ ہندوستان خٲطرٕ آزٲدی تہٕ برطانوی نوآبادیاتی پالیسین ہٕنٛز مخالفت ہٕنٛز حمایت کٔر۔ تٔمۍ گزٲر پنٛنہِ زِنٛدگی ہنٛد زیٛادٕ تر حصہٕ ایشیٲیی تہٕ یوٗرَپی ملکن منٛز پانہٕ جلاے وطن گژھنس منٛز۔<ref>Iftikhar Haider Malik, ''US-South Asia relations, 1784-1940: a historical perspective'', Area Study Centre for Africa, North & South America, Quaid-i-Azam University, 1988, p. 229</ref> myn5zmfa9lh1cq1fcttq2p0in2hvb00 153400 153399 2026-10-06T18:47:34Z آیات محراج 11062 +[[زٲژ:1888 پٲدٲیِش]]; +[[زٲژ:1974 وَفات]]; +[[زٲژ:پٲکِستٲنؠ لوٗکھ]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 153400 wikitext text/x-wiki {{Infobox person/Wikidata|fetchwikidata=ALL|onlysourced=No|noicon=Yes}} '''مُحمد اِقبال شیدایی''' ({{زَبان|پَنٛجٲبؠ زَبان|محمد اقبال شیدہائی}}) اوس اکھ برطانوی ہندوستٲنی تہٕ پتہٕ پٲکستٲنؠ کارکن ییٚمۍ ہندوستان خٲطرٕ آزٲدی تہٕ برطانوی نوآبادیاتی پالیسین ہٕنٛز مخالفت ہٕنٛز حمایت کٔر۔ تٔمۍ گزٲر پنٛنہِ زِنٛدگی ہنٛد زیٛادٕ تر حصہٕ ایشیٲیی تہٕ یوٗرَپی ملکن منٛز پانہٕ جلاے وطن گژھنس منٛز۔<ref>Iftikhar Haider Malik, ''US-South Asia relations, 1784-1940: a historical perspective'', Area Study Centre for Africa, North & South America, Quaid-i-Azam University, 1988, p. 229</ref> ==حَوالہٕ== [[زٲژ:1888 پٲدٲیِش]] [[زٲژ:1974 وَفات]] [[زٲژ:پٲکِستٲنؠ لوٗکھ]] mxp00rqghjuyav2t6gv10hkc7dk3x3t 153401 153400 2026-10-06T18:48:18Z آیات محراج 11062 /* */ 153401 wikitext text/x-wiki {{Infobox person/Wikidata|fetchwikidata=ALL|onlysourced=No|noicon=Yes}} '''مُحمد اِقبال شیدایی''' ({{زَبان|پَنٛجٲبؠ زَبان|محمد اقبال شیدائی}}) اوس اکھ برطانوی ہندوستٲنی تہٕ پتہٕ پٲکستٲنؠ کارکن ییٚمۍ ہندوستان خٲطرٕ آزٲدی تہٕ برطانوی نوآبادیاتی پالیسین ہٕنٛز مخالفت ہٕنٛز حمایت کٔر۔ تٔمۍ گزٲر پنٛنہِ زِنٛدگی ہنٛد زیٛادٕ تر حصہٕ ایشیٲیی تہٕ یوٗرَپی ملکن منٛز پانہٕ جلاے وطن گژھنس منٛز۔<ref>Iftikhar Haider Malik, ''US-South Asia relations, 1784-1940: a historical perspective'', Area Study Centre for Africa, North & South America, Quaid-i-Azam University, 1988, p. 229</ref> ==حَوالہٕ== [[زٲژ:1888 پٲدٲیِش]] [[زٲژ:1974 وَفات]] [[زٲژ:پٲکِستٲنؠ لوٗکھ]] muig8nc97c9272hvnbd19wfok1vk1vo جولس چیریٹ 0 33082 153402 2026-10-06T19:09:43Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1364956228|Jules Chéret]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 153402 wikitext text/x-wiki جولس چیریٹ (31 مئی 1836 - 23 ستمبر 1932) اوس اکھ فرانسیسی مصور تہٕ لیتھوگرافر یُس بیلے ایپوک پوسٹر آرٹُک ماسٹر بنیوو۔ تس چُھ جدید پوسٹرُک مول وننہٕ یوان۔ 3kc5ot0p1dg4da3340vz61byqhc17dx 153440 153402 2026-10-07T06:38:21Z 511KeV 8268 /* */ Databox 153440 wikitext text/x-wiki {{Databox}} جولس چیریٹ (31 مئی 1836 - 23 ستمبر 1932) اوس اکھ فرانسیسی مصور تہٕ لیتھوگرافر یُس بیلے ایپوک پوسٹر آرٹُک ماسٹر بنیوو۔ تس چُھ جدید پوسٹرُک مول وننہٕ یوان۔ 04pgcdgy03mjjpkx86din2ei489jcbg 153441 153440 2026-10-07T06:44:30Z آیات محراج 11062 153441 wikitext text/x-wiki {{Infobox person/Wikidata|fetchwikidata=ALL|onlysourced=Yes}} جولس چیریٹ (31 مئی 1836 - 23 ستمبر 1932) اوس اکھ فرانسیسی مصور تہٕ لیتھوگرافر یُس بیلے ایپوک پوسٹر آرٹُک ماسٹر بنیوو۔ تس چُھ جدید پوسٹرُک مول وننہٕ یوان۔<ref>{{Cite book|last=Ray|first=Gordon N|title=The art of the French illustrated book, 1700 to 1914|publisher=New York, N.Y. : Pierpont Morgan Library; Ithaca, N.Y. : Cornell University Press|year=1982|pages=467-468|language=English}}</ref> q43x15k6qptz9xmbyewf3wd7udrdaku 153442 153441 2026-10-07T06:45:27Z آیات محراج 11062 +[[زٲژ:1836 پٲدٲیِش]]; +[[زٲژ:1932 وَفات]]; +[[زٲژ:فرٛانٛسی لوٗکھ]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 153442 wikitext text/x-wiki {{Infobox person/Wikidata|fetchwikidata=ALL|onlysourced=Yes}} جولس چیریٹ (31 مئی 1836 - 23 ستمبر 1932) اوس اکھ فرانسیسی مصور تہٕ لیتھوگرافر یُس بیلے ایپوک پوسٹر آرٹُک ماسٹر بنیوو۔ تس چُھ جدید پوسٹرُک مول وننہٕ یوان۔<ref>{{Cite book|last=Ray|first=Gordon N|title=The art of the French illustrated book, 1700 to 1914|publisher=New York, N.Y. : Pierpont Morgan Library; Ithaca, N.Y. : Cornell University Press|year=1982|pages=467-468|language=English}}</ref> == حَوالہٕ == [[زٲژ:1836 پٲدٲیِش]] [[زٲژ:1932 وَفات]] [[زٲژ:فرٛانٛسی لوٗکھ]] sxkjynd2o5x1hctn0149gm1824miu1f جوب وادی ریلوے 0 33083 153403 2026-10-06T19:18:30Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1350190371|Zhob Valley Railway]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 153403 wikitext text/x-wiki جوب ویلی ریلوے ({{زَبان|اُردوٗ|ژوب وادی ریلوے}}) ٲس پاکستانس منٛز واریاہو برانچ لائنو منٛز اکھ، یۄس پاکستان ریلوے کہ ذٔریع چلاونہٕ تہٕ رٲچھ راوٹھ ٲس۔ یہ لایِن ٲس بوستان جنکشنس پیٹھ شروع گژھان تہٕ [[جوب|جوبس]] پیٹھ ختم گٔیہٕ۔ امہِ ریلوے لائنُک کُل زیچھر چھُ 298 کلومیٹر (185 میل) یتھ منٛز 14 ریلوے سٹیشن چھِ۔ مقابلہٕ پتہٕ بنیوو 762 ملی میٹر (2 فٹ 6 انچ) ریلوے خطُک ساروٕے کھۄتہٕ زیوٗٹھ نیرو گیج سسٹم۔ 0s0d4fvx5tnhe9w8gl8uxajtq0ajxtg 153404 153403 2026-10-06T19:18:59Z آیات محراج 11062 /* */ 153404 wikitext text/x-wiki {{مولوٗماتھ}} '''جوب ویلی ریلوے''' ({{زَبان|اُردوٗ|ژوب وادی ریلوے}}) ٲس پاکستانس منٛز واریاہو برانچ لائنو منٛز اکھ، یۄس پاکستان ریلوے کہ ذٔریع چلاونہٕ تہٕ رٲچھ راوٹھ ٲس۔ یہ لایِن ٲس بوستان جنکشنس پیٹھ شروع گژھان تہٕ [[جوب|جوبس]] پیٹھ ختم گٔیہٕ۔ امہِ ریلوے لائنُک کُل زیچھر چھُ 298 کلومیٹر (185 میل) یتھ منٛز 14 ریلوے سٹیشن چھِ۔ مقابلہٕ پتہٕ بنیوو 762 ملی میٹر (2 فٹ 6 انچ) ریلوے خطُک ساروٕے کھۄتہٕ زیوٗٹھ نیرو گیج سسٹم۔ rrxq7il80fztoyg9rnu86px3qa6i49h 153443 153404 2026-10-07T06:46:32Z آیات محراج 11062 /* */ 153443 wikitext text/x-wiki {{مولوٗماتھ}} '''جوب ویلی ریلوے''' ({{زَبان|اُردوٗ|ژوب وادی ریلوے}}) ٲس پاکستانس منٛز واریاہو برانچ لائنو منٛز اکھ، یۄس پاکستان ریلوے کہ ذٔریع چلاونہٕ تہٕ رٲچھ راوٹھ ٲس۔ یہ لایِن ٲس بوستان جنکشنس پیٹھ شروع گژھان تہٕ [[جوب|جوبس]] پیٹھ ختم گٔیہٕ۔<ref>{{cite web|title=Off-track railways|url=https://www.dawn.com/news/1204766|access-date=21 May 2017|publisher=Dawn}}</ref> امہِ ریلوے لائنُک کُل زیچھر چھُ 298 کلومیٹر (185 میل) یتھ منٛز 14 ریلوے سٹیشن چھِ۔ مقابلہٕ پتہٕ بنیوو 762 ملی میٹر (2 فٹ 6 انچ) ریلوے خطُک ساروٕے کھۄتہٕ زیوٗٹھ نیرو گیج سسٹم۔ == حَوالہٕ == 372fr99sla614wnoil1e22wfpmik9qd 153444 153443 2026-10-07T06:47:00Z آیات محراج 11062 مِلاوُن [[زٲژ:ریل سٔروِس]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 153444 wikitext text/x-wiki {{مولوٗماتھ}} '''جوب ویلی ریلوے''' ({{زَبان|اُردوٗ|ژوب وادی ریلوے}}) ٲس پاکستانس منٛز واریاہو برانچ لائنو منٛز اکھ، یۄس پاکستان ریلوے کہ ذٔریع چلاونہٕ تہٕ رٲچھ راوٹھ ٲس۔ یہ لایِن ٲس بوستان جنکشنس پیٹھ شروع گژھان تہٕ [[جوب|جوبس]] پیٹھ ختم گٔیہٕ۔<ref>{{cite web|title=Off-track railways|url=https://www.dawn.com/news/1204766|access-date=21 May 2017|publisher=Dawn}}</ref> امہِ ریلوے لائنُک کُل زیچھر چھُ 298 کلومیٹر (185 میل) یتھ منٛز 14 ریلوے سٹیشن چھِ۔ مقابلہٕ پتہٕ بنیوو 762 ملی میٹر (2 فٹ 6 انچ) ریلوے خطُک ساروٕے کھۄتہٕ زیوٗٹھ نیرو گیج سسٹم۔ == حَوالہٕ == [[زٲژ:ریل سٔروِس]] aq00auolklgfqqlndw6pxvgl6nuhnc5 جارکینٛت مٔشیٖد 0 33084 153445 2026-10-07T07:00:07Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1377324505|Jarkent Mosque]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 153445 wikitext text/x-wiki [[File:Zharkent_Mosque_1.jpg|thumb|مٔشیٖد ہُنٛد بَر]] '''جارکینٛت مٔشیٖد''' ({{زَبان|قازق زَبان|Жаркент мешіті}}) چھِ مَرکَزی مٔشیٖد [[جارکینٛت]]، [[قازقستان|قازقستانس]] مَنٛز.یِہ مسجد ٲس 1895 منٛز چینی معمار ہون پیکیٹ کس ڈیزائنس پیٹھ تارکین وطنن ہنٛد جمع کرنہٕ آمت فنڈز استعمال کرتھ تعٲمیر کرنہٕ آمٕژ۔ مسجد چھ 1982 پیٹھہٕ فن تعمیرچ یادگار تہِ جمہوری اہمیتک تٲریخک یادگار کس طورس پیٹھ ریاستی تحفظس منٛز۔ pbfrva0297kr7y0oqesampfmvu28jz4 153446 153445 2026-10-07T07:08:08Z آیات محراج 11062 /* */ 153446 wikitext text/x-wiki [[File:Zharkent_Mosque_1.jpg|thumb|مٔشیٖد ہُنٛد بَر]] '''جارکینٛت مٔشیٖد''' ({{زَبان|قازق زَبان|Жаркент мешіті}}) چھِ مَرکَزی مٔشیٖد [[جارکینٛت]]، [[قازقستان|قازقستانس]] مَنٛز.یِہ مسجد ٲس 1895 منٛز چینی معمار ہون پیکیٹ کس ڈیزائنس پیٹھ تارکین وطنن ہنٛد جمع کرنہٕ آمت فنڈز استعمال کرتھ تعٲمیر کرنہٕ آمٕژ۔ مسجد چھ 1982 پیٹھہٕ فن تعمیرچ یادگار تہِ جمہوری اہمیتک تٲریخک یادگار کس طورس پیٹھ ریاستی تحفظس منٛز۔<ref>https://en.wikipedia.org/wiki/Jarkent_Mosque</ref> pylm8ny0w25pclvj3a2406xlhzv2akr 153447 153446 2026-10-07T07:16:37Z آیات محراج 11062 153447 wikitext text/x-wiki {{Infobox structure}}[[File:Zharkent_Mosque_1.jpg|thumb|مٔشیٖد ہُنٛد بَر]] '''جارکینٛت مٔشیٖد''' ({{زَبان|قازق زَبان|Жаркент мешіті}}) چھِ مَرکَزی مٔشیٖد [[جارکینٛت]]، [[قازقستان|قازقستانس]] مَنٛز.یِہ مسجد ٲس 1895 منٛز چینی معمار ہون پیکیٹ کس ڈیزائنس پیٹھ تارکین وطنن ہنٛد جمع کرنہٕ آمت فنڈز استعمال کرتھ تعٲمیر کرنہٕ آمٕژ۔ مسجد چھ 1982 پیٹھہٕ فن تعمیرچ یادگار تہِ جمہوری اہمیتک تٲریخک یادگار کس طورس پیٹھ ریاستی تحفظس منٛز۔<ref>https://en.wikipedia.org/wiki/Jarkent_Mosque</ref> ko44rpjg27zvbem7qk0e2llt81ca2km 153448 153447 2026-10-07T07:18:37Z آیات محراج 11062 مِلاوُن [[زٲژ:مسجد]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 153448 wikitext text/x-wiki {{Infobox structure}}[[File:Zharkent_Mosque_1.jpg|thumb|مٔشیٖد ہُنٛد بَر]] '''جارکینٛت مٔشیٖد''' ({{زَبان|قازق زَبان|Жаркент мешіті}}) چھِ مَرکَزی مٔشیٖد [[جارکینٛت]]، [[قازقستان|قازقستانس]] مَنٛز.یِہ مسجد ٲس 1895 منٛز چینی معمار ہون پیکیٹ کس ڈیزائنس پیٹھ تارکین وطنن ہنٛد جمع کرنہٕ آمت فنڈز استعمال کرتھ تعٲمیر کرنہٕ آمٕژ۔ مسجد چھ 1982 پیٹھہٕ فن تعمیرچ یادگار تہِ جمہوری اہمیتک تٲریخک یادگار کس طورس پیٹھ ریاستی تحفظس منٛز۔<ref>https://en.wikipedia.org/wiki/Jarkent_Mosque</ref> == حَوالہٕ == [[زٲژ:مسجد]] j6c6nmxbyilgip9u9ulheqdtos3miwd قازق زَبان 0 33085 153449 2026-10-07T07:27:45Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1378621430|Kazakh language]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 153449 wikitext text/x-wiki . 6t9fg2gmch401ldtk8m7pyzz632ixbb 153450 153449 2026-10-07T07:29:05Z آیات محراج 11062 153450 wikitext text/x-wiki قَزاق چھےٚ قِپچاق شاخٕچ اَکھ تُرکِک زَبان، یۄس مَنٛز ایشیاہَس مَنٛز قَزاق لوٗکَن ہٕنٛدِ دٔسؠ بولنہٕ چھےٚ یِوان۔ یہِ چھےٚ نوغائی، کِرٛگِز تہٕ قَراقَلپاق زَبانہِ سٟتؠ نزدیٖک وابَستہٕ۔ یہِ چھےٚ قَزاقِستانٕچ سَرکٲری زَبان تہٕ روٗسٕچ اَلتائی جۆمہوٗریَت مَنٛز چھےٚ اَتھ سَرکٲری حثیَت حٲصِل۔ اَمہِ عَلایِو چھےٚ یہِ چیٖنٕکِس شِنٛجیٛانٛگ علاقَس مَنٛز اِلی قَزاق خۄد اِختیار پریفیکچَر اَندَر، تہٕ مَغرِبی مَنٛگولِیا کِس بَیان-اولگی صوٗبَس مَنٛز اَکھ اَقَلِیَتی زَبان۔ یہِ زَبان چھےٚ سابِقہٕ سۆوِیَت یوٗنِیَن کؠن واریاہَن قَزاق لوٗکَن ہٕنٛدِ دٔسؠ تہِ بولنہٕ یِوان (۲۰۱۰ کِس روٗسی مَردَم شُمٲری مُطٲبِق تَقریٖبَن ۴۷۲،۰۰۰ لوٗکھ روٗسَس مَنٛز)، سٟتؠ سٟتؠ جَرمَنی تہٕ تُرکی مَنٛز تہِ۔ باقی تُرکِک زَبانَن ہِش، قَزاق چھےٚ اَکھ اِلتِصاقی (agglutinative) زَبان تہٕ وول ہارمنی (vowel harmony) اِستِعمال کَران۔ قَزاق لَفٕظ بَنٛاونہٕ باپَتھ چھےٚ لَفظٕکِس جَڑَس اَکھ اَکھ کٔرِتھ لاحِقہٕ (suffixes) رَلاوان، یَتھ مَنٛز پرٛؠتھ لاحِقہٕ اَکھ مَخصوٗص معنی پٲدٕ چھےٚ کَران۔ ایتھنولوگ (Ethnologue) مُطٲبِق چھےٚ اَمٕکؠ ترٛےٚ بٲہَمی صَلٲحِیَت دار لہجہٕ گرٛوٗپ: شُمال-مَشرِقی قَزاق (یۄس ساروٕے کھۄتہٕ زِیٛادٕ بولنہٕ یِوان چھےٚ تہٕ سَرکٲری زَبان ہُنٛد بُنیاد بَنٛوان چھےٚ)، جَنوٗبی قَزاق، تہٕ مَغرِبی قَزاق۔ اَمٕکؠ مَغرِبی لہجہٕ چھےٚ اَلتائی زَبانَن سٟتؠ تہِ حَد بَند مِلاوٹ تھاوان۔ اکتوٗبَر ۲۰۱۷ مَنٛز، تَتِکِس صَدٕر نوٗرسُلطان نَزَربایِوَن کٔر حُکُم نامہٕ جٲری زِ لؠکھنُک نِظام یِیہِ ۲۰۲۵ تام سِرِلِک پؠٹھٕ لاطینی رَسمُ الخَطَس مَنٛز تَبدِیٖل کَرنہٕ۔ یہِ مَنصوٗبہٕ چُھ ۲۰۲۳ پؠٹھ ۲۰۳۱ تام لاگوٗ کَرنُک تَجویٖز۔ شِنٛجیٛانٛگ (چیٖن) مَنٛز اَکھ مِلین کھۄتہٕ زِیٛادٕ قَزاق بوٗلَن وٲلؠ چھےٚ فآرسی-عربی رَسمُ الخَط اِستِعمال کَران۔ جُغرٲفیٲیی تَوزیٖع قَزاق زَبان بوٗلَن وٲلؠ چھےٚ اَکھ بٔڑِس عِلاقَس مَنٛز پٔھہِلِتھ، تیان شان پؠٹھٕ کؠسپِیَن سَمَندَر کِس مَغرِبی بٔٹھِس تام۔ قَزاقِستانَس مَنٛز چھےٚ یہِ سَرکٲری رِیاسَتی زَبان، یَتھ مَنٛز تَقریٖبَن ۱۰ مِلین بوٗلَن وٲلؠ چِھ۔ چیٖن کِس شِنٛجیٛانٛگ صوٗبَس مَنٛز چھےٚ تَقریٖبَن دۄہ مِلین قَزاق روزان۔ تٲریٖخ تُرکِک زَبانَن ہِنٛز قِپچاق شاخ، یَتھ مَنٛز قَزاق شٲمِل چھےٚ، بٔڑِس پؠمانَس پؠٹھ گولڈن ہورڈ (Golden Horde) کِس دَورَس مَنٛز مَضبوٗط گٔیہِ۔ جٔدیٖد قَزاق زَبان چھےٚ ۱۴۶۵ عیسوی کِس آس پاس قَزاق خانیَت بَننہٕ کِس دۄرانہٕ شَکٕل اِختیار کٔرمٕژ۔ قَزاقَس مَنٛز چھےٚ فآرسی تہٕ عربی پؠٹھٕ پٔھٹِتھ واریاہ لَفٕظ درٛامٕتؠ، ییٚلہِ زن قَزاق خانیَتس مَنٛز فآرسی عام رٲبطہٕ زَبان (lingua franca) اٲس۔ قَزاق لوٗکَو کۄر تَقریٖبَن ۱۹۲۹ تام لؠکھنہٕ باپَتھ عربی رَسمُ الخَط اِستِعمال۔ اَمہِ پَتہٕ سۆوِیَت حوکوٗمَتھ کِس دَورَس مَنٛز آو لاطینی تہٕ ۱۹۴۰ کِس دَہلہِ مَنٛز سِرِلِک رَسمُ الخَط لاگوٗ کَرنہٕ۔ jp09fxb9uuy3i1gdxew2px5ukkkerpe 153451 153450 2026-10-07T07:41:00Z آیات محراج 11062 /* */ 153451 wikitext text/x-wiki قَزاق چھےٚ قِپچاق شاخٕچ اَکھ تُرکِک زَبان، یۄس مَنٛز ایشیاہَس مَنٛز قَزاق لوٗکَن ہٕنٛدِ دٔسؠ بولنہٕ چھےٚ یِوان۔ یہِ چھےٚ نوغٲیی، کِرٛگِز تہٕ قَراقَلپاق زَبانہِ سٟتؠ نزدیٖک وابَستہٕ۔ یہِ چھےٚ قَزاقِستانٕچ سَرکٲرؠ زَبان تہٕ روٗسٕچ اَلتٲیی جۆمہوٗریَت مَنٛز چھےٚ اَتھ سَرکٲری حیثیَت حٲصِل۔ اَمہِ عَلاوٕ چھےٚ یہِ چیٖنٕکِس شِنٛجیٛانٛگ علاقَس مَنٛز اِلی قَزاق خۄد اِختیار پریفیکچَر اَندَر، تہٕ مَغرِبی مَنٛگولِیا کِس بَیان-اولگی صوٗبَس مَنٛز اَکھ اَقَلِیَتی زَبان۔ یہِ زَبان چھےٚ سٲبِقہٕ سووِیَت یوٗنِیَن کؠن واریاہَن قَزاق لوٗکَن ہٕنٛدِ دٔسؠ تہِ بولنہٕ یِوان (2010 کِس روٗسی مَردَم شُمٲری مُطٲبِق تَقریٖبَن 472,000 لوٗکھ روٗسَس مَنٛز)، سٟتؠ سٟتؠ جَرمَنی تہٕ تُرکی مَنٛز تہِ۔ باقی تُرکِک زَبانَن ہِش، قَزاق چھےٚ اَکھ ایگلُٹِنیٹِو (agglutinative) زَبان تہٕ [[أرؠ اَچھَر]] ہارمنی اِستِعمال کَران۔ قَزاق لَفٕظ بَنٛاونہٕ باپَتھ چھےٚ لَفظٕکِس جَڑَس اَکھ اَکھ کٔرِتھ لاحِقہٕ (suffixes) رَلاوان، یَتھ مَنٛز پرٛؠتھ لاحِقہٕ اَکھ مَخصوٗص معنی پٲدٕ چھےٚ کَران۔ ایتھنولوگ (Ethnologue) مُطٲبِق چھےٚ اَمٕکؠ ترٛےٚ بٲہَمی صَلٲحِیَت دار لہجہٕ گرٛوٗپ: شُمال-مَشرِقی قَزاق (یۄس ساروٕے کھۄتہٕ زِیٛادٕ بولنہٕ یِوان چھےٚ تہٕ سَرکٲری زَبان ہُنٛد بُنیاد بَنٛوان چھےٚ)، جَنوٗبی قَزاق، تہٕ مَغرِبی قَزاق۔ اَمٕکؠ مَغرِبی لہجہٕ چھےٚ اَلتٲیی زَبانَن سٟتؠ تہِ حَد بَند مِلاوٹ تھاوان۔ اکتوٗبَر 2017 مَنٛز، تَتِکِس صَدٕر نوٗرسُلطان نَزَربایِوَن کٔر حُکُم نامہٕ جٲری زِ لؠکھنُک نِظام یِیہِ 2025 تام سِرِلِک پؠٹھٕ لاطینی رَسمُ الخَطَس مَنٛز تَبدِیٖل کَرنہٕ۔ یہِ مَنصوٗبہٕ چُھ 2023 پؠٹھ 2031 تام لاگوٗ کَرنُک تَجویٖز۔ شِنٛجیٛانٛگ (چیٖن) مَنٛز اَکھ مِلین کھۄتہٕ زِیٛادٕ قَزاق بولَن وٲلؠ چھےٚ فارسی-عربی رَسمُ الخَط اِستِعمال کَران۔ == جُغرٲفیٲیی == قَزاق زَبان بولَن وٲلؠ چھےٚ اَکھ بٔڑِس عِلاقَس مَنٛز پٔھہِلِتھ، تیان شان پؠٹھٕ کؠسپِیَن سَمَندَر کِس مَغرِبی بٔٹھِس تام۔ قَزاقِستانَس مَنٛز چھےٚ یہِ سَرکٲرؠ رِیاسَتی زَبان، یَتھ مَنٛز تَقریٖبَن 10 مِلین بولَن وٲلؠ چِھ۔ چیٖن کِس شِنٛجیٛانٛگ صوٗبَس مَنٛز چھےٚ تَقریٖبَن دۄہ مِلین قَزاق روزان۔ == تَوٲریٖخ == تُرکِک زَبانَن ہِنٛز قِپچاق شاخ، یَتھ مَنٛز قَزاق شٲمِل چھےٚ، بٔڑِس پؠمانَس پؠٹھ گولڈن ہورڈ (Golden Horde) کِس دورَس مَنٛز مَضبوٗط گٔیہِ۔ جٔدیٖد قَزاق زَبان چھےٚ 1465 عیسوی کِس آس پاس قَزاق خانیَت بَننہٕ کِس دۄرانہٕ شَکٕل اِختیار کٔرمٕژ۔ قَزاقَس مَنٛز چھےٚ فارسی تہٕ عربی پؠٹھٕ پٔھٹِتھ واریاہ لَفٕظ درٛامٕتؠ، ییٚلہِ زن قَزاق خانیَتس مَنٛز فارسی عام رٲبطہٕ زَبان (lingua franca) اٲس۔ قَزاق لوٗکَو کۄر تَقریٖبَن 1929 تام لؠکھنہٕ باپَتھ عربی رَسمُ الخَط اِستِعمال۔ اَمہِ پَتہٕ سۆوِیَت حوکوٗمَتھ کِس دَورَس مَنٛز آو لاطینی تہٕ 1940 کِس دَہلہِ مَنٛز سِرِلِک رَسمُ الخَط لاگوٗ کَرنہٕ۔ o0lamr6y4j66wa1638h5kv9or7wa5zd 153454 153451 2026-10-07T07:42:17Z آیات محراج 11062 /* */ 153454 wikitext text/x-wiki '''قازق زَبان''' یا '''قَزاق زَبان''' چھےٚ قِپچاق شاخٕچ اَکھ تُرکِک زَبان، یۄس مَنٛز ایشیاہَس مَنٛز قَزاق لوٗکَن ہٕنٛدِ دٔسؠ بولنہٕ چھےٚ یِوان۔ یہِ چھےٚ نوغٲیی، کِرٛگِز تہٕ قَراقَلپاق زَبانہِ سٟتؠ نزدیٖک وابَستہٕ۔ یہِ چھےٚ قَزاقِستانٕچ سَرکٲرؠ زَبان تہٕ روٗسٕچ اَلتٲیی جۆمہوٗریَت مَنٛز چھےٚ اَتھ سَرکٲری حیثیَت حٲصِل۔ اَمہِ عَلاوٕ چھےٚ یہِ چیٖنٕکِس شِنٛجیٛانٛگ علاقَس مَنٛز اِلی قَزاق خۄد اِختیار پریفیکچَر اَندَر، تہٕ مَغرِبی مَنٛگولِیا کِس بَیان-اولگی صوٗبَس مَنٛز اَکھ اَقَلِیَتی زَبان۔ یہِ زَبان چھےٚ سٲبِقہٕ سووِیَت یوٗنِیَن کؠن واریاہَن قَزاق لوٗکَن ہٕنٛدِ دٔسؠ تہِ بولنہٕ یِوان (2010 کِس روٗسی مَردَم شُمٲری مُطٲبِق تَقریٖبَن 472,000 لوٗکھ روٗسَس مَنٛز)، سٟتؠ سٟتؠ جَرمَنی تہٕ تُرکی مَنٛز تہِ۔ باقی تُرکِک زَبانَن ہِش، قَزاق چھےٚ اَکھ ایگلُٹِنیٹِو (agglutinative) زَبان تہٕ [[أرؠ اَچھَر]] ہارمنی اِستِعمال کَران۔ قَزاق لَفٕظ بَنٛاونہٕ باپَتھ چھےٚ لَفظٕکِس جَڑَس اَکھ اَکھ کٔرِتھ لاحِقہٕ (suffixes) رَلاوان، یَتھ مَنٛز پرٛؠتھ لاحِقہٕ اَکھ مَخصوٗص معنی پٲدٕ چھےٚ کَران۔ ایتھنولوگ (Ethnologue) مُطٲبِق چھےٚ اَمٕکؠ ترٛےٚ بٲہَمی صَلٲحِیَت دار لہجہٕ گرٛوٗپ: شُمال-مَشرِقی قَزاق (یۄس ساروٕے کھۄتہٕ زِیٛادٕ بولنہٕ یِوان چھےٚ تہٕ سَرکٲری زَبان ہُنٛد بُنیاد بَنٛوان چھےٚ)، جَنوٗبی قَزاق، تہٕ مَغرِبی قَزاق۔ اَمٕکؠ مَغرِبی لہجہٕ چھےٚ اَلتٲیی زَبانَن سٟتؠ تہِ حَد بَند مِلاوٹ تھاوان۔ اکتوٗبَر 2017 مَنٛز، تَتِکِس صَدٕر نوٗرسُلطان نَزَربایِوَن کٔر حُکُم نامہٕ جٲری زِ لؠکھنُک نِظام یِیہِ 2025 تام سِرِلِک پؠٹھٕ لاطینی رَسمُ الخَطَس مَنٛز تَبدِیٖل کَرنہٕ۔ یہِ مَنصوٗبہٕ چُھ 2023 پؠٹھ 2031 تام لاگوٗ کَرنُک تَجویٖز۔ شِنٛجیٛانٛگ (چیٖن) مَنٛز اَکھ مِلین کھۄتہٕ زِیٛادٕ قَزاق بولَن وٲلؠ چھےٚ فارسی-عربی رَسمُ الخَط اِستِعمال کَران۔ == جُغرٲفیٲیی == قَزاق زَبان بولَن وٲلؠ چھےٚ اَکھ بٔڑِس عِلاقَس مَنٛز پٔھہِلِتھ، تیان شان پؠٹھٕ کؠسپِیَن سَمَندَر کِس مَغرِبی بٔٹھِس تام۔ قَزاقِستانَس مَنٛز چھےٚ یہِ سَرکٲرؠ رِیاسَتی زَبان، یَتھ مَنٛز تَقریٖبَن 10 مِلین بولَن وٲلؠ چِھ۔ چیٖن کِس شِنٛجیٛانٛگ صوٗبَس مَنٛز چھےٚ تَقریٖبَن دۄہ مِلین قَزاق روزان۔ == تَوٲریٖخ == تُرکِک زَبانَن ہِنٛز قِپچاق شاخ، یَتھ مَنٛز قَزاق شٲمِل چھےٚ، بٔڑِس پؠمانَس پؠٹھ گولڈن ہورڈ (Golden Horde) کِس دورَس مَنٛز مَضبوٗط گٔیہِ۔ جٔدیٖد قَزاق زَبان چھےٚ 1465 عیسوی کِس آس پاس قَزاق خانیَت بَننہٕ کِس دۄرانہٕ شَکٕل اِختیار کٔرمٕژ۔ قَزاقَس مَنٛز چھےٚ فارسی تہٕ عربی پؠٹھٕ پٔھٹِتھ واریاہ لَفٕظ درٛامٕتؠ، ییٚلہِ زن قَزاق خانیَتس مَنٛز فارسی عام رٲبطہٕ زَبان (lingua franca) اٲس۔ قَزاق لوٗکَو کۄر تَقریٖبَن 1929 تام لؠکھنہٕ باپَتھ عربی رَسمُ الخَط اِستِعمال۔ اَمہِ پَتہٕ سۆوِیَت حوکوٗمَتھ کِس دَورَس مَنٛز آو لاطینی تہٕ 1940 کِس دَہلہِ مَنٛز سِرِلِک رَسمُ الخَط لاگوٗ کَرنہٕ۔ opap3jnqohbi9lh3yzs71yb2wdb22ff 153455 153454 2026-10-07T07:50:27Z آیات محراج 11062 153455 wikitext text/x-wiki {{Infobox language/Wikidata|familycolor=Altaic}} [[File:WIKITONGUES- Yernur speaking Kazakh.webm|thumb|A Kazakh speaker, recorded in [[Taiwan]]]] [[File:WIKITONGUES- Mereinur speaking Kazakh.webm|thumb|A Kazakh speaker, recorded in [[Kazakhstan]]]] '''قازق زَبان''' یا '''قَزاق زَبان''' چھےٚ قِپچاق شاخٕچ اَکھ تُرکِک زَبان، یۄس مَنٛز ایشیاہَس مَنٛز قَزاق لوٗکَن ہٕنٛدِ دٔسؠ بولنہٕ چھےٚ یِوان۔ یہِ چھےٚ [[نوغٲیی زَبان|نوغٲیی]]، [[کِرغِر زَبان|کِرغِز]] تہٕ [[قَراقَلپاق زَبان|قَراقَلپاق]] زَبانہِ سٟتؠ نزدیٖک وابَستہٕ۔ یہِ چھےٚ قَزاقِستانٕچ سَرکٲرؠ زَبان تہٕ روٗسٕچ اَلتٲیی جۆمہوٗریَت مَنٛز چھےٚ اَتھ سَرکٲری حیثیَت حٲصِل۔ اَمہِ عَلاوٕ چھےٚ یہِ چیٖنٕکِس [[شِنجیٛانٛگ|شِنٛجیٛانٛگ]] علاقَس مَنٛز اِلی قَزاق خۄد اِختیار پریفیکچَر اَندَر، تہٕ مَغرِبی مَنٛگولِیا کِس بَیان-اولگی صوٗبَس مَنٛز اَکھ اَقَلِیَتی زَبان۔ یہِ زَبان چھےٚ سٲبِقہٕ سووِیَت یوٗنِیَن کؠن واریاہَن قَزاق لوٗکَن ہٕنٛدِ دٔسؠ تہِ بولنہٕ یِوان (2010 کِس روٗسی مَردَم شُمٲری مُطٲبِق تَقریٖبَن 472,000 لوٗکھ روٗسَس مَنٛز)، سٟتؠ سٟتؠ جَرمَنی تہٕ تُرکی مَنٛز تہِ۔ باقی تُرکِک زَبانَن ہِش، قَزاق چھےٚ اَکھ ایگلُٹِنیٹِو (agglutinative) زَبان تہٕ [[أرؠ اَچھَر]] ہارمنی اِستِعمال کَران۔ قَزاق لَفٕظ بَنٛاونہٕ باپَتھ چھےٚ لَفظٕکِس جَڑَس اَکھ اَکھ کٔرِتھ لاحِقہٕ (suffixes) رَلاوان، یَتھ مَنٛز پرٛؠتھ لاحِقہٕ اَکھ مَخصوٗص معنی پٲدٕ چھےٚ کَران۔ ایتھنولوگ (Ethnologue) مُطٲبِق چھےٚ اَمٕکؠ ترٛےٚ بٲہَمی صَلٲحِیَت دار لہجہٕ گرٛوٗپ: شُمال-مَشرِقی قَزاق (یۄس ساروٕے کھۄتہٕ زِیٛادٕ بولنہٕ یِوان چھےٚ تہٕ سَرکٲری زَبان ہُنٛد بُنیاد بَنٛوان چھےٚ)، جَنوٗبی قَزاق، تہٕ مَغرِبی قَزاق۔ اَمٕکؠ مَغرِبی لہجہٕ چھےٚ اَلتٲیی زَبانَن سٟتؠ تہِ حَد بَند مِلاوٹ تھاوان۔ اکتوٗبَر 2017 مَنٛز، تَتِکؠ صَدٕر [[نوٗرسُلطان نَزَربایِو|نوٗرسُلطان نَزَربایِوَن]] کٔر حُکُم نامہٕ جٲری زِ لؠکھنُک نِظام یِیہِ 2025 تام سِرِلِک پؠٹھٕ لاطینی رَسمُ الخَطَس مَنٛز تَبدِیٖل کَرنہٕ۔ یہِ مَنصوٗبہٕ چُھ 2023 پؠٹھ 2031 تام لاگوٗ کَرنُک تَجویٖز۔ شِنٛجیٛانٛگ (چیٖن) مَنٛز اَکھ مِلین کھۄتہٕ زِیٛادٕ قَزاق بولَن وٲلؠ چھےٚ فارسی-عربی رَسمُ الخَط اِستِعمال کَران۔ == جُغرٲفیٲیی == قَزاق زَبان بولَن وٲلؠ چھےٚ اَکھ بٔڑِس عِلاقَس مَنٛز پٔھہِلِتھ، تیان شان پؠٹھٕ کؠسپِیَن سَمَندَر کِس مَغرِبی بٔٹھِس تام۔ قَزاقِستانَس مَنٛز چھےٚ یہِ سَرکٲرؠ رِیاسَتی زَبان، یَتھ مَنٛز تَقریٖبَن 10 مِلین بولَن وٲلؠ چِھ۔ چیٖن کِس شِنٛجیٛانٛگ صوٗبَس مَنٛز چھےٚ تَقریٖبَن دۄہ مِلین قَزاق روزان۔ == تَوٲریٖخ == تُرکِک زَبانَن ہِنٛز قِپچاق شاخ، یَتھ مَنٛز قَزاق شٲمِل چھےٚ، بٔڑِس پؠمانَس پؠٹھ گولڈن ہورڈ (Golden Horde) کِس دورَس مَنٛز مَضبوٗط گٔیہِ۔ جٔدیٖد قَزاق زَبان چھےٚ 1465 عیسوی کِس آس پاس قَزاق خانیَت بَننہٕ کِس دۄرانہٕ شَکٕل اِختیار کٔرمٕژ۔ قَزاقَس مَنٛز چھےٚ فارسی تہٕ عربی پؠٹھٕ پٔھٹِتھ واریاہ لَفٕظ درٛامٕتؠ، ییٚلہِ زن قَزاق خانیَتس مَنٛز فارسی عام رٲبطہٕ زَبان (lingua franca) اٲس۔ قَزاق لوٗکَو کۄر تَقریٖبَن 1929 تام لؠکھنہٕ باپَتھ عربی رَسمُ الخَط اِستِعمال۔ اَمہِ پَتہٕ سۆوِیَت حوکوٗمَتھ کِس دَورَس مَنٛز آو لاطینی تہٕ 1940 کِس دَہلہِ مَنٛز سِرِلِک رَسمُ الخَط لاگوٗ کَرنہٕ۔ a5uu43c4hsmqy9c7z4ogsmg9uehrk1u 153456 153455 2026-10-07T08:04:38Z آیات محراج 11062 /* */ 153456 wikitext text/x-wiki {{Infobox language/Wikidata|familycolor=Altaic}} [[File:WIKITONGUES- Yernur speaking Kazakh.webm|thumb|قازق بولن وول [[تایوان]]س مَنٛز]] [[File:WIKITONGUES- Mereinur speaking Kazakh.webm|thumb|قازق بولن وول [[قازقستان]]س مَنٛز]] '''قازق زَبان''' یا '''قَزاق زَبان''' چھےٚ قِپچاق شاخٕچ اَکھ تُرکِک زَبان، یۄس مَنٛز ایشیاہَس مَنٛز قَزاق لوٗکَن ہٕنٛدِ دٔسؠ بولنہٕ چھےٚ یِوان۔ یہِ چھےٚ [[نوغٲیی زَبان|نوغٲیی]]، [[کِرغِر زَبان|کِرغِز]] تہٕ [[قَراقَلپاق زَبان|قَراقَلپاق]] زَبانہِ سٟتؠ نزدیٖک وابَستہٕ۔ یہِ چھےٚ [[قازقستان|قَزاقِستانٕچ]] سَرکٲرؠ زَبان تہٕ [[روٗس|روٗسٕچ]] اَلتٲیی جۆمہوٗریَت مَنٛز چھےٚ اَتھ سَرکٲرؠ حیثیَت حٲصِل۔ اَمہِ عَلاوٕ چھےٚ یہِ چیٖنٕکِس [[شِنجیٛانٛگ|شِنٛجیٛانٛگ]] علاقَس مَنٛز اِلی قَزاق خۄد اِختیار پریفیکچَر اَندَر، تہٕ مَغرِبی مَنٛگولِیا کِس بَیان-اولگی صوٗبَس مَنٛز اَکھ اَقَلِیَتی زَبان۔ یہِ زَبان چھےٚ سٲبِقہٕ [[سووِیَت یکجوت|سووِیَت یوٗنِیَن]] کؠن واریاہَن قَزاق لوٗکَن ہٕنٛدِ دٔسؠ تہِ بولنہٕ یِوان (2010 کِس روٗسی مَردَم شُمٲری مُطٲبِق تَقریٖبَن 472,000 لوٗکھ روٗسَس مَنٛز)، سٟتؠ سٟتؠ جَرمَنی تہٕ تُرکی مَنٛز تہِ۔ باقی تُرکِک زَبانَن ہِش، قَزاق چھےٚ اَکھ ایگلُٹِنیٹِو (agglutinative) زَبان تہٕ [[أرؠ اَچھَر]] ہارمنی اِستِعمال کَران۔ قَزاق لَفٕظ بَنٛاونہٕ باپَتھ چھےٚ لَفظٕکِس جَڑَس اَکھ اَکھ کٔرِتھ لاحِقہٕ (suffixes) رَلاوان، یَتھ مَنٛز پرٛؠتھ لاحِقہٕ اَکھ مَخصوٗص معنی پٲدٕ چھےٚ کَران۔ ایتھنولوگ (Ethnologue) مُطٲبِق چھےٚ اَمٕکؠ ترٛےٚ بٲہَمی صَلٲحِیَت دار لہجہٕ گرٛوٗپ: شُمال-مَشرِقی قَزاق (یۄس ساروٕے کھۄتہٕ زِیٛادٕ بولنہٕ یِوان چھےٚ تہٕ سَرکٲری زَبان ہُنٛد بُنیاد بَنٛوان چھےٚ)، جَنوٗبی قَزاق، تہٕ مَغرِبی قَزاق۔ اَمٕکؠ مَغرِبی لہجہٕ چھےٚ اَلتٲیی زَبانَن سٟتؠ تہِ حَد بَند مِلاوٹ تھاوان۔ اکتوٗبَر 2017 مَنٛز، تَتِکؠ صَدٕر [[نوٗرسُلطان نَزَربایِو|نوٗرسُلطان نَزَربایِوَن]] کٔر حُکُم نامہٕ جٲری زِ لؠکھنُک نِظام یِیہِ 2025 تام سِرِلِک پؠٹھٕ [[لٲطِن لِکھٲرؠ نِظام|لاطینی رَسمُ الخَطَس]] مَنٛز تَبدِیٖل کَرنہٕ۔ یہِ مَنصوٗبہٕ چُھ 2023 پؠٹھ 2031 تام لاگوٗ کَرنُک تَجویٖز۔ شِنٛجیٛانٛگ (چیٖن) مَنٛز اَکھ مِلین کھۄتہٕ زِیٛادٕ قَزاق بولَن وٲلؠ چھےٚ فارسی-عربی رَسمُ الخَط اِستِعمال کَران۔ == جُغرٲفیٲیی == قَزاق زَبان بولَن وٲلؠ چھےٚ اَکھ بٔڑِس عِلاقَس مَنٛز پٔھہِلِتھ، تیان شان پؠٹھٕ کؠسپِیَن سَمَندَر کِس مَغرِبی بٔٹھِس تام۔ قَزاقِستانَس مَنٛز چھےٚ یہِ سَرکٲرؠ رِیاسَتی زَبان، یَتھ مَنٛز تَقریٖبَن 10 مِلین بولَن وٲلؠ چِھ۔ چیٖن کِس شِنٛجیٛانٛگ صوٗبَس مَنٛز چھےٚ تَقریٖبَن دۄہ مِلین قَزاق روزان۔ == تَوٲریٖخ == تُرکِک زَبانَن ہِنٛز قِپچاق شاخ، یَتھ مَنٛز قَزاق شٲمِل چھےٚ، بٔڑِس پؠمانَس پؠٹھ گولڈن ہورڈ (Golden Horde) کِس دورَس مَنٛز مَضبوٗط گٔیہِ۔ جٔدیٖد قَزاق زَبان چھےٚ 1465 عیسوی کِس آس پاس قَزاق خانیَت بَننہٕ کِس دۄرانہٕ شَکٕل اِختیار کٔرمٕژ۔ قَزاقَس مَنٛز چھےٚ فارسی تہٕ عربی پؠٹھٕ پٔھٹِتھ واریاہ لَفٕظ درٛامٕتؠ، ییٚلہِ زن قَزاق خانیَتس مَنٛز فارسی عام رٲبطہٕ زَبان (lingua franca) اٲس۔ قَزاق لوٗکَو کۄر تَقریٖبَن 1929 تام لؠکھنہٕ باپَتھ عربی رَسمُ الخَط اِستِعمال۔ اَمہِ پَتہٕ سۆوِیَت حوکوٗمَتھ کِس دَورَس مَنٛز آو لاطینی تہٕ 1940 کِس دَہلہِ مَنٛز سِرِلِک رَسمُ الخَط لاگوٗ کَرنہٕ۔ 32a4zmr4xcgyh04p4wb47bpf5z8o0z4 153457 153456 2026-10-07T08:06:51Z آیات محراج 11062 /* */ 153457 wikitext text/x-wiki {{Infobox language/Wikidata|familycolor=Altaic}} [[File:WIKITONGUES- Yernur speaking Kazakh.webm|thumb|قازق بولن وول [[تایوان]]س مَنٛز]] [[File:WIKITONGUES- Mereinur speaking Kazakh.webm|thumb|قازق بولن وول [[قازقستان]]س مَنٛز]] '''قازق زَبان''' یا '''قَزاق زَبان''' چھےٚ قِپچاق شاخٕچ اَکھ تُرکِک زَبان، یۄس مَنٛز ایشیاہَس مَنٛز قَزاق لوٗکَن ہٕنٛدِ دٔسؠ بولنہٕ چھےٚ یِوان۔ یہِ چھےٚ [[نوغٲیی زَبان|نوغٲیی]]، [[کِرغِر زَبان|کِرغِز]] تہٕ [[قَراقَلپاق زَبان|قَراقَلپاق]] زَبانہِ سٟتؠ نزدیٖک وابَستہٕ۔ یہِ چھےٚ [[قازقستان|قَزاقِستانٕچ]] سَرکٲرؠ زَبان تہٕ [[روٗس|روٗسٕچ]] اَلتٲیی جۆمہوٗریَت مَنٛز چھےٚ اَتھ سَرکٲرؠ حیثیَت حٲصِل۔ اَمہِ عَلاوٕ چھےٚ یہِ چیٖنٕکِس [[شِنجیٛانٛگ|شِنٛجیٛانٛگ]] علاقَس مَنٛز اِلی قَزاق خۄد اِختیار پریفیکچَر اَندَر، تہٕ مَغرِبی مَنٛگولِیا کِس بَیان-اولگی صوٗبَس مَنٛز اَکھ اَقَلِیَتی زَبان۔ یہِ زَبان چھےٚ سٲبِقہٕ [[سووِیَت یکجوت|سووِیَت یوٗنِیَن]] کؠن واریاہَن قَزاق لوٗکَن ہٕنٛدِ دٔسؠ تہِ بولنہٕ یِوان (2010 کِس روٗسی مَردَم شُمٲری مُطٲبِق تَقریٖبَن 472,000 لوٗکھ روٗسَس مَنٛز)، سٟتؠ سٟتؠ جَرمَنی تہٕ تُرکی مَنٛز تہِ۔ باقی تُرکِک زَبانَن ہِش، قَزاق چھےٚ اَکھ ایگلُٹِنیٹِو (agglutinative) زَبان تہٕ [[أرؠ اَچھَر]] ہارمنی اِستِعمال کَران۔ قَزاق لَفٕظ بَنٛاونہٕ باپَتھ چھےٚ لَفظٕکِس جَڑَس اَکھ اَکھ کٔرِتھ لاحِقہٕ (suffixes) رَلاوان، یَتھ مَنٛز پرٛؠتھ لاحِقہٕ اَکھ مَخصوٗص معنی پٲدٕ چھےٚ کَران۔ ایتھنولوگ (Ethnologue) مُطٲبِق چھےٚ اَمٕکؠ ترٛےٚ بٲہَمی صَلٲحِیَت دار لہجہٕ گرٛوٗپ: شُمال-مَشرِقی قَزاق (یۄس ساروٕے کھۄتہٕ زِیٛادٕ بولنہٕ یِوان چھےٚ تہٕ سَرکٲری زَبان ہُنٛد بُنیاد بَنٛوان چھےٚ)، جَنوٗبی قَزاق، تہٕ مَغرِبی قَزاق۔ اَمٕکؠ مَغرِبی لہجہٕ چھےٚ اَلتٲیی زَبانَن سٟتؠ تہِ حَد بَند مِلاوٹ تھاوان۔ اکتوٗبَر 2017 مَنٛز، تَتِکؠ صَدٕر [[نوٗرسُلطان نَزَربایِو|نوٗرسُلطان نَزَربایِوَن]] کٔر حُکُم نامہٕ جٲری زِ لؠکھنُک نِظام یِیہِ 2025 تام سِرِلِک پؠٹھٕ [[لٲطِن لِکھٲرؠ نِظام|لاطینی رَسمُ الخَطَس]] مَنٛز تَبدِیٖل کَرنہٕ۔ یہِ مَنصوٗبہٕ چُھ 2023 پؠٹھ 2031 تام لاگوٗ کَرنُک تَجویٖز۔<ref name=":1">{{Cite web|date=27 October 2017|title=Kazakhstan to change from Cyrillic to Latin alphabet|url=https://emerging-europe.com/news/kazakhstans-alphabet-switch-reflects-wider-societal-changes/|access-date=2020-09-16|website=Deutsche Welle|language=en-GB}}</ref> شِنٛجیٛانٛگ (چیٖن) مَنٛز اَکھ مِلین کھۄتہٕ زِیٛادٕ قَزاق بولَن وٲلؠ چھےٚ فارسی-عربی رَسمُ الخَط اِستِعمال کَران۔ == جُغرٲفیٲیی == قَزاق زَبان بولَن وٲلؠ چھےٚ اَکھ بٔڑِس عِلاقَس مَنٛز پٔھہِلِتھ، تیان شان پؠٹھٕ کؠسپِیَن سَمَندَر کِس مَغرِبی بٔٹھِس تام۔ قَزاقِستانَس مَنٛز چھےٚ یہِ سَرکٲرؠ رِیاسَتی زَبان، یَتھ مَنٛز تَقریٖبَن 10 مِلین بولَن وٲلؠ چِھ۔ چیٖن کِس شِنٛجیٛانٛگ صوٗبَس مَنٛز چھےٚ تَقریٖبَن دۄہ مِلین قَزاق روزان۔ == تَوٲریٖخ == تُرکِک زَبانَن ہِنٛز قِپچاق شاخ، یَتھ مَنٛز قَزاق شٲمِل چھےٚ، بٔڑِس پؠمانَس پؠٹھ گولڈن ہورڈ (Golden Horde) کِس دورَس مَنٛز مَضبوٗط گٔیہِ۔ جٔدیٖد قَزاق زَبان چھےٚ 1465 عیسوی کِس آس پاس قَزاق خانیَت بَننہٕ کِس دۄرانہٕ شَکٕل اِختیار کٔرمٕژ۔ قَزاقَس مَنٛز چھےٚ فارسی تہٕ عربی پؠٹھٕ پٔھٹِتھ واریاہ لَفٕظ درٛامٕتؠ، ییٚلہِ زن قَزاق خانیَتس مَنٛز فارسی عام رٲبطہٕ زَبان (lingua franca) اٲس۔ قَزاق لوٗکَو کۄر تَقریٖبَن 1929 تام لؠکھنہٕ باپَتھ عربی رَسمُ الخَط اِستِعمال۔ اَمہِ پَتہٕ سۆوِیَت حوکوٗمَتھ کِس دَورَس مَنٛز آو لاطینی تہٕ 1940 کِس دَہلہِ مَنٛز سِرِلِک رَسمُ الخَط لاگوٗ کَرنہٕ۔ tq8qcjehsu4axwb2gwgvej7hah3ne3p 153458 153457 2026-10-07T08:07:47Z آیات محراج 11062 مِلاوُن [[زٲژ:زَبان]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 153458 wikitext text/x-wiki {{Infobox language/Wikidata|familycolor=Altaic}} [[File:WIKITONGUES- Yernur speaking Kazakh.webm|thumb|قازق بولن وول [[تایوان]]س مَنٛز]] [[File:WIKITONGUES- Mereinur speaking Kazakh.webm|thumb|قازق بولن وول [[قازقستان]]س مَنٛز]] '''قازق زَبان''' یا '''قَزاق زَبان''' چھےٚ قِپچاق شاخٕچ اَکھ تُرکِک زَبان، یۄس مَنٛز ایشیاہَس مَنٛز قَزاق لوٗکَن ہٕنٛدِ دٔسؠ بولنہٕ چھےٚ یِوان۔ یہِ چھےٚ [[نوغٲیی زَبان|نوغٲیی]]، [[کِرغِر زَبان|کِرغِز]] تہٕ [[قَراقَلپاق زَبان|قَراقَلپاق]] زَبانہِ سٟتؠ نزدیٖک وابَستہٕ۔ یہِ چھےٚ [[قازقستان|قَزاقِستانٕچ]] سَرکٲرؠ زَبان تہٕ [[روٗس|روٗسٕچ]] اَلتٲیی جۆمہوٗریَت مَنٛز چھےٚ اَتھ سَرکٲرؠ حیثیَت حٲصِل۔ اَمہِ عَلاوٕ چھےٚ یہِ چیٖنٕکِس [[شِنجیٛانٛگ|شِنٛجیٛانٛگ]] علاقَس مَنٛز اِلی قَزاق خۄد اِختیار پریفیکچَر اَندَر، تہٕ مَغرِبی مَنٛگولِیا کِس بَیان-اولگی صوٗبَس مَنٛز اَکھ اَقَلِیَتی زَبان۔ یہِ زَبان چھےٚ سٲبِقہٕ [[سووِیَت یکجوت|سووِیَت یوٗنِیَن]] کؠن واریاہَن قَزاق لوٗکَن ہٕنٛدِ دٔسؠ تہِ بولنہٕ یِوان (2010 کِس روٗسی مَردَم شُمٲری مُطٲبِق تَقریٖبَن 472,000 لوٗکھ روٗسَس مَنٛز)، سٟتؠ سٟتؠ جَرمَنی تہٕ تُرکی مَنٛز تہِ۔ باقی تُرکِک زَبانَن ہِش، قَزاق چھےٚ اَکھ ایگلُٹِنیٹِو (agglutinative) زَبان تہٕ [[أرؠ اَچھَر]] ہارمنی اِستِعمال کَران۔ قَزاق لَفٕظ بَنٛاونہٕ باپَتھ چھےٚ لَفظٕکِس جَڑَس اَکھ اَکھ کٔرِتھ لاحِقہٕ (suffixes) رَلاوان، یَتھ مَنٛز پرٛؠتھ لاحِقہٕ اَکھ مَخصوٗص معنی پٲدٕ چھےٚ کَران۔ ایتھنولوگ (Ethnologue) مُطٲبِق چھےٚ اَمٕکؠ ترٛےٚ بٲہَمی صَلٲحِیَت دار لہجہٕ گرٛوٗپ: شُمال-مَشرِقی قَزاق (یۄس ساروٕے کھۄتہٕ زِیٛادٕ بولنہٕ یِوان چھےٚ تہٕ سَرکٲری زَبان ہُنٛد بُنیاد بَنٛوان چھےٚ)، جَنوٗبی قَزاق، تہٕ مَغرِبی قَزاق۔ اَمٕکؠ مَغرِبی لہجہٕ چھےٚ اَلتٲیی زَبانَن سٟتؠ تہِ حَد بَند مِلاوٹ تھاوان۔ اکتوٗبَر 2017 مَنٛز، تَتِکؠ صَدٕر [[نوٗرسُلطان نَزَربایِو|نوٗرسُلطان نَزَربایِوَن]] کٔر حُکُم نامہٕ جٲری زِ لؠکھنُک نِظام یِیہِ 2025 تام سِرِلِک پؠٹھٕ [[لٲطِن لِکھٲرؠ نِظام|لاطینی لِکھٲرؠ نِظامَس]] مَنٛز تَبدِیٖل کَرنہٕ۔ یہِ مَنصوٗبہٕ چُھ 2023 پؠٹھ 2031 تام لاگوٗ کَرنُک تَجویٖز۔<ref name=":1">{{Cite web|date=27 October 2017|title=Kazakhstan to change from Cyrillic to Latin alphabet|url=https://emerging-europe.com/news/kazakhstans-alphabet-switch-reflects-wider-societal-changes/|access-date=2020-09-16|website=Deutsche Welle|language=en-GB}}</ref> شِنٛجیٛانٛگ (چیٖن) مَنٛز اَکھ مِلین کھۄتہٕ زِیٛادٕ قَزاق بولَن وٲلؠ چھےٚ فارسی-عربی لِکھٲرؠ نِظام اِستِعمال کَران۔ == جُغرٲفیٲیی == قَزاق زَبان بولَن وٲلؠ چھےٚ اَکھ بٔڑِس عِلاقَس مَنٛز پٔھہِلِتھ، تیان شان پؠٹھٕ کؠسپِیَن سَمَندَر کِس مَغرِبی بٔٹھِس تام۔ قَزاقِستانَس مَنٛز چھےٚ یہِ سَرکٲرؠ رِیاسَتی زَبان، یَتھ مَنٛز تَقریٖبَن 10 مِلین بولَن وٲلؠ چِھ۔ چیٖن کِس شِنٛجیٛانٛگ صوٗبَس مَنٛز چھےٚ تَقریٖبَن دۄہ مِلین قَزاق روزان۔ == تَوٲریٖخ == تُرکِک زَبانَن ہِنٛز قِپچاق شاخ، یَتھ مَنٛز قَزاق شٲمِل چھےٚ، بٔڑِس پؠمانَس پؠٹھ گولڈن ہورڈ (Golden Horde) کِس دورَس مَنٛز مَضبوٗط گٔیہِ۔ جٔدیٖد قَزاق زَبان چھےٚ 1465 عیسوی کِس آس پاس قَزاق خانیَت بَننہٕ کِس دۄرانہٕ شَکٕل اِختیار کٔرمٕژ۔ قَزاقَس مَنٛز چھےٚ فارسی تہٕ عربی پؠٹھٕ پٔھٹِتھ واریاہ لَفٕظ درٛامٕتؠ، ییٚلہِ زن قَزاق خانیَتس مَنٛز فارسی عام رٲبطہٕ زَبان (lingua franca) اٲس۔ قَزاق لوٗکَو کۄر تَقریٖبَن 1929 تام لؠکھنہٕ باپَتھ عربی لِکھٲرؠ نِظام اِستِعمال۔ اَمہِ پَتہٕ سۆوِیَت حوکوٗمَتھ کِس دَورَس مَنٛز آو لاطینی تہٕ 1940 کِس دَہلہِ مَنٛز سِرِلِک لِکھٲرؠ نِظام لاگوٗ کَرنہٕ۔ == حَوالہٕ== [[زٲژ:زَبان]] kdl1tjwtk0bpih7ftrfluq0iju4ndf7 153459 153458 2026-10-07T08:08:06Z آیات محراج 11062 /* تَوٲریٖخ */ 153459 wikitext text/x-wiki {{Infobox language/Wikidata|familycolor=Altaic}} [[File:WIKITONGUES- Yernur speaking Kazakh.webm|thumb|قازق بولن وول [[تایوان]]س مَنٛز]] [[File:WIKITONGUES- Mereinur speaking Kazakh.webm|thumb|قازق بولن وول [[قازقستان]]س مَنٛز]] '''قازق زَبان''' یا '''قَزاق زَبان''' چھےٚ قِپچاق شاخٕچ اَکھ تُرکِک زَبان، یۄس مَنٛز ایشیاہَس مَنٛز قَزاق لوٗکَن ہٕنٛدِ دٔسؠ بولنہٕ چھےٚ یِوان۔ یہِ چھےٚ [[نوغٲیی زَبان|نوغٲیی]]، [[کِرغِر زَبان|کِرغِز]] تہٕ [[قَراقَلپاق زَبان|قَراقَلپاق]] زَبانہِ سٟتؠ نزدیٖک وابَستہٕ۔ یہِ چھےٚ [[قازقستان|قَزاقِستانٕچ]] سَرکٲرؠ زَبان تہٕ [[روٗس|روٗسٕچ]] اَلتٲیی جۆمہوٗریَت مَنٛز چھےٚ اَتھ سَرکٲرؠ حیثیَت حٲصِل۔ اَمہِ عَلاوٕ چھےٚ یہِ چیٖنٕکِس [[شِنجیٛانٛگ|شِنٛجیٛانٛگ]] علاقَس مَنٛز اِلی قَزاق خۄد اِختیار پریفیکچَر اَندَر، تہٕ مَغرِبی مَنٛگولِیا کِس بَیان-اولگی صوٗبَس مَنٛز اَکھ اَقَلِیَتی زَبان۔ یہِ زَبان چھےٚ سٲبِقہٕ [[سووِیَت یکجوت|سووِیَت یوٗنِیَن]] کؠن واریاہَن قَزاق لوٗکَن ہٕنٛدِ دٔسؠ تہِ بولنہٕ یِوان (2010 کِس روٗسی مَردَم شُمٲری مُطٲبِق تَقریٖبَن 472,000 لوٗکھ روٗسَس مَنٛز)، سٟتؠ سٟتؠ جَرمَنی تہٕ تُرکی مَنٛز تہِ۔ باقی تُرکِک زَبانَن ہِش، قَزاق چھےٚ اَکھ ایگلُٹِنیٹِو (agglutinative) زَبان تہٕ [[أرؠ اَچھَر]] ہارمنی اِستِعمال کَران۔ قَزاق لَفٕظ بَنٛاونہٕ باپَتھ چھےٚ لَفظٕکِس جَڑَس اَکھ اَکھ کٔرِتھ لاحِقہٕ (suffixes) رَلاوان، یَتھ مَنٛز پرٛؠتھ لاحِقہٕ اَکھ مَخصوٗص معنی پٲدٕ چھےٚ کَران۔ ایتھنولوگ (Ethnologue) مُطٲبِق چھےٚ اَمٕکؠ ترٛےٚ بٲہَمی صَلٲحِیَت دار لہجہٕ گرٛوٗپ: شُمال-مَشرِقی قَزاق (یۄس ساروٕے کھۄتہٕ زِیٛادٕ بولنہٕ یِوان چھےٚ تہٕ سَرکٲری زَبان ہُنٛد بُنیاد بَنٛوان چھےٚ)، جَنوٗبی قَزاق، تہٕ مَغرِبی قَزاق۔ اَمٕکؠ مَغرِبی لہجہٕ چھےٚ اَلتٲیی زَبانَن سٟتؠ تہِ حَد بَند مِلاوٹ تھاوان۔ اکتوٗبَر 2017 مَنٛز، تَتِکؠ صَدٕر [[نوٗرسُلطان نَزَربایِو|نوٗرسُلطان نَزَربایِوَن]] کٔر حُکُم نامہٕ جٲری زِ لؠکھنُک نِظام یِیہِ 2025 تام سِرِلِک پؠٹھٕ [[لٲطِن لِکھٲرؠ نِظام|لاطینی لِکھٲرؠ نِظامَس]] مَنٛز تَبدِیٖل کَرنہٕ۔ یہِ مَنصوٗبہٕ چُھ 2023 پؠٹھ 2031 تام لاگوٗ کَرنُک تَجویٖز۔<ref name=":1">{{Cite web|date=27 October 2017|title=Kazakhstan to change from Cyrillic to Latin alphabet|url=https://emerging-europe.com/news/kazakhstans-alphabet-switch-reflects-wider-societal-changes/|access-date=2020-09-16|website=Deutsche Welle|language=en-GB}}</ref> شِنٛجیٛانٛگ (چیٖن) مَنٛز اَکھ مِلین کھۄتہٕ زِیٛادٕ قَزاق بولَن وٲلؠ چھےٚ فارسی-عربی لِکھٲرؠ نِظام اِستِعمال کَران۔ == جُغرٲفیٲیی == قَزاق زَبان بولَن وٲلؠ چھےٚ اَکھ بٔڑِس عِلاقَس مَنٛز پٔھہِلِتھ، تیان شان پؠٹھٕ کؠسپِیَن سَمَندَر کِس مَغرِبی بٔٹھِس تام۔ قَزاقِستانَس مَنٛز چھےٚ یہِ سَرکٲرؠ رِیاسَتی زَبان، یَتھ مَنٛز تَقریٖبَن 10 مِلین بولَن وٲلؠ چِھ۔ چیٖن کِس شِنٛجیٛانٛگ صوٗبَس مَنٛز چھےٚ تَقریٖبَن دۄہ مِلین قَزاق روزان۔ == تَوٲریٖخ == تُرکِک زَبانَن ہِنٛز قِپچاق شاخ، یَتھ مَنٛز قَزاق شٲمِل چھےٚ، بٔڑِس پؠمانَس پؠٹھ گولڈن ہورڈ (Golden Horde) کِس دورَس مَنٛز مَضبوٗط گٔیہِ۔ جٔدیٖد قَزاق زَبان چھےٚ 1465 عیسوی کِس آس پاس قَزاق خانیَت بَننہٕ کِس دۄرانہٕ شَکٕل اِختیار کٔرمٕژ۔ قَزاقَس مَنٛز چھےٚ فارسی تہٕ عربی پؠٹھٕ پٔھٹِتھ واریاہ لَفٕظ درٛامٕتؠ، ییٚلہِ زن قَزاق خانیَتس مَنٛز فارسی عام رٲبطہٕ زَبان (lingua franca) ٲس۔ قَزاق لوٗکَو کۄر تَقریٖبَن 1929 تام لؠکھنہٕ باپَتھ عربی لِکھٲرؠ نِظام اِستِعمال۔ اَمہِ پَتہٕ سۆوِیَت حوکوٗمَتھ کِس دَورَس مَنٛز آو لاطینی تہٕ 1940 کِس دَہلہِ مَنٛز سِرِلِک لِکھٲرؠ نِظام لاگوٗ کَرنہٕ۔ == حَوالہٕ== [[زٲژ:زَبان]] 4tbnsjq0tyih2q1yoxb85ihfqoy66vb قَزاق 0 33086 153452 2026-10-07T07:41:38Z آیات محراج 11062 رَجوٗع مُکَرر تَخلیٖق کَران 153452 wikitext text/x-wiki #REDIRECT [[قازق_زَبان]] ooeuvhgc4lfe07xe85hbfez7lu8dexc قَزاق زَبان 0 33087 153453 2026-10-07T07:41:38Z آیات محراج 11062 رَجوٗع مُکَرر تَخلیٖق کَران 153453 wikitext text/x-wiki #REDIRECT [[قازق_زَبان]] ooeuvhgc4lfe07xe85hbfez7lu8dexc فرما:مشہوٗر کامہِ 10 33088 153464 2026-10-07T09:41:48Z آیات محراج 11062 Manually created 153464 wikitext text/x-wiki <div style="background:#f8f9fa; padding:10px; border-left:4px solid #ff4500; border-radius:5px;"> '''مَشہوٗر کامہِ:'''<br/> <table class="wikitable" style="width:100%; text-align:center; background:white; margin-top:5px;"> <tr> <th style="background:#e0e0e0;">کٲم</th> <th style="background:#e0e0e0;">ؤری</th> </tr> {{#invoke:Wikidades | claim | item=Q9543 | property = P800 | qualifier = P800/P577 | formatting = table | rowformat = <tr><td>$0</td><td>$1</td></tr> | separator = }} </table> </div> mqfl02l32g7lhsf7evp6vtafgz9wx69 153465 153464 2026-10-07T09:42:16Z آیات محراج 11062 /* */ 153465 wikitext text/x-wiki <div style="background:#f8f9fa; padding:10px; border-left:4px solid #ff4500; border-radius:5px;"> '''مَشہوٗر کامہِ:'''<br/> <table class="wikitable" style="width:100%; text-align:center; background:white; margin-top:5px;"> <tr> <th style="background:#e0e0e0;">کٲم</th> <th style="background:#e0e0e0;">ؤری</th> </tr> {{#invoke:Wikidades | claim | property = P800 | qualifier = P800/P577 | formatting = table | rowformat = <tr><td>$0</td><td>$1</td></tr> | separator = }} </table> </div> ob67t9c51zmvzzf9h68vkkwonn00a1x 153467 153465 2026-10-07T09:47:06Z آیات محراج 11062 /* */ 153467 wikitext text/x-wiki <table class="wikitable" style="width:100%; text-align:center;"> <tr> <th colspan="2" style="background:#e0e0e0; font-size:110%;">مَشہوٗر کٲم</th> </tr> <tr> <th style="background:#f8f9fa; width:70%;">کٲم</th> <th style="background:#f8f9fa; width:30%;">ؤری</th> </tr> {{#invoke:Wikidades | claim | property = P800 | qualifier = P800/P577 | formatting = table | rowformat = <tr><td>$0</td><td>$1</td></tr> | separator = }} </table> 6hcmitklicsz40h3aonxu1g3pyq3gif 153468 153467 2026-10-07T09:48:28Z آیات محراج 11062 /* */ 153468 wikitext text/x-wiki <table class="wikitable" style="width:100%; text-align:center;"> <tr> <th colspan="2" style="background:#e0e0e0; font-size:110%;">مَشہوٗر کٲم</th> </tr> <tr> <th style="background:#f8f9fa; width:70%;">کٲم</th> <th style="background:#f8f9fa; width:30%;">ؤری</th> </tr>{{#invoke:Wikidades|claim|property=P800|qualifier=P800/P577|formatting=table|rowformat=<tr><td>$0</td><td>$1</td></tr>|separator=}}</table> c7hspdkwhls3xq9opgl44ti11pn61ff 153469 153468 2026-10-07T09:56:41Z آیات محراج 11062 /* */ 153469 wikitext text/x-wiki <table class="wikitable" style="width:100%; text-align:center;"> <tr> <th colspan="2" style="background:#e0e0e0; font-size:110%;">مَشہوٗر کٲم</th> </tr> <tr> <th style="background:#f8f9fa; width:70%;">کٲم</th> <th style="background:#f8f9fa; width:30%;">ؤری</th> </tr> {{#invoke:Wikidades | claim | property = P800 | qualifier = P800/P577 | formatting = table | rowformat = <tr><td>$0</td><td>$1</td></tr> | separator = }} </table> 6hcmitklicsz40h3aonxu1g3pyq3gif 153470 153469 2026-10-07T10:02:39Z آیات محراج 11062 /* */ 153470 wikitext text/x-wiki {| class="wikitable" style="width:100%; text-align:center;" |- ! colspan="2" style="background:#e0e0e0; font-size:110%;" | مَشہوٗر کٲم |- ! style="background:#f8f9fa; width:70%;" | کٲم ! style="background:#f8f9fa; width:30%;" | ؤری {{#invoke:Wikidades|claim|property=P800|qualifier=P800/P577|formatting=table|rowformat=<tr><td>$0</td><td>$1</td></tr>|separator=}} |} rz1hxybjqiipux3dzqhoe1ve8wk2dio 153472 153470 2026-10-07T10:05:00Z آیات محراج 11062 /* */ 153472 wikitext text/x-wiki {{#if:{{#invoke:Wikidades|claim|property=P800|item={{{qid|}}}}}| {| class="wikitable" style="width:100%; text-align:center;" |- ! colspan="2" style="background:#e0e0e0; font-size:110%;" | مَشہوٗر کٲم |- ! style="background:#f8f9fa; width:70%;" | کٲم ! style="background:#f8f9fa; width:30%;" | ؤری {{#invoke:Wikidades|claim|property=P800|qualifier=P800/P577|item={{{qid|}}}|formatting=table|rowformat=<tr><td>$0</td><td>$1</td></tr>|separator=}} |} }} o5lpuota6r89rohtdbkusfrvjemw230 153473 153472 2026-10-07T10:06:12Z آیات محراج 11062 [[Special:Contributions/آیات محراج|آیات محراج]] ([[User talk:آیات محراج|کَتھ]]) سٕنٛدِ طَرفہٕ کَرنہٕ آمٕژ [[Special:Diff/153472|153472]] تَبدیٖلی آی رَد کَرنہٕ 153473 wikitext text/x-wiki {| class="wikitable" style="width:100%; text-align:center;" |- ! colspan="2" style="background:#e0e0e0; font-size:110%;" | مَشہوٗر کٲم |- ! style="background:#f8f9fa; width:70%;" | کٲم ! style="background:#f8f9fa; width:30%;" | ؤری {{#invoke:Wikidades|claim|property=P800|qualifier=P800/P577|formatting=table|rowformat=<tr><td>$0</td><td>$1</td></tr>|separator=}} |} rz1hxybjqiipux3dzqhoe1ve8wk2dio 153474 153473 2026-10-07T10:07:35Z آیات محراج 11062 /* */ 153474 wikitext text/x-wiki {| class="wikitable" style="width:100%; text-align:center;" |- ! colspan="2" style="background:#e0e0e0; font-size:110%;" | مَشہوٗر کٲم |- ! style="background:#f8f9fa; width:70%;" | کٲم ! style="background:#f8f9fa; width:30%;" | ؤری {{#invoke:Wikidades|claim |property=P800 |qualifier=P800/P577 |formatting=table |rowformat=<tr><td>$0</td><td>$1</td></tr> |separator= }} |} j31indkrg2x140tnbckwo5ym5nwwdlr