Wikipedia
gvwiki
https://gv.wikipedia.org/wiki/Ard-ghuillag
MediaWiki 1.47.0-wmf.14
first-letter
Meanyn
Er lheh
Resooney
Ymmydeyr
Resooney ymmydeyr
Wikipedia
Resooney Wikipedia
Coadan
Resooney coadan
MediaWiki
Resooney MediaWiki
Clowan
Resooney clowan
Cooney
Resooney cooney
Ronney
Resooney ronney
TimedText
TimedText talk
Module
Module talk
Event
Event talk
Mannin
0
596
388618
383083
2026-08-09T05:03:40Z
MacTire02
219
lettyr beg
388618
wikitext
text/x-wiki
{{Kishtey fys çheer
|ennym_dooghyssagh = Mannin
|ennym_foddey_cadjincliaghtagh= {{nobold|Isle of Man {{small|([[Baarle]])}}}}
|ennym_gienneydagh = Vannin
|jalloo_brattagh = Flag of the Isle of Man.svg
|jalloo_cleinney = Coat of arms of the Isle of Man.svg
|jalloo_caslys = Europe-Isle_of_Man.svg
|jarroo-raa = "[[Rolley jarroo-raaghyn yn Oarpey|Quocunque Jeceris Stabit]]" <small>([[Ladjyn]])</small><br />"Aghterbee ceauee shiu eh, shassee eh" <small>([[Gaelg]])</small>
|arrane_ashoonagh = "[[O Halloo Nyn Ghooie]]"{{efn|Haink "[[O Halloo Nyn Ghooie]]" dy ve ymmydit dy neu-oikoil veih'n vlein 1907 as hooar eh staydys ashoonagh myr yn arrane ashoonagh 'sy vlein 2003.<ref>{{cite web |title=National anthem – The World Factbook |url=https://www.cia.gov/the-world-factbook/field/national-anthem |access-date=30 Mayrnt 2021 |website=CIA.gov |archive-date=19 Mayrnt 2021 |archive-url=https://web.archive.org/web/20210319002941/https://www.cia.gov/the-world-factbook/field/national-anthem |url-status=live}}</ref>}}{{parabr}}{{center|[[Coadan:Arrane Ashoonagh Vannin.ogg]]}}
|arrane_reeoil = "[[God Save the King]]"{{Efn|Hannee "[[God Save the King]]" myr yn arrane reeoil as t'eh foast cloiet myr kiaull yeshchliaghtagh tra ta olteynyn y Chrooin Ghoaldagh ayn.<ref>{{cite news |date=27 Jerrey Geuree 2003 |title=New Manx anthem shifts loyalty to land of their birth |url=http://www.theguardian.com/uk/2003/jan/27/britishidentity.paulmacinnes |access-date=30 Mayrnt 2021 |work=[[The Guardian]] |archive-date=11 Averil 2021 |archive-url=https://web.archive.org/web/20210411000200/https://www.theguardian.com/uk/2003/jan/27/britishidentity.paulmacinnes |url-status=live}}</ref>}}<br/>(Gaelg: "Dy Sauail Jee yn Ree"){{parabr}}{{center|[[Coadan:United_States_Navy_Band_-_God_Save_the_Queen.ogg]]}}
|çhengaghyn_oikoil = {{hlist|[[Baarle]]|[[Gaelg]]}}
|preeu-valley = [[Doolish]]
|latd=54 |latm=09 |latNS=N |longd=4 |longm=29 |longEW=W |latNSgael=Hwoaie |longEWgael=Heear
|balley_smoo = preeu-valley
|sorçh_reiltys = [[Monarkaght vunraghtoil]] [[corys parlamaidagh|pharlamaidagh]]
|enmys1_fer-toshee = [[Çhiarn Vannin]]
|ennym1_fer-toshee = [[Çhalse III y Reeriaght Unnaneysit|Çhalse III]]
|enmys2_fer-toshee = [[Lhiass-chiannoort Vannin|Lhiass-chiannoort]]
|ennym2_fer-toshee = [[John Lorimer (offishear yn armee Ghoaldagh)|John Lorimer]]
|enmys3_fer-toshee = [[Ard-hirveishagh Vannin|Ard-hirveishagh]]
|ennym3_fer-toshee = [[Alfred Cannan]]
|enmys4_fer-toshee = [[Eaghtyrane Tinvaal]]
|ennym4_fer-toshee = [[Lawrence Skelly]]
|eaghtyr_km2 = 572
|eaghtyr_mi_ker = 221
|eaghtyr_rhenk = 221d
|ushtey_sy_cheead = 0
|pobble_ooley =
|blein_ooley_pobble =
|pobble_coontey = {{WD Earroo yn Phobble cour Kishtey Fys}}
|blein_coontey_pobble =
|rhenk_coontey_pobble =
|glooaght_pobble_km2 = 131.2
|glooaght_pobble_mi_ker = 339.6
|rhenk_glooaght_pobble = 75oo
|possanyn_kynneeagh =
|blein_LTS_CCK = 2025
|LTS_CCK = $7.931 billoon
|rhenk_LTS_CCK =
|LTS_CCK_yn_dooinney = $89,706
|rhenk_LTS_CCK_yn_dooinney =
|LTS_ennymagh =
|rhenk_LTS_ennymagh =
|blein_LTS_ennymagh =
|LTS_ennymagh_yn_dooinney =
|rhenk_LTS_ennymagh_yn_dooinney =
|blein_ALD =
|ALD = 0.940
|rhenk_ALD = 15oo
|ronney_ALD = <span style="color:#090">feer ard</span>
|sorçh_kiondeeaght = Steat kionedeeagh ta freggyrtagh er son Vannin
|note_kiondeeaght = [[Reeriaght Unnaneysit]]
|taghyrt1_bunnit = [[Reeriaght ny h-Ellanyn|Reirey Loghlynagh]]
|date1_bunnit = 9oo eash
|taghyrt2_bunnit = [[Conaant Peairt|Gurneilys Albinagh]]
|date2_bunnit = 2 Jerrey Souree 1266
|taghyrt3_bunnit = [[Reeriaght Hostyn|Gurneilys Sostynagh]]
|date3_bunnit = 1399
|taghyrt4_bunnit = [[Isle of Man Purchase Act 1765|Revested into British Crown]]
|date4_bunnit = 10 Boaldyn 1765
|argid = {{Ubl|[[Punt Manninagh]]|[[Punt Sostynagh]]}}
|coad_argid = GBP
|traa_ynnydagh = [[Traa Mean Ghreenwich|GMT]]
|ashchur_utc = +0
|traa_ynnydagh_TTLS = [[Traa Houree Ghoaldagh|BST]]
|ashchur_utc_TTLS = +1
|cctld = [[.im]]
|coad_çhellvane = 44
|note_coad_çhellvane =
|fo-note1 =
}}
She [[Croghaneyn-crooin y Reeriaght Unnaneysit|Croghane-crooin]] hene-reiltagh Goaldagh '''Mannin''', as ish ny lhie eddyr [[Nerin]] as [[yn Vretyn Vooar]] ayns mean [[Mooir Vannin|Vooir Vannin]]. She Çhairn Vannin yn ennym t'ad cur da'n chione-çheerey, as eshyn yn peiagh cheddin ta cummal crooin yn [[Reeriaght Unnaneysit]]. Er yn oyr shoh, ta [[Lhiass-chiannoort Vannin|Fo-Chiannoort]] ayn, myr ynnydagh oikoil Hiarn Vannin. She [[Doolish]] yn [[preeu-valley]], as ta'n [[Punt Manninagh]] ymmydit myr yn argid-cadjin oikoil. Kyndagh rish e shennaghys, cultoor as çhengey, tadyr gra dy nee nane jeh ny [[ashoon Celtiagh|h-ashoonyn Celtiagh]] t'ayn.
Va sleih cummal ayns Mannin roish y vlein 6500 RC, as haink cultoor Gaelgagh ayns yn 5oo lhing BNJ as veih shen haink [[Gaelg Vanninagh]]. Voish mysh BNJ 850, haink Mannin dy ve ny sheshaght Gaelgagh-Loghlynagh, kyndagh rish Loghlynee garraghey dys yn Ellan. Lurg lhing jeh reiltys neuchinjagh, eddyr reeaghyn [[Nalbin]] as [[Sostyn|Hostyn]], haink Mannin dy ve fo çhiarnys [[Crooin Hostyn|Chrooin Hostyn]] ayns 1765 liorish yn [[Isle of Man Purchase Act 1765|Slattys Aa-Ghreim]].
== Shennaghys ==
{{Ardart|Shennaghys Vannin}}
=== Shenn Traaghyn dys Jiu ===
Ta Mannin coontit myr fer jeh ny shey [[ashoonyn Celtiagh]] as t'eh ry-akin ayns y çhennaghys eck. Ta lorgyn sleih [[yn Eash Chloaie|ny h-Eash Chloaie Veanagh]] ry-akin ayns Mannin. V'ad cummal ayns buill fastee najooragh, shelgey as geeastaghey as çhaglym bea. Va greieyn cloaiey oc, as fir jeusyn ry-akin ayns Thie Tashtee Vannin.
Ayns [[yn Eash Chloaie|yn Eash Chloaie Noa]], haink ny smoo fys oc er [[eirinys]], greieyn, as [[crayderaght]]. Ghow ad toshiaght troggal claghyn cooinaghtyn er yn Ellan. Ta fir jeu ry-akin foast, faggys dy [[Laksaa]], [[Creneash]] as buill elley.
Ny kied chleinyn va cummal 'syn Ellan, s'cosoyley dy vel ad nyn [[Brythonagh|Mrythonee]], agh mysh [[700|700 BNJ]] haink ny Yernee, er lhieu. Veih'n sleih shoh haink y pobbyl Manninagh leah. S'leayr shen ayns caghlaa 'sy çhengey v'ad jannoo ymmyd jeh ayns cowraghyn grainnit [[Ogham]]. Ta mooinjerys foast eddyr [[Gaelg|Gaelg Vanninagh]], [[Yernish]] as [[Gaelg Albinagh]].
Ec jerrey yn hoghtoo cheead, ghow ny [[Loghlynagh|Loghlynee]] toshiaght cummal ayns Mannin. Er lhimmey jeh croo [[Tinvaal]] as rheynn yn thalloo, cha row caghlaaghyn mooarey dys cultoor ny Manninee. Ga dy row Loghlynish gobbraghey er Gaelg, v'eh gyn monney bree. Ren [[Gorree Crovan]] croo yn reeriaght Loghlynagh [[Reeriaght Mannin as ny h-Ellanyn|Mannin as ny h-Ellanyn]] ayns [[1079]]. Ayns [[1266]], rere [[Conaant Pheairt]], ren Ree Loghlyn [[Magnus VI]] lhiggey ny h-ellanyn da [[Nalbin]]. Haink Mannin fo stiurey Sostnagh 'sy jeihoo cheead as kiare, as fo [[Crooin Hostyn]] ayns [[1765]].
Car traaghyn Loghlynagh, v'ad gra roo ellanyn [[Reeriaght Mannin as ny h-Ellanyn]] Loghlynagh ''Súðreyjar'' ny "Sudreys" (ellanyn y jiass) soie noi ry hoi ny ''Norðreyjar'' (ellanyn y twoie) as adsyn [[yn Orkaid]] as [[Shetlynn]]. Haink yn ennym shoh dy ve Sodor. T'ad gra rish aspickys [[Agglish Hostyn]] foast [[Aspickys Sodor as Mannin]], ga nagh vel agh Mannin ayn. Tra screeu yn [[W.V. Awdry|Arrymagh W. V. Awdry]], ren eh cooiney yn ellan [[Sodor]] myr ellan conrieugh as eshyn soit eddyr Mannin as slyst [[Cumbria|Chumbria]].
Va ymmyd jeant jeh Mannin myr boayl son campyn [[Prysoonys]] Shivoilee Joaree rish y [[Kied Chaggey Mooar|Chied Chaggey Mooar]] as y [[Nah Chaggey Mooar]] reesht.
=== Tinvaal ===
{{Ardart|Tinvaal}}
Ta Tinvaal ny ardwhaill Vannin, as v'eh currit er bun ayns 979 RC dy ennymagh. Dy so-arganeagh, t'eh yn ardwhaill shinney gyn scuirr erbee 'sy teihll.<ref> Ta ardwhaillyn ny [[Althing|h-Eeslynn]] as ny [[Løgting|h-Ellanyn Faaroagh]] ny shinney, agh v'ad astyrid eddyr 1800 dys 1845, as eddyr 1816 dys 1852, er lheh</ref>. Ta çhaglym bleinoil jesh-chliaghtagh foast freayll taghyrt ec Cronk Keeill Eoin ayns Jerrey Sourey er Laa Tinvaal. She laa ashoonagh yn Ellan eh, traa t'ad fockley magh ardenmyn as cur coontey giare jeh ny leighyn noa ta Quaill Tinvaal er nyannoo rish y blein roish shen.
== Çheer-oaylleeaght ==
{{Ardart|Çheer-oaylleeaght Vannin}}
{{Jeeagh|Rolley ellanyn Vannin}}
[[Coadan:Isle of Man map-en.svg|250px|thumb|Caslys-çheer jeh Mannin]]
[[Coadan:Isle-of-Man-Ramsey-Kirk-Michael.jpg|right|250px|thumb|Mannin]]
Chammah as ellan mooar Vannin hene, ta Mannin goaill stiagh ny h-ellanyn beggey [[Yn Cholloo]], [[Carrick ny Kylliu]] as [[Ellan Noo Perrick]].
Ta Mannin soit ayns mean y [[Mooir Vannin|Vooir Vannin]], as ish kiangley da'n [[Keayn Sheear|Cheayn Sheear]] lesh [[Mooir Vretin]] eddyr [[Nerin]] as [[Bretin]] as [[Kernow]] da'n jiass, as lesh [[Ammyr ny h-Albey]] eddyr [[Nerin]] as [[Nalbin]].
Ta Mannin ny kuse jeh ny h-[[Ellanyn Goaldagh]], ellanragh faggys da slyst sheear-hwoaie ny h-Oarpey neuellanagh. Ta'n ellan soit ayns [[Mooir Vannin]] mysh coaggys da [[Sostyn]], [[Nalbin]] as [[Nerin]].
Mysh 52 kilomeadar (32 meeillaghyn) er liurid, as eddyr 13 as 24 kilomeader (8 as 15 meeillaghyn) er lheead, ta boayl mysh [[1 E8 m²|572 km²]] (221 [[meeiley cherrinagh|meeilaghyn kerrinagh]]) eck.
Ta cruink 'sy twoaie as 'sy jiass, as coan meanagh rheynn yn ellan. Ta gob y twoaie ny rea dy neuchadjin. T'eh jeant seose jeh ny ren awinyn rioee cur sheese tra v'ad gleashaghey veih Nalbin Sheear rish traaghyn ny s'feayrey. Cha nel agh un slieau ny syrjey na daa housane trieyn (610m), [[Sniaull]] as eshyn 621m er yrjid. Rere yn shennockle, veih'n vullagh ta shey reeriaghtyn ry-akin: Mannin, [[Nalbin]], [[Sostyn]], [[Nerin]], [[Bretin]] as [[Niau]]. <ref>http://www.iomguide.com/mountainrailway.php</ref><ref>{{Cite web |title=Archive copy |url=http://www.gov.im/tourism/culture/attractions/snaefell_attract.xml |accessdate=2007-09-30 |archivedate=2007-09-30 |archiveurl=https://web.archive.org/web/20070930181229/http://www.gov.im/tourism/culture/attractions/snaefell_attract.xml }}</ref><ref>{{Cite web |title=Archive copy |url=http://www.bestloved.com/attractions/snaefell-mountain-railway-in-douglas-isle-of-man-the-north-england-uk.php |accessdate=2008-01-29 |archivedate=2007-09-29 |archiveurl=https://web.archive.org/web/20070929012827/http://www.bestloved.com/attractions/snaefell-mountain-railway-in-douglas-isle-of-man-the-north-england-uk.php }}</ref> Ta kuse dy lhiegganyn cur reeriaght shiaghtoo daue: ny t'ec [[Manannan Mac Lir]] (ny [[Neptune]]), Reeriaght y Cheayn. <ref>{{Cite web |title=Archive copy |url=http://www.isle-of-man.com/manxnotebook/tourism/pcards/snaefell.htm |access-date=2008-01-29 |archive-date=2008-05-14 |archive-url=https://web.archive.org/web/20080514221156/http://www.isle-of-man.com/manxnotebook/tourism/pcards/snaefell.htm |url-status=dead }}</ref><ref>http://www.uwm.edu/Dept/celtic/ekeltoi/volumes/vol2/2_4/maddrell_2_4.pdf</ref>
=== Baljyn as baljyn beggey ayns Mannin ===
She [[Doolish]] preeu-valley Vannin neayr's 1863, as [[Balley Chashtal]] v'eh roish shen. Ta [[Tinvaal]] çhaglym ayns Doolish er-lhimmey jeh [[Laa Tinvaal]] tra t'eh ny hoie ec [[Cronk Keeill Eoin]]. Ta'n ard-hiamble ynrican 'syn Ellan ayns [[Purt ny hInshey]], as rere shen ta sleih gra dy vel ee ny "h-ard-valley ynrican Vannin". Shoh thie [[Aspick Hodor as Vannin]].
Baljyn elley 'syn Ellan, t'ad goaill stiagh [[Rhumsaa]], [[Laksaa]], [[Purt le Moirrey]], [[Purt Chiarn]], [[Balley Beg]], [[Balley Sallagh]], [[Balley Drine]], [[Forsdal]], [[Balley Keeil Eoin]], [[Kione Droghad]], as [[Creneash]].
== Sleih ==
{{Ardart|Manninee }}
Rere sleih-earroo 2016,<ref>{{Cite web |title=Summary results of the Isle of Man Census 2006 |url=http://www.gov.im/lib/docs/treasury/economic/census/isleofmancensusreport2006.pdf |accessdate=2007-06-14 |archivedate=2007-06-14 |archiveurl=https://web.archive.org/web/20070614044009/http://www.gov.im/lib/docs/treasury/economic/census/isleofmancensusreport2006.pdf }}</ref> ta 83,314 sleih cummal ayns Mannin, as 26,997 jeu cummal 'sy ard-valley eck, [[Doolish]]. Rug yn chooid sloo jeh'n phobble ayns ny h-[[Ellanyn Goaldagh]]. Rug 47.6% jeu ayns Mannin, 37.2% ayns Sostyn, 3.4% ayns Nalbin, 2,1% ayns Nerin Twoaie, 2.1% ayns Pobblaght Nerin, 1.2% ayns Bretin as 0.3% ayns ny h-Ellanyn Vooir Eeaght.
== Cultoor ==
{{jeeagh|Kiaull Vannin}}
Ta kiangley mooar ayn eddyr kiaull Mannin as kiaull Jernish as Loghlynagh. Lurg baase [[Ned Maddrell]] ayns 1974 va [[kiaull]] as [[cultoor Manninagh]] gowit toshiaght reesht ec [[Yn Chruinnaght]] ayns [[Rhumsaa]]. Ayns y tra t'ayn, ta monney kiaulleyderyn ayn myr [[The Mollag Band]], [[King Chiaullee]] as [[Paitçhyn Vannin]] ta cloie kiaull ayns Gaelg.
=== Shennaghys yn ennym ===
Ta bunnys yn ennym Vannin neuchronnal. T'ad cur er yn Ellan ''Mannin'' ny ''Mannin''. Yn kied cummey jeh'n ennym as fys er, t'eh ''{{lang|gv|Manu}}'' ny ''{{lang|gv|Mana}}''<ref>''The Isle of Man. A Social, Cultural and Political History.'' liorish R.H. Kinvig, dg 18 (1975) (3rd Edition) Liverpool University Press ISBN 0-85323-391-8</ref>. Ta shen cur yn ennym [[gienneydagh]] ''{{lang|gv|Manann}}'' as eshyn çheet dy ve ''{{lang|gv|Mannin}}''.
Rish amm [[Julius Caesar]], as eh cur shilley er Yn Vretin Vooar rish 55 as 54 RC, ren eh screeu mychione "ellan as ad cur ''Mona'' jee", as eshyn soit ayns mean ny marrey ta rheynn Yn Vretin Vooar veih Nerin.'<ref>''The Isle of Man. A Social, Cultural and Political History.'' liorish R.H. Kinvig, dgn 18-19 (1975) (3rd Edition) Liverpool University Press ISBN 0-85323-391-8</ref>
=== Çhengaghyn ===
{{jeeagh|Gaelg}}
Ta çhengaghyn oikoil Mannin [[Gaelg]] as [[Baarle]]. Ta abbyrt Vaarle goll er loayrt, as ad cur [[Baarle Vanninagh]] j'ee. She çhengey [[çhengaghyn Celtiagh|Cheltiagh]] [[çhengaghyn Gaelgagh|Ghaelgagh]] ee yn Ghaelg, as ish ny fer jeh ny [[çhengaghyn Celtiagh ellanagh]] ta goll er loayrt ayns ny h-Ellanyn Goaldagh. Ta ennym oikoil er Gaelg myr [[çhengaghyn ardjynagh|çhengey ardjynagh]] [[çhengaghyn dooie|ghooie]] rere y [[Conaant son Çhengaghyn Ardjynagh ny Fo-hengaghyn]]. Ren y Reeriaght Unnaneyssit shickyraghey eh er 27 Mart 2001 ass lieh reiltys Vannin.
Ta faggys-mooinjerys eddyr [[Gaelg|Gaelg Vanninagh]], [[Gaelg Albinagh]] as [[Yernish]]. Ec mean y feedoo cheead, cha row agh beggan [[loayrteyder dooie|loayrteyderyn dooie]] faagit. Hooar y fer s'jerree jeu, [[Ned Maddrell]], baase er [[27 Mee ny Nollick]], [[1974]]. Roish shen va aavioghey er ngoaill toshiaght ny vud ny sleih, as va ram jou gynsaghey Gaelg myr nah hengey. Ta ny kied loayreyderyn dooie Gaelg (daa-hengagh marish Baarle) rish ymmodee bleeantyn er jeet rish: paitçhyn hie er troggal liorish ayraghyn as moiraghyn as Gaelg oc. Ta ynsee bunscoill ry-gheddyn veih reiltys Vannin: neayr 2003, ta'n [[Bunscoill Ghaelgagh|Vunscoill Ghaelgagh]] er yannoo ymmyd jeh'n shenn troggal Scoill [[Balley Keeill Eoin|Valley Keeill Eoin]]. Ta keimyn 'sy Ghaelg ry-gheddyn veih [[Colleish Mannin]] as [[Laare-studeyrys Manninagh]]. Ta possanyn-cloie Gaelg ayn neesht, as ta brastyllyn Gaelg ry-gheddyn ayns scoillyn er yn Ellan. Rere kione-earroo 2001, ren 1,689 veih 76,312, ny 2.2% jeh'n phobbyl, aggyrt dy row Gaelg oc. Cha row Gaelg flaaoil ec dagh fer jeu, fodmayd goaill ass laue.
Ta ymmyd cadjin jeant jeh ny bannaghtyn ''moghrey mie'' as ''fastyr mie''. Chammah as shen ta ''traa dy liooar'' ry-chlashtyn dy cadjin, as shen soilshaghey barel beaynchrooagh veh'n ymmyrkey bea Manninagh.
=== Cowraghyn ===
[[Coadan:The armoured triskelion on the flag of the Isle of Man.svg|thumb|Tree cassyn Mannin.]]
Rish cheeadyn, ta cowrey yn Ellan er ve yn shenn [[tree cassyn Mannin]]: tree cassyn lhoobit, dy cheilley ry lheayst, as jialg vrasnee ec dagh jeu. Cha nel lhieggan oikoil jeh'n Tree Cassyn; ta jallooyn anchasley ec clouyn yn reiltys, argid, brattaghyn, Boayrt Failt as fir elley.
Ta mooinjerys eddyr ny tree cassyn as jarroo-raa ny hEllan, as hie eshyn er doltey anmagh er e hennaghys: ''Quocunque Jeceris Stabit'', ny 'sy Ghaelg, ''Aghterbee ceauee shiu eh, shassee eh''. Dy mennick, t'ad soilshaghey yn jarroo-raa dy chur trimmid er beayn-hassooaght. Ta ram scoillyn caghaa yn jaroo-raa beggan dys greinnaghey lhiantyn rish as gobbraghey dy creoi.
Ta bun ny Tree Cassyn Mannin shenn-skeeal Manninagh, as eshyn gra ren [[Manannan mac Lir|Manannan]] castey soiagh liorish caghlaa eh hene dys cummey ny tree cassyn as queeylley neose y chronk orroo.
Ta'n tree cassyn goll er jannoo foast reesht er cowraghyn cleinney lesh crouwyn y lught-thie ooasle Loghlynagh va reilley Mannin derrey yn treeoo cheead jeig . Yn lhieggan shoh, s'lesh yn crouw [[Skancke]] eh, as nyn ennym çheet veih'n 'ockle Loghlynagh "shank", ny "cass" 'sy Ghaelg. Hannee lught-thie reeoil Vannin er yn Ellan rish kuse dy vleeantyn lurg baase [[Magnus III jeh Loghlyn|Magnus III]] as toshiaght reill Albinagh. Cha ren ad arraghey ersooyl derrey eab jerrinagh liorish ny Manninee, ayns 1275, ny shenn reeraghtys Sudreyar erash y chur lhein. Ren ad irree magh noi ny h-Albinee, agh she cragh v'eh, as keeadyn jeh sleih geddyn baase (goaill stiagh yn Ree Loghlynagh jerrinagh Vannin [[Godred IV Magnuson]]) tra hie ad fo haart ec [[Caggey Roonysvie]], faggys da [[Balley Chashtal]]. Hie ny fir ooasle dys Loghlyn as stiagh 'syn chooyrt reeoil, raad hooar ad ard-cheimyn fo'n chrooin dy tappee.
=== Feayn-skeeallyn as beeal-arrish ===
Rere feayn-skeeallydaght Manninagh, hie yn Ellan er reill liorish [[Manannan mac Lir]]. Cha nel skeeallyn ayns coardailys my row eh ny jee ny ny fer obbee niartal, agh v'eh ny ard-reiltagh giastyllagh as choadee eh yn Ellan noi dagh ooilley noidyn. Foddee eh ceau cloagey kay mygeayrt yn Ellan dys follaghey ee veih ruegeyderyn.
Rish beeal-arrish Manninagh, shimmey skeeal t'ayn mychione cretooryn as sleih far-skeealagh. T'ad goaill stiagh ny [[Buggane]] – spyrryd olk goanlyssagh, ren sheidey ersool mullagh cheeill Trinian Noo fo fergey. T'ad gra dy 'oddee eh caghlaa eh hene dys moddey mooar doo, ny gruagagh, ny ram jallooyn elley, dys cur aggle er peiagh. Chammah as eshyn ta'n [[Fynoderee]], fer mooar as geayshteenagh; yn [[Glashtyn]] ta caghlaa dys cabbyl as geabbey baih sleih; as yn [[Moddey Doo]], baagh neuheiltagh va ny hooyl trooid corradoyryn as boallaghyn Chashtal Purt ny h-Inshey.
Cumaltee smoo ard-ghooagh Vannin, shen y [[Mooinjer Veggey]], as sleih cur 'ad hene' orroo dy mennick. As uss goll harrish [[Droghad Skylley Vraddan]], t'ad gra dy vel eh drogh aigh mannagh vel shiu cur failt er ad hene lesh ''moghrey mie'' ny ''fastyr mie''.
Ta shenn skeeal Yernagh gra dy hie [[Logh Nay]] er jannoo rish caggey ayns Nerin eddyr yn foawr ard-ghooagh Yernagh, [[Finn Mac Cooil]], as foawr ruy Albinagh. Hooar Finn yn varriaght, as chouds va'n foawr Albinagh hea ersooyl, ghow Finn greim er croaglagh thalloo Nerin as cheau eh eh ny yei. Ren eh coayl, as huitt yn ceab thalloo stiagh ayns [[Mooir Vannin]], as shen yn aght hie Mannin er croo.
== Beiyn ==
Rere beiyn çheeragh, ta'n [[kayt Manninagh|chayt Manninagh]] y fer as fys ec cagh er. Ta'n ennym cadjin echey ''Stubbin''. Ta'n [[cheyrrey loaghtyn]] ny keyrrey nagh vel ry-akin raad elley, as ee jeh sliught kirree vunneydagh [[Nalbin|ny h-Albey]].
Ta'n [[scraayl]] ny [[ushag varrey]], ''Manx shearwater'' 'sy Vaarle er y fa dy row coloin mooar scraaylyn er [[Yn Cholloo|y Cholloo]]. Ren y kynney parail er coontey ny roddanyn haink 'syn ellan veih lhong-vrishey anmagh 'sy hoghtoo cheead jeig. Ny yei shen, ta ny roddanyn er ngoll er scughey veih'n Cholloo er y gherrid, as myr shen ta earrooyn ny scraaylyn bishaghey. Ta'n [[caaig|chaaig]] ny h-oltey jeh sheel y fannag as gob jiarg baghtal echey.
== Bee as jough ==
She bee ashoonagh yn Ellan ''skeddan as praasyn''. Va ny Manninee gee ad rish eashyn, as adsyn nyn croiteyr as eeasteyryn son y chooid smoo. Ga nagh vel eeastyn cho scanshoil da bea yn Ellan nish, ta ram eeast goll er ee liorish ny Manninee foast.
Rish ny bleeantyn shoh chaie ta'n eeastey traghtee er ngoll shymley, agh ta meeryn-vlastal goaill stiagh [[skeddan jiarg]] veih thieyn jaagh [[Purt ny h-Inshey|Phurt ny h-Inshey]]. Jiu t'ad jannoo ymmyd jeh skeddan [[Mooir Hostyn|Vooir Hostyn]] son y chooid smoo. T'ad jannoo sur-vee elley myr [[braddan jaaghit]] as [[bagoon]] myrgeddin.
Ta [[partan]], [[gimmagh]] as [[roagan]]yn goll er eeastey dy traghtee, as ta [[mynroagan]] nyn meeryn-vlastal er lheh, as blass millish, eddrym oc. Ta [[bioddagh]] as [[breck]] ry-gheddyn veih keayn, awinyn as loghyn yn Ellan, lesh cooney guirrlan eeast yn Reiltys ec [[Cornaa]].
Ta [[ollagh|ollee]], [[keyrrey|kirree]], [[muc]]yn as [[eeanlee]] ooilley goll er gerinagh, as ta eayn chrink Vannin ny lhongey cadjin. Ta feill mea ec yn Loaghtan, as ard-choagyryn foayragh da er [[Masterchef]] er y [[BBC]].
Ta [[bainney]] as [[caashey]] goll er jannoo liorish keylann ''IOM Creameries''. Haink caashey Vannish lesh er lheh, ayns sorçhyn jaaghit as blast losseree, as t'eh ry-gheddyn ayns ymmodee ard-vargaghyn yn RU.
Ta thieyn imbyl [[Okells Brewery]] as [[Bushy's Brewery]] imbyl [[lhune]] dy traghtee.
== Reiltys ==
[[Coadan:IoM.JPG|right|280px|right|thumb|Jalloo cruinlagh Mannin]]
{{Ardart|Reiltys Vannin}}
Ta'n [[Reeriaght Unnaneyssit]] freggyrtagh son coadey yn Ellan, as son reiltys mie dy jerrinagh. Chammah as shen t'eh loayrt son yn Ellan rish cooishyn eddyr-ashoonagh, choud's ta reiltys Vannin hene stiurey dagh cooish Manninagh.
=== Troggal ===
{{Ardart|Leigh Vannin}}
She [[Tinvaal]] ardwhaill Vannin, as eshyn goaill toshiaght ayns 979 RC. T'eh ny ardwhaill shinney gyn brishey 'sy teihll. Ta quaill daahamyragh ec Tinvaal: yn [[Kiare as Feed]] (dagh oltey er ny reih liorish teiy cadjin) as yn [[Coonseil slattyssagh|Choonseil Slattyssagh]] (jeant seose veih olteyn trooid oik ny adsyn t'er ny reih dy neuyeeragh). Ta ny daa phossanyn shoh çhaglym ry-cheilley dy hoie myr Tinvaal.
Ta crouw kianoortagh yn reiltys yn [[Coonseil ny Shirveishee]]. T'eh jeant seose veih olteynyn Hinvaal. Ta [[Ard-Shirveishagh]] ny ard-chione echey; ec y traa t'ayn nish (2018) shen [[Howard Quayle]] [[Oltey jeh'n Kiare as Feed|OKF]].
Ta'n [[Lhiass-chiannoort Mannin|Fo-Chiannoort Mannin]] jannoo currymyn fo-reeoil.
=== Mooinjerys Çheumooie ===
Rere [[leigh Vretin Vooar]], cha nel Mannin ny rheynn yn Reeriaght Unnaneyssit. Ny yei shen, ta'n RU goaill kiaral jeh ny cooishyn çheumooie as ny ta bentyn rish coadey. Chammah as shen, ta ard-niart ec yn RU da jannoo slattys son yn Ellan.
==== Seyraanaght ====
Ta seyraanaght Vannin rere leigh yn [[Reeriaght Unnaneyssit]], as ta Manninee coontit myr [[seyranee Vretin Vooar]]. Ny ta gyn shenn ayr ny shenn vooir va ruggit 'syn RU (as adsyn gyn cummal rish queig bleiney ny smoo 'syn RU gyn brishey), cha nel ny kiedyn cheddin oc myr oc seyranee Vretin Vooar elley, bentyn rish gobbraghey as cummal ayns yn [[Unnaneyns Europagh]].
==== Yn Unnaneys Oarpagh ====
Cha nel olteynys ny co-olteynys yn [[Unnaneys Oarpagh]] ec Mannin. Ta Reill Tree chonaant goll stiagh y Reeriaght Unnaneyssit lhiggey da sleih dellal cooidjyn Manninagh gyn keesh.<ref>{{Cite web |title=Archive copy |url=http://www.bmdf.co.uk/ukaccessiontreaty.pdf |accessdate=2008-01-29 |archivedate=2007-06-14 |archiveurl=https://web.archive.org/web/20070614044010/http://www.bmdf.co.uk/ukaccessiontreaty.pdf }}</ref> Ry-cheilley marish Conaant Custym as Maail rish yn RU, t'eh cur raad da dellal seyr rish yn RU. Ga dy nod cooidjyn Manninagh goll er arraghey dy seyr sthie yn UO, cha nod sleih, bun-argid ny shirveishyn. Foddee seyranee yn UO troailt as cummal 'syn Ellan gyn lhiettalys.
==== Y Co-unnaneys Goaldagh ====
Cha nel Mannin hene ny oltey jeh'n [[Yn Co-unnaneys Goaldagh|Cho-unnaneys Goaldagh]]. Er coontey e mooinjerys rish yn RU, t'eh goaill ayrn ayns kuse dy commyn jeh'n Cho-unnaneys Goaldagh, goaill stiagh [[Sheshaght Ardwhaillagh y Cho-unnaneys Goaldagh]] as [[Gammanyn y Cho-unnaneys Goaldagh]].
=== Politickaght ===
[[Coadan:Isle of Man.png|thumb|Sheadinyn Vannin]]
{{Ardart|Politickaght Mannin}}
Ta'n chooid smoo jeh politickeyryn Manninagh cur stiagh son reihys myr fir gyn partee. Cha nel ad nyn ynnydee parteeyn politickagh. Ga dy vel parteeyn ayn, cha nel ny cummaght oc cho lajer as t'ayns Reeriaght Unnaneyssit.
Ta'n partee politickagh smoo yn [[Partee Libraalagh Vannin]], noa currit er bun, as eshyn aggyrt ny smoo seyrsnys da Mannin as ny smoo freggyrtys 'sy Reiltys. Ta daa olteynyn Tinvaal ec y PLV, goaill stiagh yn Ard-chione [[Kate Beecroft]] [[Oltey jeh'n Kiare as Feed|OKF]].
Ta possan broo ashoonagh [[Mec Vannin]] coyrlaghey cur er bun [[pobblaght]] neuchroghagh.
=== Gurneilys ynnydagh ===
{{Ardart|Gurneilys ynnydagh ayns Mannin}}
Ta gurneilys ynnydagh er yn Ellan soit er ny shenn skeeryn. Ta tree sorçhyn jeh lughtyn-reill ayn: balley corpagh, coyrlyn valjey as coyrlyn skeerey.
== Farrys ==
She farrys injil-cheesh Mannin, gyn [[keesh cosnaghyn bun-argidagh]], [[keesh berçhys]], [[keesh chlouag]] ny [[keesh eiraght]]<ref>{{Cite web |title=Archive copy |url=http://www.gov.im/iomfinance/tax/directtax.xml |accessdate=2008-01-29 |archivedate=2012-04-19 |archiveurl=https://web.archive.org/web/20120419122502/http://www.gov.im/iomfinance/tax/directtax.xml }}</ref>. Ta [[keesh çheet stiagh]] er 10% as 18%; [[keesh traght]] er 0%. <ref>{{Cite web |title=Archive copy |url=http://www.gov.im/treasury/incometax/strategy/viewnews.gov?page=lib/news/treasury/incometax/newassessorofinc.xml&menuid= |access-date=2012-08-03 |archive-date=2012-11-08 |archive-url=https://web.archive.org/web/20121108050511/http://www.gov.im/treasury/incometax/strategy/viewnews.gov?page=lib/news/treasury/incometax/newassessorofinc.xml&menuid= |url-status=dead }}</ref><ref>{{Cite web |title=Archive copy |url=http://money.independent.co.uk/personal_finance/tax/article349147.ece |accessdate=2008-01-29 |archivedate=2007-05-10 |archiveurl=https://web.archive.org/web/20070510060817/http://money.independent.co.uk/personal_finance/tax/article349147.ece }}</ref>
Ta [[banceyraght]], [[jeantys]] as [[turrysaght]] nyn rheynnyn mooar yn farrys. [[Eirinaght]] as [[eeasteyraght]], bun-chlaghyn y farrys dy row, ta ny symmyn dy vel ad cur dys [[Slane Troar Thie]] (STT/GDP) leodaghey.
Son y chooid smoo, ta'n Ellan dellal rish y [[Reeriaght Unnaneyssit]].
Ta reiltys Vannin greinnaghey jannoo filmyn 'syn Ellan trooid cur da costyssyn jannoo.
=== Arraghey ===
Ta 800km jeh raadyn theayagh 'syn Ellan, as ad slane pheamadit. Cha nel cagliagh bieauid ec ram jeu.
Ta baatyn cadjin dys as veih yn [[Reeriaght Unnaneyssit]] as [[Pobblaght Nerin]]. Ta ny baatyn ooilley goll er obbyr liorish yn [[Isle of Man Steam Packet Company]].
Ta'n purt-aer traghtee ynrican er yn ellan [[Purt Aer Vannin]] ec [[Roonysvaie]].
== Spoyrtyn ==
She [[cammag]] yn [[spoyrt]] ashoonagh, ta gollrish [[iomain]] Nerin ny [[shinty]] Nalbin. Roish v'eh ny spoyrt smoo cadjin 'syn Ellan, agh haink jerrey er ec toshiaght yn feedoo cheead. Er y gherrid t'eh er ngoll er aavioghey as ta troddyn ayn dagh blein ec [[Balley Keeil Eoin]].
She [[spoyrt]] mooar [[gleash-wheeylaght]], as ta'n [[TT Vannin]] er haghyr roish 1907. Ta fwirran dirdyn obbyr yn ashoonagh as commeeys [[bluckan coshey]] ec Mannin, agh cha nel ad ayns [[FIFA]] kyndagh rish e cheimeeaght politickagh.
Ta Mannin goaill ayrn ayns [[Gammanyn y Cho-unnaneys Goaldagh]] as [[Sheshaght Ghammanyn Ellanyn Eddyr-ashoonagh|Gammanyn ny h-Ellanyn]], as bee ee ny h-olteyr da ny IV [[Gammanyn Aeglagh y Cho-unnaneys Goaldagh]] ayns 2011. Hug yn Ellan toshiaght er yn [[Sheshaght Ghammanyn Ellanyn Eddyr-ashoonagh]] ayns 1985.
=== Ratçhal roar-bree ===
{{Jeeagh|TT Mannin}}
Yn cruinnaght smoo eddyr-ashoonagh roar-bree ta bentyn rish yn Ellan, she yn [[TT Mannin]] eh. Hug ad bun er ayns 1907, as t'eh taghyrt anmagh ayns Mee Boaldyn. Ta [[Grand Prix Vannin]] ny cruinnaght roar-bree da ancheirdee as yeearreyderyn gyn oik ta jannoo ymmyd jeh'n coorse 37.73 meeilley [[Coorse Sniaul|Sniaul]] cheddin anmagh ayns Mee Luanistyn as leah ayns Mean Fouyir.
== Cummaltee ard-ghooagh ==
{{Ardart| Cummaltee ard-ghooagh Vannin}}
=== Hie er ruggey ny troggal 'syn Ellan ===
* [[Ny Bee Gees]]
* [[Mark Cavendish]], daawheeylleyder.
* [[Charles Kerruish]], yn chied Manninagh dy ve ny Chione y reiltys ayns 1961.
* [[Illiam Dhone]], va ec kione irree magh noi reill Sostnagh er yn Ellan. Hug ad baase er ayns 1663.
* [[Nigel Kneale]], screeudeyr-film far-skeealyn sheanse as scoagh.
<!--- Cha lhisagh agh beggan beg sleih feer scanshoil ve ayns shoh. Cur-shiu nyn enmyn er nyn duillag hene hoshiaght-->
=== Haink dys yn Ellan ===
* [[Jeremy Clarkson]], earisheyr as fer çhellveeish.
* [[Neil Hodgson]], reih Superbike as World Superbike 2003.
* [[Norman Wisdom|Sir Norman Wisdom]], cloiedeyr as fer aitt.
* [[John Rhys Davies]], cloiedeyr.
* [[Andy Kershaw]], DJ.
<!--- Cha lhisagh agh beggan beg sleih feer scanshoil ve ayns shoh. Cur-shiu nyn enmyn er nyn duillag hene hoshiaght-->
== Artyn elley ==
[[Gaelg]], [[Tinvaal]], [[Ned Maddrell]], [[Colleish Ree Illiam]], [[Reiltys Vannin]], [[Kiare as Feed]], [[Coonseil Slattyssagh Vannin]], [[Mec Vannin]].
== Jeeagh er neesht ==
{{collooghyn |width=300px |gap=10px
|col1 =
* [[Gaelg]]
* [[Kayt Manninagh]]
|col2 =
* [[Baljyn Mannin]]
* [[Laa Tinvaal]]
* [[Rolley reeaghyn Vannin]]
|col3 =
* [[Rolley ashoonyn gyn lane seyrsnys]]
* [[Blaanid as beiyn Vannin]]
}}
==Noteyn==
{{notelist}}
== Imraaghyn ==
{{reflist}}
{{imraaghyntoshiaght}}
* Russel, G. 1988. Distribution and development of some Manx epiphyte populations. ''Helgolander Meeresunters.'' '''42''': 477 - 492.
{{imraaghynjerrey}}
== Kianglaghyn magh ==
* [http://www.isleofman.com/ isleofman.com] Mannin er-voggyl.
* [http://www.iomguide.com/ Isle of Man Guide] Oayllys lhean da Mannin.
* [http://www.gov.im Manx Government] Reiltys Vannin, as ram cooishyn bea Manninagh.
* [http://www.manxscenes.com/ Manx Scenes.com] Lioar-hasht lhean caslys-soilshagh.
* [http://www.virtualiom.com/ Isle of Man Tour] Jallooyn 360 keimyn jeh Mannin.
* [https://web.archive.org/web/20080304093626/http://www.manxviews.com/ Manxviews] Ny smoo na 1300 jallooyn Manninagh.
{{Co-rheynnyn y Reeriaght Unnaneysit}}
{{Celtee}}
{{gurneil eaghtyrys}}
[[Ronney:Mannin| ]]
[[Ronney:Ellanyn Vannin]]
[[Ronney:Ellanyn Goaldagh]]
[[Ronney:Ny h-Ellanyn Goaldagh]]
[[Ronney:Çheeraghyn as thallooyn Celtiagh]]
[[Ronney:Croghaneyn-crooin]]
[[Ronney:Croghaneyn yn Oarpey]]
[[Ronney:Eear-choloinyn Norlynnagh]]
[[Ronney:Çheeraghyn ellanagh]]
320m5i5p7pg573o11jo6oskebw2vh3z
Yn Cholombey
0
1852
388619
359861
2026-08-09T09:22:49Z
Martin Macha 2111
16409
/* */
388619
wikitext
text/x-wiki
{{Kishtey fys çheer
|ennym_dooghyssagh = Pobblaght y Cholombey
|ennym_foddey_cadjincliaghtagh= {{nobold|República de Colombia {{small|([[Spaainish]])}}}}
|ennym_gienneydagh = y Cholombey
|jalloo_brattagh = Flag of Colombia.svg
|jalloo_cleinney = Coat of arms of Colombia.svg
|jalloo_caslys = COL orthographic (San Andrés and Providencia special).svg
|jarroo-raa = {{lang|es|"Libertad y Orden"}}<br/>"Seyrsnys as Oardagh"
|arrane_ashoonagh = {{lang|es|''[[Arrane Ashoonagh y Cholombey|Himno Nacional de la República de Colombia]]''}}<br />"Arrane Ashoonagh Phobblaght y Cholombey"{{parabr}}{{center|[[Coadan:United States Navy Band - ¡Oh, gloria inmarcesible!.ogg]]}}
|çhengaghyn_oikoil = [[Spaainish]]
|çhengaghyn_ardjynagh = [[Creeole San Andrés–Providencia|Creeole Baarlagh]] (ayns [[San Andrés as Providencia]])<ref>{{cite web |title=Por la cual se dictan normas especiales para la organización y el funcionamiento del Departamento Archipiélago de San Andrés, Providencia y Santa Catalina. |url=http://www.secretariasenado.gov.co/senado/basedoc/ley_0047_1993.html |access-date=18 Jerrey Fouyir 2023 |quote=ARTÍCULO 42. IDIOMA Y LENGUA OFICIAL EN EL DEPARTAMENTO ARCHIPIELAGO. Son oficiales en el Departamento Archipiélago de San Andrés, Providencia y Santa Catalina el castellano y el inglés comunmente hablado por las comunidades nativas del Archipiélago. |archive-date=5 Sauin 2023 |archive-url=https://web.archive.org/web/20231105153804/http://www.secretariasenado.gov.co/senado/basedoc/ley_0047_1993.html |url-status=live }}</ref><br>[[Çhengaghyn y Cholombey|64 çhengey elley]]{{efn|Ga dy vel Bunraght y Cholombey genmyssey yn Spaainish (''Castellano'') myr y [[çhengey oikoil]] feie slane thalloo yn Cholombey, ta staydys oikoil ec ny çhengaghyn elley ta loayrit ec dagh fer jeh ny possanyn kynneeagh ayn.<ref>
Rere [[Bunraght y Cholombey]] veih'n vlein 1991 (Enmys I – Bentyn rish ny Bun-leeideilee – Art 10)</ref> ta staydys oikoil ec y Vaarle chammah ayns [[ellanragh San Andrés, Providencia, as Santa Catalina]].<ref name="LEY47DE1993">{{cite web|url=http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=2780|title=LEY 47 DE 1993|publisher=alcaldiabogota.gov.co|language=es|access-date=23 Toshiaght Arree 2014|archive-date=11 Jerrey Geuree 2012|archive-url=https://web.archive.org/web/20120111165257/http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=2780|url-status=live}}</ref>}}
|possanyn_kynneeagh =
|preeu-valley = [[Bogotá]]
|latd=4 |latm=39 |latNS=N |longd=74 |longm=03 |longEW=W |latNSgael=Hwoaie |longEWgael=Heear
|balley_smoo = preeu-valley
|sorçh_reiltys = [[Corys eaghtyraneagh|Pobblaght eaghtyraneagh]] unnaneagh
|enmys1_fer-toshee = [[Eaghtyrane y Cholombey|Eaghtyrane]]
|ennym1_fer-toshee = [[Abelardo de la Espriella]]
|enmys2_fer-toshee = [[Lhiass-eaghtyrane y Cholombey|Lhiass-eaghtyrane]]
|ennym2_fer-toshee = [[José Manuel Restrepo]]
|eaghtyr_km2 = 1,141,748
|eaghtyr_mi_ker = 440,839
|eaghtyr_rhenk = 26oo
|ushtey_sy_cheead = 8.8
|pobble_ooley = 44,087,000
|blein_ooley_pobble = 2008
|rhenk_ooley_pobble = 29oo
|pobble_coontey = {{WD Earroo yn Phobble}}
|blein_coontey_pobble =
|rhenk_coontey_pobble =
|glooaght_pobble_km2 = 40
|glooaght_pobble_mi_ker = 104
|rhenk_glooaght_pobble = 161d
|blein_LTS_CCK = 2005
|LTS_CCK = $337.286 billioon
|rhenk_LTS_CCK = 29-oo
|LTS_CCK_yn_dooinney = $6,724
|rhenk_LTS_CCK_yn_dooinney = 81-d
|LTS_ennymagh =
|rhenk_LTS_ennymagh =
|blein_LTS_ennymagh =
|LTS_ennymagh_yn_dooinney =
|rhenk_LTS_ennymagh_yn_dooinney =
|Gini = 52
|blein_Gini = 2006
|ronney_Gini = <span style="color:red;">ard</span>
|blein_ALD = 2007
|ALD = {{bishaghey}} 0.791
|rhenk_ALD = 75-oo
|ronney_ALD = <span style="color:#ffcc00;">meanagh</span>
|sorçh_kiondeeaght = Seyrsnys
|note_kiondeeaght = veih'n [[Yn Spaainey|Spaainey]]
| taghyrt1_bunnit = [[Caggey Neuchrogheydys y Cholombey|Fogrit magh]]
| date1_bunnit = 20 Jerrey Souree 1810
| taghyrt2_bunnit = [[Yn Cholombey Vooar|Ennit]]
| date2_bunnit = 7 Luanistyn 1819
| taghyrt3_bunnit = Goaill magh y [[Yn Phanamaa|Phanamaa]]
| date3_bunnit = 6 Sauin 1903
| taghyrt4_bunnit = {{nowrap|[[Bunraght y Cholombey, 1991|Bunraght roie]]}}
| date4_bunnit = 4 Jerrey Souree 1991
|argid = [[Peso yn Cholombey]]
|coad_argid = COP
|traa_ynnydagh =
|ashchur_utc = -5
|traa_ynnydagh_TTLS =
|ashchur_utc_TTLS =
|cctld = [[.co]]
|coad_çhellvane = 57
|fo-note1 =
}}
She çheer ayns [[America Yiass]] ee '''yn Cholombey'''. T'ee çhemmit liorish [[yn Phanamaa|y Phanamaa]] da'n sheear hwoaie, [[Yn Keayn Sheear|y Cheayn Sheear]] da'n twoaie, [[Yn Veneswaaley|y Veneswaaley]] da'n shiar, liorish [[Yn Vrasseel|y Vrasseel]] da'n shiar yiass, liorish [[Yn Pheroo|y Pheroo]] as [[Ecuador]] da'n jiass, as liorish [[Yn Keayn Sheealtagh|y Cheayn Sheealtagh]] da'n sheear. She [[Bogotá]] yn [[preeu-valley]].
==Noteyn==
{{notelist}}
==Imraaghyn==
{{reflist}}
{{Yn Americkey Yiass}}
{{Gurneil eaghtyrys}}
{{Coord|4|N|72|W|display=title}}
{{DEFAULTSORT:Cholombey, Yn}}
{{bun}}
[[Ronney:Yn Cholombey| ]]
[[Ronney:Yn Boodeeys Andeeagh]]
[[Ronney:Pobblaghtyn bunraghtoil]]
[[Ronney:Çheeraghyn America Yiass]]
[[Ronney:Eear-choloinyn Spaainagh]]
[[Ronney:Çheeraghyn-oltey ny h-Ashoonyn Unnaneysit]]
[[Ronney:Çheeraghyn-oltey yn RCTL]]
[[Ronney:Pobblaghtyn]]
[[Ronney:Steatyn as thallooyn bunnit 'sy vlein 1810]]
cbk6ujdwlamej068lvp797x1ain18er
Clowan:-
10
2132
388615
196969
2026-08-09T01:06:39Z
PK2
2039
Redirected page to [[Clowan:Glenney]]
388615
wikitext
text/x-wiki
#REDIRECT [[Clowan:Glenney]]
iqx0al878k5yteu47o7c8taxp1bmxra
Ymmydeyr:MacTire02
2
2593
388616
301816
2026-08-09T02:30:34Z
MacTire02
219
++
388616
wikitext
text/x-wiki
<div style="border:1px solid #a2a9b1; border-radius:12px; overflow:hidden; background:#fff; max-width:1000px; margin:auto;">
<table style="width:100%; height:180px; border-collapse:collapse; margin-bottom:20px; background:#CF142B;">
<tr>
<td style="width:65%; background:#CF142B; color:white; padding:30px; vertical-align:middle;">
<div style="font-size:32px; font-weight:bold;">Failt ort gys my ghuillag!</div>
</td>
<td style="width:35%; background:#CF142B; padding:0; vertical-align:middle; text-align:center;">
[[Coadan:The armoured triskelion on the flag of the Isle of Man.svg|frameless|center|150px|upright=1.5]]
</td>
</tr>
</table>
<div style="padding:20px 25px;">
<div style="display:flex; flex-wrap:wrap; gap:12px; margin-bottom:22px;">
<div style="flex:1 1 280px; min-width:250px; border:1px solid #a2a9b1; border-radius:8px; padding:16px; background:#f8f9fa;">
<div style="font-size:20px; font-weight:bold;">💬 Duillag resoonaght</div>
<p>Ta mee cur failt er feyshtyn, faaueyn, co-obbraghey, as resoonaght.</p>
<div style="text-align:center; margin-top:12px;">
<span style="font-size:16px;">'''[[Resooney_ymmydeyr:{{PAGENAME}}|Jeeagh er my ghuillag resoonaght]]'''</span>
</div>
</div>
<div style="flex:1 1 280px; min-width:250px; border:1px solid #a2a9b1; border-radius:8px; padding:16px; background:#f8f9fa;">
<div style="font-size:20px; font-weight:bold;">➕ Bun-chooish noa</div>
<p>Cor toshiaght rish resoonaght noa er my ghuillag resoonaght.</p>
<div style="text-align:center; margin-top:12px;">
<span style="font-size:16px;">'''[{{fullurl:Resooney_ymmydeyr:{{PAGENAME}}|action=edit§ion=new}} Cur bun-chooish noa rish]'''</span>
</div>
</div>
</div>
<div style="border-bottom:2px solid #2c3e50; margin:25px 0 15px;">
<span style="font-size:23px; font-weight:bold;">My chishtaghyn geinee</span>
</div>
<div style="display:flex; flex-wrap:wrap; gap:12px;">
<div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;">
'''[[Ymmydeyr:MacTire02/kishtey geinnee01|Ard-chishtey geinee]]'''<br />
<span style="color:#54595d;">My phlannyn</span>
</div>
<div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;">
'''[[Ymmydeyr:MacTire02/kishtey geinnee02|Kishtey geinnee 2]]'''<br />
<span style="color:#54595d;">Lhiasaghey as ronsaght cour artyn</span>
</div>
<div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;">
'''[[Ymmydeyr:MacTire02/kishtey geinnee03|Kishtey geinnee 3]]'''<br />
<span style="color:#54595d;">Tooilley shaleeyn</span>
</div>
</div>
<div style="border-bottom:2px solid #2c3e50; margin:28px 0 15px;">
<span style="font-size:23px; font-weight:bold;">Obbyr Wikipedia</span>
</div>
<div style="display:flex; flex-wrap:wrap; gap:12px;">
<div style="flex:1 1 250px; border:1px solid #c8ccd1; border-radius:8px; padding:14px;">
'''[[Er_lheh:Contributions/MacTire02|My chohoyrtyssyn]]'''<br />
<span style="color:#54595d;">Artyn, reaghaghyn, as cohoyrtyssyn elley aym</span>
</div>
<div style="flex:1 1 250px; border:1px solid #c8ccd1; border-radius:8px; padding:14px;">
'''[[Special:PrefixIndex/User:MacTire02/|My ghuillagyn ymmydeyr]]'''<br />
<span style="color:#54595d;">Ronsee my ghuillagyn ymmydeyr</span>
</div>
</div>
<div style="border-bottom:2px solid #2c3e50; margin:28px 0 15px;">
<span style="font-size:23px; font-weight:bold;">Ny ta mee gobbraghey er ec y traa t'ayn</span>
</div>
* Boayl-enmyn Manninagh
* Çheer-oaylleeaght Vannin
* Shennaghys as shenndaaleeaght Vannin
* Lhiasaghey clowanyn as moddylyn er y Wiki shoh
* Rang-oardraghey ny h-artyn
<div style="margin-top:30px; padding-top:12px; border-top:1px solid #c8ccd1; color:#54595d; font-size:13px; text-align:center;">
'''Shoh duillag ymmydeyr persoonagh.''' ·
[[Resooney_ymmydeyr:{{PAGENAME}}|Resoonaght]] ·
[{{fullurl:Resooney_ymmydeyr:{{PAGENAME}}|action=edit§ion=new}} Bun-chooish noa] ·
[[Er_lheh:Contributions/{{PAGENAME}}|Cohoyrtyssyn]]
</div>
</div>
</div>
ilio5sqau000tbv06np3kjhs4pccuij
388617
388616
2026-08-09T02:31:05Z
MacTire02
219
lettyraghey
388617
wikitext
text/x-wiki
<div style="border:1px solid #a2a9b1; border-radius:12px; overflow:hidden; background:#fff; max-width:1000px; margin:auto;">
<table style="width:100%; height:180px; border-collapse:collapse; margin-bottom:20px; background:#CF142B;">
<tr>
<td style="width:65%; background:#CF142B; color:white; padding:30px; vertical-align:middle;">
<div style="font-size:32px; font-weight:bold;">Failt ort gys my ghuillag!</div>
</td>
<td style="width:35%; background:#CF142B; padding:0; vertical-align:middle; text-align:center;">
[[Coadan:The armoured triskelion on the flag of the Isle of Man.svg|frameless|center|150px|upright=1.5]]
</td>
</tr>
</table>
<div style="padding:20px 25px;">
<div style="display:flex; flex-wrap:wrap; gap:12px; margin-bottom:22px;">
<div style="flex:1 1 280px; min-width:250px; border:1px solid #a2a9b1; border-radius:8px; padding:16px; background:#f8f9fa;">
<div style="font-size:20px; font-weight:bold;">💬 Duillag resoonaght</div>
<p>Ta mee cur failt er feyshtyn, faaueyn, co-obbraghey, as resoonaght.</p>
<div style="text-align:center; margin-top:12px;">
<span style="font-size:16px;">'''[[Resooney_ymmydeyr:{{PAGENAME}}|Jeeagh er my ghuillag resoonaght]]'''</span>
</div>
</div>
<div style="flex:1 1 280px; min-width:250px; border:1px solid #a2a9b1; border-radius:8px; padding:16px; background:#f8f9fa;">
<div style="font-size:20px; font-weight:bold;">➕ Bun-chooish noa</div>
<p>Cur toshiaght rish resoonaght noa er my ghuillag resoonaght.</p>
<div style="text-align:center; margin-top:12px;">
<span style="font-size:16px;">'''[{{fullurl:Resooney_ymmydeyr:{{PAGENAME}}|action=edit§ion=new}} Cur bun-chooish noa rish]'''</span>
</div>
</div>
</div>
<div style="border-bottom:2px solid #2c3e50; margin:25px 0 15px;">
<span style="font-size:23px; font-weight:bold;">My chishtaghyn geinee</span>
</div>
<div style="display:flex; flex-wrap:wrap; gap:12px;">
<div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;">
'''[[Ymmydeyr:MacTire02/kishtey geinnee01|Ard-chishtey geinee]]'''<br />
<span style="color:#54595d;">My phlannyn</span>
</div>
<div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;">
'''[[Ymmydeyr:MacTire02/kishtey geinnee02|Kishtey geinnee 2]]'''<br />
<span style="color:#54595d;">Lhiasaghey as ronsaght cour artyn</span>
</div>
<div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;">
'''[[Ymmydeyr:MacTire02/kishtey geinnee03|Kishtey geinnee 3]]'''<br />
<span style="color:#54595d;">Tooilley shaleeyn</span>
</div>
</div>
<div style="border-bottom:2px solid #2c3e50; margin:28px 0 15px;">
<span style="font-size:23px; font-weight:bold;">Obbyr Wikipedia</span>
</div>
<div style="display:flex; flex-wrap:wrap; gap:12px;">
<div style="flex:1 1 250px; border:1px solid #c8ccd1; border-radius:8px; padding:14px;">
'''[[Er_lheh:Contributions/MacTire02|My chohoyrtyssyn]]'''<br />
<span style="color:#54595d;">Artyn, reaghaghyn, as cohoyrtyssyn elley aym</span>
</div>
<div style="flex:1 1 250px; border:1px solid #c8ccd1; border-radius:8px; padding:14px;">
'''[[Special:PrefixIndex/User:MacTire02/|My ghuillagyn ymmydeyr]]'''<br />
<span style="color:#54595d;">Ronsee my ghuillagyn ymmydeyr</span>
</div>
</div>
<div style="border-bottom:2px solid #2c3e50; margin:28px 0 15px;">
<span style="font-size:23px; font-weight:bold;">Ny ta mee gobbraghey er ec y traa t'ayn</span>
</div>
* Boayl-enmyn Manninagh
* Çheer-oaylleeaght Vannin
* Shennaghys as shenndaaleeaght Vannin
* Lhiasaghey clowanyn as moddylyn er y Wiki shoh
* Rang-oardraghey ny h-artyn
<div style="margin-top:30px; padding-top:12px; border-top:1px solid #c8ccd1; color:#54595d; font-size:13px; text-align:center;">
'''Shoh duillag ymmydeyr persoonagh.''' ·
[[Resooney_ymmydeyr:{{PAGENAME}}|Resoonaght]] ·
[{{fullurl:Resooney_ymmydeyr:{{PAGENAME}}|action=edit§ion=new}} Bun-chooish noa] ·
[[Er_lheh:Contributions/{{PAGENAME}}|Cohoyrtyssyn]]
</div>
</div>
</div>
gc68her7lye4l944ujtb88kboa0zrdi
RMS Lusitania
0
5380
388404
350030
2026-08-08T15:21:14Z
MacTire02
219
ronney elley
388404
wikitext
text/x-wiki
{{DISPLAYTITLE:RMS ''Lusitania''}}
{{WD Kishtey Fys Saagh
|capacitat = 3,125 troailtee
}}
She [[laineyr faarkey]] va'n '''RMS Lusitania''' (va enmyssit ass y [[Lusitania|wheiggey Raueagh 'syn Oarpey Heear]] ta co-reggyrt rish y Phortiugal noa-emshyragh). V'eh launshit liorish y [[Cunard Line]] ayns 1906 as dreill eh yn [[Rybban Gorrym]] da'n çhiaulley Atlantagh s'tappee ayns 1908. Feie tammylt giare, v'eh ny lhong hroailtagh smoo er y theihll derrey va troggalys y ''[[RMS Mauretania (1906)|Mauretania]]'' jeant tree meeghyn ny s'anmey. Va'n ''Lusitania'' baiht er e 202h varrinys tessen y Cheayn Sheear, er 7 Boaldyn 1915, liorish [[SM U-20 (y Ghermaan)|U-baatey]] Germaanagh 11 veeilley (18 km) magh veih [[an Seancheann]], Nerin, raad va 1,199 troailtee as skimmee marrooit.<ref>{{cite web |title=The Lusitania Resource: Lusitania Passengers & Crew, Facts & History |url=http://www.rmslusitania.info |url-status=live |archive-url=https://web.archive.org/web/20190708151740/http://www.rmslusitania.info/ |archive-date=8 Jerrey Souree 2019 |access-date=3 Mean Souree 2016 |publisher=Rmslusitania.info |ref={{sfnref|The Lusitania Resource}}}}</ref>
==Imraaghyn==
{{rolleyimraaghyn}}
==Kianglaghyn magh==
{{Commons category|Lusitania (ship, 1906, Clydebank)|RMS Lusitania (1906, Clydebank)}}
*[http://www.encyclopedia-titanica.org/lest-we-forget-the-lusitania.html ''Lest We Forget: The'' Lusitania – veih Encyclopedia Titanica]
*[https://www.pbs.org/lostliners/lusitania.html ''RMS'' Lusitania], Public Broadcasting Service (PBS)
*[https://www.youtube.com/watch?v=qluFYy2iiac ''Sinking of the'' Lusitania (1918)]
{{Gurneil eaghtyrys}}
{{DEFAULTSORT:Lusitania}}
[[Ronney:RMS Lusitania| ]]
[[Ronney:Lhongyn veih'n vlein1906]]
[[Ronney:Shellooderyn y Rybban Gorrym]]
[[Ronney:Streeughyn 'sy vlein 1915]]
[[Ronney:Sheinyssyn co-chialg]]
[[Ronney:Laineyryn kiare funnylyn]]
[[Ronney:Taghyrtyn marrey 'sy vlein 1915]]
[[Ronney:Taghyrtyn marrey ayns Nerin]]
[[Ronney:Lhongyn troailtagh y Reeriaght Unnaneysit]]
[[Ronney:Lhongyn troggit er Awin y Chleayee]]
[[Ronney:Lhongyn ny h-Albey]]
[[Ronney:Lhongyn y Cunard Line]]
[[Ronney:Lhongyn va baiht liorish fovooiraneyn Germaanagh 'sy Chied Chaggey Dowanagh]]
[[Ronney:Mooirçhooraghyn Nerin]]
[[Ronney:Mooirçhooraghyn y Chied Chaggey Dowanagh 'sy Cheayn Sheear]]
3clocgnhaqomd1zilp0evgy2q1ggmh0
388405
388404
2026-08-08T15:21:24Z
MacTire02
219
lettyraghey
388405
wikitext
text/x-wiki
{{DISPLAYTITLE:RMS ''Lusitania''}}
{{WD Kishtey Fys Saagh
|capacitat = 3,125 troailtee
}}
She [[laineyr faarkey]] va'n '''RMS Lusitania''' (va enmyssit ass y [[Lusitania|wheiggey Raueagh 'syn Oarpey Heear]] ta co-reggyrt rish y Phortiugal noa-emshyragh). V'eh launshit liorish y [[Cunard Line]] ayns 1906 as dreill eh yn [[Rybban Gorrym]] da'n çhiaulley Atlantagh s'tappee ayns 1908. Feie tammylt giare, v'eh ny lhong hroailtagh smoo er y theihll derrey va troggalys y ''[[RMS Mauretania (1906)|Mauretania]]'' jeant tree meeghyn ny s'anmey. Va'n ''Lusitania'' baiht er e 202h varrinys tessen y Cheayn Sheear, er 7 Boaldyn 1915, liorish [[SM U-20 (y Ghermaan)|U-baatey]] Germaanagh 11 veeilley (18 km) magh veih [[an Seancheann]], Nerin, raad va 1,199 troailtee as skimmee marrooit.<ref>{{cite web |title=The Lusitania Resource: Lusitania Passengers & Crew, Facts & History |url=http://www.rmslusitania.info |url-status=live |archive-url=https://web.archive.org/web/20190708151740/http://www.rmslusitania.info/ |archive-date=8 Jerrey Souree 2019 |access-date=3 Mean Souree 2016 |publisher=Rmslusitania.info |ref={{sfnref|The Lusitania Resource}}}}</ref>
==Imraaghyn==
{{rolleyimraaghyn}}
==Kianglaghyn magh==
{{Commons category|Lusitania (ship, 1906, Clydebank)|RMS Lusitania (1906, Clydebank)}}
*[http://www.encyclopedia-titanica.org/lest-we-forget-the-lusitania.html ''Lest We Forget: The'' Lusitania – veih Encyclopedia Titanica]
*[https://www.pbs.org/lostliners/lusitania.html ''RMS'' Lusitania], Public Broadcasting Service (PBS)
*[https://www.youtube.com/watch?v=qluFYy2iiac ''Sinking of the'' Lusitania (1918)]
{{Gurneil eaghtyrys}}
{{DEFAULTSORT:Lusitania}}
[[Ronney:RMS Lusitania| ]]
[[Ronney:Lhongyn veih'n vlein 1906]]
[[Ronney:Shellooderyn y Rybban Gorrym]]
[[Ronney:Streeughyn 'sy vlein 1915]]
[[Ronney:Sheinyssyn co-chialg]]
[[Ronney:Laineyryn kiare funnylyn]]
[[Ronney:Taghyrtyn marrey 'sy vlein 1915]]
[[Ronney:Taghyrtyn marrey ayns Nerin]]
[[Ronney:Lhongyn troailtagh y Reeriaght Unnaneysit]]
[[Ronney:Lhongyn troggit er Awin y Chleayee]]
[[Ronney:Lhongyn ny h-Albey]]
[[Ronney:Lhongyn y Cunard Line]]
[[Ronney:Lhongyn va baiht liorish fovooiraneyn Germaanagh 'sy Chied Chaggey Dowanagh]]
[[Ronney:Mooirçhooraghyn Nerin]]
[[Ronney:Mooirçhooraghyn y Chied Chaggey Dowanagh 'sy Cheayn Sheear]]
b916ucnm9flr7lbjjzf54uyrxdw0t7g
Ronney:Jee-vunneeaghtyn 'sy vlein 1922
14
6599
388383
333524
2026-08-08T15:07:36Z
MacTire02
219
++
388383
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Jerraghyn 'sy vlein 1922]]
[[Ronney:Jee-vunneeaghtyn ayns ny 1920yn| 2]]
[[Ronney:Jee-vunneeaghtyn rere blein|1922]]
t2b2zgv736vjrjn7ucxl1wt0wkuondo
Ronney:Jee-vunneeaghtyn ayns ny 1920yn
14
6600
388385
333527
2026-08-08T15:08:11Z
MacTire02
219
+clowan
388385
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Jee-vunneeaghtyn 'sy 20oo eash| 2]]
[[Ronney:Jerraghyn ayns ny 1920yn]]
[[Ronney:Jee-vunneeaghtyn rere jeihaght|1920]]
[[Ronney:Taghyrtyn ayns ny 1920yn]]
n7ef5xpfo59qwrjf4penujlpemz093r
388386
388385
2026-08-08T15:08:27Z
MacTire02
219
-ronney
388386
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Jee-vunneeaghtyn 'sy 20oo eash| 2]]
[[Ronney:Jerraghyn ayns ny 1920yn]]
[[Ronney:Jee-vunneeaghtyn rere jeihaght|1920]]
t49bgk6qg1vo2etsn1o64a4jibhp44h
Ronney:1320yn
14
7512
388315
280805
2026-08-08T12:51:29Z
MacTire02
219
+clowan
388315
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:14oo eash| 2]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1320s|1320yn}}
8vck6hqhidmodny5xoie0flbzw05iwy
Ronney:Jee-vunneeaghtyn 'sy vlein 1521
14
7514
388377
284562
2026-08-08T15:04:05Z
MacTire02
219
+clowan
388377
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:1521]]
[[Ronney:Jee-vunneeaghtyn ayns ny 1520yn| 1]]
9ps0b0tnxluhpa526doqrnksutd9b05
388378
388377
2026-08-08T15:04:35Z
MacTire02
219
+ronney
388378
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:1521]]
[[Ronney:Jee-vunneeaghtyn ayns ny 1520yn| 1]]
[[Ronney:Jee-vunneeaghtyn rere blein|1521]]
4v8ekvwjxq788hcal5918kwm2nkx94h
Ronney:1740yn
14
10100
388354
280947
2026-08-08T12:59:08Z
MacTire02
219
+clowan
388354
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1740s|1740yn}}
[[Ronney:18oo eash| 4]]
[[Ronney:Jeihaghtyn]]
raoynur7eaovt0bpcdo4t51tn2rgv1h
Ronney:1840yn
14
10103
388365
280950
2026-08-08T13:05:46Z
MacTire02
219
+clowan
388365
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1840s|1840yn}}
[[Ronney:19oo eash| 4]]
[[Ronney:Jeihaghtyn]]
6lty52ffhqwpu574mjc8jw687rkx7ee
Ronney:1100yn
14
10124
388301
349742
2026-08-08T12:48:56Z
MacTire02
219
+clowan
388301
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1100s|1100yn}}
[[Ronney:12h eash| 0]]
[[Ronney:Jeihaghtyn]]
2tubovlcacuekdv5qhsex33dt6j9tvj
Ronney:1520yn
14
11503
388332
278373
2026-08-08T12:55:10Z
MacTire02
219
+clowan
388332
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1520s|1520yn}}
[[Ronney:16oo eash| 2]]
[[Ronney:Jeihaghtyn]]
2tpoq7ynk1cc63fd2uwabt5ewbio1tj
Ronney:1920yn
14
11504
388369
352112
2026-08-08T13:06:35Z
MacTire02
219
+clowan
388369
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1920s|1920yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:20oo eash| 2]]
[[Ronney:Yn earish eddyr-chaggee]]
2sf9onlxr19ioz42ikdp52leqmfrizl
Ronney:1950yn
14
11766
388370
278238
2026-08-08T13:07:15Z
MacTire02
219
+clowan
388370
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1950s|1950yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:20oo eash| 5]]
4t1fthepv38hj566ky3rmspk2l8nojf
Ronney:1680yn
14
11768
388348
276209
2026-08-08T12:57:51Z
MacTire02
219
+clowan
388348
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1680s|1680yn}}
[[Ronney:17oo eash| 8]]
[[Ronney:Jeihaghtyn]]
rbj7dwwz3b21wch4j8yh5chd3f0m02d
Ronney:1670yn
14
13014
388347
278384
2026-08-08T12:57:39Z
MacTire02
219
+clowan
388347
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1670s|1670yn}}
[[Ronney:17oo eash| 7]]
[[Ronney:Jeihaghtyn]]
jn4uqwt5tqiy5fqqjcl51h9usjpktl6
Ronney:1020yn
14
13030
388296
278390
2026-08-08T12:47:57Z
MacTire02
219
+clowan
388296
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1020s|1020yn}}
[[Ronney:11d eash| 20]]
[[Ronney:Jeihaghtyn]]
2yt6d5why3u11y8evkrt549pfga84jq
Ronney:1030yn
14
13032
388297
278392
2026-08-08T12:48:06Z
MacTire02
219
+clowan
388297
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1030s|1030yn}}
[[Ronney:11d eash| 3]]
[[Ronney:Jeihaghtyn]]
n7ba419kzbcjryc2xlmyu948us49swa
Ronney:1260yn
14
13036
388312
278394
2026-08-08T12:50:55Z
MacTire02
219
+clowan
388312
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:13oo eash| 6]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1260s|1260yn}}
55zu6m2eimgp804ubwyoqzvsgre1x8f
Ronney:1450yn
14
13040
388328
278396
2026-08-08T12:54:16Z
MacTire02
219
+clowan
388328
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1450s|1450yn}}
[[Ronney:15oo eash| 5]]
[[Ronney:Jeihaghtyn]]
fy5imt51h95syw7xy13icsa935kkvyv
Ronney:1830yn
14
13051
388364
281990
2026-08-08T13:05:37Z
MacTire02
219
+clowan
388364
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1830s|1830yn}}
[[Ronney:19oo eash| 3]]
[[Ronney:Jeihaghtyn]]
ka90g7kruhniyzwu2f2si441mvrvaad
Ronney:1530yn
14
13072
388333
278400
2026-08-08T12:55:23Z
MacTire02
219
+clowan
388333
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1530s|1530yn}}
[[Ronney:16oo eash| 3]]
[[Ronney:Jeihaghtyn]]
h4it88xt3t4wy6mgvtvpfgj2b8vhgfe
Ronney:1600yn
14
13076
388340
281991
2026-08-08T12:56:30Z
MacTire02
219
+clowan
388340
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1600s|1600yn}}
[[Ronney:17oo eash| 0]]
[[Ronney:Jeihaghtyn]]
gx9sm7wixakn0nbitupc7d2uqb0jf0p
Ronney:1620yn
14
13080
388342
281992
2026-08-08T12:56:49Z
MacTire02
219
+clowan
388342
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1620s|1620yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:17oo eash| 2]]
hhhw4y6anf7fsdo7w5fo85d4tz4bl0s
Ronney:1720yn
14
13084
388352
278406
2026-08-08T12:58:45Z
MacTire02
219
+clowan
388352
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1720s|1720yn}}
[[Ronney:18oo eash| 2]]
[[Ronney:Jeihaghtyn]]
eplh7ov01kvv385a32mcpfzgmylmufc
Ronney:1730yn
14
13086
388353
278408
2026-08-08T12:58:58Z
MacTire02
219
+clowan
388353
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1730s|1730yn}}
[[Ronney:18oo eash| 3]]
[[Ronney:Jeihaghtyn]]
q2kzo279jo9hnrpxxhusbdhbl26wsqp
Ronney:1750yn
14
13089
388355
278411
2026-08-08T12:59:25Z
MacTire02
219
+clowan
388355
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1750s|1750yn}}
[[Ronney:18oo eash| 5]]
[[Ronney:Jeihaghtyn]]
cewek79akiutwiga4am2wu8s5dd18h5
Ronney:1760yn
14
13091
388356
278413
2026-08-08T12:59:34Z
MacTire02
219
+clowan
388356
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1760s|1760yn}}
[[Ronney:18oo eash| 6]]
[[Ronney:Jeihaghtyn]]
qiz2s6kjhrse1l7vsndpj2uqy09f0ua
Ronney:1770yn
14
13093
388357
278415
2026-08-08T12:59:45Z
MacTire02
219
+clowan
388357
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1770s|1770yn}}
[[Ronney:18oo eash| 7]]
[[Ronney:Jeihaghtyn]]
o5ohscdsku0here9df7evgx7ssmuqhb
Ronney:1780yn
14
13095
388361
278417
2026-08-08T13:04:55Z
MacTire02
219
+clowan
388361
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1780s|1780yn}}
[[Ronney:18oo eash| 8]]
[[Ronney:Jeihaghtyn]]
p30fixwd69hblgaaza7lwg5aufejtay
Ronney:1790yn
14
13097
388362
278418
2026-08-08T13:05:04Z
MacTire02
219
+clowan
388362
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1790s|1790yn}}
[[Ronney:18oo eash| 9]]
[[Ronney:Jeihaghtyn]]
0eli4pw4mvguns65hh77kdw3ue6v3c0
Ronney:1820yn
14
13102
388363
278423
2026-08-08T13:05:28Z
MacTire02
219
+clowan
388363
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1820s|1820yn}}
[[Ronney:19oo eash| 2]]
[[Ronney:Jeihaghtyn]]
abz1rz0yzkjc7cg0k1tq903kmez1eoi
Ronney:1850yn
14
13105
388366
278426
2026-08-08T13:05:56Z
MacTire02
219
+clowan
388366
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1850s|1850yn}}
[[Ronney:19oo eash| 5]]
[[Ronney:Jeihaghtyn]]
k5xmnk444kiirlhi9tbwagb92bx5hcu
Ronney:1860yn
14
13108
388367
278429
2026-08-08T13:06:05Z
MacTire02
219
+clowan
388367
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1860s|1860yn}}
[[Ronney:19oo eash| 6]]
[[Ronney:Jeihaghtyn]]
ehe1829qerdtj1ezj5zkmmmw4he4x7z
Ronney:1900yn
14
13119
388368
278264
2026-08-08T13:06:23Z
MacTire02
219
+clowan
388368
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1900s|1900yn}}
[[Ronney:20oo eash| 0]]
[[Ronney:Jeihaghtyn]]
27l8k5txa830bqlxrve0mjoavf4kaut
Ronney:1000yn
14
13170
388295
281993
2026-08-08T12:47:47Z
MacTire02
219
+clowan
388295
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:11d eash| 0]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1000s|1000yn}}
qdejh1d07a3ua0nfn2l8t1zs4z8r47v
Ronney:1090yn
14
13173
388300
278416
2026-08-08T12:48:46Z
MacTire02
219
+clowan
388300
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:11d eash| 9]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1090s|1090yn}}
d17b74y2f013ob2ja77piov454kydt1
Ronney:1060yn
14
13174
388298
281025
2026-08-08T12:48:18Z
MacTire02
219
+clowan
388298
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:11d eash| 6]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1060s|1060yn}}
hwahaxzr456okv2ai1etlq1z640owlf
Ronney:1590yn
14
13195
388339
281994
2026-08-08T12:56:21Z
MacTire02
219
+clowan
388339
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1590s|1590yn}}
[[Ronney:16oo eash| 9]]
[[Ronney:Jeihaghtyn]]
188auecslet8eudemjbovm4ykfmnr0d
Ronney:1650yn
14
13199
388345
278424
2026-08-08T12:57:18Z
MacTire02
219
+clowan
388345
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1650s|1650yn}}
[[Ronney:17oo eash| 5]]
[[Ronney:Jeihaghtyn]]
9tj4mjk631204affhhgogacgzxxchgz
Ronney:1660yn
14
13220
388346
281027
2026-08-08T12:57:29Z
MacTire02
219
+clowan
388346
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1660s|1660yn}}
[[Ronney:17oo eash| 6]]
[[Ronney:Jeihaghtyn]]
b9t02agyvtw47ox6pr4ql70zxd1d6me
Ronney:1500yn
14
13248
388330
278435
2026-08-08T12:54:51Z
MacTire02
219
+clowan
388330
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:16oo eash| 0]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1500s|1500yn}}
pdgbshisrnwlky3a03t4sxzlqfiwbo1
Ronney:1550yn
14
13251
388335
281029
2026-08-08T12:55:42Z
MacTire02
219
+clowan
388335
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1550s|1550yn}}
[[Ronney:16oo eash| 5]]
[[Ronney:Jeihaghtyn]]
fxb4r2ijaqugfkc3ex100xrk6i852jh
Ronney:1690yn
14
13255
388349
281996
2026-08-08T12:58:08Z
MacTire02
219
+clowan
388349
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1690s|1690yn}}
[[Ronney:17oo eash| 9]]
[[Ronney:Jeihaghtyn]]
iclx08x30juv2auxw3oi1plwhicw67b
Ronney:1630yn
14
13256
388343
278436
2026-08-08T12:56:59Z
MacTire02
219
+clowan
388343
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1630s|1630yn}}
[[Ronney:17oo eash| 3]]
[[Ronney:Jeihaghtyn]]
0hxp1uhx7kzo1orrpqs924fz39ywsp1
Ronney:1700yn
14
13290
388350
278439
2026-08-08T12:58:23Z
MacTire02
219
+clowan
388350
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1700s|1700yn}}
[[Ronney:18oo eash| 0]]
[[Ronney:Jeihaghtyn]]
kar1p13v4lnrr48c306avcsrlrcu5xi
Ronney:1710yn
14
13291
388351
278440
2026-08-08T12:58:33Z
MacTire02
219
+clowan
388351
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1710s|1710yn}}
[[Ronney:18oo eash| 1]]
[[Ronney:Jeihaghtyn]]
m63s1hoh9psl9rp9uw8vq3wwik9dele
Ronney:1180yn
14
13388
388306
349737
2026-08-08T12:49:45Z
MacTire02
219
+clowan
388306
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1180s|1180yn}}
[[Ronney:12h eash| 8]]
[[Ronney:Jeihaghtyn]]
cruw9luqzoehxf55t23fgutl7jhk7wp
Ronney:1470yn
14
13543
388329
278447
2026-08-08T12:54:33Z
MacTire02
219
+clowan
388329
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1470s|1470yn}}
[[Ronney:15oo eash| 7]]
[[Ronney:Jeihaghtyn]]
698ljzoy4d97pu89v935dream83wfap
Ronney:Jee-vunneeaghtyn ayns ny 1520yn
14
13548
388379
282810
2026-08-08T15:05:00Z
MacTire02
219
+clowan
388379
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1520s disestablishments|Jee-vunneeaghtyn ayns ny 1520yn}}
[[Ronney:Jee-vunneeaghtyn 'sy 16oo eash| 2]]
[[Ronney:1520yn]]
lfiorjo0asv56ezreezbmomafydv5ut
388380
388379
2026-08-08T15:06:11Z
MacTire02
219
++
388380
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1520s disestablishments|Jee-vunneeaghtyn ayns ny 1520yn}}
[[Ronney:Jee-vunneeaghtyn 'sy 16oo eash| 2]]
[[Ronney:Jerraghyn ayns ny 1520yn]]
[[Ronney:Jee-vunneeaghtyn rere jeihaght|1520]]
r3g9w0vux4nvkvqrcj7g9co5rdhfqzj
Ronney:Oaylleeaght ayns ny 1750yn
14
13680
388392
341422
2026-08-08T15:11:25Z
MacTire02
219
+clowan
388392
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:1750yn|Oaylleeaght]]
[[Ronney:Oaylleeaght rere jeihaght|1750]]
[[Ronney:Oaylleeaght 'sy 18oo eash| 50]]
lcsufkvu7m2fgyyrvscz3am8uaj27cz
Ronney:Oaylleeaght 'sy vlein 1753
14
13691
388393
366689
2026-08-08T15:11:35Z
MacTire02
219
+clowan
388393
wikitext
text/x-wiki
{{category series navigation}}
{{catmore}}
[[Ronney:1753|Oaylleeaght]]
[[Ronney:Oaylleeaght ayns ny 1750yn| 3]]
[[Ronney:Oaylleeaght rere blein|1753]]
c9up4nf0ifdpxvs6tzf8ek18d8h97xc
Ronney:1560yn
14
18636
388336
286021
2026-08-08T12:55:52Z
MacTire02
219
+clowan
388336
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1560s|1560yn}}
[[Ronney:16oo eash| 6]]
[[Ronney:Jeihaghtyn]]
6my1cgb1sdm5at6vvsv5m241h8pb573
Ronney:1580yn
14
18637
388338
286022
2026-08-08T12:56:12Z
MacTire02
219
+clowan
388338
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1580s|1580yn}}
[[Ronney:16oo eash| 8]]
[[Ronney:Jeihaghtyn]]
oxv3j2qkgasvuymb9eciijzutrqk0nb
Ronney:1250yn
14
18642
388311
286029
2026-08-08T12:50:45Z
MacTire02
219
+clowan
388311
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1250s|1250yn}}
[[Ronney:13oo eash| 5]]
[[Ronney:Jeihaghtyn]]
3i36b8e497uf3dsuiakrn9u1o1kcl8c
Ronney:Oaylleeaght ayns ny 1780yn
14
19056
388389
341423
2026-08-08T15:09:51Z
MacTire02
219
+clowan
388389
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:1780yn|Oaylleeaght]]
[[Ronney:Oaylleeaght rere jeihaght|1780]]
[[Ronney:Oaylleeaght 'sy 18oo eash| 80]]
6iep8h37anamsdpfdkr8f5d7ns60zoq
Ronney:1360yn
14
20134
388317
295524
2026-08-08T12:51:48Z
MacTire02
219
+clowan
388317
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:14oo eash| 6]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1360s|1360yn}}
kk1y5mrkzpepryevqr2bozpl7r1hk5g
Ronney:1380yn
14
20135
388319
295525
2026-08-08T12:52:08Z
MacTire02
219
+clowan
388319
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:14oo eash| 8]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1380s|1380yn}}
f6folswq7ug42ryqgso057ide7gweog
Ronney:2020yn
14
20649
388371
299608
2026-08-08T13:08:14Z
MacTire02
219
+clowan
388371
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|2020s|2020yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:21d eash| 2]]
oa5aef9z5qr6leitpabdamy2bzpttg1
Ronney:1230yn
14
21100
388310
301785
2026-08-08T12:50:28Z
MacTire02
219
+clowan
388310
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1230s|1230yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:13oo eash| 3]]
hlxodvya2mwyhh9kb04c7e8td1005x6
Ronney:1300yn
14
21120
388313
301818
2026-08-08T12:51:09Z
MacTire02
219
+clowan
388313
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1300s|1300yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:14oo eash| 0]]
kemcgfjnxy5muaovazxus2znwaysudf
Ronney:1310yn
14
21121
388314
301819
2026-08-08T12:51:20Z
MacTire02
219
+clowan
388314
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1310s|1310yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:14oo eash| 1]]
c3qga1dhl3o5dy8ha13b7esxzujsljb
Ronney:1540yn
14
21126
388334
301862
2026-08-08T12:55:32Z
MacTire02
219
+clowan
388334
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1540s|1540yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:16oo eash| 4]]
bdpaitmp58pdvmco4rn23od8y7d7t3j
Ronney:1400yn
14
21127
388321
301863
2026-08-08T12:52:28Z
MacTire02
219
+clowan
388321
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1400s|1400yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:15oo eash| 0]]
psfyz82xaoaur83kwj6ibngx9w4emb4
Ronney:1200yn
14
21128
388308
301866
2026-08-08T12:50:06Z
MacTire02
219
+clowan
388308
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1200s|1200yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:13oo eash| 0]]
3jn1fb8igbixwzaj9jufifsiatrpvf2
Ronney:1070yn
14
21129
388299
301867
2026-08-08T12:48:28Z
MacTire02
219
+clowan
388299
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1070s|1070yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:11d eash| 7]]
po91bdkot74lnj5c114o5wjl4gp7g07
Ronney:100yn
14
21130
388281
324692
2026-08-08T12:44:17Z
MacTire02
219
+clowan
388281
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|100s|100yn}}
[[Ronney:Jeihaghtyn|0100]]
[[Ronney:2h eash| 0]]
s2epfmrtemk4gvlx63kfv3zszmxlwm0
Ronney:1640yn
14
21145
388344
301893
2026-08-08T12:57:08Z
MacTire02
219
+clowan
388344
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1640s|1640yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:17oo eash| 4]]
t0urgcjrwk3r8dfyr3r5ofk2qm183bw
Ronney:1150yn
14
21147
388303
349740
2026-08-08T12:49:15Z
MacTire02
219
+clowan
388303
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1150s|1150yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:12h eash| 5]]
0fn3psmuvf7msc92cpdiu8oswgi2jlj
Ronney:30yn
14
21149
388278
324693
2026-08-08T12:43:45Z
MacTire02
219
+clowan
388278
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|30s|30yn}}
[[Ronney:Jeihaghtyn|0030]]
[[Ronney:1d eash| 3]]
67ml6o6e5pm0onls4bgf9zx4dx93ybs
Ronney:700yn
14
21165
388283
324699
2026-08-08T12:45:09Z
MacTire02
219
+clowan
388283
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|700s|700yn}}
[[Ronney:8oo eash| 0]]
[[Ronney:Jeihaghtyn|0700]]
6h6rk61i3s8tjswjqs3wroerf0u6sl0
Ronney:770yn
14
21186
388287
324695
2026-08-08T12:45:59Z
MacTire02
219
+clowan
388287
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|770s|770yn}}
[[Ronney:8oo eash| 7]]
[[Ronney:Jeihaghtyn|0770]]
j0pcar6vd0hdry9b46kpqcthp29sre1
Ronney:710yn
14
21227
388284
342917
2026-08-08T12:45:19Z
MacTire02
219
+clowan
388284
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|710s|710yn}}
[[Ronney:Jeihaghtyn|0710]]
[[Ronney:8oo eash| 1]]
dgp8wgvltpt5h2phpp9dv1pk4s4pmgw
Ronney:1570yn
14
21228
388337
301982
2026-08-08T12:56:02Z
MacTire02
219
+clowan
388337
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1570s|1570yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:16oo eash| 7]]
noed6r2er3iy4rk88j3xsr1ej47xkre
Ronney:1190yn
14
21229
388307
349736
2026-08-08T12:49:55Z
MacTire02
219
+clowan
388307
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1190s|1190yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:12h eash| 9]]
dseoktpz5yx9p85mhd8slfqkikp6aof
Ronney:1130yn
14
21246
388302
349741
2026-08-08T12:49:06Z
MacTire02
219
+clowan
388302
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1130s|1130yn}}
[[Ronney:12h eash| 3]]
[[Ronney:Jeihaghtyn]]
crct6y2wpxgov8qi131vvpg6agllx7k
Ronney:60yn
14
21247
388279
324697
2026-08-08T12:43:56Z
MacTire02
219
+clowan
388279
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|60s|60yn}}
[[Ronney:Jeihaghtyn|0060]]
[[Ronney:1d eash| 6]]
sbrc065ibyycd8sq1daxdsxmfq2q93h
Ronney:1510yn
14
24617
388331
309762
2026-08-08T12:55:00Z
MacTire02
219
+clowan
388331
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:16oo eash| 1]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1510s|1510yn}}
p702gpqylgka4fp71r2qe17x2zxmhh0
Ronney:1430yn
14
26208
388324
315960
2026-08-08T12:52:58Z
MacTire02
219
+clowan
388324
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1430s|1430yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:15oo eash| 3]]
c2xgfuphx9e6yx8ub9fy5uofi2vu2nh
Ronney:1370yn
14
26211
388318
315963
2026-08-08T12:51:58Z
MacTire02
219
+clowan
388318
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1370s|1370yn}}
[[Ronney:14oo eash| 7]]
[[Ronney:Jeihaghtyn]]
s2tw0i0htdyrg5crnf2v5mrqzs4e202
Ronney:1610yn
14
26377
388341
316267
2026-08-08T12:56:40Z
MacTire02
219
+clowan
388341
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1610s|1610yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:17oo eash| 1]]
fh4rjiarnm5tl7uaf1ee0rxsosnzsqn
Ronney:1410yn
14
28592
388322
320849
2026-08-08T12:52:37Z
MacTire02
219
+clowan
388322
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:15oo eash| 1]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1410s|1410yn}}
ree7rdzcuu8jqp6dcye2ludvnsx7vh3
Ronney:70yn
14
28711
388280
324696
2026-08-08T12:44:06Z
MacTire02
219
+clowan
388280
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|70s|70yn}}
[[Ronney:Jeihaghtyn|0070]]
[[Ronney:1d eash| 7]]
ejnu8ha02av1z5435fcfzki6yg3cjvc
Ronney:360yn
14
28742
388282
321229
2026-08-08T12:44:35Z
MacTire02
219
+clowan
388282
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|360s|360yn}}
[[Ronney:4oo eash| 6]]
[[Ronney:Jeihaghtyn|0360]]
kuxq1sy22t9j3umna8b24negpo2waod
Ronney:1160yn
14
28780
388304
349739
2026-08-08T12:49:25Z
MacTire02
219
+clowan
388304
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1160s|1160yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:12h eash| 6]]
fb4mkoyx888lb0x8tt94lls6imx8phx
Ronney:1220yn
14
29242
388309
322210
2026-08-08T12:50:17Z
MacTire02
219
+clowan
388309
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1220s|1220yn}}
[[Ronney:13oo eash| 2]]
[[Ronney:Jeihaghtyn]]
81ylz2uzw0jroqqc967kz4qj7cojerg
Ronney:1340yn
14
29261
388316
322245
2026-08-08T12:51:38Z
MacTire02
219
+clowan
388316
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:14oo eash| 4]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1340s|1340yn}}
4m3y5eapx7ysrilovg90zwnvsug3f21
Ronney:800yn
14
29935
388289
352198
2026-08-08T12:46:18Z
MacTire02
219
+clowan
388289
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|800s|800yn}}
[[Ronney:9oo eash| 0]]
[[Ronney:Jeihaghtyn|0800]]
hxf9p71ujupv37cxzkeqicrsa528xa0
Ronney:1170yn
14
30657
388305
349738
2026-08-08T12:49:35Z
MacTire02
219
+clowan
388305
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1170s|1170yn}}
[[Ronney:12h eash| 7]]
[[Ronney:Jeihaghtyn]]
3a3th0yj9pqarj5mfoay48xyof3fo55
Ronney:1390yn
14
30883
388320
326806
2026-08-08T12:52:19Z
MacTire02
219
+clowan
388320
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:14oo eash| 9]]
[[Ronney:Jeihaghtyn]]
{{Commonscat|1390s|1390yn}}
nva2yoyyuat6bsbohaz6d9nxciv91fb
Ronney:730yn
14
30888
388285
326812
2026-08-08T12:45:30Z
MacTire02
219
+clowan
388285
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|730s|730yn}}
[[Ronney:8oo eash| 3]]
[[Ronney:Jeihaghtyn|0730]]
mdh0f5l0t95rhslw1fzy3hnxympogk1
Ronney:790yn
14
30891
388288
326815
2026-08-08T12:46:09Z
MacTire02
219
+clowan
388288
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|790s|790yn}}
[[Ronney:8oo eash| 9]]
[[Ronney:Jeihaghtyn|0790]]
rpc3cmht66ahqbdl4zq1h26lqtja8tk
Ronney:1440yn
14
30949
388325
326898
2026-08-08T12:53:08Z
MacTire02
219
+clowan
388325
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1440s|1440yn}}
[[Ronney:15oo eash| 4]]
[[Ronney:Jeihaghtyn]]
mgs8ywm452w2up8dnm9a5q4ow1x0k3o
Ronney:Droghadyn troggit 'sy vlein 1883
14
31069
388398
357453
2026-08-08T15:18:50Z
MacTire02
219
+clowan
388398
wikitext
text/x-wiki
{{category series navigation}}
{{commons category|Bridges completed in 1883|Droghadyn troggit 'sy vlein 1883}}
[[Ronney:Droghadyn rere blein troggee|1883]]
[[ROnney:Droghadyn troggit ayns ny 1880yn| 3]]
[[Ronney:Bun-troggalys arraghey troggit 'sy vlein 1883]]
[[Ronney:Troggalyssyn as strughtooryn troggit 'sy vlein 1883]]
s97b1nnl5z4rqzq5p1vsvmkfqvyx7tj
Ronney:Bun-troggalys arraghey troggit 'sy vlein 1883
14
31075
388400
357450
2026-08-08T15:19:20Z
MacTire02
219
+clowan
388400
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Bun-troggalys arraghey rere blein troggee|1883]]
[[Ronney:Bun-troggalys arraghey troggit ayns ny 1880yn| 3]]
[[Ronney:Bun-troggalys troggit 'sy vlein 1883|Arraghey]]
[[Ronney:Arraghey 'sy vlein 1883]]
48p5ogwcgsy1mxmus80ti1l3tuxl5ov
Ronney:Droghadyn troggit 'sy vlein 1995
14
31087
388399
357402
2026-08-08T15:19:03Z
MacTire02
219
+clowan
388399
wikitext
text/x-wiki
{{category series navigation}}
{{commons category|Bridges completed in 1995|Droghadyn troggit 'sy vlein 1995}}
[[Ronney:Droghadyn rere blein troggee|1995]]
[[ROnney:Droghadyn troggit ayns ny 1990yn| 5]]
[[Ronney:Bun-troggalys arraghey troggit 'sy vlein 1995]]
[[Ronney:Troggalyssyn as strughtooryn troggit 'sy vlein 1995]]
bxswiroobuylixpxhaq3alvheimoo6j
Ronney:Bun-troggalys arraghey troggit 'sy vlein 1995
14
31088
388406
357399
2026-08-08T15:21:58Z
MacTire02
219
+clowan
388406
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Bun-troggalys arraghey rere blein troggee|1995]]
[[Ronney:Bun-troggalys arraghey troggit ayns ny 1990yn| 5]]
[[Ronney:Bun-troggalys troggit 'sy vlein 1995|Arraghey]]
[[Ronney:Arraghey 'sy vlein 1995]]
6zpcpl2j0yybwan9am1nmdkhbbc855p
Ronney:850yn
14
31154
388292
328272
2026-08-08T12:46:49Z
MacTire02
219
+clowan
388292
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|850s|850yn}}
[[Ronney:9oo eash| 5]]
[[Ronney:Jeihaghtyn|0850]]
rlj2vlrfcore3cx525bpi2yjzyurs3g
Ronney:Droghadyn troggit 'sy vlein 1850
14
31190
388397
357463
2026-08-08T15:18:32Z
MacTire02
219
+clowan
388397
wikitext
text/x-wiki
{{category series navigation}}
{{commons category|Bridges completed in 1850|Droghadyn troggit 'sy vlein 1850}}
[[Ronney:Droghadyn rere blein troggee|1850]]
[[ROnney:Droghadyn troggit ayns ny 1850yn| 0]]
[[Ronney:Bun-troggalys arraghey troggit 'sy vlein 1850]]
[[Ronney:Troggalyssyn as strughtooryn troggit 'sy vlein 1850]]
dbdtoydhb3sx4ltxijhxvr6wmjr8uyx
Ronney:Bun-troggalys arraghey troggit 'sy vlein 1850
14
31191
388396
357460
2026-08-08T15:16:20Z
MacTire02
219
+clowan
388396
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Bun-troggalys arraghey rere blein troggee|1850]]
[[Ronney:Bun-troggalys arraghey troggit ayns ny 1850yn| 0]]
[[Ronney:Bun-troggalys troggit 'sy vlein 1850|Arraghey]]
[[Ronney:Arraghey 'sy vlein 1850]]
9s4d7m9h4e55iztqsx2rm06h6hp9xfn
Ronney:740yn
14
31537
388286
328997
2026-08-08T12:45:40Z
MacTire02
219
+clowan
388286
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|740s|740yn}}
[[Ronney:8oo eash| 4]]
[[Ronney:Jeihaghtyn|0740]]
4b90qw9p5u5hccduqqltjgp0mgodh0g
Ronney:810yn
14
31540
388290
329000
2026-08-08T12:46:28Z
MacTire02
219
+clowan
388290
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|810s|810yn}}
[[Ronney:9oo eash| 1]]
[[Ronney:Jeihaghtyn|0810]]
ffwmgav7h446csepeng4t72fej4q347
Ronney:Lhongyn veih'n vlein 1906
14
31551
388401
357445
2026-08-08T15:19:33Z
MacTire02
219
+clowan
388401
wikitext
text/x-wiki
{{category series navigation}}
{{commonscat|Ships built in 1906|Lhongyn er nyn droggal 'sy vlein 1906}}
[[Ronney:Lhongyn rere blein|1906]]
[[Ronney:Lhongyn veih ny 1900yn| 06]]
[[Ronney:Arraghey 'sy vlein 1906]]
[[Ronney:Carbid va currit stiagh 'sy vlein 1906]]
0tj6zl95klmuy60ga32kqkgs1n82vcm
388402
388401
2026-08-08T15:20:05Z
MacTire02
219
MacTire02 moved page [[Ronney:Lhongyn 1906]] to [[Ronney:Lhongyn launshit 'sy vlein 1906]] without leaving a redirect: aght
388401
wikitext
text/x-wiki
{{category series navigation}}
{{commonscat|Ships built in 1906|Lhongyn er nyn droggal 'sy vlein 1906}}
[[Ronney:Lhongyn rere blein|1906]]
[[Ronney:Lhongyn veih ny 1900yn| 06]]
[[Ronney:Arraghey 'sy vlein 1906]]
[[Ronney:Carbid va currit stiagh 'sy vlein 1906]]
0tj6zl95klmuy60ga32kqkgs1n82vcm
388403
388402
2026-08-08T15:20:37Z
MacTire02
219
MacTire02 moved page [[Ronney:Lhongyn launshit 'sy vlein 1906]] to [[Ronney:Lhongyn veih'n vlein 1906]] without leaving a redirect: ny share; foddee dy row ad troggit agh nagh row ad launshit
388401
wikitext
text/x-wiki
{{category series navigation}}
{{commonscat|Ships built in 1906|Lhongyn er nyn droggal 'sy vlein 1906}}
[[Ronney:Lhongyn rere blein|1906]]
[[Ronney:Lhongyn veih ny 1900yn| 06]]
[[Ronney:Arraghey 'sy vlein 1906]]
[[Ronney:Carbid va currit stiagh 'sy vlein 1906]]
0tj6zl95klmuy60ga32kqkgs1n82vcm
Ronney:1420yn
14
32285
388323
330577
2026-08-08T12:52:48Z
MacTire02
219
+clowan
388323
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|1420s|1420yn}}
[[Ronney:15oo eash| 2]]
[[Ronney:Jeihaghtyn]]
9fdo9qaruo3z58lda62de5g3g0rno51
Ronney:0yn RC
14
32541
388277
332090
2026-08-08T12:43:24Z
MacTire02
219
+clowan
388277
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|0s BC|0yn RC}}
[[Ronney:Jeihaghtyn|-0000]]
[[Ronney:1d eash RC| 00]]
k0v45x4guydy0tqbsgtinbw67n1qjdw
Ronney:830yn
14
32747
388291
333479
2026-08-08T12:46:37Z
MacTire02
219
+clowan
388291
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|830s|830yn}}
[[Ronney:9oo eash| 3]]
[[Ronney:Jeihaghtyn|0830]]
ns20mc9hy0lqmjs9qt20sdcu1y5ogdz
Ronney:Jee-vunneeaghtyn 'sy vlein 1763
14
32775
388381
333529
2026-08-08T15:07:05Z
MacTire02
219
++
388381
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Jerraghyn 'sy vlein 1763]]
[[Ronney:Jee-vunneeaghtyn ayns ny 1760yn| 3]]
[[Ronney:Jee-vunneeaghtyn rere blein|1763]]
5ju7p0e66u2i2cboukf7v6zj54e5p3u
Ronney:Steatyn as thallooyn jee-vunnit 'sy vlein 1920
14
35513
388387
342415
2026-08-08T15:08:48Z
MacTire02
219
+clowan
388387
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Jee-vunneeaghtyn 'sy vlein 1920]]
[[Ronney:Steatyn as thallooyn jee-vunnit ayns ny 1920yn| 0]]
[[Ronney:Steatyn as thallooyn rere blein jee-vunneeaght|1920]]
[[Ronney:Politickaght 'sy vlein 1920]]
2o6l6lfbve1fej2h5v8xuq00ch2kh2q
Ronney:Jee-vunneeaghtyn 'sy vlein 1920
14
35514
388382
342416
2026-08-08T15:07:20Z
MacTire02
219
+clowan
388382
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Jee-vunneeaghtyn ayns ny 1920yn| 0]]
[[Ronney:Jerraghyn 'sy vlein 1920]]
[[Ronney:Jee-vunneeaghtyn rere blein|1920]]
68l8l9ca17lxg9scg3jab6bn3oyufuw
Ronney:Jerraghyn 'sy vlein 1920
14
35515
388384
348561
2026-08-08T15:07:55Z
MacTire02
219
+clowan
388384
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1920}}
[[Ronney:1920]]
[[Ronney:Jerraghyn ayns ny 1920yn| 0]]
[[Ronney:Jerraghyn rere blein|1920]]
edemyputykqp6t0spaq2kqlo5bq9usb
Module:Category series navigation
828
36546
388275
387228
2026-08-08T12:31:02Z
MacTire02
219
prowal
388275
Scribunto
text/plain
require('strict')
local p = {}
local horizontal = require('Module:List').horizontal
local rtarget = require('Module:Resolve category redirect').rtarget
--[[==========================================================================]]
--[[ Globals ]]
--[[==========================================================================]]
local currtitle = mw.title.getCurrentTitle()
local nexistingcats = 0
local errors = ''
local testcasecolon = ''
local testcases = string.match(currtitle.subpageText, '^testcases')
if testcases then testcasecolon = ':' end
local navborder = true
local followRs = true
local skipgaps = false
local skipgaps_limit = 50
local term_limit = 10
local hgap_limit = 6
local ygap_limit = 5
local listall = false
local tlistall = {}
local tlistallbwd = {}
local tlistallfwd = {}
local ttrackingcats = { --when reindexing, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]'
'', -- [1] placeholder for [[Category:Category series navigation using cat parameter]]
'', -- [2] placeholder for [[Category:Category series navigation using testcase parameter]]
'', -- [3] placeholder for [[Category:Category series navigation using unknown parameter]]
'', -- [4] placeholder for [[Category:Category series navigation range not using en dash]]
'', -- [5] placeholder for [[Category:Category series navigation range abbreviated (MOS)]]
'', -- [6] placeholder for [[Category:Category series navigation range redirected (base change)]]
'', -- [7] placeholder for [[Category:Category series navigation range redirected (var change)]]
'', -- [8] placeholder for [[Category:Category series navigation range redirected (end)]]
'', -- [9] placeholder for [[Category:Category series navigation range redirected (MOS)]]
'', --[10] placeholder for [[Category:Category series navigation range redirected (other)]]
'', --[11] placeholder for [[Category:Category series navigation range gaps]]
'', --[12] placeholder for [[Category:Category series navigation range irregular]]
'', --[13] placeholder for [[Category:Category series navigation range irregular, 0-length]]
'', --[14] placeholder for [[Category:Category series navigation range ends (present)]]
'', --[15] placeholder for [[Category:Category series navigation range ends (blank, MOS)]]
'', --[16] placeholder for [[Category:Category series navigation isolated]]
'', --[17] placeholder for [[Category:Category series navigation default season gap size]]
'', --[18] placeholder for [[Category:Category series navigation decade redirected]]
'', --[19] placeholder for [[Category:Category series navigation year redirected (base change)]]
'', --[20] placeholder for [[Category:Category series navigation year redirected (var change)]]
'', --[21] placeholder for [[Category:Category series navigation year redirected (other)]]
'', --[22] placeholder for [[Category:Category series navigation roman numeral redirected]]
'', --[23] placeholder for [[Category:Category series navigation nordinal redirected]]
'', --[24] placeholder for [[Category:Category series navigation wordinal redirected]]
'', --[25] placeholder for [[Category:Category series navigation TV season redirected]]
'', --[26] placeholder for [[Category:Category series navigation using skip-gaps parameter]]
'', --[27] placeholder for [[Category:Category series navigation blein as reayn]]
'', --[28] placeholder for [[Category:Category series navigation blein as jeihaght]]
'', --[29] placeholder for [[Category:Category series navigation jeihaght as eash]]
'', --[30] placeholder for [[Category:Category series navigation in mainspace]]
'', --[31] placeholder for [[Category:Category series navigation redirection error]]
}
local avoidself = (not string.match(currtitle.text, 'Category series navigation with') and
not string.match(currtitle.text, 'Category series navigation.*/doc') and
not string.match(currtitle.text, 'Category series navigation.*/sandbox') and
currtitle.text ~= 'Category series navigation' and
currtitle.nsText:gsub('_', ' ') ~= 'User talk' and -- [[phab:T369784]]
currtitle.nsText:gsub('_', ' ') ~= 'Template talk' and
(currtitle.nsText ~= 'Template' or testcases)) --avoid nested transclusion errors (i.e. {{Infilmdecade}})
--[[==========================================================================]]
--[[ Utility & category functions ]]
--[[==========================================================================]]
--Determine if a category exists (in a function for easier localization).
local function catexists( title )
return mw.title.new( title, 'Category' ).exists
end
--Error message handling.
function p.errorclass( msg )
return mw.text.tag( 'span', {class='error mw-ext-cite-error'}, '<b>Error!</b> '..string.gsub(msg, '&#', '&#') )
end
--Failure handling.
function p.failedcat( errors, sortkey )
if avoidself then
return (errors or '')..'***Category series navigation failed to generate navbox***'..
'[['..testcasecolon..'Category:Category series navigation failed to generate navbox|'..(sortkey or 'O')..']]\n'
end
return ''
end
--Tracking cat handling.
-- key: 15 (when reindexing ttrackingcats{}, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]')
-- cat: 'Category series navigation isolated'; '' to remove
--Used by main, all nav_*(), & several utility functions.
local function trackcat( key, cat )
if avoidself and key and cat then
if cat ~= '' then
ttrackingcats[key] = '[['..testcasecolon..'Category:'..cat..']]'
else
ttrackingcats[key] = ''
end
end
return
end
--Check for unknown parameters.
--Used by main only.
local function checkforunknownparams( tbl )
local knownparams = { --parameter whitelist
['min'] = 'min',
['max'] = 'max',
['cat'] = 'cat',
['show'] = 'show',
['testcase'] = 'testcase',
['testcasegap'] = 'testcasegap',
['skip-gaps'] = 'skip-gaps',
['list-all-links'] = 'list-all-links',
['follow-redirects'] = 'follow-redirects',
}
for k, _ in pairs (tbl) do
if knownparams[k] == nil then
trackcat(3, 'Category series navigation using unknown parameter')
break
end
end
end
--Check for nav_*() navigational isolation (not necessarily an error).
--Used by all nav_*().
local function isolatedcat()
if nexistingcats == 0 then
trackcat(16, 'Category series navigation isolated')
end
end
--Similar to {{LinkCatIfExists2}}: make a piped link to a category, if it exists;
--if it doesn't exist, just display the greyed link title without linking.
--Follows {{Category redirect}}s.
--Returns {
-- ['cat'] = cat,
-- ['catexists'] = true,
-- ['rtarget'] = <#R target>,
-- ['navelement'] = <#R target navelement>,
-- ['displaytext'] = displaytext,
-- }
-- if #R followed;
--returns {
-- ['cat'] = cat,
-- ['catexists'] = <true|false>,
-- ['rtarget'] = nil,
-- ['navelement'] = <cat navelement>,
-- ['displaytext'] = displaytext,
-- }
-- otherwise.
--Used by all nav_*().
local function catlinkfollowr( frame, cat, displaytext, displayend, listoverride )
cat = mw.text.trim(cat or '')
displaytext = mw.text.trim(displaytext or '')
displayend = displayend or false --bool flag to override displaytext IIF the cat/target is terminal (e.g. "2021–present" or "2021–")
local disp = cat
if displaytext ~= '' then --use 'displaytext' parameter if present
disp = mw.ustring.gsub(displaytext, '%s+%(.+$', ''); --strip any trailing disambiguator
end
local link, nilorR
local exists = catexists(cat)
if exists then
nexistingcats = nexistingcats + 1
if followRs then
local R = rtarget(cat, frame) --find & follow #R
if R ~= cat then --#R followed
nilorR = R
end
if displayend then
local y, hyph, ending = mw.ustring.match(R, '^.-(%d+)([–-])(.*)$')
if ending == 'present' then
disp = y..hyph..ending
elseif ending == '' then
disp = y..hyph..'<span style="visibility:hidden">'..y..'</span>' --hidden y to match spacing
end
end
link = '[[:Category:'..R..'|'..disp..']]'
else
link = '[[:Category:'..cat..'|'..disp..']]'
end
else
link = '<span class="categorySeriesNavigation-item-inactive">'..disp..'</span>'
end
if listall and listoverride == nil then
if nilorR then --#R followed
table.insert( tlistall, '[[:Category:'..cat..']] → '..'[[:Category:'..nilorR..']] ('..link..')' )
else --no #R
table.insert( tlistall, '[[:Category:'..cat..']] ('..link..')' )
end
end
return {
['cat'] = cat,
['catexists'] = exists,
['rtarget'] = nilorR,
['navelement'] = link,
['displaytext'] = disp,
}
end
--Returns a numbered list of all {{Category redirect}}s followed by catlinkfollowr() -> rtarget().
--For a nav_hyphen() cat, also returns a formatted list of all cats searched for & found, & all loop indices.
--Used by all nav_*().
local function listalllinks()
local nl = '\n# '
local out = ''
if currtitle.nsText == 'Category' then
errors = p.errorclass('The <b><code>|list-all-links=yes</code></b> parameter/utility '..
'should not be saved in category space, only previewed.')
out = p.failedcat(errors, 'Z')
end
local bwd, fwd = '', ''
if tlistallbwd[1] then
bwd = '\n\nbackward search:'..nl..table.concat(tlistallbwd, nl)
end
if tlistallfwd[1] then
fwd = '\n\nforward search:'..nl..table.concat(tlistallfwd, nl)
end
if tlistall[1] then
return out..nl..table.concat(tlistall, nl)..bwd..fwd
else
return out..nl..'No links found!?'..bwd..fwd
end
end
--Returns the difference b/w 2 ints separated by endash|hyphen, nil if error.
--Used by nav_hyphen() only.
local function find_duration( cat )
local from, to = mw.ustring.match(cat, '(%d+)[–-](%d+)')
if from and to then
if to == '00' then return nil end --doesn't follow MOS:DATERANGE
if (#from == 4) and (#to == 2) then --1900-01
to = string.match(from, '(%d%d)%d%d')..to --1900-1901
elseif (#from == 2) and (#to == 4) then -- 01-1902
from = string.match(to, '(%d%d)%d%d')..from --1901-1902
end
return (tonumber(to) - tonumber(from))
end
return 0
end
--Returns the ending of a terminal cat, and sets the appropriate tracking cat, else nil.
--Used by nav_hyphen() only.
local function find_terminaltxt( cat )
local terminaltxt = nil
if mw.ustring.match(cat, '%d+[–-]present$') then
terminaltxt = 'present'
trackcat(14, 'Category series navigation range ends (present)')
elseif mw.ustring.match(cat, '%d+[–-]$') then
terminaltxt = ''
trackcat(15, 'Category series navigation range ends (blank, MOS)')
end
return terminaltxt
end
--Returns an unsigned string of the 1-4 digit decade ending in "0", else nil.
--Used by nav_decade() only.
local function sterilizedec( decade )
if decade == nil or decade == '' then
return nil
end
local dec = string.match(decade, '^[-%+]?(%d?%d?%d?0)$') or
string.match(decade, '^[-%+]?(%d?%d?%d?0)%D')
if dec then
return dec
else
--fix 2-4 digit decade
local decade_fixed234 = string.match(decade, '^[-%+]?(%d%d?%d?)%d$') or
string.match(decade, '^[-%+]?(%d%d?%d?)%d%D')
if decade_fixed234 then
return decade_fixed234..'0'
end
--fix 1-digit decade
local decade_fixed1 = string.match(decade, '^[-%+]?(%d)$') or
string.match(decade, '^[-%+]?(%d)%D')
if decade_fixed1 then
return '0'
end
--unfixable
return nil
end
end
--Check for nav_hyphen default gap size + isolatedcat() (not necessarily an error).
--Used by nav_hyphen() only.
local function defaultgapcat( bool )
if bool and nexistingcats == 0 then
--using "nexistingcats > 0" isn't as useful, since the default gap size obviously worked
trackcat(17, 'Category series navigation default season gap size')
end
end
--12 -> 12h, etc.
--Used by nav_nordinal() & nav_wordinal().
function p.addord( i )
if tonumber(i) then
local s = tostring(i)
local n = tonumber(i)
local ones = n % 10
if ones == 1 then
return s .. 'd'
elseif ones == 2 then
return s .. 'h'
else
return s .. 'oo'
end
end
return i
end
--Returns the properly formatted central nav element.
--Expects an integer i, and a catlinkfollowr() table.
--Used by nav_decade() & nav_ordinal() only.
local function navcenter( i, catlink )
if i == 0 then --center nav element
if navborder == true then
return '<b>'..catlink.displaytext..'</b>'
else
return '<b>'..catlink.navelement..'</b>'
end
else
return catlink.navelement
end
end
--Wrap one or two navs in a <div> with ARIA attributes; add TemplateStyles
--before it. This also aligns the navs in case some floating element (like a
--portal box) breaks their alignment.
--Used by main only.
local function wrap( nav1, nav2 )
local templatestyles = require("Module:TemplateStyles")(
"Module:Category series navigation/styles.css"
)
local prepare = function (nav)
if nav then
nav = '\n'..nav
else
nav = ''
end
return nav
end
return templatestyles..
'<div class="categorySeriesNavigation" role="navigation" aria-label="Range">'..
prepare(nav1)..prepare(nav2)..
'\n</div>'
end
--[[==========================================================================]]
--[[ Formerly separated templates/modules ]]
--[[==========================================================================]]
--[[==========================={{ nav_hyphen }}=============================]]
local function nav_hyphen( frame, start, hyph, finish, firstpart, lastpart, minseas, maxseas, testgap )
--Expects a PAGENAME of the form "Some sequential 2015–16 example cat", where
-- start = 2015
-- hyph = –
-- finish = 16 (sequential years can be abbreviated, but others should be full year, e.g. "2001–2005")
-- firstpart = Some sequential
-- lastpart = example cat
-- minseas = 1800 ('min' starting season shown; optional; defaults to -9999)
-- maxseas = 2000 ('max' starting season shown; optional; defaults to 9999; 2000 will show 2000-01)
-- testgap = 0 (testcasegap parameter for easier testing; optional)
--sterilize start
if string.match(start or '', '^%d%d?%d?%d?$') == nil then --1-4 digits, AD only
local start_fixed = mw.ustring.match(start or '', '^%s*(%d%d?%d?%d?)%D')
if start_fixed then
start = start_fixed
else
errors = p.errorclass('Function nav_hyphen can\'t recognize the number "'..(start or '')..'" '..
'in the first part of the "season" that was passed to it. '..
'For e.g. "2015–16", "2015" is expected via "|2015|–|16|".')
return p.failedcat(errors, 'H')
end
end
local nstart = tonumber(start)
--en dash check
if hyph ~= '–' then
trackcat(4, 'Category series navigation range not using en dash') --nav still processable, but track
end
--sterilize finish & check for weird parents
local tgaps = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for -3 <= j <= 3
local tgapsj4 = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for j = { -4, 4 }
local ttlens = {} --table of term lengths found w/i terms { [<term length found>] = 1 }
local tirregs = {} --table of ir/regular-term-length cats' "from"s & "to"s found
local regularparent = true
if (finish == -1) or --"Members of the Scottish Parliament 2021–present"
(finish == 0) --"Members of the Scottish Parliament 2021–"
then
regularparent = false
if maxseas == nil or maxseas == '' then
maxseas = start --hide subsequent ranges
end
if finish == -1 then trackcat(14, 'Category series navigation range ends (present)')
else trackcat(15, 'Category series navigation range ends (blank, MOS)') end
elseif (start == finish) and
(ttrackingcats[16] ~= '') --nav_year found isolated; check for surrounding hyphenated terms (e.g. UK MPs 1974)
then
trackcat(16, '') --reset for another check later
trackcat(13, 'Category series navigation range irregular, 0-length')
ttlens[0] = 1 --calc ttlens for std cases below
regularparent = 'isolated'
end
if (string.match(finish or '', '^%d+$') == nil) and
(string.match(finish or '', '^%-%d+$') == nil)
then
local finish_fixed = mw.ustring.match(finish or '', '^%s*(%d%d?%d?%d?)%D')
if finish_fixed then
finish = finish_fixed
else
errors = p.errorclass('Function nav_hyphen can\'t recognize "'..(finish or '')..'" '..
'in the second part of the "season" that was passed to it. '..
'For e.g. "2015–16", "16" is expected via "|2015|–|16|".')
return p.failedcat(errors, 'I')
end
else
if string.len(finish) >= 5 then
errors = p.errorclass('The second part of the season passed to function nav_hyphen should only be four or fewer digits, not "'..(finish or '')..'". '..
'See [[MOS:DATERANGE]] for details.')
return p.failedcat(errors, 'J')
end
end
local nfinish = tonumber(finish)
--save sterilized parent range for easier lookup later
tirregs['from0'] = nstart
tirregs['to0'] = nfinish
--sterilize min/max
local nminseas_default = -9999
local nmaxseas_default = 9999
local nminseas = tonumber(minseas) or nminseas_default --same behavior as nav_year
local nmaxseas = tonumber(maxseas) or nmaxseas_default --same behavior as nav_year
if nminseas > nstart then nminseas = nstart end
if nmaxseas < nstart then nmaxseas = nstart end
local lspace = ' ' --assume a leading space (most common)
local tspace = ' ' --assume a trailing space (most common)
if string.match(firstpart, '%($') then lspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats
if string.match(lastpart, '^%)') then tspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats
--calculate term length/intRAseason size & finishing year
local t = 1
while t <= term_limit and regularparent == true do
local nish = nstart + t --use switchADBC to flip this sign to work for years BC, if/when the time comes
if (nish == nfinish) or (string.match(nish, '%d?%d$') == finish) then
ttlens[t] = 1
break
end
if t == term_limit then
errors = p.errorclass('Function nav_hyphen can\'t determine a reasonable term length for "'..start..hyph..finish..'".')
return p.failedcat(errors, 'K')
end
t = t + 1
end
--apply MOS:DATERANGE to parent
local lenstart = string.len(start)
local lenfinish = string.len(finish)
if lenstart == 4 and regularparent == true then --"2001–..."
if t == 1 then --"2001–02" & "2001–2002" both allowed
if lenfinish ~= 2 and lenfinish ~= 4 then
errors = p.errorclass('The second part of the season passed to function nav_hyphen should be two or four digits, not "'..finish..'".')
return p.failedcat(errors, 'L')
end
else --"2001–2005" is required for t > 1; track "2001–05"; anything else = error
if lenfinish == 2 then
trackcat(5, 'Category series navigation range abbreviated (MOS)')
elseif lenfinish ~= 4 then
errors = p.errorclass('The second part of the season passed to function nav_hyphen should be four digits, not "'..finish..'".')
return p.failedcat(errors, 'M')
end
end
if finish == '00' then --full year required regardless of term length
trackcat(5, 'Category series navigation range abbreviated (MOS)')
end
end
--calculate intERseason gap size
local hgap_default = 0 --assume & start at the most common case: 2001–02 -> 2002–03, etc.
local hgap_limit_reg = hgap_limit --less expensive per-increment (inc x 4)
local hgap_limit_irreg = hgap_limit --more expensive per-increment (inc x 23 = inc x (k_bwd + k_fwd) = inc x (12 + 11))
local hgap_success = false
local hgap = hgap_default
while hgap <= hgap_limit_reg and regularparent == true do --verify
local prevseason2 = firstpart..lspace..(nstart-t-hgap)..hyph..string.match(nstart-hgap, '%d?%d$') ..tspace..lastpart
local nextseason2 = firstpart..lspace..(nstart+t+hgap)..hyph..string.match(nstart+2*t+hgap, '%d?%d$')..tspace..lastpart
local prevseason4 = firstpart..lspace..(nstart-t-hgap)..hyph..(nstart-hgap) ..tspace..lastpart
local nextseason4 = firstpart..lspace..(nstart+t+hgap)..hyph..(nstart+2*t+hgap)..tspace..lastpart
if t == 1 then --test abbreviated range first, then full range, to be frugal with expensive functions
if catexists(prevseason2) or --use 'or', in case we're at the edge of the cat structure,
catexists(nextseason2) or --or we hit a "–00"/"–2000" situation on one side
catexists(prevseason4) or
catexists(nextseason4)
then
hgap_success = true
break
end
elseif t > 1 then --test full range first, then abbreviated range, to be frugal with expensive functions
if catexists(prevseason4) or --use 'or', in case we're at the edge of the cat structure,
catexists(nextseason4) or --or we hit a "–00"/"–2000" situation on one side
catexists(prevseason2) or
catexists(nextseason2)
then
hgap_success = true
break
end
end
hgap = hgap + 1
end
if hgap_success == false then
hgap = tonumber(testgap) or hgap_default --tracked via defaultgapcat()
end
--preliminary scan to determine ir/regular spacing of nearby cats;
--to limit expensive function calls, MOS:DATERANGE-violating cats are ignored;
--an irregular-term-length series should follow "YYYY..hyph..YYYY" throughout
local jlimit = 4 --4-a-side if all YYYY-YY, 3-a-side if all YYYY-YYYY, with some threshold in between
if hgap <= hgap_limit_reg then --also to isolate temp vars
--find # of nav-visible ir/regular-term-length cats
local bwanchor = nstart --backward anchor/common year
local fwanchor = bwanchor + t --forward anchor/common year
if regularparent == 'isolated' then
fwanchor = bwanchor
end
local spangreen = '[<span style="color:green">j, g, k = ' --used for/when debugging via list-all-links=yes
local spanblue = '<span style="color:blue">'
local spanred = ' (<span style="color:red">'
local span = '</span>'
local lastg = nil --to check for run-on searches
local lastk = nil --to check for run-on searches
local endfound = false --switch used to stop searching forward
local iirregs = 0 --index of tirregs[] for j < 0, since search starts from parent
local j = -jlimit --index of tirregs[] for j > 0 & pseudo navh position
while j <= jlimit do
if j < 0 then --search backward from parent
local gbreak = false --switch used to break out of g-loop
local g = 0 --gap size
while g <= hgap_limit_irreg do
local k = 0 --term length: 0 = "0-length", 1+ = normal
while k <= term_limit do
local from = bwanchor - k - g
local to = bwanchor - g
local full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart )
if k == 0 then
if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise
to = '0-length'
full = mw.text.trim( firstpart..lspace..from..tspace..lastpart )
if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed
table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' )
full, to = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy
end
end
end
if (k >= 1) or --the normal case; only continue k = 0 if 0-length found
(to == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc.
then
table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full )
if (k == 1) and
-- (g == 0 or g == 1) and --commented to match j>0 case ("1995–96 in Federal Republic of Yugoslavia basketball")
(catexists(full) == false)
then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series
local to2 = string.match(to, '%d%d$')
if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000)
to = to2
full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart )
table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full )
end
end
if catexists(full) then
if to == '0-length' then
trackcat(13, 'Category series navigation range irregular, 0-length')
end
tlistallbwd[#tlistallbwd] = spanblue..tlistallbwd[#tlistallbwd]..span..' (found)'
ttlens[ find_duration(full) ] = 1
if j == -1 then tgapsj4[g] = 1 -- -1 since bwd search starts from parent @ -4 and ends at -1
else tgaps[g] = 1 end
iirregs = iirregs + 1
tirregs['from-'..iirregs] = from
tirregs['to-'..iirregs] = to
bwanchor = from --ratchet down
if to ~= '0-length' then
gbreak = true
break
else
g = 0 --soft-reset g, to keep stepping thru k
j = j + 1 --save, but keep searching thru k
if j > 0 then --(restore "> 3" if acts up) lest we keep searching bwd & finding 0-length cats ("MEPs for the Republic of Ireland 1973" & down)
j = -1 --allow a normal, full search fwd after break
gbreak = true
break
end
end
elseif (j >= 0) and
(lastg and lastk) and
((lastg >= hgap_limit_irreg) or
(lastk >= term_limit))
then --bwd search exhausted and/or done (runaway bwd search on "2018–19 FIA World Endurance Championship season")
j = -1 --allow a normal, full search fwd after break
gbreak = true
break
end
end --ghetto "continue"
k = k + 1
lastk = k
end --while k <= term_limit do
if gbreak == true then break end
g = g + 1
lastg = g
end --while g <= hgap_limit_irreg do
end --if j < 0
if j > 0 and endfound == false then --search forward from parent
local gbreak = false --switch used to break out of g-loop
local g = 0 --gap size
while g <= hgap_limit_irreg do
local k = -2 --term length: -2 = "0-length", -1 = "2020–present", 0 = "2020–", 1+ = normal
while k <= term_limit do
local from = fwanchor + g
local to4 = fwanchor + k + g --override carefully
local to2 = nil --last 2 digits of to4, IIF exists
if k == -1 then to4 = 'present' --see if end-cat exists (present)
elseif k == 0 then to4 = '' end --see if end-cat exists (blank)
local full = mw.text.trim( firstpart..lspace..from..hyph..to4..tspace..lastpart )
if k == -2 then
if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise
to4 = '0-length' --see if 0-length cat exists
full = mw.text.trim( firstpart..lspace..from..tspace..lastpart )
if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed
table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' )
full, to4 = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy
end
end
end
if (k >= -1) or --only continue k = -2 if 0-length found
(to4 == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc.
then
table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full )
if (k == 1) and
-- (g == 0 or g == 1) and --commented to let "2002–03 in Scottish women's football" find "2008–09 in Scottish women's football"
(catexists(full) == false)
then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series
to2 = string.match(to4, '%d%d$')
if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000)
full = mw.text.trim( firstpart..lspace..from..hyph..to2..tspace..lastpart )
table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full )
end
end
if catexists(full) then
if to4 == '0-length' then
if rtarget(full, frame) == full then --only use 0-length cats that don't #R
trackcat(13, 'Category series navigation range irregular, 0-length')
end
end
tirregs['from'..j] = from
tirregs['to'..j] = (to2 or to4)
if (k == -1) or (k == 0) then
endfound = true --tentative
else --k == { -2, > 0 }
tlistallfwd[#tlistallfwd] = spanblue..tlistallfwd[#tlistallfwd]..span..' (found)'
ttlens[ find_duration(full) ] = 1
if j == 4 then tgapsj4[g] = 1
else tgaps[g] = 1 end
endfound = false
if to4 ~= '0-length' then --k > 0
fwanchor = to4 --ratchet up
gbreak = true
break --only break on k > 0 b/c old end-cat #Rs still exist like "Members of the Scottish Parliament 2011–"
else --k == -2
j = j + 1 --save, but keep searching k's, in case "1974" → "1974-1979"
if j > jlimit then --lest we keep searching & finding 0-length cats ("2018 CONCACAF Champions League" & up)
gbreak = true
break
elseif g == hgap_limit_irreg then
--keep searching, since not a runaway, just far away ("American soccer clubs 1958–59 season")
hgap_limit_irreg = hgap_limit_irreg + 1
end
end
end
end
end --ghetto "continue"
k = k + 1
lastk = k
end --while k <= term_limit do
if gbreak == true then break end
g = g + 1
lastg = g
end --while g <= hgap_limit_irreg do
end --if j > 0 and endfound == false then
if (lastg and lastk) and
(lastg > hgap_limit_irreg) and
(lastk > term_limit)
then --search exhausted
if j < 0 then j = 0 --bwd search exhausted; continue fwd
elseif j > 0 then break end --fwd search exhausted
end
j = j + 1
end --while j <= jlimit
end --if hgap <= hgap_limit_reg
--determine # of displayed navh elements based on "YYYY-YY" vs. "YYYY-YYYY" counts
local Ythreshold = 3.3 --((YYYY-YY x 7) + (YYYY-YYYY x 2))/18 = 3.222; ((YYYY-YY x 6) + (YYYY-YYYY x 3))/18 = 3.333
local Ycount = 0 --"Y" count
local ycount = 0 --tirregs counter; # of contiguous #s
for k, v in pairs (tirregs) do
local dummy, dunce = mw.ustring.gsub(tostring(v), '%d', '') --why can't gsub just return a table??
Ycount = Ycount + dunce
ycount = ycount + 1
end
local ycount_limit = ((jlimit * 2) + 1) * 2 --i.e. ((4 * 2) + 1) * 2 = 18
if ycount < ycount_limit then --fill in the blanks with Ycount_parent, since hidden/dne cats aren't in tirregs
local dummy_finish = finish
if not regularparent then dummy_finish = start end
local dummy, dunce_from = mw.ustring.gsub(start, '%d', '')
local dummy, dunce_to = mw.ustring.gsub(dummy_finish, '%d', '')
local Ycount_parent_avg = (dunce_from + dunce_to)/2 --"YYYY-YYYY" = 4; "YYYY-YY" = 3
Ycount = Ycount + (Ycount_parent_avg * (ycount_limit - ycount))
ycount = ycount_limit
end
local iwidth = 3 --default to 3-a-side, 7 total
local Y_per_y = Ycount / ycount --normalized range: [3-4]
if Y_per_y < Ythreshold then
iwidth = 4 --extend to 4-a-side, 9 total
end
--begin navhyphen
local navh = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local terminalcat = false --switch used to hide future cats
local terminaltxt = nil
local i = -iwidth --nav position
while i <= iwidth do
local from = nstart + i*(t+hgap) --the logical, but not necessarily correct, 'from'
if tirregs['from'..i] then --prefer the irregular term table
from = tonumber(tirregs['from'..i])
else --fallback to lazy/naive 'from'
if i > 0 and
tirregs['from'..(i-1)] and
tirregs['from'..(i-1)] >= from
then --end of the line: avoid dups/past, and create reasonable grey'd ranges
local greyto = tonumber(tirregs['to' .. (i-1)]) or -9999
local greyfrom = tonumber(tirregs['from'..(i-1)]) or -9999
local grey = greyto --prefer 'to'
if greyfrom > greyto then grey = greyfrom end --'from' fallback, in case "1995–96", "1995-present", etc.
if grey > -9999 then
if grey ~= greyto then
from = grey + t + hgap --account for missing/incomplete 'to'
else
from = grey + hgap
end
tirregs['from'..i] = from --remember
tirregs['to' .. i] = from + t
end
elseif i < 0 then
local greyfrom
local ii = 0
while ii < 3 do
ii = ii + 1
greyfrom = tonumber(tirregs['from'..(i+ii)])
if greyfrom then break end
end
from = (greyfrom or nstart) - ii*(t+hgap)
tirregs['from'..i] = from --remember
tirregs['to' .. i] = from + t
end
end
local from2 = string.match(from, '%d?%d$')
local to = tostring(from+t) --the logical, naive range, but
if tirregs['to'..i] then --prefer irregular term table
to = tirregs['to'..i]
elseif regularparent == false and tirregs and i > 0 then
to = tirregs['to-1'] --special treatment for parent terminal cats, since they have no natural 'to'
end
local to2 = string.match(to, '%d?%d$')
local tofinal = (to2 or '') --assume t=1 and abbreviated 'to' (the most common case)
if t > 1 or --per MOS:DATERANGE (e.g. 1999-2004)
(from2 - (to2 or from2)) > 0 --century transition exception (e.g. 1999–2000)
then
tofinal = (to or '') --default to the MOS-correct format, in case no fallbacks found
end
if to == '0-length' then
tofinal = to
end
--check existance of 4-digit, MOS-correct range, with abbreviation fallback
if tofinal ~= '0-length' then
if t > 1 and string.len(from) == 4 then --e.g. 1999-2004
--determine which link exists (full or abbr)
local full = firstpart..lspace..from..hyph..tofinal..tspace..lastpart
if not catexists(full) then
local abbr = firstpart..lspace..from..hyph..to2..tspace..lastpart
if catexists(abbr) then
tofinal = (to2 or '') --rv to MOS-incorrect format; if full AND abbr DNE, then tofinal is still in its MOS-correct format
end
end
elseif t == 1 then --full-year consecutive ranges are also allowed
local abbr = firstpart..lspace..from..hyph..tofinal..tspace..lastpart --assume tofinal is in abbr format
if not catexists(abbr) and tofinal ~= to then
local full = firstpart..lspace..from..hyph..to..tspace..lastpart
if catexists(full) then
tofinal = (to or '') --if abbr AND full DNE, then tofinal is still in its abbr format (unless it's a century transition)
end end end end
--populate navh
if i ~= 0 then --left/right navh
local orig = firstpart..lspace..from..hyph..tofinal..tspace..lastpart
local disp = from..hyph..tofinal
if tofinal == '0-length' then
orig = firstpart..lspace..from..tspace..lastpart
disp = from
end
local catlink = catlinkfollowr(frame, orig, disp, true) --force terminal cat display
if terminalcat == false then
terminaltxt = find_terminaltxt( disp ) --also sets tracking cats
terminalcat = (terminaltxt ~= nil)
end
if catlink.rtarget and avoidself then --a {{Category redirect}} was followed, figure out why
--determine new term length & gap size
ttlens[ find_duration( catlink.rtarget ) ] = 1
if i > -iwidth then
local lastto = tirregs['to'..(i-1)]
if lastto == nil then
local lastfrom = nstart + (i-1)*(t+hgap)
lastto = lastfrom+t --use last logical 'from' to calc lastto
end
if lastto then
local gapcat = lastto..'-'..from --dummy cat to calc with
local gap = find_duration(gapcat) or -1 --in case of nil,
if iwidth == 4 then
tgapsj4[ gap ] = 1 --tgapsj4[-1] are ignored later
else
tgaps[ gap ] = 1 --tgaps[-1] are ignored later
end
end
end
--display/tracking handling
local base_regex = '%d+[–-]%d+'
local origbase = mw.ustring.gsub(orig, base_regex, '')
local rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex, '')
if rtarbase_success == 0 then
local base_regex_lax = '%d%d%d%d' --in case rtarget is a year cat
rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex_lax, '')
end
local terminal_regex = '%d+[–-]'..(terminaltxt or '')..'$' --more manual ORs bc Lua regex sux
if mw.ustring.match(orig, terminal_regex) then
origbase = mw.ustring.gsub(orig, terminal_regex, '')
end
if mw.ustring.match(catlink.rtarget, terminal_regex) then
--finagle/overload terminalcat type to set nmaxseas on 1st occurence only
if terminalcat == false then terminalcat = 1 end
local dummy = find_terminaltxt( catlink.rtarget ) --also sets tracking cats
rtarbase = mw.ustring.gsub(catlink.rtarget, terminal_regex, '')
end
origbase = mw.text.trim(origbase)
rtarbase = mw.text.trim(rtarbase)
if origbase ~= rtarbase then
trackcat(6, 'Category series navigation range redirected (base change)')
elseif terminalcat == 1 then
trackcat(8, 'Category series navigation range redirected (end)')
else --origbase == rtarbase
local all4s_regex = '%d%d%d%d[–-]%d%d%d%d'
local orig_all4s = mw.ustring.match(orig, all4s_regex)
local rtar_all4s = mw.ustring.match(catlink.rtarget, all4s_regex)
if orig_all4s and rtar_all4s then
trackcat(10, 'Category series navigation range redirected (other)')
else
local year_regex1 = '%d%d%d%d$'
local year_regex2 = '%d%d%d%d[%s%)]'
local year_rtar = mw.ustring.match(catlink.rtarget, year_regex1) or
mw.ustring.match(catlink.rtarget, year_regex2)
if orig_all4s and year_rtar then
trackcat(7, 'Category series navigation range redirected (var change)')
else
trackcat(9, 'Category series navigation range redirected (MOS)')
end
end
end
end
if terminalcat then --true or 1
if type(terminalcat) ~= 'boolean' then nmaxseas = from end --only want to do this once
terminalcat = true --done finagling/overloading
end
if (from >= 0) and (nminseas <= from) and (from <= nmaxseas) then
table.insert(navlist, catlink.navelement)
if terminalcat then nmaxseas = nminseas_default end --prevent display of future ranges
else
local hidden = '<span style="visibility:hidden">'..disp..'</span>'
table.insert(navlist, hidden)
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
else --center navh
if finish == -1 then finish = 'present'
elseif finish == 0 then finish = '<span style="visibility:hidden">'..start..'</span>' end
local disp = start..hyph..finish
if regularparent == 'isolated' then disp = start end
table.insert(navlist, '<b>'..disp..'</b>')
end
i = i + 1
end
-- add the list
navh = navh..horizontal(navlist)..'\n'
--tracking cats & finalize
if avoidself then
local igaps = 0 --# of diff gap sizes > 0 found
local itlens = 0 --# of diff term lengths found
for s = 1, hgap_limit_reg do --must loop; #tgaps, #ttlens unreliable
igaps = igaps + (tgaps[s] or 0)
end
if iwidth == 4 then --only count gaps if they were displayed ("Karnataka MLAs 1957–1962")
for s = 1, hgap_limit_reg do
igaps = igaps + (tgapsj4[s] or 0)
end
end
for s = 0, term_limit do
itlens = itlens + (ttlens[s] or 0)
end
if igaps > 0 then trackcat(11, 'Category series navigation range gaps') end
if itlens > 1 and ttrackingcats[13] == '' then --avoid duplication in "Category series navigation range irregular, 0-length"
trackcat(12, 'Category series navigation range irregular')
end
end
isolatedcat()
defaultgapcat(not hgap_success)
if listall then
return listalllinks()
else
return navh..'</div>'
end
end
--[[=========================={{ nav_tvseason }}============================]]
local function nav_tvseason( frame, firstpart, tv, lastpart, maximumtv )
--Expects a PAGENAME of the form "Futurama season 1 episodes", where
-- firstpart = Futurama season
-- tv = 1
-- lastpart = episodes
-- maximumtv = 7 ('max' tv season parameter; optional; defaults to 9999)
tv = tonumber(tv)
if tv == nil then
errors = p.errorclass('Function nav_tvseason can\'t recognize the TV season number sent to its 3rd parameter.')
return p.failedcat(errors, 'T')
end
--"(season 1) episodes" -> "season 1 episodes" following March 2024 RfC:
--[[Wikipedia talk:Naming conventions (television)#Follow-up RfC on TV season article titles]]
-- [[Special:Permalink/1216885280#Follow-up RfC on TV season article titles]]
local tspace = ' ' --"season 1 episodes"
local parenth_check = string.match(lastpart, '^%)')
if parenth_check then tspace = '' end --accommodate old style "(season 1) episodes" just in case
local maxtv_default = 9999
local maxtv = tonumber(maximumtv) or maxtv_default --allow +/- qualifier
if maxtv < tv then maxtv = tv end --input error; maxtv should be >= parent
--begin navtvseason
local navt = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local prepad = ''
local i = -5 --nav position
while i <= 5 do
local t = tv + i
if i ~= 0 then --left/right navt
local catlink = catlinkfollowr( frame, firstpart..' '..t..tspace..lastpart, t )
if t >= 1 and t <= maxtv then --hardcode mintv
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(25, 'Category series navigation TV season redirected')
end
if catlink.catexists or
(maxtv ~= maxtv_default and t <= maxtv)
then
table.insert(navlist, prepad..catlink.navelement) --display normally
prepad = ''
else
local postpad = '<span style="visibility:hidden"> • '..t..'</span>'
navlist[#navlist] = (navlist[#navlist] or '')..postpad
if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end
end
elseif t < 1 then
prepad = prepad..'<span style="visibility:hidden"> • '..'0'..'</span>'
if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end
else --t > maxtv
local postpad = '<span style="visibility:hidden"> • '..t..'</span>'
navlist[#navlist] = (navlist[#navlist] or '')..postpad
if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end
end
else --center navt
table.insert(navlist, prepad..'<b>'..tv..'</b>')
prepad = ''
end
i = i + 1
end
-- add the list
navt = navt..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navt..'</div>'
end
end
--[[==========================={{ nav_decade }}=============================]]
local function nav_decade( frame, firstpart, decade, lastpart, mindecade, maxdecade )
--Expects a PAGENAME of the form "Some sequential 2000 example cat", where
-- firstpart = Some sequential
-- decade = 2000
-- lastpart = example cat
-- mindecade = 1800 ('min' decade parameter; optional; defaults to -9999)
-- maxdecade = 2020 ('max' decade parameter; optional; defaults to 9999)
--sterilize dec
local dec = sterilizedec(decade)
if dec == nil then
errors = p.errorclass('Function nav_decade was sent "'..(decade or '')..'" as its 2nd parameter, '..
'but expects a 1 to 4-digit year ending in "0".')
return p.failedcat(errors, 'D')
end
local ndec = tonumber(dec)
--sterilize mindecade & determine AD/BC
local mindefault = '-9999'
local mindec = sterilizedec(mindecade) --returns a tostring(unsigned int), or nil
if mindec then
if string.match(mindecade, '-%d') or
string.match(mindecade, 'RC')
then
mindec = '-'..mindec --better +/-0 behavior with strings (0-initialized int == "-0" string...)
end
elseif mindec == nil and mindecade and mindecade ~= '' then
errors = p.errorclass('Function nav_decade was sent "'..(mindecade or '')..'" as its 4th parameter, '..
'but expects a 1 to 4-digit year ending in "0", the earliest decade to be shown.')
return p.failedcat(errors, 'E')
else --mindec == nil
mindec = mindefault --tonumber() later, after error checks
end
--sterilize maxdecade & determine AD/BC
local maxdefault = '9999'
local maxdec = sterilizedec(maxdecade) --returns a tostring(unsigned int), or nil + error
if maxdec then
if string.match(maxdecade, '-%d') or
string.match(maxdecade, 'RC')
then --better +/-0 behavior with strings (0-initialized int == "-0" string...),
maxdec = '-'..maxdec --but a "-0" string -> tonumber() -> tostring() = "-0",
end --and a "0" string -> tonumber() -> tostring() = "0"
elseif maxdec == nil and maxdecade and maxdecade ~= '' then
errors = p.errorclass('Function nav_decade was sent "'..(maxdecade or '')..'" as its 5th parameter, '..
'but expects a 1 to 4-digit year ending in "0", the highest decade to be shown.')
return p.failedcat(errors, 'F')
else --maxdec == nil
maxdec = maxdefault
end
local tspace = ' ' --assume trailing space for "1950s in X"-type cats
if string.match(lastpart, '^-') then tspace = '' end --DNE for "1970s-related"-type cats
--AD/BC switches & varR
local parentBC = string.match(lastpart, '^RC') --following the "0s BC" convention for all years BC
local BCe = parentBC and 'RC' or 'BC' --use RC for Manx categories, BC otherwise
lastpart = mw.ustring.gsub(lastpart, '^RC%s*', '') --handle BC separately; AD never used
--TODO?: handle BCE, but only if it exists in the wild
local dec0to40AD = (ndec >= 0 and ndec <= 40 and not parentBC) --special behavior in this range
local switchADBC = 1 -- 1=AD parent
if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later
local BCdisp = ''
local D = -math.huge --secondary switch & iterator for AD/BC transition
--check non-default min/max more carefully
if mindec ~= mindefault then
if tonumber(mindec) > ndec*switchADBC then
mindec = tostring(ndec*switchADBC) --input error; mindec should be <= parent
end
end
if maxdec ~= maxdefault then
if tonumber(maxdec) < ndec*switchADBC then
maxdec = tostring(ndec*switchADBC) --input error; maxdec should be >= parent
end
end
local nmindec = tonumber(mindec) --similar behavior to nav_year & nav_nordinal
local nmaxdec = tonumber(maxdec) --similar behavior to nav_nordinal
--begin navdecade
local bnb = '' --border/no border
if navborder == false then --for Category series navigation year and decade
bnb = 'categorySeriesNavigation-range-transparent'
end
local navd = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n'
local navlist = {}
local i = -50 --nav position x 10
while i <= 50 do
local d = ndec + i*switchADBC
local BC = ''
BCdisp = ''
if dec0to40AD then
if D < -10 then
d = math.abs(d + 10) --b/c 2 "0s" decades exist: "0s BC" & "0s" (AD)
BC = 'RC '
if d == 0 then
D = -10 --track 1st d = 0 use (BC)
end
elseif D >= -10 then
D = D + 10 --now iterate from 0s AD
d = D --2nd d = 0 use
end
elseif parentBC then
if switchADBC == -1 then --parentBC looking at the BC side (the common case)
BC = 'RC '
if d == 0 then --prepare to switch to the AD side on the next iteration
switchADBC = 1 --1st d = 0 use (BC)
D = -10 --prep
end
elseif switchADBC == 1 then --switched to the AD side
D = D + 10 --now iterate from 0s AD
d = D --2nd d = 0 use (on first use)
end
end
if BC ~= '' and ndec <= 50 then
BCdisp = ' '..BCe --show BC/RC for all BC decades whenever a "0yn" is displayed on the nav
end
--determine target cat
local disp = d..'yn'..BCdisp
local catlink = catlinkfollowr( frame, firstpart..' '..d..'yn'..tspace..BC..lastpart, disp )
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(18, 'Category series navigation decade redirected')
end
--populate left/right navd
local shown = navcenter(i, catlink)
local hidden = '<span style="visibility:hidden">'..disp..'</span>'
local dsign = d --use d for display & dsign for logic
if BC ~= '' then dsign = -dsign end
if (nmindec <= dsign) and (dsign <= nmaxdec) then
if dsign == 0 and (nmindec == 0 or nmaxdec == 0) then --distinguish b/w -0 (BC) & 0 (AD)
--"zoom in" on +/- 0 and turn dsign/min/max temporarily into +/- 1 for easier processing
local zsign, zmin, zmax = 1, nmindec, nmaxdec
if BC ~= '' then zsign = -1 end
if mindec == '-0' then zmin = -1
elseif mindec == '0' then zmin = 1 end
if maxdec == '-0' then zmax = -1
elseif maxdec == '0' then zmax = 1 end
if (zmin <= zsign) and (zsign <= zmax) then
table.insert(navlist, shown)
hidden = nil
else
table.insert(navlist, hidden)
end
else
table.insert(navlist, shown)--the common case
hidden = nil
end
else
table.insert(navlist, hidden)
end
if listall and hidden then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
i = i + 10
end
-- add the list
navd = navd..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navd..'</div>'
end
end
--[[============================{{ nav_year }}==============================]]
local function nav_year( frame, firstpart, year, lastpart, minimumyear, maximumyear )
--Expects a PAGENAME of the form "Some sequential 1760 example cat", where
-- firstpart = Some sequential
-- year = 1760
-- lastpart = example cat
-- minimumyear = 1758 ('min' year parameter; optional)
-- maximumyear = 1800 ('max' year parameter; optional)
local minyear_default = -9999
local maxyear_default = 9999
year = tonumber(year) or tonumber(mw.ustring.match(year or '', '^%s*(%d*)'))
local minyear = tonumber(string.match(minimumyear or '', '-?%d+')) or minyear_default --allow +/- qualifier
local maxyear = tonumber(string.match(maximumyear or '', '-?%d+')) or maxyear_default --allow +/- qualifier
if string.match(minimumyear or '', 'RC') then minyear = -math.abs(minyear) end --allow BC qualifier (AD otherwise assumed)
if string.match(maximumyear or '', 'RC') then maxyear = -math.abs(maxyear) end --allow BC qualifier (AD otherwise assumed)
if year == nil then
errors = p.errorclass('Function nav_year can\'t recognize the year sent to its 3rd parameter.')
return p.failedcat(errors, 'Y')
end
--AD/BC switches & vars
local yearBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown
--"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s
['example_Hebrew people_example'] = 'BCE', --example entry format; add to & adjust as needed
}
local parentAD = string.match(firstpart, 'BNJ$') --following the "AD 1" convention from AD 1 to AD 10
local parentBC = string.match(lastpart, '^RC?') --following the "1 BC" convention for all years BC
firstpart = mw.ustring.gsub(firstpart, '%s*BNJ$', '') --handle AD/BC separately for easier & faster accounting
lastpart = mw.ustring.gsub(lastpart, '^RC?%s*', '')
local BCe = parentBC or yearBCElastparts[lastpart] or 'RC' --"BC" default
local year1to10 = (year >= 1 and year <= 10)
local year1to10ADBC = year1to10 and (parentBC or parentAD) --special behavior 1-10 for low-# non-year series
local year1to15AD = (year >= 1 and year <= 15 and not parentBC) --special behavior 1-15 for AD/BC display
local switchADBC = 1 -- 1=AD parent
if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later
local Y = 0 --secondary iterator for AD-on-a-BC-parent
if minyear > year*switchADBC then minyear = year*switchADBC end --input error; minyear should be <= parent
if maxyear < year*switchADBC then maxyear = year*switchADBC end --input error; maxyear should be >= parent
local lspace = ' ' --leading space before year, after firstpart
if string.match(firstpart, '[%-VW]$') then
lspace = '' --e.g. "Straight-8 engines"
end
local tspace = ' ' --trailing space after year, before lastpart
if string.match(lastpart, '^-') then
tspace = '' --e.g. "2018-related timelines"
end
--determine interyear gap size to condense special category types, if possible
local ygapdefault = 1 --assume/start at the most common case: 2001, 2002, etc.
local ygap = ygapdefault
if string.match(lastpart, 'presidential') then
local ygap1, ygap2 = ygapdefault, ygapdefault --need to determine previous & next year gaps indepedently
local ygap1_success, ygap2_success = false, false
local prevseason = nil
while ygap1 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms
prevseason = firstpart..lspace..(year-ygap1)..tspace..lastpart
if catexists(prevseason) then
ygap1_success = true
break
end
ygap1 = ygap1 + 1
end
local nextseason = nil
while ygap2 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms
nextseason = firstpart..lspace..(year+ygap2)..tspace..lastpart
if catexists(nextseason) then
ygap2_success = true
break
end
ygap2 = ygap2 + 1
end
if ygap1_success and ygap2_success then
if ygap1 == ygap2 then ygap = ygap1 end
elseif ygap1_success then ygap = ygap1
elseif ygap2_success then ygap = ygap2
end
end
--skip non-existing years, if requested
local ynogaps = {} --populate with existing years in the range, at most, [year - (skipgaps_limit * 5), year + (skipgaps_limit * 5)]
if skipgaps then
if minyear == minyear_default then
minyear = 0 --automatically set minyear to 0, as AD/BC not supported anyway
end
if (year > 70) or --add support for AD/BC (<= AD 10) if/when needed
(minyear >= 0 and --must be a non-year series like "AC with 0 elements"
not parentAD and not parentBC)
then
local yskipped = {} --track skipped y's to avoid double-checking
local cat, found, Yeary
--populate nav element queue outwards positively from the parent
local Year = year --to save/ratchet progression
local i = 1
while i <= 5 do
local y = 1
while y <= skipgaps_limit do
found = false
Yeary = Year + y
if yskipped[Yeary] == nil then
yskipped[Yeary] = Yeary
cat = firstpart..lspace..Yeary..tspace..lastpart
found = catexists(cat)
if found then break end
end
y = y + 1
end
if found then Year = Yeary
else Year = Year + 1 end
ynogaps[i] = Year
i = i + 1
end
ynogaps[0] = year --the parent
--populate nav element queue outwards negatively from the parent
Year = year --reset ratchet
i = -1
while i >= -5 do
local y = -1
while y >= -skipgaps_limit do
found = false
Yeary = Year + y
if yskipped[Yeary] == nil then
yskipped[Yeary] = Yeary
cat = firstpart..lspace..Yeary..tspace..lastpart
found = catexists(cat)
if found then break end
end
y = y - 1
end
if found then Year = Yeary
else Year = Year - 1 end
ynogaps[i] = Year
i = i - 1
end
else
skipgaps = false --TODO: AD/BC support, then lift BC restrictions @ [[Template:Establishment category BC]] & [[Template:Year category header/core]]
end
end
--begin navyears
local navy = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local y
local j = 0 --decrementor for special cases "2021 World Rugby Sevens Series" -> "2021–2022"
local i = -5 --nav position
while i <= 5 do
if skipgaps then
y = ynogaps[i]
else
y = year + i*ygap*switchADBC - j
end
local BCdisp = ''
if i ~= 0 then --left/right navy
local AD = ''
local BC = ''
if year1to15AD and not
(year1to10 and not year1to10ADBC) --don't AD/BC 1-10's if parents don't contain AD/BC
then
if year >= 11 then --parent = AD 11-15
if y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats
AD = 'AD '
end
elseif year >= 1 then --parent = AD 1-10
if y <= 0 then
BC = BCe..' '
y = math.abs(y - 1) --skip y = 0 (DNE)
elseif y >= 1 and y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats
AD = 'AD '
end
end
elseif parentBC then
if switchADBC == -1 then --displayed y is in the BC regime
if y >= 1 then --the common case
BC = BCe..' '
elseif y == 0 then --switch from BC to AD regime
switchADBC = 1
end
end
if switchADBC == 1 then --displayed y is now in the AD regime
Y = Y + 1 --skip y = 0 (DNE)
y = Y --easiest solution: start another iterator for these AD y's displayed on a BC year parent
AD = 'AD '
end
end
if BC ~= '' and year <= 5 then --only show 'BC' for parent years <= 5: saves room, easier to read,
BCdisp = ' '..BCe --and 6 is the first/last nav year that doesn't need a disambiguator;
end --the center/parent year will always show BC, so no need to show it another 10x
--populate left/right navy
local ysign = y --use y for display & ysign for logic
local disp = y..BCdisp
if BC ~= '' then ysign = -ysign end
local firsttry = firstpart..lspace..AD..y..tspace..BC..lastpart
if (minyear <= ysign) and (ysign <= maxyear) then
local catlinkAD = catlinkfollowr( frame, firsttry, disp ) --try AD
local catlink = catlinkAD --tentative winner
if AD ~= '' then --for "ACArt with 5 suppressed elements"-type cats
local catlinkNoAD = catlinkfollowr( frame, firstpart..lspace..y..tspace..BC..lastpart, disp ) --try !AD
if catlinkNoAD.catexists == true then
catlink = catlinkNoAD --usurp
elseif listall then
tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>1</sup>'
end
end
if (AD..BC == '') and (catlink.catexists == false) and (y >= 1000) then --!ADBC & DNE; 4-digit only, to be frugal
--try basic hyphenated cats: 1-year, endash, MOS-correct only, no #Rs
local yHyph_4 = y..'–'..(y+1) --try 2010–2011 type cats
local catlinkHyph_4 = catlinkfollowr( frame, firstpart..lspace..yHyph_4..tspace..BC..lastpart, yHyph_4 )
if catlinkHyph_4.catexists and catlinkHyph_4.rtarget == nil then --exists & no #Rs
catlink = catlinkHyph_4 --usurp
trackcat(27, 'Category series navigation year and range')
else
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>2</sup>'
end
local yHyph_2 = y..'–'..string.match(y+1, '%d%d$') --try 2010–11 type cats
if i == 1 then
local yHyph_2_special = (y-1)..'–'..string.match(y, '%d%d$') --try special case 2021 -> 2021–22
local catlinkHyph_2_special = catlinkfollowr( frame, firstpart..lspace..yHyph_2_special..tspace..BC..lastpart, yHyph_2_special )
if catlinkHyph_2_special.catexists and catlinkHyph_2_special.rtarget == nil then --exists & no #Rs
catlink = catlinkHyph_2_special --usurp
trackcat(27, 'Category series navigation year and range')
j = 1
elseif listall then
tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>3</sup>'
end
end
if not (i == 1 and j == 1) then
local catlinkHyph_2 = catlinkfollowr( frame, firstpart..lspace..yHyph_2..tspace..BC..lastpart, yHyph_2 )
if catlinkHyph_2.catexists and catlinkHyph_2.rtarget == nil then --exists & no #Rs
catlink = catlinkHyph_2 --usurp
trackcat(27, 'Category series navigation year and range')
elseif listall then
tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>4</sup>'
end
end
end
end
if catlink.rtarget then --#R followed; determine why
local r = catlink.rtarget
local c = catlink.cat
local year_regex = '%d%d%d%d[–-]?%d?%d?%d?%d?' --prioritize year/range stripping, e.g. for "2006 Super 14 season"
local hyph_regex = '%d%d%d%d[–-]%d+' --stricter
local num_regex = '%d+' --strip any number otherwise
local final_regex = nil --best choice goes here
if mw.ustring.match(r, year_regex) and mw.ustring.match(c, year_regex) then
final_regex = year_regex
elseif mw.ustring.match(r, num_regex) and mw.ustring.match(c, num_regex) then
final_regex = num_regex
end
if final_regex then
local r_base = mw.ustring.gsub(r, final_regex, '')
local c_base = mw.ustring.gsub(c, final_regex, '')
if r_base ~= c_base then
trackcat(19, 'Category series navigation year redirected (base change)') --acceptable #R target
elseif mw.ustring.match(r, hyph_regex) then
trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "2008 in Scottish women's football" to "2008–09"
else
trackcat(21, 'Category series navigation year redirected (other)') --exceptions go here
end
else
trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "V2 engines" to "V-twin engines"
end
end
table.insert(navlist, catlink.navelement)
else --OOB vs min/max
local hidden = '<span style="visibility:hidden">'..disp..'</span>'
table.insert(navlist, hidden)
if listall then
local dummy = catlinkfollowr( frame, firsttry, disp )
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
else --center navy
if parentBC then BCdisp = ' '..BCe end
table.insert(navlist, '<b>'..year..BCdisp..'</b>')
end
i = i + 1
end
--add the list
navy = navy..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navy..'</div>'
end
end
--[[==========================={{ nav_roman }}==============================]]
local function nav_roman( frame, firstpart, roman, lastpart, minimumrom, maximumrom )
local toarabic = require('Module:ConvertNumeric').roman_to_numeral
local toroman = require('Module:Roman').main
--sterilize/convert rom/num
local num = tonumber(toarabic(roman))
local rom = toroman({ [1] = num })
if num == nil or rom == nil then --out of range or some other error
errors = p.errorclass('Function nav_roman can\'t recognize one or more of "'..(num or 'nil')..'" & "'..
(rom or 'nil')..'" in category "'..firstpart..' '..roman..' '..lastpart..'".')
return p.failedcat(errors, 'R')
end
--sterilize min/max
local minrom = tonumber(minimumrom or '') or tonumber(toarabic(minimumrom or ''))
local maxrom = tonumber(maximumrom or '') or tonumber(toarabic(maximumrom or ''))
if minrom < 1 then minrom = 1 end --toarabic() returns -1 on error
if maxrom < 1 then maxrom = 9999 end --toarabic() returns -1 on error
if minrom > num then minrom = num end
if maxrom < num then maxrom = num end
--begin navroman
local navr = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local i = -5 --nav position
while i <= 5 do
local n = num + i
if n >= 1 then
local r = toroman({ [1] = n })
if i ~= 0 then --left/right navr
local catlink = catlinkfollowr( frame, firstpart..' '..r..' '..lastpart, r )
if minrom <= n and n <= maxrom then
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(22, 'Category series navigation roman numeral redirected')
end
table.insert(navlist, catlink.navelement)
else
local hidden = '<span style="visibility:hidden">'..r..'</span>'
table.insert(navlist, hidden)
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
else --center navr
table.insert(navlist, '<b>'..r..'</b>')
end
else
table.insert(navlist, '<span style="visibility:hidden">I</span>')
end
i = i + 1
end
-- add the list
navr = navr..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navr..'</div>'
end
end
--[[=========================={{ nav_nordinal }}============================]]
local function nav_nordinal( frame, firstpart, ord, lastpart, minimumord, maximumord )
local nord = tonumber(ord)
local minord = tonumber(string.match(minimumord or '', '(-?%d+)[snrt]?[tdh]?')) or -9999 --allow full ord & +/- qualifier
local maxord = tonumber(string.match(maximumord or '', '(-?%d+)[snrt]?[tdh]?')) or 9999 --allow full ord & +/- qualifier
if string.match(minimumord or '', 'BC') or string.match(minimumord or '', 'RC') then minord = -math.abs(minord) end
if string.match(maximumord or '', 'BC') or string.match(maximumord or '', 'RC') then maxord = -math.abs(maxord) end
local temporal = string.match(lastpart, 'century') or
string.match(lastpart, 'millennium') or
string.match(lastpart, 'milley bleeaney') or
string.match(lastpart, 'villey bleeaney') or
string.match(lastpart, '^eash')
local isManxMillenium = string.match(lastpart, 'milley bleeaney') or
string.match(lastpart, 'villey bleeaney')
local isManxCentury = string.match(lastpart, '^eash')
local tspace = ' ' --assume a trailing space after ordinal
if string.match(lastpart, '^-') then tspace = '' end --DNE for "19th-century"-type cats
--AD/BC switches & vars
local ordBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown
--lists the lastpart of valid BCE cats
--"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s
['-century Hebrew people'] = 'BCE', --WP:CFD/Log/2016 June 21#Category:11th-century BC Hebrew people
['-century Jews'] = 'BCE', --co-nominated
['-century Judaism'] = 'BCE', --co-nominated
['-century rabbis'] = 'BCE', --co-nominated
['-century High Priests of Israel'] = 'BCE',
}
local parentBC = mw.ustring.match(lastpart, '%s(BCE?)')
or mw.ustring.match(lastpart, '%s(RC)')
local lastpartNoBC = mw.ustring.gsub(lastpart, '%sBCE?', '')
lastpartNoBC = mw.ustring.gsub(lastpartNoBC, '%sRC', '')
local BCe = parentBC
or ordBCElastparts[lastpartNoBC]
or ((isManxMillenium or isManxCentury) and 'RC')
or 'BC'
local switchADBC = 1 -- 1=AD parent
if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later
local O = 0 --secondary iterator for AD-on-a-BC-parent
if not temporal and not parentBC and minord < 1 then minord = 1 end
if not temporal and parentBC and maxord < 1 then maxord = -1 end
if minord > nord*switchADBC then minord = nord*switchADBC end --input error; minord should be <= parent
if maxord < nord*switchADBC then maxord = nord*switchADBC end --input error; maxord should be >= parent
--begin navnordinal
local bnb = '' --border/no border
if navborder == false then --for Category series navigation decade and century
bnb = 'categorySeriesNavigation-range-transparent'
end
local navo = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n'
local navlist = {}
local i = -5 --nav position
while i <= 5 do
local o = nord + i*switchADBC
local BC = ''
local BCdisp = ''
if parentBC then
if switchADBC == -1 then --parentBC looking at the BC side
if o >= 1 then --the common case
BC = ' '..BCe
elseif o == 0 then --switch to the AD side
BC = ''
switchADBC = 1
end
end
if switchADBC == 1 then --displayed o is now in the AD regime
O = O + 1 --skip o = 0 (DNE)
o = O --easiest solution: start another iterator for these AD o's displayed on a BC year parent
end
elseif o <= 0 then --parentAD looking at BC side
BC = ' '..BCe
o = math.abs(o - 1) --skip o = 0 (DNE)
end
if BC ~= '' and nord <= 5 then --only show 'BC' for parent ords <= 5: saves room, easier to read,
BCdisp = ' '..BCe --and 6 is the first/last nav ord that doesn't need a disambiguator;
end --the center/parent ord will always show BC, so no need to show it another 10x
--populate left/right navo
local oth = (isManxMillenium or isManxCentury) and p.addord(o) or tostring(o)
local osign = o
if BC ~= '' and temporal then osign = -osign end
local hidden = '<span style="visibility:hidden">'..oth..'</span>'
if temporal then --e.g. "3rd-century BC"
local lastpart = lastpartNoBC --lest we recursively add multiple "BC"s
if isManxMillenium then
-- 1d and 2h trigger lenition: villey bleeaney
-- 3oo and above use the base form: milley bleeaney
local ones = o % 10
local correct_form
if ones == 1 or ones == 2 then
correct_form = 'villey bleeaney'
else
correct_form = 'milley bleeaney'
end
local replacement = correct_form
if BC ~= '' then
replacement = replacement .. BC
end
lastpart = string.gsub(lastpart, temporal, replacement, 1) --swap in the correct mutation, preserving the rest of lastpart
elseif BC ~= '' then
lastpart = string.gsub(lastpart, temporal, temporal..BC) --replace BC if needed
end
local catlink = catlinkfollowr( frame, firstpart..' '..oth..tspace..lastpart, oth..BCdisp )
if (minord <= osign) and (osign <= maxord) then
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(23, 'Category series navigation nordinal redirected')
end
table.insert(navlist, navcenter(i, catlink))
else
table.insert(navlist, hidden)
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
elseif minord <= osign and osign <= maxord then
local catTarget = firstpart..' '..oth..tspace..lastpartNoBC
if BC ~= '' then
catTarget = firstpart..' '..oth..tspace..lastpartNoBC..BC
end
local dispText = oth..BCdisp
local catlink = catlinkfollowr( frame, catTarget, dispText )
if catlink.rtarget then
trackcat(23, 'Category series navigation nordinal redirected')
end
table.insert(navlist, navcenter(i, catlink))
else --out-of-range: hide
table.insert(navlist, hidden)
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
i = i + 1
end
navo = navo..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navo..'</div>'
end
end
--[[========================={{ nav_wordinal }}=============================]]
local function nav_wordinal( frame, firstpart, word, lastpart, minimumword, maximumword, ordinal, frame )
--Module:ConvertNumeric.spell_number2() args:
-- ordinal == true : 'second' is output instead of 'two'
-- ordinal == false: 'two' is output instead of 'second'
local ord2eng = require('Module:ConvertNumeric').spell_number2
local eng2ord = require('Module:ConvertNumeric').english_to_ordinal
local th = 'th'
if not ordinal then
th = ''
eng2ord = require('Module:ConvertNumeric').english_to_numeral
end
local capitalize = nil ~= string.match(word, '^%u') --determine capitalization
local nord = eng2ord(string.lower(word)) --operate on/with lowercase, and restore any capitalization later
local lspace = ' ' --assume a leading space (most common)
local tspace = ' ' --assume a trailing space (most common)
if string.match(firstpart, '[%-%(]$') then lspace = '' end --DNE for "Straight-eight engines"-type cats
if string.match(lastpart, '^[%-%)]' ) then tspace = '' end --DNE for "Nine-cylinder engines"-type cats
--sterilize min/max
local maxword_default = 99
local maxword = maxword_default
local minword = 1
if minimumword then
local num = tonumber(minimumword)
if num and 0 < num and num < maxword then
minword = num
else
local ord = eng2ord(minimumword)
if 0 < ord and ord < maxword then
minword = ord
end
end
end
if maximumword then
local num = tonumber(maximumword)
if num and 0 < num and num < maxword then
maxword = num
else
local ord = eng2ord(maximumword)
if 0 < ord and ord < maxword then
maxword = ord
end
end
end
if minword > nord then minword = nord end
if maxword < nord then maxword = nord end
--determine max existing cat
local listoverride = true
local n_max = nord
local m = 1
while m <= 5 do
local n = nord + m
local nth = p.addord(n)
if not ordinal then nth = n end
local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize }
local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth, nil, listoverride )
if catlink.catexists then n_max = n end
m = m + 1
end
--begin navwordinal
local navw = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local prepad = ''
local i = -5 --nav position
while i <= 5 do
local n = nord + i
if n >= 1 then
local nth = p.addord(n)
if not ordinal then nth = n end
if i ~= 0 then --left/right navw
local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize }
local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth )
if minword <= n and n <= maxword then
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(24, 'Category series navigation wordinal redirected')
end
if n <= n_max or
maxword ~= maxword_default
then
table.insert(navlist, prepad..catlink.navelement) --display normally
prepad = ''
else
local postpad = '<span style="visibility:hidden"> • '..nth..'</span>'
navlist[#navlist] = (navlist[#navlist] or '')..postpad
if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end
end
else
local postpad = '<span style="visibility:hidden"> • '..nth..'</span>'
navlist[#navlist] = (navlist[#navlist] or '')..postpad
if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end
end
else --center navw
table.insert(navlist, prepad..'<b>'..nth..'</b>')
prepad = ''
end
else --n < 1
prepad = prepad..'<span style="visibility:hidden"> • '..'0'..th..'</span>'
if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end
end
i = i + 1
end
-- Add the list
navw = navw..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navw..'</div>'
end
end
--[[==========================={{ find_var }}===============================]]
local function find_var( pn )
--Extracts the variable text (e.g. 2015, 2015–16, 2000s, 3rd, III, etc.) from a string,
--and returns { ['vtype'] = <'year'|'season'|etc.>, <v> = <2015|2015–16|etc.> }
local pagename = currtitle.text
if pn and pn ~= '' then
pagename = pn
end
local cpagename = 'Ronney:'..pagename --limited-Lua-regex workaround
local d_season = mw.ustring.match(cpagename, ':(%d+yn).+%(%d+[–-]%d+%)') --i.e. "1760yn in the Province of Quebec (1763–1791)"
local y_season = mw.ustring.match(cpagename, ':(%d+) .+%(%d+[–-]%d+%)') --i.e. "1763 establishments in the Province of Quebec (1763–1791)"
local e_season = mw.ustring.match(cpagename, '%s(%d+[–-])$') or --irreg; ending unknown, e.g. "Members of the Scottish Parliament 2021–"
mw.ustring.match(cpagename, '%s(%d+[–-]jiu)$') --e.g. "UK MPs 2019–present"
local season = mw.ustring.match(cpagename, '[:%s%(](%d+[–-]%d+)[%)%s]') or --split in 2 b/c you can't frontier '$'/eos?
mw.ustring.match(cpagename, '[:%s](%d+[–-]%d+)$')
local tvseason = mw.ustring.match(cpagename, 'season (%d+)') or
mw.ustring.match(cpagename, 'series (%d+)') or
mw.ustring.match(cpagename, 'meetup (%d+)')
-- Require at least the two-character core of an ordinal suffix (st, nd, rd, th)
-- so that bare numbers and yn-suffixed decades do not match as nordinals.
local nordinal = string.match(pagename, '%d+[snrt][tdh]') or
string.match(pagename, '%d+oo%f[%A]') or
string.match(pagename, '%d+[dh]%f[%A]')
local decade = mw.ustring.match(cpagename, '[:%s](%d+yn)[%s-]') or
mw.ustring.match(cpagename, '[:%s](%d+yn)$')
local year = mw.ustring.match(cpagename, '[:%s](%d%d%d%d)%s') or --prioritize 4-digit years
mw.ustring.match(cpagename, '[:%s](%d%d%d%d)$') or
mw.ustring.match(cpagename, '[:%s](%d+)%s') or
mw.ustring.match(cpagename, '[:%s](%d+)$') or
--expand/combine exceptions below as needed
mw.ustring.match(cpagename, '[:%s](%d+)-related') or
mw.ustring.match(cpagename, '[:%s](%d+)-cylinder') or
mw.ustring.match(cpagename, '[:%-VW](%d+)%s') --e.g. "Straight-8 engines"
local roman = mw.ustring.match(cpagename, '%s([IVXLCDM]+)%s')
local found = d_season or y_season or e_season or season or tvseason or
nordinal or decade or year or roman
if found then
if string.match(found, '%d%d%d%d%d') == nil then
--return in order of decreasing complexity/chance for duplication
if nordinal and season --i.e. "18th-century establishments in the Province of Quebec (1763–1791)"
then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end
if d_season then return { ['vtype'] = 'decade', ['v'] = d_season } end
if y_season then return { ['vtype'] = 'year', ['v'] = y_season } end
if e_season then return { ['vtype'] = 'ending', ['v'] = e_season } end
if season then return { ['vtype'] = 'season', ['v'] = season } end
if tvseason then return { ['vtype'] = 'tvseason', ['v'] = tvseason } end
if decade then return { ['vtype'] = 'decade', ['v'] = decade } end
if nordinal then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end
if year then return { ['vtype'] = 'year', ['v'] = year } end
if roman then return { ['vtype'] = 'roman', ['v'] = roman } end
end
else
--try wordinals ('zeroth' to 'ninety-ninth' only)
local eng2ord = require('Module:ConvertNumeric').english_to_ordinal
local split = mw.text.split(pagename, ' ')
for i=1, #split do
if eng2ord(split[i]) > -1 then
return { ['vtype'] = 'wordinal', ['v'] = split[i] }
end
end
--try English numerics ('one'/'single' to 'ninety-nine' only)
local eng2num = require('Module:ConvertNumeric').english_to_numeral
local split = mw.text.split(pagename, '[%s%-]') --e.g. "Nine-cylinder engines"
for i=1, #split do
if eng2num(split[i]) > -1 then
return { ['vtype'] = 'enumeric', ['v'] = split[i] }
end
end
end
errors = p.errorclass('Function find_var can\'t find the variable text in category "'..pagename..'".')
return { ['vtype'] = 'error', ['v'] = p.failedcat(errors, 'V') }
end
--[[==========================================================================]]
--[[ Main ]]
--[[==========================================================================]]
function p.csn( frame )
--arg checks & handling
local args = frame:getParent().args
checkforunknownparams(args) --for template args
checkforunknownparams(frame.args) --for #invoke'd args
local cat = args['cat'] --'testcase' alias for catspace
local list = args['list-all-links'] --debugging utility to output all links & followed #Rs
local follow = args['follow-redirects'] --default 'yes'
local testcase = args['testcase']
local testcasegap = args['testcasegap']
local minimum = args['min']
local maximum = args['max']
local skip_gaps = args['skip-gaps']
local show = args['show']
if show and show ~= '' then
if show == 'skip-gaps' then return skipgaps_limit
elseif show == 'term-limit' then return term_limit
elseif show == 'hgap-limit' then return hgap_limit
elseif show == 'ygap-limit' then return ygap_limit end
end
--apply args
local pagename = testcase or cat or currtitle.text
local testcaseindent = ''
if testcasecolon == ':' then testcaseindent = '\n::' end
if follow and follow == 'no' then followRs = false end
if list and list == 'yes' then listall = true end
if skip_gaps and skip_gaps == 'yes' then
skipgaps = true
trackcat(26, 'Category series navigation using skip-gaps parameter')
end
--ns checks
if currtitle.nsText == 'Category' then
if cat and cat ~= '' then
trackcat(1, 'Category series navigation using cat parameter')
end
if testcase and testcase ~= '' then
trackcat(2, 'Category series navigation using testcase parameter')
end
elseif currtitle.nsText == '' then
trackcat(30, 'Category series navigation in mainspace')
end
--find the variable parts of pagename
local findvar = find_var(pagename)
if findvar.vtype == 'error' then --basic format error checking in find_var()
return findvar.v..table.concat(ttrackingcats)
end
local start = string.match(findvar.v, '^%d+')
--the rest is static
local findvar_escaped = string.gsub( findvar.v, '%-', '%%%-')
local firstpart, lastpart = string.match(pagename, '^(.-)'..findvar_escaped..'(.*)$')
if findvar.vtype == 'tvseason' then --double check for cases like "30 Rock (season 3) episodes"
firstpart, lastpart = string.match(pagename, '^(.-season )'..findvar_escaped..'(.*)$')
if firstpart == nil then
firstpart, lastpart = string.match(pagename, '^(.-series )'..findvar_escaped..'(.*)$')
end
if firstpart == nil then
firstpart, lastpart = string.match(pagename, '^(.-meetup )'..findvar_escaped..'(.*)$')
end
end
firstpart = mw.text.trim(firstpart or '')
lastpart = mw.text.trim(lastpart or '')
--call the appropriate nav function, in order of decreasing popularity
if findvar.vtype == 'year' then --e.g. "500", "2001"; nav_year..nav_decade; ~75% of cats
local nav1 = nav_year( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats)
local dec = math.floor(findvar.v/10)
local decadecat = nil
local firstpart_dec = firstpart
if firstpart_dec ~= '' then
firstpart_dec = firstpart_dec..' the'
elseif firstpart_dec == 'AD' and dec <= 1 then
firstpart_dec = ''
if dec == 0 then dec = '' end
end
local decade = dec..'0yn '
decadecat = mw.text.trim( firstpart_dec..' '..decade..lastpart )
local exists = catexists(decadecat)
if exists then
navborder = false
local nav2 = nav_decade( frame, firstpart_dec, decade, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats)
return wrap( nav1, nav2 )
elseif ttrackingcats[16] ~= '' then --nav_year isolated; check nav_hyphen (e.g. UK MPs 1974, Moldovan MPs 2009, etc.)
local hyphen = '–'
local finish = start
local nav2 = nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats)
if ttrackingcats[16] ~= '' then return wrap( nav1 ) --still isolated; rv to nav_year
else return wrap( nav2 ) end
else --regular nav_year
return wrap( nav1 )
end
elseif findvar.vtype == 'decade' then --e.g. "0yn", "2010yn"; nav_decade..nav_nordinal; ~12% of cats
local nav1 = nav_decade( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats)
local decade = tonumber(string.match(findvar.v, '^(%d+)yn'))
local century = math.floor( ((decade-1)/100) + 1 ) --from {{CENTURY}}
if century == 0 then century = 1 end --no 0th century
if string.match(decade, '00$') then
century = century + 1 --'2000' is in the 20th, but the rest of the 2000s is in the 21st
end
local clastpart = ' century '..lastpart
local centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart )
local exists = catexists(centurycat)
if not exists then --check for hyphenated century
clastpart = '-century '..lastpart
centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart )
exists = catexists(centurycat)
end
if exists then
navborder = false
trackcat(29, 'Category series navigation decade and century')
local nav2 = nav_nordinal( frame, firstpart, century, clastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats)
return wrap( nav1, nav2 )
else
return wrap( nav1 )
end
elseif findvar.vtype == 'nordinal' then --e.g. "1st", "99th"; ~7.5% of cats
return wrap( nav_nordinal( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'season' then --e.g. "1–4", "1999–2000", "2001–02", "2001–2002", "2005–2010", etc.; ~5.25%
local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])(%d+)') --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd
return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'tvseason' then --e.g. "1", "15" but preceded with "season" or "series"; <1% of cats
return wrap( nav_tvseason( frame, firstpart, start, lastpart, maximum )..testcaseindent..table.concat(ttrackingcats) ) --"minimum" defaults to 1
elseif findvar.vtype == 'wordinal' then --e.g. "first", "ninety-ninth"; <<1% of cats
local ordinal = true
return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'enumeric' then --e.g. "one", "ninety-nine"; <<1% of cats
local ordinal = false
return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'roman' then --e.g. "I", "XXVIII"; <<1% of cats
return wrap( nav_roman( frame, firstpart, findvar.v, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'ending' then --e.g. "2021–" (irregular; ending unknown); <<<1% of cats
local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])present$'), -1 --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd
if hyphen == nil then
hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])$'), 0 --0/-1 are hardcoded switches for nav_hyphen()
end
return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) )
else --malformed
errors = p.errorclass('Failed to determine the appropriate nav function from malformed season "'..findvar.v..'". ')
return p.failedcat(errors, 'N')..table.concat(ttrackingcats)
end
end
return p
5l7aonuqjy0cnmljl67t357ouu854eo
388276
388275
2026-08-08T12:42:25Z
MacTire02
219
prowal
388276
Scribunto
text/plain
require('strict')
local p = {}
local horizontal = require('Module:List').horizontal
local rtarget = require('Module:Resolve category redirect').rtarget
--[[==========================================================================]]
--[[ Globals ]]
--[[==========================================================================]]
local currtitle = mw.title.getCurrentTitle()
local nexistingcats = 0
local errors = ''
local testcasecolon = ''
local testcases = string.match(currtitle.subpageText, '^testcases')
if testcases then testcasecolon = ':' end
local navborder = true
local followRs = true
local skipgaps = false
local skipgaps_limit = 50
local term_limit = 10
local hgap_limit = 6
local ygap_limit = 5
local listall = false
local tlistall = {}
local tlistallbwd = {}
local tlistallfwd = {}
local ttrackingcats = { --when reindexing, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]'
'', -- [1] placeholder for [[Category:Category series navigation using cat parameter]]
'', -- [2] placeholder for [[Category:Category series navigation using testcase parameter]]
'', -- [3] placeholder for [[Category:Category series navigation using unknown parameter]]
'', -- [4] placeholder for [[Category:Category series navigation range not using en dash]]
'', -- [5] placeholder for [[Category:Category series navigation range abbreviated (MOS)]]
'', -- [6] placeholder for [[Category:Category series navigation range redirected (base change)]]
'', -- [7] placeholder for [[Category:Category series navigation range redirected (var change)]]
'', -- [8] placeholder for [[Category:Category series navigation range redirected (end)]]
'', -- [9] placeholder for [[Category:Category series navigation range redirected (MOS)]]
'', --[10] placeholder for [[Category:Category series navigation range redirected (other)]]
'', --[11] placeholder for [[Category:Category series navigation range gaps]]
'', --[12] placeholder for [[Category:Category series navigation range irregular]]
'', --[13] placeholder for [[Category:Category series navigation range irregular, 0-length]]
'', --[14] placeholder for [[Category:Category series navigation range ends (present)]]
'', --[15] placeholder for [[Category:Category series navigation range ends (blank, MOS)]]
'', --[16] placeholder for [[Category:Category series navigation isolated]]
'', --[17] placeholder for [[Category:Category series navigation default season gap size]]
'', --[18] placeholder for [[Category:Category series navigation decade redirected]]
'', --[19] placeholder for [[Category:Category series navigation year redirected (base change)]]
'', --[20] placeholder for [[Category:Category series navigation year redirected (var change)]]
'', --[21] placeholder for [[Category:Category series navigation year redirected (other)]]
'', --[22] placeholder for [[Category:Category series navigation roman numeral redirected]]
'', --[23] placeholder for [[Category:Category series navigation nordinal redirected]]
'', --[24] placeholder for [[Category:Category series navigation wordinal redirected]]
'', --[25] placeholder for [[Category:Category series navigation TV season redirected]]
'', --[26] placeholder for [[Category:Category series navigation using skip-gaps parameter]]
'', --[27] placeholder for [[Category:Category series navigation blein as reayn]]
'', --[28] placeholder for [[Category:Category series navigation blein as jeihaght]]
'', --[29] placeholder for [[Category:Category series navigation jeihaght as eash]]
'', --[30] placeholder for [[Category:Category series navigation in mainspace]]
'', --[31] placeholder for [[Category:Category series navigation redirection error]]
}
local avoidself = (not string.match(currtitle.text, 'Category series navigation with') and
not string.match(currtitle.text, 'Category series navigation.*/doc') and
not string.match(currtitle.text, 'Category series navigation.*/sandbox') and
currtitle.text ~= 'Category series navigation' and
currtitle.nsText:gsub('_', ' ') ~= 'User talk' and -- [[phab:T369784]]
currtitle.nsText:gsub('_', ' ') ~= 'Template talk' and
(currtitle.nsText ~= 'Template' or testcases)) --avoid nested transclusion errors (i.e. {{Infilmdecade}})
--[[==========================================================================]]
--[[ Utility & category functions ]]
--[[==========================================================================]]
--Determine if a category exists (in a function for easier localization).
local function catexists( title )
return mw.title.new( title, 'Category' ).exists
end
--Error message handling.
function p.errorclass( msg )
return mw.text.tag( 'span', {class='error mw-ext-cite-error'}, '<b>Error!</b> '..string.gsub(msg, '&#', '&#') )
end
--Failure handling.
function p.failedcat( errors, sortkey )
if avoidself then
return (errors or '')..'***Category series navigation failed to generate navbox***'..
'[['..testcasecolon..'Category:Category series navigation failed to generate navbox|'..(sortkey or 'O')..']]\n'
end
return ''
end
--Tracking cat handling.
-- key: 15 (when reindexing ttrackingcats{}, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]')
-- cat: 'Category series navigation isolated'; '' to remove
--Used by main, all nav_*(), & several utility functions.
local function trackcat( key, cat )
if avoidself and key and cat then
if cat ~= '' then
ttrackingcats[key] = '[['..testcasecolon..'Category:'..cat..']]'
else
ttrackingcats[key] = ''
end
end
return
end
--Check for unknown parameters.
--Used by main only.
local function checkforunknownparams( tbl )
local knownparams = { --parameter whitelist
['min'] = 'min',
['max'] = 'max',
['cat'] = 'cat',
['show'] = 'show',
['testcase'] = 'testcase',
['testcasegap'] = 'testcasegap',
['skip-gaps'] = 'skip-gaps',
['list-all-links'] = 'list-all-links',
['follow-redirects'] = 'follow-redirects',
}
for k, _ in pairs (tbl) do
if knownparams[k] == nil then
trackcat(3, 'Category series navigation using unknown parameter')
break
end
end
end
--Check for nav_*() navigational isolation (not necessarily an error).
--Used by all nav_*().
local function isolatedcat()
if nexistingcats == 0 then
trackcat(16, 'Category series navigation isolated')
end
end
--Similar to {{LinkCatIfExists2}}: make a piped link to a category, if it exists;
--if it doesn't exist, just display the greyed link title without linking.
--Follows {{Category redirect}}s.
--Returns {
-- ['cat'] = cat,
-- ['catexists'] = true,
-- ['rtarget'] = <#R target>,
-- ['navelement'] = <#R target navelement>,
-- ['displaytext'] = displaytext,
-- }
-- if #R followed;
--returns {
-- ['cat'] = cat,
-- ['catexists'] = <true|false>,
-- ['rtarget'] = nil,
-- ['navelement'] = <cat navelement>,
-- ['displaytext'] = displaytext,
-- }
-- otherwise.
--Used by all nav_*().
local function catlinkfollowr( frame, cat, displaytext, displayend, listoverride )
cat = mw.text.trim(cat or '')
displaytext = mw.text.trim(displaytext or '')
displayend = displayend or false --bool flag to override displaytext IIF the cat/target is terminal (e.g. "2021–present" or "2021–")
local disp = cat
if displaytext ~= '' then --use 'displaytext' parameter if present
disp = mw.ustring.gsub(displaytext, '%s+%(.+$', ''); --strip any trailing disambiguator
end
local link, nilorR
local exists = catexists(cat)
if exists then
nexistingcats = nexistingcats + 1
if followRs then
local R = rtarget(cat, frame) --find & follow #R
if R ~= cat then --#R followed
nilorR = R
end
if displayend then
local y, hyph, ending = mw.ustring.match(R, '^.-(%d+)([–-])(.*)$')
if ending == 'present' then
disp = y..hyph..ending
elseif ending == '' then
disp = y..hyph..'<span style="visibility:hidden">'..y..'</span>' --hidden y to match spacing
end
end
link = '[[:Category:'..R..'|'..disp..']]'
else
link = '[[:Category:'..cat..'|'..disp..']]'
end
else
link = '<span class="categorySeriesNavigation-item-inactive">'..disp..'</span>'
end
if listall and listoverride == nil then
if nilorR then --#R followed
table.insert( tlistall, '[[:Category:'..cat..']] → '..'[[:Category:'..nilorR..']] ('..link..')' )
else --no #R
table.insert( tlistall, '[[:Category:'..cat..']] ('..link..')' )
end
end
return {
['cat'] = cat,
['catexists'] = exists,
['rtarget'] = nilorR,
['navelement'] = link,
['displaytext'] = disp,
}
end
--Returns a numbered list of all {{Category redirect}}s followed by catlinkfollowr() -> rtarget().
--For a nav_hyphen() cat, also returns a formatted list of all cats searched for & found, & all loop indices.
--Used by all nav_*().
local function listalllinks()
local nl = '\n# '
local out = ''
if currtitle.nsText == 'Category' then
errors = p.errorclass('The <b><code>|list-all-links=yes</code></b> parameter/utility '..
'should not be saved in category space, only previewed.')
out = p.failedcat(errors, 'Z')
end
local bwd, fwd = '', ''
if tlistallbwd[1] then
bwd = '\n\nbackward search:'..nl..table.concat(tlistallbwd, nl)
end
if tlistallfwd[1] then
fwd = '\n\nforward search:'..nl..table.concat(tlistallfwd, nl)
end
if tlistall[1] then
return out..nl..table.concat(tlistall, nl)..bwd..fwd
else
return out..nl..'No links found!?'..bwd..fwd
end
end
--Returns the difference b/w 2 ints separated by endash|hyphen, nil if error.
--Used by nav_hyphen() only.
local function find_duration( cat )
local from, to = mw.ustring.match(cat, '(%d+)[–-](%d+)')
if from and to then
if to == '00' then return nil end --doesn't follow MOS:DATERANGE
if (#from == 4) and (#to == 2) then --1900-01
to = string.match(from, '(%d%d)%d%d')..to --1900-1901
elseif (#from == 2) and (#to == 4) then -- 01-1902
from = string.match(to, '(%d%d)%d%d')..from --1901-1902
end
return (tonumber(to) - tonumber(from))
end
return 0
end
--Returns the ending of a terminal cat, and sets the appropriate tracking cat, else nil.
--Used by nav_hyphen() only.
local function find_terminaltxt( cat )
local terminaltxt = nil
if mw.ustring.match(cat, '%d+[–-]present$') then
terminaltxt = 'present'
trackcat(14, 'Category series navigation range ends (present)')
elseif mw.ustring.match(cat, '%d+[–-]$') then
terminaltxt = ''
trackcat(15, 'Category series navigation range ends (blank, MOS)')
end
return terminaltxt
end
--Returns an unsigned string of the 1-4 digit decade ending in "0", else nil.
--Used by nav_decade() only.
local function sterilizedec( decade )
if decade == nil or decade == '' then
return nil
end
local dec = string.match(decade, '^[-%+]?(%d?%d?%d?0)$') or
string.match(decade, '^[-%+]?(%d?%d?%d?0)%D')
if dec then
return dec
else
--fix 2-4 digit decade
local decade_fixed234 = string.match(decade, '^[-%+]?(%d%d?%d?)%d$') or
string.match(decade, '^[-%+]?(%d%d?%d?)%d%D')
if decade_fixed234 then
return decade_fixed234..'0'
end
--fix 1-digit decade
local decade_fixed1 = string.match(decade, '^[-%+]?(%d)$') or
string.match(decade, '^[-%+]?(%d)%D')
if decade_fixed1 then
return '0'
end
--unfixable
return nil
end
end
--Check for nav_hyphen default gap size + isolatedcat() (not necessarily an error).
--Used by nav_hyphen() only.
local function defaultgapcat( bool )
if bool and nexistingcats == 0 then
--using "nexistingcats > 0" isn't as useful, since the default gap size obviously worked
trackcat(17, 'Category series navigation default season gap size')
end
end
--12 -> 12h, etc.
--Used by nav_nordinal() & nav_wordinal().
function p.addord( i )
if tonumber(i) then
local s = tostring(i)
local n = tonumber(i)
local ones = n % 10
if ones == 1 then
return s .. 'd'
elseif ones == 2 then
return s .. 'h'
else
return s .. 'oo'
end
end
return i
end
--Returns the properly formatted central nav element.
--Expects an integer i, and a catlinkfollowr() table.
--Used by nav_decade() & nav_ordinal() only.
local function navcenter( i, catlink )
if i == 0 then --center nav element
if navborder == true then
return '<b>'..catlink.displaytext..'</b>'
else
return '<b>'..catlink.navelement..'</b>'
end
else
return catlink.navelement
end
end
--Wrap one or two navs in a <div> with ARIA attributes; add TemplateStyles
--before it. This also aligns the navs in case some floating element (like a
--portal box) breaks their alignment.
--Used by main only.
local function wrap( nav1, nav2 )
local templatestyles = require("Module:TemplateStyles")(
"Module:Category series navigation/styles.css"
)
local prepare = function (nav)
if nav then
nav = '\n'..nav
else
nav = ''
end
return nav
end
return templatestyles..
'<div class="categorySeriesNavigation" role="navigation" aria-label="Range">'..
prepare(nav1)..prepare(nav2)..
'\n</div>'
end
--[[==========================================================================]]
--[[ Formerly separated templates/modules ]]
--[[==========================================================================]]
--[[==========================={{ nav_hyphen }}=============================]]
local function nav_hyphen( frame, start, hyph, finish, firstpart, lastpart, minseas, maxseas, testgap )
--Expects a PAGENAME of the form "Some sequential 2015–16 example cat", where
-- start = 2015
-- hyph = –
-- finish = 16 (sequential years can be abbreviated, but others should be full year, e.g. "2001–2005")
-- firstpart = Some sequential
-- lastpart = example cat
-- minseas = 1800 ('min' starting season shown; optional; defaults to -9999)
-- maxseas = 2000 ('max' starting season shown; optional; defaults to 9999; 2000 will show 2000-01)
-- testgap = 0 (testcasegap parameter for easier testing; optional)
--sterilize start
if string.match(start or '', '^%d%d?%d?%d?$') == nil then --1-4 digits, AD only
local start_fixed = mw.ustring.match(start or '', '^%s*(%d%d?%d?%d?)%D')
if start_fixed then
start = start_fixed
else
errors = p.errorclass('Function nav_hyphen can\'t recognize the number "'..(start or '')..'" '..
'in the first part of the "season" that was passed to it. '..
'For e.g. "2015–16", "2015" is expected via "|2015|–|16|".')
return p.failedcat(errors, 'H')
end
end
local nstart = tonumber(start)
--en dash check
if hyph ~= '–' then
trackcat(4, 'Category series navigation range not using en dash') --nav still processable, but track
end
--sterilize finish & check for weird parents
local tgaps = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for -3 <= j <= 3
local tgapsj4 = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for j = { -4, 4 }
local ttlens = {} --table of term lengths found w/i terms { [<term length found>] = 1 }
local tirregs = {} --table of ir/regular-term-length cats' "from"s & "to"s found
local regularparent = true
if (finish == -1) or --"Members of the Scottish Parliament 2021–present"
(finish == 0) --"Members of the Scottish Parliament 2021–"
then
regularparent = false
if maxseas == nil or maxseas == '' then
maxseas = start --hide subsequent ranges
end
if finish == -1 then trackcat(14, 'Category series navigation range ends (present)')
else trackcat(15, 'Category series navigation range ends (blank, MOS)') end
elseif (start == finish) and
(ttrackingcats[16] ~= '') --nav_year found isolated; check for surrounding hyphenated terms (e.g. UK MPs 1974)
then
trackcat(16, '') --reset for another check later
trackcat(13, 'Category series navigation range irregular, 0-length')
ttlens[0] = 1 --calc ttlens for std cases below
regularparent = 'isolated'
end
if (string.match(finish or '', '^%d+$') == nil) and
(string.match(finish or '', '^%-%d+$') == nil)
then
local finish_fixed = mw.ustring.match(finish or '', '^%s*(%d%d?%d?%d?)%D')
if finish_fixed then
finish = finish_fixed
else
errors = p.errorclass('Function nav_hyphen can\'t recognize "'..(finish or '')..'" '..
'in the second part of the "season" that was passed to it. '..
'For e.g. "2015–16", "16" is expected via "|2015|–|16|".')
return p.failedcat(errors, 'I')
end
else
if string.len(finish) >= 5 then
errors = p.errorclass('The second part of the season passed to function nav_hyphen should only be four or fewer digits, not "'..(finish or '')..'". '..
'See [[MOS:DATERANGE]] for details.')
return p.failedcat(errors, 'J')
end
end
local nfinish = tonumber(finish)
--save sterilized parent range for easier lookup later
tirregs['from0'] = nstart
tirregs['to0'] = nfinish
--sterilize min/max
local nminseas_default = -9999
local nmaxseas_default = 9999
local nminseas = tonumber(minseas) or nminseas_default --same behavior as nav_year
local nmaxseas = tonumber(maxseas) or nmaxseas_default --same behavior as nav_year
if nminseas > nstart then nminseas = nstart end
if nmaxseas < nstart then nmaxseas = nstart end
local lspace = ' ' --assume a leading space (most common)
local tspace = ' ' --assume a trailing space (most common)
if string.match(firstpart, '%($') then lspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats
if string.match(lastpart, '^%)') then tspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats
--calculate term length/intRAseason size & finishing year
local t = 1
while t <= term_limit and regularparent == true do
local nish = nstart + t --use switchADBC to flip this sign to work for years BC, if/when the time comes
if (nish == nfinish) or (string.match(nish, '%d?%d$') == finish) then
ttlens[t] = 1
break
end
if t == term_limit then
errors = p.errorclass('Function nav_hyphen can\'t determine a reasonable term length for "'..start..hyph..finish..'".')
return p.failedcat(errors, 'K')
end
t = t + 1
end
--apply MOS:DATERANGE to parent
local lenstart = string.len(start)
local lenfinish = string.len(finish)
if lenstart == 4 and regularparent == true then --"2001–..."
if t == 1 then --"2001–02" & "2001–2002" both allowed
if lenfinish ~= 2 and lenfinish ~= 4 then
errors = p.errorclass('The second part of the season passed to function nav_hyphen should be two or four digits, not "'..finish..'".')
return p.failedcat(errors, 'L')
end
else --"2001–2005" is required for t > 1; track "2001–05"; anything else = error
if lenfinish == 2 then
trackcat(5, 'Category series navigation range abbreviated (MOS)')
elseif lenfinish ~= 4 then
errors = p.errorclass('The second part of the season passed to function nav_hyphen should be four digits, not "'..finish..'".')
return p.failedcat(errors, 'M')
end
end
if finish == '00' then --full year required regardless of term length
trackcat(5, 'Category series navigation range abbreviated (MOS)')
end
end
--calculate intERseason gap size
local hgap_default = 0 --assume & start at the most common case: 2001–02 -> 2002–03, etc.
local hgap_limit_reg = hgap_limit --less expensive per-increment (inc x 4)
local hgap_limit_irreg = hgap_limit --more expensive per-increment (inc x 23 = inc x (k_bwd + k_fwd) = inc x (12 + 11))
local hgap_success = false
local hgap = hgap_default
while hgap <= hgap_limit_reg and regularparent == true do --verify
local prevseason2 = firstpart..lspace..(nstart-t-hgap)..hyph..string.match(nstart-hgap, '%d?%d$') ..tspace..lastpart
local nextseason2 = firstpart..lspace..(nstart+t+hgap)..hyph..string.match(nstart+2*t+hgap, '%d?%d$')..tspace..lastpart
local prevseason4 = firstpart..lspace..(nstart-t-hgap)..hyph..(nstart-hgap) ..tspace..lastpart
local nextseason4 = firstpart..lspace..(nstart+t+hgap)..hyph..(nstart+2*t+hgap)..tspace..lastpart
if t == 1 then --test abbreviated range first, then full range, to be frugal with expensive functions
if catexists(prevseason2) or --use 'or', in case we're at the edge of the cat structure,
catexists(nextseason2) or --or we hit a "–00"/"–2000" situation on one side
catexists(prevseason4) or
catexists(nextseason4)
then
hgap_success = true
break
end
elseif t > 1 then --test full range first, then abbreviated range, to be frugal with expensive functions
if catexists(prevseason4) or --use 'or', in case we're at the edge of the cat structure,
catexists(nextseason4) or --or we hit a "–00"/"–2000" situation on one side
catexists(prevseason2) or
catexists(nextseason2)
then
hgap_success = true
break
end
end
hgap = hgap + 1
end
if hgap_success == false then
hgap = tonumber(testgap) or hgap_default --tracked via defaultgapcat()
end
--preliminary scan to determine ir/regular spacing of nearby cats;
--to limit expensive function calls, MOS:DATERANGE-violating cats are ignored;
--an irregular-term-length series should follow "YYYY..hyph..YYYY" throughout
local jlimit = 4 --4-a-side if all YYYY-YY, 3-a-side if all YYYY-YYYY, with some threshold in between
if hgap <= hgap_limit_reg then --also to isolate temp vars
--find # of nav-visible ir/regular-term-length cats
local bwanchor = nstart --backward anchor/common year
local fwanchor = bwanchor + t --forward anchor/common year
if regularparent == 'isolated' then
fwanchor = bwanchor
end
local spangreen = '[<span style="color:green">j, g, k = ' --used for/when debugging via list-all-links=yes
local spanblue = '<span style="color:blue">'
local spanred = ' (<span style="color:red">'
local span = '</span>'
local lastg = nil --to check for run-on searches
local lastk = nil --to check for run-on searches
local endfound = false --switch used to stop searching forward
local iirregs = 0 --index of tirregs[] for j < 0, since search starts from parent
local j = -jlimit --index of tirregs[] for j > 0 & pseudo navh position
while j <= jlimit do
if j < 0 then --search backward from parent
local gbreak = false --switch used to break out of g-loop
local g = 0 --gap size
while g <= hgap_limit_irreg do
local k = 0 --term length: 0 = "0-length", 1+ = normal
while k <= term_limit do
local from = bwanchor - k - g
local to = bwanchor - g
local full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart )
if k == 0 then
if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise
to = '0-length'
full = mw.text.trim( firstpart..lspace..from..tspace..lastpart )
if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed
table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' )
full, to = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy
end
end
end
if (k >= 1) or --the normal case; only continue k = 0 if 0-length found
(to == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc.
then
table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full )
if (k == 1) and
-- (g == 0 or g == 1) and --commented to match j>0 case ("1995–96 in Federal Republic of Yugoslavia basketball")
(catexists(full) == false)
then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series
local to2 = string.match(to, '%d%d$')
if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000)
to = to2
full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart )
table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full )
end
end
if catexists(full) then
if to == '0-length' then
trackcat(13, 'Category series navigation range irregular, 0-length')
end
tlistallbwd[#tlistallbwd] = spanblue..tlistallbwd[#tlistallbwd]..span..' (found)'
ttlens[ find_duration(full) ] = 1
if j == -1 then tgapsj4[g] = 1 -- -1 since bwd search starts from parent @ -4 and ends at -1
else tgaps[g] = 1 end
iirregs = iirregs + 1
tirregs['from-'..iirregs] = from
tirregs['to-'..iirregs] = to
bwanchor = from --ratchet down
if to ~= '0-length' then
gbreak = true
break
else
g = 0 --soft-reset g, to keep stepping thru k
j = j + 1 --save, but keep searching thru k
if j > 0 then --(restore "> 3" if acts up) lest we keep searching bwd & finding 0-length cats ("MEPs for the Republic of Ireland 1973" & down)
j = -1 --allow a normal, full search fwd after break
gbreak = true
break
end
end
elseif (j >= 0) and
(lastg and lastk) and
((lastg >= hgap_limit_irreg) or
(lastk >= term_limit))
then --bwd search exhausted and/or done (runaway bwd search on "2018–19 FIA World Endurance Championship season")
j = -1 --allow a normal, full search fwd after break
gbreak = true
break
end
end --ghetto "continue"
k = k + 1
lastk = k
end --while k <= term_limit do
if gbreak == true then break end
g = g + 1
lastg = g
end --while g <= hgap_limit_irreg do
end --if j < 0
if j > 0 and endfound == false then --search forward from parent
local gbreak = false --switch used to break out of g-loop
local g = 0 --gap size
while g <= hgap_limit_irreg do
local k = -2 --term length: -2 = "0-length", -1 = "2020–present", 0 = "2020–", 1+ = normal
while k <= term_limit do
local from = fwanchor + g
local to4 = fwanchor + k + g --override carefully
local to2 = nil --last 2 digits of to4, IIF exists
if k == -1 then to4 = 'present' --see if end-cat exists (present)
elseif k == 0 then to4 = '' end --see if end-cat exists (blank)
local full = mw.text.trim( firstpart..lspace..from..hyph..to4..tspace..lastpart )
if k == -2 then
if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise
to4 = '0-length' --see if 0-length cat exists
full = mw.text.trim( firstpart..lspace..from..tspace..lastpart )
if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed
table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' )
full, to4 = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy
end
end
end
if (k >= -1) or --only continue k = -2 if 0-length found
(to4 == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc.
then
table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full )
if (k == 1) and
-- (g == 0 or g == 1) and --commented to let "2002–03 in Scottish women's football" find "2008–09 in Scottish women's football"
(catexists(full) == false)
then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series
to2 = string.match(to4, '%d%d$')
if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000)
full = mw.text.trim( firstpart..lspace..from..hyph..to2..tspace..lastpart )
table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full )
end
end
if catexists(full) then
if to4 == '0-length' then
if rtarget(full, frame) == full then --only use 0-length cats that don't #R
trackcat(13, 'Category series navigation range irregular, 0-length')
end
end
tirregs['from'..j] = from
tirregs['to'..j] = (to2 or to4)
if (k == -1) or (k == 0) then
endfound = true --tentative
else --k == { -2, > 0 }
tlistallfwd[#tlistallfwd] = spanblue..tlistallfwd[#tlistallfwd]..span..' (found)'
ttlens[ find_duration(full) ] = 1
if j == 4 then tgapsj4[g] = 1
else tgaps[g] = 1 end
endfound = false
if to4 ~= '0-length' then --k > 0
fwanchor = to4 --ratchet up
gbreak = true
break --only break on k > 0 b/c old end-cat #Rs still exist like "Members of the Scottish Parliament 2011–"
else --k == -2
j = j + 1 --save, but keep searching k's, in case "1974" → "1974-1979"
if j > jlimit then --lest we keep searching & finding 0-length cats ("2018 CONCACAF Champions League" & up)
gbreak = true
break
elseif g == hgap_limit_irreg then
--keep searching, since not a runaway, just far away ("American soccer clubs 1958–59 season")
hgap_limit_irreg = hgap_limit_irreg + 1
end
end
end
end
end --ghetto "continue"
k = k + 1
lastk = k
end --while k <= term_limit do
if gbreak == true then break end
g = g + 1
lastg = g
end --while g <= hgap_limit_irreg do
end --if j > 0 and endfound == false then
if (lastg and lastk) and
(lastg > hgap_limit_irreg) and
(lastk > term_limit)
then --search exhausted
if j < 0 then j = 0 --bwd search exhausted; continue fwd
elseif j > 0 then break end --fwd search exhausted
end
j = j + 1
end --while j <= jlimit
end --if hgap <= hgap_limit_reg
--determine # of displayed navh elements based on "YYYY-YY" vs. "YYYY-YYYY" counts
local Ythreshold = 3.3 --((YYYY-YY x 7) + (YYYY-YYYY x 2))/18 = 3.222; ((YYYY-YY x 6) + (YYYY-YYYY x 3))/18 = 3.333
local Ycount = 0 --"Y" count
local ycount = 0 --tirregs counter; # of contiguous #s
for k, v in pairs (tirregs) do
local dummy, dunce = mw.ustring.gsub(tostring(v), '%d', '') --why can't gsub just return a table??
Ycount = Ycount + dunce
ycount = ycount + 1
end
local ycount_limit = ((jlimit * 2) + 1) * 2 --i.e. ((4 * 2) + 1) * 2 = 18
if ycount < ycount_limit then --fill in the blanks with Ycount_parent, since hidden/dne cats aren't in tirregs
local dummy_finish = finish
if not regularparent then dummy_finish = start end
local dummy, dunce_from = mw.ustring.gsub(start, '%d', '')
local dummy, dunce_to = mw.ustring.gsub(dummy_finish, '%d', '')
local Ycount_parent_avg = (dunce_from + dunce_to)/2 --"YYYY-YYYY" = 4; "YYYY-YY" = 3
Ycount = Ycount + (Ycount_parent_avg * (ycount_limit - ycount))
ycount = ycount_limit
end
local iwidth = 3 --default to 3-a-side, 7 total
local Y_per_y = Ycount / ycount --normalized range: [3-4]
if Y_per_y < Ythreshold then
iwidth = 4 --extend to 4-a-side, 9 total
end
--begin navhyphen
local navh = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local terminalcat = false --switch used to hide future cats
local terminaltxt = nil
local i = -iwidth --nav position
while i <= iwidth do
local from = nstart + i*(t+hgap) --the logical, but not necessarily correct, 'from'
if tirregs['from'..i] then --prefer the irregular term table
from = tonumber(tirregs['from'..i])
else --fallback to lazy/naive 'from'
if i > 0 and
tirregs['from'..(i-1)] and
tirregs['from'..(i-1)] >= from
then --end of the line: avoid dups/past, and create reasonable grey'd ranges
local greyto = tonumber(tirregs['to' .. (i-1)]) or -9999
local greyfrom = tonumber(tirregs['from'..(i-1)]) or -9999
local grey = greyto --prefer 'to'
if greyfrom > greyto then grey = greyfrom end --'from' fallback, in case "1995–96", "1995-present", etc.
if grey > -9999 then
if grey ~= greyto then
from = grey + t + hgap --account for missing/incomplete 'to'
else
from = grey + hgap
end
tirregs['from'..i] = from --remember
tirregs['to' .. i] = from + t
end
elseif i < 0 then
local greyfrom
local ii = 0
while ii < 3 do
ii = ii + 1
greyfrom = tonumber(tirregs['from'..(i+ii)])
if greyfrom then break end
end
from = (greyfrom or nstart) - ii*(t+hgap)
tirregs['from'..i] = from --remember
tirregs['to' .. i] = from + t
end
end
local from2 = string.match(from, '%d?%d$')
local to = tostring(from+t) --the logical, naive range, but
if tirregs['to'..i] then --prefer irregular term table
to = tirregs['to'..i]
elseif regularparent == false and tirregs and i > 0 then
to = tirregs['to-1'] --special treatment for parent terminal cats, since they have no natural 'to'
end
local to2 = string.match(to, '%d?%d$')
local tofinal = (to2 or '') --assume t=1 and abbreviated 'to' (the most common case)
if t > 1 or --per MOS:DATERANGE (e.g. 1999-2004)
(from2 - (to2 or from2)) > 0 --century transition exception (e.g. 1999–2000)
then
tofinal = (to or '') --default to the MOS-correct format, in case no fallbacks found
end
if to == '0-length' then
tofinal = to
end
--check existance of 4-digit, MOS-correct range, with abbreviation fallback
if tofinal ~= '0-length' then
if t > 1 and string.len(from) == 4 then --e.g. 1999-2004
--determine which link exists (full or abbr)
local full = firstpart..lspace..from..hyph..tofinal..tspace..lastpart
if not catexists(full) then
local abbr = firstpart..lspace..from..hyph..to2..tspace..lastpart
if catexists(abbr) then
tofinal = (to2 or '') --rv to MOS-incorrect format; if full AND abbr DNE, then tofinal is still in its MOS-correct format
end
end
elseif t == 1 then --full-year consecutive ranges are also allowed
local abbr = firstpart..lspace..from..hyph..tofinal..tspace..lastpart --assume tofinal is in abbr format
if not catexists(abbr) and tofinal ~= to then
local full = firstpart..lspace..from..hyph..to..tspace..lastpart
if catexists(full) then
tofinal = (to or '') --if abbr AND full DNE, then tofinal is still in its abbr format (unless it's a century transition)
end end end end
--populate navh
if i ~= 0 then --left/right navh
local orig = firstpart..lspace..from..hyph..tofinal..tspace..lastpart
local disp = from..hyph..tofinal
if tofinal == '0-length' then
orig = firstpart..lspace..from..tspace..lastpart
disp = from
end
local catlink = catlinkfollowr(frame, orig, disp, true) --force terminal cat display
if terminalcat == false then
terminaltxt = find_terminaltxt( disp ) --also sets tracking cats
terminalcat = (terminaltxt ~= nil)
end
if catlink.rtarget and avoidself then --a {{Category redirect}} was followed, figure out why
--determine new term length & gap size
ttlens[ find_duration( catlink.rtarget ) ] = 1
if i > -iwidth then
local lastto = tirregs['to'..(i-1)]
if lastto == nil then
local lastfrom = nstart + (i-1)*(t+hgap)
lastto = lastfrom+t --use last logical 'from' to calc lastto
end
if lastto then
local gapcat = lastto..'-'..from --dummy cat to calc with
local gap = find_duration(gapcat) or -1 --in case of nil,
if iwidth == 4 then
tgapsj4[ gap ] = 1 --tgapsj4[-1] are ignored later
else
tgaps[ gap ] = 1 --tgaps[-1] are ignored later
end
end
end
--display/tracking handling
local base_regex = '%d+[–-]%d+'
local origbase = mw.ustring.gsub(orig, base_regex, '')
local rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex, '')
if rtarbase_success == 0 then
local base_regex_lax = '%d%d%d%d' --in case rtarget is a year cat
rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex_lax, '')
end
local terminal_regex = '%d+[–-]'..(terminaltxt or '')..'$' --more manual ORs bc Lua regex sux
if mw.ustring.match(orig, terminal_regex) then
origbase = mw.ustring.gsub(orig, terminal_regex, '')
end
if mw.ustring.match(catlink.rtarget, terminal_regex) then
--finagle/overload terminalcat type to set nmaxseas on 1st occurence only
if terminalcat == false then terminalcat = 1 end
local dummy = find_terminaltxt( catlink.rtarget ) --also sets tracking cats
rtarbase = mw.ustring.gsub(catlink.rtarget, terminal_regex, '')
end
origbase = mw.text.trim(origbase)
rtarbase = mw.text.trim(rtarbase)
if origbase ~= rtarbase then
trackcat(6, 'Category series navigation range redirected (base change)')
elseif terminalcat == 1 then
trackcat(8, 'Category series navigation range redirected (end)')
else --origbase == rtarbase
local all4s_regex = '%d%d%d%d[–-]%d%d%d%d'
local orig_all4s = mw.ustring.match(orig, all4s_regex)
local rtar_all4s = mw.ustring.match(catlink.rtarget, all4s_regex)
if orig_all4s and rtar_all4s then
trackcat(10, 'Category series navigation range redirected (other)')
else
local year_regex1 = '%d%d%d%d$'
local year_regex2 = '%d%d%d%d[%s%)]'
local year_rtar = mw.ustring.match(catlink.rtarget, year_regex1) or
mw.ustring.match(catlink.rtarget, year_regex2)
if orig_all4s and year_rtar then
trackcat(7, 'Category series navigation range redirected (var change)')
else
trackcat(9, 'Category series navigation range redirected (MOS)')
end
end
end
end
if terminalcat then --true or 1
if type(terminalcat) ~= 'boolean' then nmaxseas = from end --only want to do this once
terminalcat = true --done finagling/overloading
end
if (from >= 0) and (nminseas <= from) and (from <= nmaxseas) then
table.insert(navlist, catlink.navelement)
if terminalcat then nmaxseas = nminseas_default end --prevent display of future ranges
else
local hidden = '<span style="visibility:hidden">'..disp..'</span>'
table.insert(navlist, hidden)
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
else --center navh
if finish == -1 then finish = 'present'
elseif finish == 0 then finish = '<span style="visibility:hidden">'..start..'</span>' end
local disp = start..hyph..finish
if regularparent == 'isolated' then disp = start end
table.insert(navlist, '<b>'..disp..'</b>')
end
i = i + 1
end
-- add the list
navh = navh..horizontal(navlist)..'\n'
--tracking cats & finalize
if avoidself then
local igaps = 0 --# of diff gap sizes > 0 found
local itlens = 0 --# of diff term lengths found
for s = 1, hgap_limit_reg do --must loop; #tgaps, #ttlens unreliable
igaps = igaps + (tgaps[s] or 0)
end
if iwidth == 4 then --only count gaps if they were displayed ("Karnataka MLAs 1957–1962")
for s = 1, hgap_limit_reg do
igaps = igaps + (tgapsj4[s] or 0)
end
end
for s = 0, term_limit do
itlens = itlens + (ttlens[s] or 0)
end
if igaps > 0 then trackcat(11, 'Category series navigation range gaps') end
if itlens > 1 and ttrackingcats[13] == '' then --avoid duplication in "Category series navigation range irregular, 0-length"
trackcat(12, 'Category series navigation range irregular')
end
end
isolatedcat()
defaultgapcat(not hgap_success)
if listall then
return listalllinks()
else
return navh..'</div>'
end
end
--[[=========================={{ nav_tvseason }}============================]]
local function nav_tvseason( frame, firstpart, tv, lastpart, maximumtv )
--Expects a PAGENAME of the form "Futurama season 1 episodes", where
-- firstpart = Futurama season
-- tv = 1
-- lastpart = episodes
-- maximumtv = 7 ('max' tv season parameter; optional; defaults to 9999)
tv = tonumber(tv)
if tv == nil then
errors = p.errorclass('Function nav_tvseason can\'t recognize the TV season number sent to its 3rd parameter.')
return p.failedcat(errors, 'T')
end
--"(season 1) episodes" -> "season 1 episodes" following March 2024 RfC:
--[[Wikipedia talk:Naming conventions (television)#Follow-up RfC on TV season article titles]]
-- [[Special:Permalink/1216885280#Follow-up RfC on TV season article titles]]
local tspace = ' ' --"season 1 episodes"
local parenth_check = string.match(lastpart, '^%)')
if parenth_check then tspace = '' end --accommodate old style "(season 1) episodes" just in case
local maxtv_default = 9999
local maxtv = tonumber(maximumtv) or maxtv_default --allow +/- qualifier
if maxtv < tv then maxtv = tv end --input error; maxtv should be >= parent
--begin navtvseason
local navt = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local prepad = ''
local i = -5 --nav position
while i <= 5 do
local t = tv + i
if i ~= 0 then --left/right navt
local catlink = catlinkfollowr( frame, firstpart..' '..t..tspace..lastpart, t )
if t >= 1 and t <= maxtv then --hardcode mintv
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(25, 'Category series navigation TV season redirected')
end
if catlink.catexists or
(maxtv ~= maxtv_default and t <= maxtv)
then
table.insert(navlist, prepad..catlink.navelement) --display normally
prepad = ''
else
local postpad = '<span style="visibility:hidden"> • '..t..'</span>'
navlist[#navlist] = (navlist[#navlist] or '')..postpad
if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end
end
elseif t < 1 then
prepad = prepad..'<span style="visibility:hidden"> • '..'0'..'</span>'
if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end
else --t > maxtv
local postpad = '<span style="visibility:hidden"> • '..t..'</span>'
navlist[#navlist] = (navlist[#navlist] or '')..postpad
if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end
end
else --center navt
table.insert(navlist, prepad..'<b>'..tv..'</b>')
prepad = ''
end
i = i + 1
end
-- add the list
navt = navt..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navt..'</div>'
end
end
--[[==========================={{ nav_decade }}=============================]]
local function nav_decade( frame, firstpart, decade, lastpart, mindecade, maxdecade )
--Expects a PAGENAME of the form "Some sequential 2000 example cat", where
-- firstpart = Some sequential
-- decade = 2000
-- lastpart = example cat
-- mindecade = 1800 ('min' decade parameter; optional; defaults to -9999)
-- maxdecade = 2020 ('max' decade parameter; optional; defaults to 9999)
--sterilize dec
local dec = sterilizedec(decade)
if dec == nil then
errors = p.errorclass('Function nav_decade was sent "'..(decade or '')..'" as its 2nd parameter, '..
'but expects a 1 to 4-digit year ending in "0".')
return p.failedcat(errors, 'D')
end
local ndec = tonumber(dec)
--sterilize mindecade & determine AD/BC
local mindefault = '-9999'
local mindec = sterilizedec(mindecade) --returns a tostring(unsigned int), or nil
if mindec then
if string.match(mindecade, '-%d') or
string.match(mindecade, 'RC')
then
mindec = '-'..mindec --better +/-0 behavior with strings (0-initialized int == "-0" string...)
end
elseif mindec == nil and mindecade and mindecade ~= '' then
errors = p.errorclass('Function nav_decade was sent "'..(mindecade or '')..'" as its 4th parameter, '..
'but expects a 1 to 4-digit year ending in "0", the earliest decade to be shown.')
return p.failedcat(errors, 'E')
else --mindec == nil
mindec = mindefault --tonumber() later, after error checks
end
--sterilize maxdecade & determine AD/BC
local maxdefault = '9999'
local maxdec = sterilizedec(maxdecade) --returns a tostring(unsigned int), or nil + error
if maxdec then
if string.match(maxdecade, '-%d') or
string.match(maxdecade, 'RC')
then --better +/-0 behavior with strings (0-initialized int == "-0" string...),
maxdec = '-'..maxdec --but a "-0" string -> tonumber() -> tostring() = "-0",
end --and a "0" string -> tonumber() -> tostring() = "0"
elseif maxdec == nil and maxdecade and maxdecade ~= '' then
errors = p.errorclass('Function nav_decade was sent "'..(maxdecade or '')..'" as its 5th parameter, '..
'but expects a 1 to 4-digit year ending in "0", the highest decade to be shown.')
return p.failedcat(errors, 'F')
else --maxdec == nil
maxdec = maxdefault
end
local tspace = ' ' --assume trailing space for "1950s in X"-type cats
if string.match(lastpart, '^-') then tspace = '' end --DNE for "1970s-related"-type cats
--AD/BC switches & varR
local parentBC = string.match(lastpart, '^RC') --following the "0s BC" convention for all years BC
local BCe = 'RC' --use RC for Manx categories, BC never used
lastpart = mw.ustring.gsub(lastpart, '^RC%s*', '') --handle BC separately; AD never used
--TODO?: handle BCE, but only if it exists in the wild
local dec0to40AD = (ndec >= 0 and ndec <= 40 and not parentBC) --special behavior in this range
local switchADBC = 1 -- 1=AD parent
if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later
local BCdisp = ''
local D = -math.huge --secondary switch & iterator for AD/BC transition
--check non-default min/max more carefully
if mindec ~= mindefault then
if tonumber(mindec) > ndec*switchADBC then
mindec = tostring(ndec*switchADBC) --input error; mindec should be <= parent
end
end
if maxdec ~= maxdefault then
if tonumber(maxdec) < ndec*switchADBC then
maxdec = tostring(ndec*switchADBC) --input error; maxdec should be >= parent
end
end
local nmindec = tonumber(mindec) --similar behavior to nav_year & nav_nordinal
local nmaxdec = tonumber(maxdec) --similar behavior to nav_nordinal
--begin navdecade
local bnb = '' --border/no border
if navborder == false then --for Category series navigation year and decade
bnb = 'categorySeriesNavigation-range-transparent'
end
local navd = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n'
local navlist = {}
local i = -50 --nav position x 10
while i <= 50 do
local d = ndec + i*switchADBC
local BC = ''
BCdisp = ''
if dec0to40AD then
if D < -10 then
d = math.abs(d + 10) --b/c 2 "0s" decades exist: "0s BC" & "0s" (AD)
BC = 'RC '
if d == 0 then
D = -10 --track 1st d = 0 use (BC)
end
elseif D >= -10 then
D = D + 10 --now iterate from 0s AD
d = D --2nd d = 0 use
end
elseif parentBC then
if switchADBC == -1 then --parentBC looking at the BC side (the common case)
BC = 'RC '
if d == 0 then --prepare to switch to the AD side on the next iteration
switchADBC = 1 --1st d = 0 use (BC)
D = -10 --prep
end
elseif switchADBC == 1 then --switched to the AD side
D = D + 10 --now iterate from 0s AD
d = D --2nd d = 0 use (on first use)
end
end
if BC ~= '' and ndec <= 50 then
BCdisp = ' '..BCe --show BC/RC for all BC decades whenever a "0yn" is displayed on the nav
end
--determine target cat
local disp = d..'yn'..BCdisp
local catlink = catlinkfollowr( frame, firstpart..' '..d..'yn'..tspace..BC..lastpart, disp )
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(18, 'Category series navigation decade redirected')
end
--populate left/right navd
local shown = navcenter(i, catlink)
local hidden = '<span style="visibility:hidden">'..disp..'</span>'
local dsign = d --use d for display & dsign for logic
if BC ~= '' then dsign = -dsign end
if (nmindec <= dsign) and (dsign <= nmaxdec) then
if dsign == 0 and (nmindec == 0 or nmaxdec == 0) then --distinguish b/w -0 (BC) & 0 (AD)
--"zoom in" on +/- 0 and turn dsign/min/max temporarily into +/- 1 for easier processing
local zsign, zmin, zmax = 1, nmindec, nmaxdec
if BC ~= '' then zsign = -1 end
if mindec == '-0' then zmin = -1
elseif mindec == '0' then zmin = 1 end
if maxdec == '-0' then zmax = -1
elseif maxdec == '0' then zmax = 1 end
if (zmin <= zsign) and (zsign <= zmax) then
table.insert(navlist, shown)
hidden = nil
else
table.insert(navlist, hidden)
end
else
table.insert(navlist, shown)--the common case
hidden = nil
end
else
table.insert(navlist, hidden)
end
if listall and hidden then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
i = i + 10
end
-- add the list
navd = navd..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navd..'</div>'
end
end
--[[============================{{ nav_year }}==============================]]
local function nav_year( frame, firstpart, year, lastpart, minimumyear, maximumyear )
--Expects a PAGENAME of the form "Some sequential 1760 example cat", where
-- firstpart = Some sequential
-- year = 1760
-- lastpart = example cat
-- minimumyear = 1758 ('min' year parameter; optional)
-- maximumyear = 1800 ('max' year parameter; optional)
local minyear_default = -9999
local maxyear_default = 9999
year = tonumber(year) or tonumber(mw.ustring.match(year or '', '^%s*(%d*)'))
local minyear = tonumber(string.match(minimumyear or '', '-?%d+')) or minyear_default --allow +/- qualifier
local maxyear = tonumber(string.match(maximumyear or '', '-?%d+')) or maxyear_default --allow +/- qualifier
if string.match(minimumyear or '', 'RC') then minyear = -math.abs(minyear) end --allow BC qualifier (AD otherwise assumed)
if string.match(maximumyear or '', 'RC') then maxyear = -math.abs(maxyear) end --allow BC qualifier (AD otherwise assumed)
if year == nil then
errors = p.errorclass('Function nav_year can\'t recognize the year sent to its 3rd parameter.')
return p.failedcat(errors, 'Y')
end
--AD/BC switches & vars
local yearBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown
--"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s
['example_Hebrew people_example'] = 'BCE', --example entry format; add to & adjust as needed
}
local parentAD = string.match(firstpart, 'BNJ$') --following the "AD 1" convention from AD 1 to AD 10
local parentBC = string.match(lastpart, '^RC?') --following the "1 BC" convention for all years BC
firstpart = mw.ustring.gsub(firstpart, '%s*BNJ$', '') --handle AD/BC separately for easier & faster accounting
lastpart = mw.ustring.gsub(lastpart, '^RC?%s*', '')
local BCe = parentBC or yearBCElastparts[lastpart] or 'RC' --"BC" default
local year1to10 = (year >= 1 and year <= 10)
local year1to10ADBC = year1to10 and (parentBC or parentAD) --special behavior 1-10 for low-# non-year series
local year1to15AD = (year >= 1 and year <= 15 and not parentBC) --special behavior 1-15 for AD/BC display
local switchADBC = 1 -- 1=AD parent
if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later
local Y = 0 --secondary iterator for AD-on-a-BC-parent
if minyear > year*switchADBC then minyear = year*switchADBC end --input error; minyear should be <= parent
if maxyear < year*switchADBC then maxyear = year*switchADBC end --input error; maxyear should be >= parent
local lspace = ' ' --leading space before year, after firstpart
if string.match(firstpart, '[%-VW]$') then
lspace = '' --e.g. "Straight-8 engines"
end
local tspace = ' ' --trailing space after year, before lastpart
if string.match(lastpart, '^-') then
tspace = '' --e.g. "2018-related timelines"
end
--determine interyear gap size to condense special category types, if possible
local ygapdefault = 1 --assume/start at the most common case: 2001, 2002, etc.
local ygap = ygapdefault
if string.match(lastpart, 'presidential') then
local ygap1, ygap2 = ygapdefault, ygapdefault --need to determine previous & next year gaps indepedently
local ygap1_success, ygap2_success = false, false
local prevseason = nil
while ygap1 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms
prevseason = firstpart..lspace..(year-ygap1)..tspace..lastpart
if catexists(prevseason) then
ygap1_success = true
break
end
ygap1 = ygap1 + 1
end
local nextseason = nil
while ygap2 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms
nextseason = firstpart..lspace..(year+ygap2)..tspace..lastpart
if catexists(nextseason) then
ygap2_success = true
break
end
ygap2 = ygap2 + 1
end
if ygap1_success and ygap2_success then
if ygap1 == ygap2 then ygap = ygap1 end
elseif ygap1_success then ygap = ygap1
elseif ygap2_success then ygap = ygap2
end
end
--skip non-existing years, if requested
local ynogaps = {} --populate with existing years in the range, at most, [year - (skipgaps_limit * 5), year + (skipgaps_limit * 5)]
if skipgaps then
if minyear == minyear_default then
minyear = 0 --automatically set minyear to 0, as AD/BC not supported anyway
end
if (year > 70) or --add support for AD/BC (<= AD 10) if/when needed
(minyear >= 0 and --must be a non-year series like "AC with 0 elements"
not parentAD and not parentBC)
then
local yskipped = {} --track skipped y's to avoid double-checking
local cat, found, Yeary
--populate nav element queue outwards positively from the parent
local Year = year --to save/ratchet progression
local i = 1
while i <= 5 do
local y = 1
while y <= skipgaps_limit do
found = false
Yeary = Year + y
if yskipped[Yeary] == nil then
yskipped[Yeary] = Yeary
cat = firstpart..lspace..Yeary..tspace..lastpart
found = catexists(cat)
if found then break end
end
y = y + 1
end
if found then Year = Yeary
else Year = Year + 1 end
ynogaps[i] = Year
i = i + 1
end
ynogaps[0] = year --the parent
--populate nav element queue outwards negatively from the parent
Year = year --reset ratchet
i = -1
while i >= -5 do
local y = -1
while y >= -skipgaps_limit do
found = false
Yeary = Year + y
if yskipped[Yeary] == nil then
yskipped[Yeary] = Yeary
cat = firstpart..lspace..Yeary..tspace..lastpart
found = catexists(cat)
if found then break end
end
y = y - 1
end
if found then Year = Yeary
else Year = Year - 1 end
ynogaps[i] = Year
i = i - 1
end
else
skipgaps = false --TODO: AD/BC support, then lift BC restrictions @ [[Template:Establishment category BC]] & [[Template:Year category header/core]]
end
end
--begin navyears
local navy = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local y
local j = 0 --decrementor for special cases "2021 World Rugby Sevens Series" -> "2021–2022"
local i = -5 --nav position
while i <= 5 do
if skipgaps then
y = ynogaps[i]
else
y = year + i*ygap*switchADBC - j
end
local BCdisp = ''
if i ~= 0 then --left/right navy
local AD = ''
local BC = ''
if year1to15AD and not
(year1to10 and not year1to10ADBC) --don't AD/BC 1-10's if parents don't contain AD/BC
then
if year >= 11 then --parent = AD 11-15
if y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats
AD = 'AD '
end
elseif year >= 1 then --parent = AD 1-10
if y <= 0 then
BC = BCe..' '
y = math.abs(y - 1) --skip y = 0 (DNE)
elseif y >= 1 and y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats
AD = 'AD '
end
end
elseif parentBC then
if switchADBC == -1 then --displayed y is in the BC regime
if y >= 1 then --the common case
BC = BCe..' '
elseif y == 0 then --switch from BC to AD regime
switchADBC = 1
end
end
if switchADBC == 1 then --displayed y is now in the AD regime
Y = Y + 1 --skip y = 0 (DNE)
y = Y --easiest solution: start another iterator for these AD y's displayed on a BC year parent
AD = 'AD '
end
end
if BC ~= '' and year <= 5 then --only show 'BC' for parent years <= 5: saves room, easier to read,
BCdisp = ' '..BCe --and 6 is the first/last nav year that doesn't need a disambiguator;
end --the center/parent year will always show BC, so no need to show it another 10x
--populate left/right navy
local ysign = y --use y for display & ysign for logic
local disp = y..BCdisp
if BC ~= '' then ysign = -ysign end
local firsttry = firstpart..lspace..AD..y..tspace..BC..lastpart
if (minyear <= ysign) and (ysign <= maxyear) then
local catlinkAD = catlinkfollowr( frame, firsttry, disp ) --try AD
local catlink = catlinkAD --tentative winner
if AD ~= '' then --for "ACArt with 5 suppressed elements"-type cats
local catlinkNoAD = catlinkfollowr( frame, firstpart..lspace..y..tspace..BC..lastpart, disp ) --try !AD
if catlinkNoAD.catexists == true then
catlink = catlinkNoAD --usurp
elseif listall then
tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>1</sup>'
end
end
if (AD..BC == '') and (catlink.catexists == false) and (y >= 1000) then --!ADBC & DNE; 4-digit only, to be frugal
--try basic hyphenated cats: 1-year, endash, MOS-correct only, no #Rs
local yHyph_4 = y..'–'..(y+1) --try 2010–2011 type cats
local catlinkHyph_4 = catlinkfollowr( frame, firstpart..lspace..yHyph_4..tspace..BC..lastpart, yHyph_4 )
if catlinkHyph_4.catexists and catlinkHyph_4.rtarget == nil then --exists & no #Rs
catlink = catlinkHyph_4 --usurp
trackcat(27, 'Category series navigation year and range')
else
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>2</sup>'
end
local yHyph_2 = y..'–'..string.match(y+1, '%d%d$') --try 2010–11 type cats
if i == 1 then
local yHyph_2_special = (y-1)..'–'..string.match(y, '%d%d$') --try special case 2021 -> 2021–22
local catlinkHyph_2_special = catlinkfollowr( frame, firstpart..lspace..yHyph_2_special..tspace..BC..lastpart, yHyph_2_special )
if catlinkHyph_2_special.catexists and catlinkHyph_2_special.rtarget == nil then --exists & no #Rs
catlink = catlinkHyph_2_special --usurp
trackcat(27, 'Category series navigation year and range')
j = 1
elseif listall then
tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>3</sup>'
end
end
if not (i == 1 and j == 1) then
local catlinkHyph_2 = catlinkfollowr( frame, firstpart..lspace..yHyph_2..tspace..BC..lastpart, yHyph_2 )
if catlinkHyph_2.catexists and catlinkHyph_2.rtarget == nil then --exists & no #Rs
catlink = catlinkHyph_2 --usurp
trackcat(27, 'Category series navigation year and range')
elseif listall then
tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>4</sup>'
end
end
end
end
if catlink.rtarget then --#R followed; determine why
local r = catlink.rtarget
local c = catlink.cat
local year_regex = '%d%d%d%d[–-]?%d?%d?%d?%d?' --prioritize year/range stripping, e.g. for "2006 Super 14 season"
local hyph_regex = '%d%d%d%d[–-]%d+' --stricter
local num_regex = '%d+' --strip any number otherwise
local final_regex = nil --best choice goes here
if mw.ustring.match(r, year_regex) and mw.ustring.match(c, year_regex) then
final_regex = year_regex
elseif mw.ustring.match(r, num_regex) and mw.ustring.match(c, num_regex) then
final_regex = num_regex
end
if final_regex then
local r_base = mw.ustring.gsub(r, final_regex, '')
local c_base = mw.ustring.gsub(c, final_regex, '')
if r_base ~= c_base then
trackcat(19, 'Category series navigation year redirected (base change)') --acceptable #R target
elseif mw.ustring.match(r, hyph_regex) then
trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "2008 in Scottish women's football" to "2008–09"
else
trackcat(21, 'Category series navigation year redirected (other)') --exceptions go here
end
else
trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "V2 engines" to "V-twin engines"
end
end
table.insert(navlist, catlink.navelement)
else --OOB vs min/max
local hidden = '<span style="visibility:hidden">'..disp..'</span>'
table.insert(navlist, hidden)
if listall then
local dummy = catlinkfollowr( frame, firsttry, disp )
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
else --center navy
if parentBC then BCdisp = ' '..BCe end
table.insert(navlist, '<b>'..year..BCdisp..'</b>')
end
i = i + 1
end
--add the list
navy = navy..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navy..'</div>'
end
end
--[[==========================={{ nav_roman }}==============================]]
local function nav_roman( frame, firstpart, roman, lastpart, minimumrom, maximumrom )
local toarabic = require('Module:ConvertNumeric').roman_to_numeral
local toroman = require('Module:Roman').main
--sterilize/convert rom/num
local num = tonumber(toarabic(roman))
local rom = toroman({ [1] = num })
if num == nil or rom == nil then --out of range or some other error
errors = p.errorclass('Function nav_roman can\'t recognize one or more of "'..(num or 'nil')..'" & "'..
(rom or 'nil')..'" in category "'..firstpart..' '..roman..' '..lastpart..'".')
return p.failedcat(errors, 'R')
end
--sterilize min/max
local minrom = tonumber(minimumrom or '') or tonumber(toarabic(minimumrom or ''))
local maxrom = tonumber(maximumrom or '') or tonumber(toarabic(maximumrom or ''))
if minrom < 1 then minrom = 1 end --toarabic() returns -1 on error
if maxrom < 1 then maxrom = 9999 end --toarabic() returns -1 on error
if minrom > num then minrom = num end
if maxrom < num then maxrom = num end
--begin navroman
local navr = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local i = -5 --nav position
while i <= 5 do
local n = num + i
if n >= 1 then
local r = toroman({ [1] = n })
if i ~= 0 then --left/right navr
local catlink = catlinkfollowr( frame, firstpart..' '..r..' '..lastpart, r )
if minrom <= n and n <= maxrom then
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(22, 'Category series navigation roman numeral redirected')
end
table.insert(navlist, catlink.navelement)
else
local hidden = '<span style="visibility:hidden">'..r..'</span>'
table.insert(navlist, hidden)
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
else --center navr
table.insert(navlist, '<b>'..r..'</b>')
end
else
table.insert(navlist, '<span style="visibility:hidden">I</span>')
end
i = i + 1
end
-- add the list
navr = navr..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navr..'</div>'
end
end
--[[=========================={{ nav_nordinal }}============================]]
local function nav_nordinal( frame, firstpart, ord, lastpart, minimumord, maximumord )
local nord = tonumber(ord)
local minord = tonumber(string.match(minimumord or '', '(-?%d+)[snrt]?[tdh]?')) or -9999 --allow full ord & +/- qualifier
local maxord = tonumber(string.match(maximumord or '', '(-?%d+)[snrt]?[tdh]?')) or 9999 --allow full ord & +/- qualifier
if string.match(minimumord or '', 'BC') or string.match(minimumord or '', 'RC') then minord = -math.abs(minord) end
if string.match(maximumord or '', 'BC') or string.match(maximumord or '', 'RC') then maxord = -math.abs(maxord) end
local temporal = string.match(lastpart, 'century') or
string.match(lastpart, 'millennium') or
string.match(lastpart, 'milley bleeaney') or
string.match(lastpart, 'villey bleeaney') or
string.match(lastpart, '^eash')
local isManxMillenium = string.match(lastpart, 'milley bleeaney') or
string.match(lastpart, 'villey bleeaney')
local isManxCentury = string.match(lastpart, '^eash')
local tspace = ' ' --assume a trailing space after ordinal
if string.match(lastpart, '^-') then tspace = '' end --DNE for "19th-century"-type cats
--AD/BC switches & vars
local ordBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown
--lists the lastpart of valid BCE cats
--"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s
['-century Hebrew people'] = 'BCE', --WP:CFD/Log/2016 June 21#Category:11th-century BC Hebrew people
['-century Jews'] = 'BCE', --co-nominated
['-century Judaism'] = 'BCE', --co-nominated
['-century rabbis'] = 'BCE', --co-nominated
['-century High Priests of Israel'] = 'BCE',
}
local parentBC = mw.ustring.match(lastpart, '%s(BCE?)')
or mw.ustring.match(lastpart, '%s(RC)')
local lastpartNoBC = mw.ustring.gsub(lastpart, '%sBCE?', '')
lastpartNoBC = mw.ustring.gsub(lastpartNoBC, '%sRC', '')
local BCe = parentBC
or ordBCElastparts[lastpartNoBC]
or ((isManxMillenium or isManxCentury) and 'RC')
or 'BC'
local switchADBC = 1 -- 1=AD parent
if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later
local O = 0 --secondary iterator for AD-on-a-BC-parent
if not temporal and not parentBC and minord < 1 then minord = 1 end
if not temporal and parentBC and maxord < 1 then maxord = -1 end
if minord > nord*switchADBC then minord = nord*switchADBC end --input error; minord should be <= parent
if maxord < nord*switchADBC then maxord = nord*switchADBC end --input error; maxord should be >= parent
--begin navnordinal
local bnb = '' --border/no border
if navborder == false then --for Category series navigation decade and century
bnb = 'categorySeriesNavigation-range-transparent'
end
local navo = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n'
local navlist = {}
local i = -5 --nav position
while i <= 5 do
local o = nord + i*switchADBC
local BC = ''
local BCdisp = ''
if parentBC then
if switchADBC == -1 then --parentBC looking at the BC side
if o >= 1 then --the common case
BC = ' '..BCe
elseif o == 0 then --switch to the AD side
BC = ''
switchADBC = 1
end
end
if switchADBC == 1 then --displayed o is now in the AD regime
O = O + 1 --skip o = 0 (DNE)
o = O --easiest solution: start another iterator for these AD o's displayed on a BC year parent
end
elseif o <= 0 then --parentAD looking at BC side
BC = ' '..BCe
o = math.abs(o - 1) --skip o = 0 (DNE)
end
if BC ~= '' and nord <= 5 then --only show 'BC' for parent ords <= 5: saves room, easier to read,
BCdisp = ' '..BCe --and 6 is the first/last nav ord that doesn't need a disambiguator;
end --the center/parent ord will always show BC, so no need to show it another 10x
--populate left/right navo
local oth = (isManxMillenium or isManxCentury) and p.addord(o) or tostring(o)
local osign = o
if BC ~= '' and temporal then osign = -osign end
local hidden = '<span style="visibility:hidden">'..oth..'</span>'
if temporal then --e.g. "3rd-century BC"
local lastpart = lastpartNoBC --lest we recursively add multiple "BC"s
if isManxMillenium then
-- 1d and 2h trigger lenition: villey bleeaney
-- 3oo and above use the base form: milley bleeaney
local ones = o % 10
local correct_form
if ones == 1 or ones == 2 then
correct_form = 'villey bleeaney'
else
correct_form = 'milley bleeaney'
end
local replacement = correct_form
if BC ~= '' then
replacement = replacement .. BC
end
lastpart = string.gsub(lastpart, temporal, replacement, 1) --swap in the correct mutation, preserving the rest of lastpart
elseif BC ~= '' then
lastpart = string.gsub(lastpart, temporal, temporal..BC) --replace BC if needed
end
local catlink = catlinkfollowr( frame, firstpart..' '..oth..tspace..lastpart, oth..BCdisp )
if (minord <= osign) and (osign <= maxord) then
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(23, 'Category series navigation nordinal redirected')
end
table.insert(navlist, navcenter(i, catlink))
else
table.insert(navlist, hidden)
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
elseif minord <= osign and osign <= maxord then
local catTarget = firstpart..' '..oth..tspace..lastpartNoBC
if BC ~= '' then
catTarget = firstpart..' '..oth..tspace..lastpartNoBC..BC
end
local dispText = oth..BCdisp
local catlink = catlinkfollowr( frame, catTarget, dispText )
if catlink.rtarget then
trackcat(23, 'Category series navigation nordinal redirected')
end
table.insert(navlist, navcenter(i, catlink))
else --out-of-range: hide
table.insert(navlist, hidden)
if listall then
tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')'
end
end
i = i + 1
end
navo = navo..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navo..'</div>'
end
end
--[[========================={{ nav_wordinal }}=============================]]
local function nav_wordinal( frame, firstpart, word, lastpart, minimumword, maximumword, ordinal, frame )
--Module:ConvertNumeric.spell_number2() args:
-- ordinal == true : 'second' is output instead of 'two'
-- ordinal == false: 'two' is output instead of 'second'
local ord2eng = require('Module:ConvertNumeric').spell_number2
local eng2ord = require('Module:ConvertNumeric').english_to_ordinal
local th = 'th'
if not ordinal then
th = ''
eng2ord = require('Module:ConvertNumeric').english_to_numeral
end
local capitalize = nil ~= string.match(word, '^%u') --determine capitalization
local nord = eng2ord(string.lower(word)) --operate on/with lowercase, and restore any capitalization later
local lspace = ' ' --assume a leading space (most common)
local tspace = ' ' --assume a trailing space (most common)
if string.match(firstpart, '[%-%(]$') then lspace = '' end --DNE for "Straight-eight engines"-type cats
if string.match(lastpart, '^[%-%)]' ) then tspace = '' end --DNE for "Nine-cylinder engines"-type cats
--sterilize min/max
local maxword_default = 99
local maxword = maxword_default
local minword = 1
if minimumword then
local num = tonumber(minimumword)
if num and 0 < num and num < maxword then
minword = num
else
local ord = eng2ord(minimumword)
if 0 < ord and ord < maxword then
minword = ord
end
end
end
if maximumword then
local num = tonumber(maximumword)
if num and 0 < num and num < maxword then
maxword = num
else
local ord = eng2ord(maximumword)
if 0 < ord and ord < maxword then
maxword = ord
end
end
end
if minword > nord then minword = nord end
if maxword < nord then maxword = nord end
--determine max existing cat
local listoverride = true
local n_max = nord
local m = 1
while m <= 5 do
local n = nord + m
local nth = p.addord(n)
if not ordinal then nth = n end
local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize }
local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth, nil, listoverride )
if catlink.catexists then n_max = n end
m = m + 1
end
--begin navwordinal
local navw = '<div class="toccolours categorySeriesNavigation-range">\n'
local navlist = {}
local prepad = ''
local i = -5 --nav position
while i <= 5 do
local n = nord + i
if n >= 1 then
local nth = p.addord(n)
if not ordinal then nth = n end
if i ~= 0 then --left/right navw
local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize }
local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth )
if minword <= n and n <= maxword then
if catlink.rtarget then --a {{Category redirect}} was followed
trackcat(24, 'Category series navigation wordinal redirected')
end
if n <= n_max or
maxword ~= maxword_default
then
table.insert(navlist, prepad..catlink.navelement) --display normally
prepad = ''
else
local postpad = '<span style="visibility:hidden"> • '..nth..'</span>'
navlist[#navlist] = (navlist[#navlist] or '')..postpad
if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end
end
else
local postpad = '<span style="visibility:hidden"> • '..nth..'</span>'
navlist[#navlist] = (navlist[#navlist] or '')..postpad
if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end
end
else --center navw
table.insert(navlist, prepad..'<b>'..nth..'</b>')
prepad = ''
end
else --n < 1
prepad = prepad..'<span style="visibility:hidden"> • '..'0'..th..'</span>'
if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end
end
i = i + 1
end
-- Add the list
navw = navw..horizontal(navlist)..'\n'
isolatedcat()
if listall then
return listalllinks()
else
return navw..'</div>'
end
end
--[[==========================={{ find_var }}===============================]]
local function find_var( pn )
--Extracts the variable text (e.g. 2015, 2015–16, 2000s, 3rd, III, etc.) from a string,
--and returns { ['vtype'] = <'year'|'season'|etc.>, <v> = <2015|2015–16|etc.> }
local pagename = currtitle.text
if pn and pn ~= '' then
pagename = pn
end
local cpagename = 'Ronney:'..pagename --limited-Lua-regex workaround
local d_season = mw.ustring.match(cpagename, ':(%d+yn).+%(%d+[–-]%d+%)') --i.e. "1760yn in the Province of Quebec (1763–1791)"
local y_season = mw.ustring.match(cpagename, ':(%d+) .+%(%d+[–-]%d+%)') --i.e. "1763 establishments in the Province of Quebec (1763–1791)"
local e_season = mw.ustring.match(cpagename, '%s(%d+[–-])$') or --irreg; ending unknown, e.g. "Members of the Scottish Parliament 2021–"
mw.ustring.match(cpagename, '%s(%d+[–-]jiu)$') --e.g. "UK MPs 2019–present"
local season = mw.ustring.match(cpagename, '[:%s%(](%d+[–-]%d+)[%)%s]') or --split in 2 b/c you can't frontier '$'/eos?
mw.ustring.match(cpagename, '[:%s](%d+[–-]%d+)$')
local tvseason = mw.ustring.match(cpagename, 'season (%d+)') or
mw.ustring.match(cpagename, 'series (%d+)') or
mw.ustring.match(cpagename, 'meetup (%d+)')
-- Require at least the two-character core of an ordinal suffix (st, nd, rd, th)
-- so that bare numbers and yn-suffixed decades do not match as nordinals.
local nordinal = string.match(pagename, '%d+[snrt][tdh]') or
string.match(pagename, '%d+oo%f[%A]') or
string.match(pagename, '%d+[dh]%f[%A]')
local decade = mw.ustring.match(cpagename, '[:%s](%d+yn)[%s-]') or
mw.ustring.match(cpagename, '[:%s](%d+yn)$')
local year = mw.ustring.match(cpagename, '[:%s](%d%d%d%d)%s') or --prioritize 4-digit years
mw.ustring.match(cpagename, '[:%s](%d%d%d%d)$') or
mw.ustring.match(cpagename, '[:%s](%d+)%s') or
mw.ustring.match(cpagename, '[:%s](%d+)$') or
--expand/combine exceptions below as needed
mw.ustring.match(cpagename, '[:%s](%d+)-related') or
mw.ustring.match(cpagename, '[:%s](%d+)-cylinder') or
mw.ustring.match(cpagename, '[:%-VW](%d+)%s') --e.g. "Straight-8 engines"
local roman = mw.ustring.match(cpagename, '%s([IVXLCDM]+)%s')
local found = d_season or y_season or e_season or season or tvseason or
nordinal or decade or year or roman
if found then
if string.match(found, '%d%d%d%d%d') == nil then
--return in order of decreasing complexity/chance for duplication
if nordinal and season --i.e. "18th-century establishments in the Province of Quebec (1763–1791)"
then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end
if d_season then return { ['vtype'] = 'decade', ['v'] = d_season } end
if y_season then return { ['vtype'] = 'year', ['v'] = y_season } end
if e_season then return { ['vtype'] = 'ending', ['v'] = e_season } end
if season then return { ['vtype'] = 'season', ['v'] = season } end
if tvseason then return { ['vtype'] = 'tvseason', ['v'] = tvseason } end
if decade then return { ['vtype'] = 'decade', ['v'] = decade } end
if nordinal then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end
if year then return { ['vtype'] = 'year', ['v'] = year } end
if roman then return { ['vtype'] = 'roman', ['v'] = roman } end
end
else
--try wordinals ('zeroth' to 'ninety-ninth' only)
local eng2ord = require('Module:ConvertNumeric').english_to_ordinal
local split = mw.text.split(pagename, ' ')
for i=1, #split do
if eng2ord(split[i]) > -1 then
return { ['vtype'] = 'wordinal', ['v'] = split[i] }
end
end
--try English numerics ('one'/'single' to 'ninety-nine' only)
local eng2num = require('Module:ConvertNumeric').english_to_numeral
local split = mw.text.split(pagename, '[%s%-]') --e.g. "Nine-cylinder engines"
for i=1, #split do
if eng2num(split[i]) > -1 then
return { ['vtype'] = 'enumeric', ['v'] = split[i] }
end
end
end
errors = p.errorclass('Function find_var can\'t find the variable text in category "'..pagename..'".')
return { ['vtype'] = 'error', ['v'] = p.failedcat(errors, 'V') }
end
--[[==========================================================================]]
--[[ Main ]]
--[[==========================================================================]]
function p.csn( frame )
--arg checks & handling
local args = frame:getParent().args
checkforunknownparams(args) --for template args
checkforunknownparams(frame.args) --for #invoke'd args
local cat = args['cat'] --'testcase' alias for catspace
local list = args['list-all-links'] --debugging utility to output all links & followed #Rs
local follow = args['follow-redirects'] --default 'yes'
local testcase = args['testcase']
local testcasegap = args['testcasegap']
local minimum = args['min']
local maximum = args['max']
local skip_gaps = args['skip-gaps']
local show = args['show']
if show and show ~= '' then
if show == 'skip-gaps' then return skipgaps_limit
elseif show == 'term-limit' then return term_limit
elseif show == 'hgap-limit' then return hgap_limit
elseif show == 'ygap-limit' then return ygap_limit end
end
--apply args
local pagename = testcase or cat or currtitle.text
local testcaseindent = ''
if testcasecolon == ':' then testcaseindent = '\n::' end
if follow and follow == 'no' then followRs = false end
if list and list == 'yes' then listall = true end
if skip_gaps and skip_gaps == 'yes' then
skipgaps = true
trackcat(26, 'Category series navigation using skip-gaps parameter')
end
--ns checks
if currtitle.nsText == 'Category' then
if cat and cat ~= '' then
trackcat(1, 'Category series navigation using cat parameter')
end
if testcase and testcase ~= '' then
trackcat(2, 'Category series navigation using testcase parameter')
end
elseif currtitle.nsText == '' then
trackcat(30, 'Category series navigation in mainspace')
end
--find the variable parts of pagename
local findvar = find_var(pagename)
if findvar.vtype == 'error' then --basic format error checking in find_var()
return findvar.v..table.concat(ttrackingcats)
end
local start = string.match(findvar.v, '^%d+')
--the rest is static
local findvar_escaped = string.gsub( findvar.v, '%-', '%%%-')
local firstpart, lastpart = string.match(pagename, '^(.-)'..findvar_escaped..'(.*)$')
if findvar.vtype == 'tvseason' then --double check for cases like "30 Rock (season 3) episodes"
firstpart, lastpart = string.match(pagename, '^(.-season )'..findvar_escaped..'(.*)$')
if firstpart == nil then
firstpart, lastpart = string.match(pagename, '^(.-series )'..findvar_escaped..'(.*)$')
end
if firstpart == nil then
firstpart, lastpart = string.match(pagename, '^(.-meetup )'..findvar_escaped..'(.*)$')
end
end
firstpart = mw.text.trim(firstpart or '')
lastpart = mw.text.trim(lastpart or '')
--call the appropriate nav function, in order of decreasing popularity
if findvar.vtype == 'year' then --e.g. "500", "2001"; nav_year..nav_decade; ~75% of cats
local nav1 = nav_year( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats)
local dec = math.floor(findvar.v/10)
local decadecat = nil
local firstpart_dec = firstpart
if firstpart_dec ~= '' then
firstpart_dec = firstpart_dec..' the'
elseif firstpart_dec == 'AD' and dec <= 1 then
firstpart_dec = ''
if dec == 0 then dec = '' end
end
local decade = dec..'0yn '
decadecat = mw.text.trim( firstpart_dec..' '..decade..lastpart )
local exists = catexists(decadecat)
if exists then
navborder = false
local nav2 = nav_decade( frame, firstpart_dec, decade, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats)
return wrap( nav1, nav2 )
elseif ttrackingcats[16] ~= '' then --nav_year isolated; check nav_hyphen (e.g. UK MPs 1974, Moldovan MPs 2009, etc.)
local hyphen = '–'
local finish = start
local nav2 = nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats)
if ttrackingcats[16] ~= '' then return wrap( nav1 ) --still isolated; rv to nav_year
else return wrap( nav2 ) end
else --regular nav_year
return wrap( nav1 )
end
elseif findvar.vtype == 'decade' then --e.g. "0yn", "2010yn"; nav_decade..nav_nordinal; ~12% of cats
local nav1 = nav_decade( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats)
local decade = tonumber(string.match(findvar.v, '^(%d+)yn'))
local century = math.floor( ((decade-1)/100) + 1 ) --from {{CENTURY}}
if century == 0 then century = 1 end --no 0th century
if string.match(decade, '00$') then
century = century + 1 --'2000' is in the 20th, but the rest of the 2000s is in the 21st
end
local clastpart = ' century '..lastpart
local centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart )
local exists = catexists(centurycat)
if not exists then --check for hyphenated century
clastpart = '-century '..lastpart
centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart )
exists = catexists(centurycat)
end
if exists then
navborder = false
trackcat(29, 'Category series navigation decade and century')
local nav2 = nav_nordinal( frame, firstpart, century, clastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats)
return wrap( nav1, nav2 )
else
return wrap( nav1 )
end
elseif findvar.vtype == 'nordinal' then --e.g. "1st", "99th"; ~7.5% of cats
return wrap( nav_nordinal( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'season' then --e.g. "1–4", "1999–2000", "2001–02", "2001–2002", "2005–2010", etc.; ~5.25%
local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])(%d+)') --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd
return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'tvseason' then --e.g. "1", "15" but preceded with "season" or "series"; <1% of cats
return wrap( nav_tvseason( frame, firstpart, start, lastpart, maximum )..testcaseindent..table.concat(ttrackingcats) ) --"minimum" defaults to 1
elseif findvar.vtype == 'wordinal' then --e.g. "first", "ninety-ninth"; <<1% of cats
local ordinal = true
return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'enumeric' then --e.g. "one", "ninety-nine"; <<1% of cats
local ordinal = false
return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'roman' then --e.g. "I", "XXVIII"; <<1% of cats
return wrap( nav_roman( frame, firstpart, findvar.v, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) )
elseif findvar.vtype == 'ending' then --e.g. "2021–" (irregular; ending unknown); <<<1% of cats
local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])present$'), -1 --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd
if hyphen == nil then
hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])$'), 0 --0/-1 are hardcoded switches for nav_hyphen()
end
return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) )
else --malformed
errors = p.errorclass('Failed to determine the appropriate nav function from malformed season "'..findvar.v..'". ')
return p.failedcat(errors, 'N')..table.concat(ttrackingcats)
end
end
return p
d4cb998a1irx04395h9oera6wktzy1r
Ronney:Jerraghyn 'sy vlein 1970
14
36842
388591
348587
2026-08-08T16:24:40Z
MacTire02
219
+clowan
388591
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1970}}
[[Ronney:1970]]
[[Ronney:Jerraghyn ayns ny 1970yn| 0]]
[[Ronney:Jerraghyn rere blein|1970]]
s4tgcpcxfn84iz1mgoy2y5vds5hxcw3
Ronney:Jerraghyn 'sy vlein 1935
14
36907
388567
348660
2026-08-08T16:19:46Z
MacTire02
219
+clowan
388567
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1935}}
[[Ronney:1935]]
[[Ronney:Jerraghyn ayns ny 1930yn| 5]]
[[Ronney:Jerraghyn rere blein|1935]]
srhtao2t2idnveynwc1zh519usxevfg
Ronney:Jerraghyn 'sy vlein 1889
14
37200
388549
349305
2026-08-08T16:16:03Z
MacTire02
219
+clowan
388549
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1889}}
[[Ronney:1889]]
[[Ronney:Jerraghyn ayns ny 1880yn| 9]]
[[Ronney:Jerraghyn rere blein|1889]]
cpvuf51rh47wptkrbastc6hg10ztphq
Ronney:Jerraghyn 'sy vlein 1548
14
37222
388420
349327
2026-08-08T15:51:50Z
MacTire02
219
+clowan
388420
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1548}}
[[Ronney:1548]]
[[Ronney:Jerraghyn ayns ny 1540yn| 8]]
[[Ronney:Jerraghyn rere blein|1548]]
a9bwulvckrw0ca1ouaf8o7ehis6w6rf
Ronney:Jerraghyn 'sy vlein 1547
14
37223
388419
349328
2026-08-08T15:51:41Z
MacTire02
219
+clowan
388419
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1547}}
[[Ronney:1547]]
[[Ronney:Jerraghyn ayns ny 1540yn| 7]]
[[Ronney:Jerraghyn rere blein|1547]]
9qievq1otanx5p9ei3yb8rmodesv9ad
Ronney:Jerraghyn 'sy vlein 1546
14
37224
388418
349329
2026-08-08T15:51:32Z
MacTire02
219
+clowan
388418
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1546}}
[[Ronney:1546]]
[[Ronney:Jerraghyn ayns ny 1540yn| 6]]
[[Ronney:Jerraghyn rere blein|1546]]
akxx5pw969d2svc5t7oyucmxbm6poq0
Ronney:Jerraghyn 'sy vlein 1543
14
37225
388417
349330
2026-08-08T15:51:23Z
MacTire02
219
+clowan
388417
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1543}}
[[Ronney:1543]]
[[Ronney:Jerraghyn ayns ny 1540yn| 3]]
[[Ronney:Jerraghyn rere blein|1543]]
an4lnx8ds3jc28z0bc4kh95jaj1n5j9
Ronney:Jerraghyn 'sy vlein 1537
14
37226
388416
349331
2026-08-08T15:51:05Z
MacTire02
219
+clowan
388416
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1537}}
[[Ronney:1537]]
[[Ronney:Jerraghyn ayns ny 1530yn| 7]]
[[Ronney:Jerraghyn rere blein|1537]]
rj3xkp03k4nnmp7d8d5l8kjxhm0akux
Ronney:Jerraghyn 'sy vlein 1528
14
37227
388415
349332
2026-08-08T15:50:49Z
MacTire02
219
+clowan
388415
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1528}}
[[Ronney:1528]]
[[Ronney:Jerraghyn ayns ny 1520yn| 8]]
[[Ronney:Jerraghyn rere blein|1528]]
8lqpfcfba64gxmmzrpadfoz7b7g7fjh
Ronney:Jerraghyn 'sy vlein 1527
14
37228
388414
349333
2026-08-08T15:50:39Z
MacTire02
219
+clowan
388414
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1527}}
[[Ronney:1527]]
[[Ronney:Jerraghyn ayns ny 1520yn| 7]]
[[Ronney:Jerraghyn rere blein|1527]]
ni0hqtc3c3xcf0v24cqzqvv3fb5c25j
Ronney:Jerraghyn 'sy vlein 1522
14
37229
388413
349334
2026-08-08T15:50:29Z
MacTire02
219
+clowan
388413
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1522}}
[[Ronney:1522]]
[[Ronney:Jerraghyn ayns ny 1520yn| 2]]
[[Ronney:Jerraghyn rere blein|1522]]
470prt2pv9quolkfyf581mbxuj6hpvr
Ronney:Jerraghyn 'sy vlein 1520
14
37230
388407
349335
2026-08-08T15:23:43Z
MacTire02
219
+clowan
388407
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1520}}
[[Ronney:1520]]
[[Ronney:Jerraghyn ayns ny 1520yn| 0]]
[[Ronney:Jerraghyn rere blein|1520]]
e4z7ykk08jhqpql0snumnk30kg9j0va
Ronney:Jerraghyn 'sy vlein 1519
14
37231
388412
349336
2026-08-08T15:50:15Z
MacTire02
219
+clowan
388412
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1519}}
[[Ronney:1519]]
[[Ronney:Jerraghyn ayns ny 1510yn| 9]]
[[Ronney:Jerraghyn rere blein|1519]]
a0zz5nhkg4n11f573hri742hgijteik
Ronney:Jerraghyn 'sy vlein 1512
14
37232
388411
349337
2026-08-08T15:49:56Z
MacTire02
219
+clowan
388411
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1512}}
[[Ronney:1512]]
[[Ronney:Jerraghyn ayns ny 1510yn| 2]]
[[Ronney:Jerraghyn rere blein|1512]]
p1t8eeda1f9oym1ou44do9ims83dzwc
Ronney:Jerraghyn 'sy vlein 1507
14
37233
388410
349338
2026-08-08T15:49:44Z
MacTire02
219
+clowan
388410
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1507}}
[[Ronney:1507]]
[[Ronney:Jerraghyn ayns ny 1500yn| 7]]
[[Ronney:Jerraghyn rere blein|1507]]
kaw02nod25dq6tdp2oy2459ch7yx6f6
Ronney:Jerraghyn 'sy vlein 1506
14
37234
388409
349339
2026-08-08T15:49:33Z
MacTire02
219
+clowan
388409
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1506}}
[[Ronney:1506]]
[[Ronney:Jerraghyn ayns ny 1500yn| 6]]
[[Ronney:Jerraghyn rere blein|1506]]
4fsc8g6r6qkfihr631tvepxf5hmeany
Ronney:Jerraghyn 'sy vlein 1504
14
37235
388408
349340
2026-08-08T15:49:23Z
MacTire02
219
+clowan
388408
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1504}}
[[Ronney:1504]]
[[Ronney:Jerraghyn ayns ny 1500yn| 4]]
[[Ronney:Jerraghyn rere blein|1504]]
l28kyx1i39yrv9z6fjdx19uxfyjxlmi
Ronney:Jerraghyn 'sy vlein 1647
14
37236
388444
349341
2026-08-08T15:56:48Z
MacTire02
219
+clowan
388444
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1647}}
[[Ronney:1647]]
[[Ronney:Jerraghyn ayns ny 1640yn| 7]]
[[Ronney:Jerraghyn rere blein|1647]]
2wa6yfk3peojv4a72y2iqtxhvh48sog
Ronney:Jerraghyn 'sy vlein 1642
14
37237
388443
349342
2026-08-08T15:56:37Z
MacTire02
219
+clowan
388443
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1642}}
[[Ronney:1642]]
[[Ronney:Jerraghyn ayns ny 1640yn| 2]]
[[Ronney:Jerraghyn rere blein|1642]]
6t0r0ii2dha6c84i4p9csjf1drwtva3
Ronney:Jerraghyn 'sy vlein 1641
14
37238
388442
349343
2026-08-08T15:56:27Z
MacTire02
219
+clowan
388442
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1641}}
[[Ronney:1641]]
[[Ronney:Jerraghyn ayns ny 1640yn| 1]]
[[Ronney:Jerraghyn rere blein|1641]]
420bn6c2z70h0vuxdo46r4yj6odf8bx
Ronney:Jerraghyn 'sy vlein 1640
14
37239
388441
349344
2026-08-08T15:56:16Z
MacTire02
219
+clowan
388441
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1640}}
[[Ronney:1640]]
[[Ronney:Jerraghyn ayns ny 1640yn| 0]]
[[Ronney:Jerraghyn rere blein|1640]]
py42b2hy279t7pz7qhufr64lbrwi191
Ronney:Jerraghyn 'sy vlein 1639
14
37240
388440
349345
2026-08-08T15:56:06Z
MacTire02
219
+clowan
388440
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1639}}
[[Ronney:1639]]
[[Ronney:Jerraghyn ayns ny 1630yn| 9]]
[[Ronney:Jerraghyn rere blein|1639]]
6ejr2m9tvk5iljxrxikeny2odffpn9c
Ronney:Jerraghyn 'sy vlein 1633
14
37241
388439
349346
2026-08-08T15:55:49Z
MacTire02
219
+clowan
388439
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1633}}
[[Ronney:1633]]
[[Ronney:Jerraghyn ayns ny 1630yn| 3]]
[[Ronney:Jerraghyn rere blein|1633]]
489jxb4l0393ntm4k1wajrw27yzspk2
Ronney:Jerraghyn 'sy vlein 1630
14
37242
388438
349347
2026-08-08T15:55:38Z
MacTire02
219
+clowan
388438
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1630}}
[[Ronney:1630]]
[[Ronney:Jerraghyn ayns ny 1630yn| 0]]
[[Ronney:Jerraghyn rere blein|1630]]
5t8e66ffruztaa0twsf443vb6hlv7nj
Ronney:Jerraghyn 'sy vlein 1629
14
37243
388437
349348
2026-08-08T15:55:28Z
MacTire02
219
+clowan
388437
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1629}}
[[Ronney:1629]]
[[Ronney:Jerraghyn ayns ny 1620yn| 9]]
[[Ronney:Jerraghyn rere blein|1629]]
86zxsici8qscmt9klxoa127qn8oyze9
Ronney:Jerraghyn 'sy vlein 1626
14
37244
388436
349349
2026-08-08T15:55:18Z
MacTire02
219
+clowan
388436
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1626}}
[[Ronney:1626]]
[[Ronney:Jerraghyn ayns ny 1620yn| 6]]
[[Ronney:Jerraghyn rere blein|1626]]
tlqx31x3cx72alixvbx9c56g6m43zmc
Ronney:Jerraghyn 'sy vlein 1625
14
37245
388435
349350
2026-08-08T15:55:07Z
MacTire02
219
+clowan
388435
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1625}}
[[Ronney:1625]]
[[Ronney:Jerraghyn ayns ny 1620yn| 5]]
[[Ronney:Jerraghyn rere blein|1625]]
ly386qo1d8lhtn81i0ukb4nwgfxd5kp
Ronney:Jerraghyn 'sy vlein 1619
14
37246
388434
349351
2026-08-08T15:54:51Z
MacTire02
219
+clowan
388434
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1619}}
[[Ronney:1619]]
[[Ronney:Jerraghyn ayns ny 1610yn| 9]]
[[Ronney:Jerraghyn rere blein|1619]]
hz025yvxqui66iz6qk1xlbdmotc62ec
Ronney:Jerraghyn 'sy vlein 1617
14
37247
388433
349353
2026-08-08T15:54:41Z
MacTire02
219
+clowan
388433
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1617}}
[[Ronney:1617]]
[[Ronney:Jerraghyn ayns ny 1610yn| 7]]
[[Ronney:Jerraghyn rere blein|1617]]
qlzx7147x6kwnbfcyzoroh343yrzead
Ronney:Jerraghyn 'sy vlein 1609
14
37248
388432
349354
2026-08-08T15:54:26Z
MacTire02
219
+clowan
388432
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1609}}
[[Ronney:1609]]
[[Ronney:Jerraghyn ayns ny 1600yn| 9]]
[[Ronney:Jerraghyn rere blein|1609]]
0v1thn0f4rjx3aapvs0xgsozjs2w7xw
Ronney:Jerraghyn 'sy vlein 1607
14
37249
388431
349355
2026-08-08T15:54:14Z
MacTire02
219
+clowan
388431
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1607}}
[[Ronney:1607]]
[[Ronney:Jerraghyn ayns ny 1600yn| 7]]
[[Ronney:Jerraghyn rere blein|1607]]
t3l4iypqj4ro0ggtq66jymo78fay8xj
Ronney:Jerraghyn 'sy vlein 1603
14
37250
388430
349356
2026-08-08T15:54:03Z
MacTire02
219
+clowan
388430
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1603}}
[[Ronney:1603]]
[[Ronney:Jerraghyn ayns ny 1600yn| 3]]
[[Ronney:Jerraghyn rere blein|1603]]
3si4uo3xmn2ck30w2dzc7krwen1fioq
Ronney:Jerraghyn 'sy vlein 1600
14
37251
388429
349357
2026-08-08T15:53:53Z
MacTire02
219
+clowan
388429
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1600}}
[[Ronney:1600]]
[[Ronney:Jerraghyn ayns ny 1600yn| 0]]
[[Ronney:Jerraghyn rere blein|1600]]
i0v7o52jt529tq2v2dph9pm72kdjmlq
Ronney:Jerraghyn 'sy vlein 1579
14
37252
388427
349358
2026-08-08T15:53:22Z
MacTire02
219
+clowan
388427
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1579}}
[[Ronney:1579]]
[[Ronney:Jerraghyn ayns ny 1570yn| 9]]
[[Ronney:Jerraghyn rere blein|1579]]
079favpwmssw95r7tnox129d1lajvfq
Ronney:Jerraghyn 'sy vlein 1574
14
37253
388426
349359
2026-08-08T15:53:11Z
MacTire02
219
+clowan
388426
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1574}}
[[Ronney:1574]]
[[Ronney:Jerraghyn ayns ny 1570yn| 4]]
[[Ronney:Jerraghyn rere blein|1574]]
cbxvm4mlqn32dzxjv4i2molqrujko94
Ronney:Jerraghyn 'sy vlein 1565
14
37254
388425
349360
2026-08-08T15:52:56Z
MacTire02
219
+clowan
388425
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1565}}
[[Ronney:1565]]
[[Ronney:Jerraghyn ayns ny 1560yn| 5]]
[[Ronney:Jerraghyn rere blein|1565]]
rqua20wb8zzusna70sanf1d99wejpdt
Ronney:Jerraghyn 'sy vlein 1564
14
37255
388424
349361
2026-08-08T15:52:44Z
MacTire02
219
+clowan
388424
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1564}}
[[Ronney:1564]]
[[Ronney:Jerraghyn ayns ny 1560yn| 4]]
[[Ronney:Jerraghyn rere blein|1564]]
hihymg2pjbksl1yol0zxr55frhqzepd
Ronney:Jerraghyn 'sy vlein 1563
14
37256
388423
349362
2026-08-08T15:52:34Z
MacTire02
219
+clowan
388423
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1563}}
[[Ronney:1563]]
[[Ronney:Jerraghyn ayns ny 1560yn| 3]]
[[Ronney:Jerraghyn rere blein|1563]]
lvkju9fk9bs85h2mqn6nfo36kag0maa
Ronney:Jerraghyn 'sy vlein 1557
14
37257
388422
349363
2026-08-08T15:52:14Z
MacTire02
219
+clowan
388422
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1557}}
[[Ronney:1557]]
[[Ronney:Jerraghyn ayns ny 1550yn| 7]]
[[Ronney:Jerraghyn rere blein|1557]]
8vagzap5ty3v7utxw43o8l2ru4rqs9k
Ronney:Jerraghyn 'sy vlein 1556
14
37258
388421
349364
2026-08-08T15:52:04Z
MacTire02
219
+clowan
388421
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1556}}
[[Ronney:1556]]
[[Ronney:Jerraghyn ayns ny 1550yn| 6]]
[[Ronney:Jerraghyn rere blein|1556]]
odjl6n0pjrnyw7xlhb9v3iat7i8d0nk
Ronney:Jerraghyn 'sy vlein 1697
14
37259
388463
349365
2026-08-08T15:59:56Z
MacTire02
219
+clowan
388463
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1697}}
[[Ronney:1697]]
[[Ronney:Jerraghyn ayns ny 1690yn| 7]]
[[Ronney:Jerraghyn rere blein|1697]]
958101h7kjqqbfzwewcjqaihezz4w8t
Ronney:Jerraghyn 'sy vlein 1695
14
37260
388462
349366
2026-08-08T15:59:45Z
MacTire02
219
+clowan
388462
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1695}}
[[Ronney:1695]]
[[Ronney:Jerraghyn ayns ny 1690yn| 5]]
[[Ronney:Jerraghyn rere blein|1695]]
8v0odych6jjw75yn5fdg3olomxdk41q
Ronney:Jerraghyn 'sy vlein 1692
14
37261
388461
349367
2026-08-08T15:59:36Z
MacTire02
219
+clowan
388461
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1692}}
[[Ronney:1692]]
[[Ronney:Jerraghyn ayns ny 1690yn| 2]]
[[Ronney:Jerraghyn rere blein|1692]]
5lue0qxga8eorfyueid8ycg8s3puutp
Ronney:Jerraghyn 'sy vlein 1691
14
37262
388460
349368
2026-08-08T15:59:26Z
MacTire02
219
+clowan
388460
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1691}}
[[Ronney:1691]]
[[Ronney:Jerraghyn ayns ny 1690yn| 1]]
[[Ronney:Jerraghyn rere blein|1691]]
k3jp6yk1oganm4iaumkckv74b5jwuil
Ronney:Jerraghyn 'sy vlein 1687
14
37263
388459
349369
2026-08-08T15:59:16Z
MacTire02
219
+clowan
388459
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1687}}
[[Ronney:1687]]
[[Ronney:Jerraghyn ayns ny 1680yn| 7]]
[[Ronney:Jerraghyn rere blein|1687]]
1anp6z0spl0qeuje7uo0f6emvtuuj7a
Ronney:Jerraghyn 'sy vlein 1685
14
37264
388458
349370
2026-08-08T15:59:05Z
MacTire02
219
+clowan
388458
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1685}}
[[Ronney:1685]]
[[Ronney:Jerraghyn ayns ny 1680yn| 5]]
[[Ronney:Jerraghyn rere blein|1685]]
afelnckl0tnjyqh9wydp1xr3nh0xrt7
Ronney:Jerraghyn 'sy vlein 1680
14
37265
388457
349371
2026-08-08T15:58:55Z
MacTire02
219
+clowan
388457
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1680}}
[[Ronney:1680]]
[[Ronney:Jerraghyn ayns ny 1680yn| 0]]
[[Ronney:Jerraghyn rere blein|1680]]
e4e47hys45yovjj3t502ascplqbtcae
Ronney:Jerraghyn 'sy vlein 1675
14
37266
388456
349372
2026-08-08T15:58:46Z
MacTire02
219
+clowan
388456
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1675}}
[[Ronney:1675]]
[[Ronney:Jerraghyn ayns ny 1670yn| 5]]
[[Ronney:Jerraghyn rere blein|1675]]
4cvn42bj4t3xc4ddef8qe7bu0wvvy3k
Ronney:Jerraghyn 'sy vlein 1674
14
37267
388455
349373
2026-08-08T15:58:36Z
MacTire02
219
+clowan
388455
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1674}}
[[Ronney:1674]]
[[Ronney:Jerraghyn ayns ny 1670yn| 4]]
[[Ronney:Jerraghyn rere blein|1674]]
42u9l91r2nr7xuh39i43or4jnykdxxc
Ronney:Jerraghyn 'sy vlein 1671
14
37268
388454
349374
2026-08-08T15:58:27Z
MacTire02
219
+clowan
388454
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1671}}
[[Ronney:1671]]
[[Ronney:Jerraghyn ayns ny 1670yn| 1]]
[[Ronney:Jerraghyn rere blein|1671]]
n2t6x1wr96uygwby19ds1xtxgd3l72p
Ronney:Jerraghyn 'sy vlein 1666
14
37269
388453
349375
2026-08-08T15:58:17Z
MacTire02
219
+clowan
388453
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1666}}
[[Ronney:1666]]
[[Ronney:Jerraghyn ayns ny 1660yn| 0]]
[[Ronney:Jerraghyn rere blein|1660]]
cfqlagbg17rxb4iqxofytueg7xbmi10
Ronney:Jerraghyn 'sy vlein 1664
14
37270
388452
349376
2026-08-08T15:58:07Z
MacTire02
219
+clowan
388452
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1664}}
[[Ronney:1664]]
[[Ronney:Jerraghyn ayns ny 1660yn| 4]]
[[Ronney:Jerraghyn rere blein|1664]]
ivemkx7y32kdh264g042ghlu8ko3gb2
Ronney:Jerraghyn 'sy vlein 1663
14
37271
388451
349377
2026-08-08T15:57:58Z
MacTire02
219
+clowan
388451
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1663}}
[[Ronney:1663]]
[[Ronney:Jerraghyn ayns ny 1660yn| 3]]
[[Ronney:Jerraghyn rere blein|1663]]
ki93i0fm7m1wsy72pf926lr1du87s4y
Ronney:Jerraghyn 'sy vlein 1660
14
37272
388450
349378
2026-08-08T15:57:47Z
MacTire02
219
+clowan
388450
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1660}}
[[Ronney:1660]]
[[Ronney:Jerraghyn ayns ny 1600yn| 0]]
[[Ronney:Jerraghyn rere blein|1660]]
2jcmvsi6st2c4tuzksszd5yqkcz10dt
Ronney:Jerraghyn 'sy vlein 1657
14
37273
388449
349379
2026-08-08T15:57:37Z
MacTire02
219
+clowan
388449
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1657}}
[[Ronney:1657]]
[[Ronney:Jerraghyn ayns ny 1650yn| 7]]
[[Ronney:Jerraghyn rere blein|1657]]
dx9rrcl9828mb6avyb34jxshcanwxat
Ronney:Jerraghyn 'sy vlein 1656
14
37274
388448
349380
2026-08-08T15:57:27Z
MacTire02
219
+clowan
388448
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1656}}
[[Ronney:1656]]
[[Ronney:Jerraghyn ayns ny 1650yn| 6]]
[[Ronney:Jerraghyn rere blein|1656]]
ixs9wuch9xlzyvi2xp4shhi8hl1o29w
Ronney:Jerraghyn 'sy vlein 1655
14
37275
388447
349381
2026-08-08T15:57:18Z
MacTire02
219
+clowan
388447
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1655}}
[[Ronney:1655]]
[[Ronney:Jerraghyn ayns ny 1650yn| 5]]
[[Ronney:Jerraghyn rere blein|1655]]
mav2d2q0htmbbd27xsliaazc36wl2dx
Ronney:Jerraghyn 'sy vlein 1654
14
37276
388446
349382
2026-08-08T15:57:08Z
MacTire02
219
+clowan
388446
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1654}}
[[Ronney:1654]]
[[Ronney:Jerraghyn ayns ny 1650yn| 4]]
[[Ronney:Jerraghyn rere blein|1654]]
dy7e2tdfpsype5nnw6pgejr59qx1sia
Ronney:Jerraghyn 'sy vlein 1652
14
37277
388445
349383
2026-08-08T15:56:59Z
MacTire02
219
+clowan
388445
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1652}}
[[Ronney:1652]]
[[Ronney:Jerraghyn ayns ny 1650yn| 2]]
[[Ronney:Jerraghyn rere blein|1652]]
o3fz1132iumpzvcuanuu6ad45kfjhqu
Ronney:Jerraghyn 'sy vlein 1750
14
37278
388478
349384
2026-08-08T16:02:51Z
MacTire02
219
+clowan
388478
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1750}}
[[Ronney:1750]]
[[Ronney:Jerraghyn ayns ny 1750yn| 0]]
[[Ronney:Jerraghyn rere blein|1750]]
ei128psp7b5ff9t5ew0vy84sz9125qx
Ronney:Jerraghyn 'sy vlein 1744
14
37279
388477
349385
2026-08-08T16:02:34Z
MacTire02
219
+clowan
388477
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1744}}
[[Ronney:1744]]
[[Ronney:Jerraghyn ayns ny 1740yn| 4]]
[[Ronney:Jerraghyn rere blein|1744]]
te7e9os1aiv9lr7g15kc6hgm3jf0so1
Ronney:Jerraghyn 'sy vlein 1743
14
37280
388476
349386
2026-08-08T16:02:24Z
MacTire02
219
+clowan
388476
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1743}}
[[Ronney:1743]]
[[Ronney:Jerraghyn ayns ny 1740yn| 3]]
[[Ronney:Jerraghyn rere blein|1743]]
as9rgnkss25xgir9me9szb3rg1lzy5l
Ronney:Jerraghyn 'sy vlein 1742
14
37281
388475
349387
2026-08-08T16:02:14Z
MacTire02
219
+clowan
388475
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1742}}
[[Ronney:1742]]
[[Ronney:Jerraghyn ayns ny 1740yn| 2]]
[[Ronney:Jerraghyn rere blein|1742]]
sm3jemu5lptebiz8uccu01fsrow6v4o
Ronney:Jerraghyn 'sy vlein 1741
14
37282
388474
349388
2026-08-08T16:02:03Z
MacTire02
219
+clowan
388474
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1741}}
[[Ronney:1741]]
[[Ronney:Jerraghyn ayns ny 1740yn| 1]]
[[Ronney:Jerraghyn rere blein|1741]]
5kw14j1db2a4xrw53cyopkv4x60bue3
Ronney:Jerraghyn 'sy vlein 1740
14
37283
388473
349389
2026-08-08T16:01:54Z
MacTire02
219
+clowan
388473
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1740}}
[[Ronney:1740]]
[[Ronney:Jerraghyn ayns ny 1740yn| 0]]
[[Ronney:Jerraghyn rere blein|1740]]
oacl0hunmv5kmia4pkmijapdhzomk1m
Ronney:Jerraghyn 'sy vlein 1739
14
37284
388472
349390
2026-08-08T16:01:44Z
MacTire02
219
+clowan
388472
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1739}}
[[Ronney:1739]]
[[Ronney:Jerraghyn ayns ny 1730yn| 9]]
[[Ronney:Jerraghyn rere blein|1739]]
6bxiroraz8zkolc0c56waf0d90n2j4j
Ronney:Jerraghyn 'sy vlein 1731
14
37285
388471
349391
2026-08-08T16:01:31Z
MacTire02
219
+clowan
388471
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1731}}
[[Ronney:1731]]
[[Ronney:Jerraghyn ayns ny 1730yn| 1]]
[[Ronney:Jerraghyn rere blein|1731]]
38ez5iyqirfqhok8byoyky8vsh2aepm
Ronney:Jerraghyn 'sy vlein 1727
14
37286
388470
349392
2026-08-08T16:01:21Z
MacTire02
219
+clowan
388470
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1727}}
[[Ronney:1727]]
[[Ronney:Jerraghyn ayns ny 1720yn| 7]]
[[Ronney:Jerraghyn rere blein|1727]]
qwlfenb18nw9w1yeenbuyjcdb6wxuqy
Ronney:Jerraghyn 'sy vlein 1723
14
37287
388469
349393
2026-08-08T16:01:11Z
MacTire02
219
+clowan
388469
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1723}}
[[Ronney:1723]]
[[Ronney:Jerraghyn ayns ny 1720yn| 3]]
[[Ronney:Jerraghyn rere blein|1723]]
36wfhqadchu6g3px1h170aokv7zrvq0
Ronney:Jerraghyn 'sy vlein 1716
14
37288
388468
349394
2026-08-08T16:00:57Z
MacTire02
219
+clowan
388468
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1716}}
[[Ronney:1716]]
[[Ronney:Jerraghyn ayns ny 1710yn| 6]]
[[Ronney:Jerraghyn rere blein|1716]]
sd4c1o245x7ccalj59e4t4c3intcsc3
Ronney:Jerraghyn 'sy vlein 1710
14
37289
388467
349395
2026-08-08T16:00:42Z
MacTire02
219
+clowan
388467
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1710}}
[[Ronney:1710]]
[[Ronney:Jerraghyn ayns ny 1710yn| 0]]
[[Ronney:Jerraghyn rere blein|1710]]
h8n07otncw1mpa0ukknlzcova702xs7
Ronney:Jerraghyn 'sy vlein 1705
14
37290
388466
349396
2026-08-08T16:00:32Z
MacTire02
219
+clowan
388466
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1705}}
[[Ronney:1705]]
[[Ronney:Jerraghyn ayns ny 1700yn| 5]]
[[Ronney:Jerraghyn rere blein|1705]]
m3v8men164c4glwyq769811rsz0ljlf
Ronney:Jerraghyn 'sy vlein 1704
14
37291
388465
349397
2026-08-08T16:00:20Z
MacTire02
219
+clowan
388465
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1704}}
[[Ronney:1704]]
[[Ronney:Jerraghyn ayns ny 1700yn| 4]]
[[Ronney:Jerraghyn rere blein|1704]]
hfptwo0ofksz9arg04o6qwruq3z27du
Ronney:Jerraghyn 'sy vlein 1703
14
37292
388464
349398
2026-08-08T16:00:10Z
MacTire02
219
+clowan
388464
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1703}}
[[Ronney:1703]]
[[Ronney:Jerraghyn ayns ny 1700yn| 3]]
[[Ronney:Jerraghyn rere blein|1703]]
4okere7gu4ee6xwrupia5gs9ujbidbw
Ronney:Jerraghyn 'sy vlein 1799
14
37293
388503
349400
2026-08-08T16:07:14Z
MacTire02
219
+clowan
388503
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1799}}
[[Ronney:1799]]
[[Ronney:Jerraghyn ayns ny 1790yn| 9]]
[[Ronney:Jerraghyn rere blein|1799]]
eromruah7denvqtwzsh9ausn8n6e1q3
Ronney:Jerraghyn 'sy vlein 1797
14
37294
388502
349401
2026-08-08T16:07:03Z
MacTire02
219
+clowan
388502
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1797}}
[[Ronney:1797]]
[[Ronney:Jerraghyn ayns ny 1790yn| 7]]
[[Ronney:Jerraghyn rere blein|1797]]
qmkgl2ljm8ugduj5dinpv7jn8pcreuq
Ronney:Jerraghyn 'sy vlein 1796
14
37295
388501
349402
2026-08-08T16:06:53Z
MacTire02
219
+clowan
388501
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1796}}
[[Ronney:1796]]
[[Ronney:Jerraghyn ayns ny 1790yn| 6]]
[[Ronney:Jerraghyn rere blein|1796]]
eeglkgdmdf12xg9133cvhjnj0hvaute
Ronney:Jerraghyn 'sy vlein 1794
14
37296
388500
349403
2026-08-08T16:06:43Z
MacTire02
219
+clowan
388500
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1794}}
[[Ronney:1794]]
[[Ronney:Jerraghyn ayns ny 1790yn| 4]]
[[Ronney:Jerraghyn rere blein|1794]]
kmydy5zo1lxryxlxfo8mq3mnrzphrxs
Ronney:Jerraghyn 'sy vlein 1793
14
37297
388499
349404
2026-08-08T16:06:32Z
MacTire02
219
+clowan
388499
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1793}}
[[Ronney:1793]]
[[Ronney:Jerraghyn ayns ny 1790yn| 3]]
[[Ronney:Jerraghyn rere blein|1793]]
1vctupoa7n508v26bbn6u4wtekpesl7
Ronney:Jerraghyn 'sy vlein 1791
14
37298
388498
349405
2026-08-08T16:06:23Z
MacTire02
219
+clowan
388498
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1791}}
[[Ronney:1791]]
[[Ronney:Jerraghyn ayns ny 1790yn| 1]]
[[Ronney:Jerraghyn rere blein|1791]]
f072igqsvvbymesq691uoayy0ejcdom
Ronney:Jerraghyn 'sy vlein 1790
14
37299
388497
349406
2026-08-08T16:06:13Z
MacTire02
219
+clowan
388497
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1790}}
[[Ronney:1790]]
[[Ronney:Jerraghyn ayns ny 1790yn| 0]]
[[Ronney:Jerraghyn rere blein|1790]]
po1c1a1lotrk8h403hpyvxxto4oav01
Ronney:Jerraghyn 'sy vlein 1788
14
37300
388496
349407
2026-08-08T16:06:02Z
MacTire02
219
+clowan
388496
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1788}}
[[Ronney:1788]]
[[Ronney:Jerraghyn ayns ny 1780yn| 8]]
[[Ronney:Jerraghyn rere blein|1788]]
8a1m6wss45jyef2j8ujr8xqxyo3gkit
Ronney:Jerraghyn 'sy vlein 1787
14
37301
388495
349408
2026-08-08T16:05:52Z
MacTire02
219
+clowan
388495
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1787}}
[[Ronney:1787]]
[[Ronney:Jerraghyn ayns ny 1780yn| 7]]
[[Ronney:Jerraghyn rere blein|1787]]
2j8icqc3d581hnnos2hwz6ll22dytqj
Ronney:Jerraghyn 'sy vlein 1786
14
37302
388494
349409
2026-08-08T16:05:43Z
MacTire02
219
+clowan
388494
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1786}}
[[Ronney:1786]]
[[Ronney:Jerraghyn ayns ny 1780yn| 6]]
[[Ronney:Jerraghyn rere blein|1786]]
kcvwerfoirb8jmvd8n9s75nq35pf40u
Ronney:Jerraghyn 'sy vlein 1782
14
37303
388493
349410
2026-08-08T16:05:33Z
MacTire02
219
+clowan
388493
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1782}}
[[Ronney:1782]]
[[Ronney:Jerraghyn ayns ny 1780yn| 2]]
[[Ronney:Jerraghyn rere blein|1782]]
9qfeoysjkcbe5senizsxdowzak1o2nu
Ronney:Jerraghyn 'sy vlein 1778
14
37304
388492
349411
2026-08-08T16:05:23Z
MacTire02
219
+clowan
388492
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1778}}
[[Ronney:1778]]
[[Ronney:Jerraghyn ayns ny 1770yn| 8]]
[[Ronney:Jerraghyn rere blein|1778]]
i36njg495hqv6itihw41fc6ltrlxwgg
Ronney:Jerraghyn 'sy vlein 1777
14
37305
388491
349412
2026-08-08T16:05:15Z
MacTire02
219
+clowan
388491
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1777}}
[[Ronney:1777]]
[[Ronney:Jerraghyn ayns ny 1770yn| 7]]
[[Ronney:Jerraghyn rere blein|1777]]
tvnenln408g1pcoj5z1u6gedgfxggn0
Ronney:Jerraghyn 'sy vlein 1774
14
37306
388490
349413
2026-08-08T16:05:06Z
MacTire02
219
+clowan
388490
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1774}}
[[Ronney:1774]]
[[Ronney:Jerraghyn ayns ny 1770yn| 4]]
[[Ronney:Jerraghyn rere blein|1774]]
1ue27k71xeaeeaml8sxgl4b0te37cxs
Ronney:Jerraghyn 'sy vlein 1773
14
37307
388489
349414
2026-08-08T16:04:53Z
MacTire02
219
+clowan
388489
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1773}}
[[Ronney:1773]]
[[Ronney:Jerraghyn ayns ny 1770yn| 3]]
[[Ronney:Jerraghyn rere blein|1773]]
bdc2hv4qlfk0bvhkc24l99vv9sop8ig
Ronney:Jerraghyn 'sy vlein 1771
14
37308
388488
349415
2026-08-08T16:04:43Z
MacTire02
219
+clowan
388488
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1771}}
[[Ronney:1771]]
[[Ronney:Jerraghyn ayns ny 1770yn| 1]]
[[Ronney:Jerraghyn rere blein|1771]]
od0ulnttxpme32puwilwck0zg1nliai
Ronney:Jerraghyn 'sy vlein 1768
14
37309
388487
349416
2026-08-08T16:04:32Z
MacTire02
219
+clowan
388487
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1768}}
[[Ronney:1768]]
[[Ronney:Jerraghyn ayns ny 1760yn| 8]]
[[Ronney:Jerraghyn rere blein|1768]]
pml2aasxfnftm39fb3rbulorkv06ihh
Ronney:Jerraghyn 'sy vlein 1766
14
37310
388486
349417
2026-08-08T16:04:21Z
MacTire02
219
+clowan
388486
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1766}}
[[Ronney:1766]]
[[Ronney:Jerraghyn ayns ny 1760yn| 6]]
[[Ronney:Jerraghyn rere blein|1766]]
tuwx5lweijrtp0qh07fdqnp009y1bhs
Ronney:Jerraghyn 'sy vlein 1764
14
37311
388485
349418
2026-08-08T16:04:10Z
MacTire02
219
+clowan
388485
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1764}}
[[Ronney:1764]]
[[Ronney:Jerraghyn ayns ny 1760yn| 4]]
[[Ronney:Jerraghyn rere blein|1764]]
6tibn3sdmegp6xwb2r9ocjgmq2be8ao
Ronney:Jerraghyn 'sy vlein 1762
14
37312
388484
349419
2026-08-08T16:04:01Z
MacTire02
219
+clowan
388484
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1762}}
[[Ronney:1762]]
[[Ronney:Jerraghyn ayns ny 1760yn| 2]]
[[Ronney:Jerraghyn rere blein|1762]]
ch37gxgqypknnh3al5hrfszq4aw2ygy
Ronney:Jerraghyn 'sy vlein 1759
14
37313
388483
349420
2026-08-08T16:03:51Z
MacTire02
219
+clowan
388483
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1759}}
[[Ronney:1759]]
[[Ronney:Jerraghyn ayns ny 1750yn| 9]]
[[Ronney:Jerraghyn rere blein|1759]]
ijdhiys7enknpbvlxrpzuocokow4tul
Ronney:Jerraghyn 'sy vlein 1758
14
37314
388482
349421
2026-08-08T16:03:29Z
MacTire02
219
+clowan
388482
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1758}}
[[Ronney:1758]]
[[Ronney:Jerraghyn ayns ny 1750yn| 8]]
[[Ronney:Jerraghyn rere blein|1758]]
2kz8x0q7izkmhlwcga29ijkseelpxw0
Ronney:Jerraghyn 'sy vlein 1756
14
37315
388481
349422
2026-08-08T16:03:20Z
MacTire02
219
+clowan
388481
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1756}}
[[Ronney:1756]]
[[Ronney:Jerraghyn ayns ny 1750yn| 6]]
[[Ronney:Jerraghyn rere blein|1756]]
rg1q4i8yukxtgvmxtbhu3vz6al42n0c
Ronney:Jerraghyn 'sy vlein 1754
14
37316
388480
349423
2026-08-08T16:03:11Z
MacTire02
219
+clowan
388480
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1754}}
[[Ronney:1754]]
[[Ronney:Jerraghyn ayns ny 1750yn| 4]]
[[Ronney:Jerraghyn rere blein|1754]]
cz690zro92fss0dkv6w8wcgsmj1xoxt
Ronney:Jerraghyn 'sy vlein 1753
14
37317
388479
349424
2026-08-08T16:03:00Z
MacTire02
219
+clowan
388479
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1753}}
[[Ronney:1753]]
[[Ronney:Jerraghyn ayns ny 1750yn| 3]]
[[Ronney:Jerraghyn rere blein|1753]]
dewrmjwug2a7iteltgtem7oaz4243z8
Ronney:Jerraghyn 'sy vlein 1849
14
37318
388521
349425
2026-08-08T16:11:11Z
MacTire02
219
+clowan
388521
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1849}}
[[Ronney:1849]]
[[Ronney:Jerraghyn ayns ny 1840yn| 9]]
[[Ronney:Jerraghyn rere blein|1849]]
qh5yu7m8bzf830wr05xk3aluar0q33l
Ronney:Jerraghyn 'sy vlein 1848
14
37319
388520
349426
2026-08-08T16:11:02Z
MacTire02
219
+clowan
388520
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1848}}
[[Ronney:1848]]
[[Ronney:Jerraghyn ayns ny 1840yn| 8]]
[[Ronney:Jerraghyn rere blein|1848]]
dt4qncmr6yiql9l1ca8gfhdfs1m842h
Ronney:Jerraghyn 'sy vlein 1845
14
37320
388519
349427
2026-08-08T16:10:51Z
MacTire02
219
+clowan
388519
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1845}}
[[Ronney:1845]]
[[Ronney:Jerraghyn ayns ny 1840yn| 5]]
[[Ronney:Jerraghyn rere blein|1845]]
n6y2ovruy55pjlplzp7qm2ba7rwxzfi
Ronney:Jerraghyn 'sy vlein 1843
14
37321
388518
349428
2026-08-08T16:10:42Z
MacTire02
219
+clowan
388518
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1843}}
[[Ronney:1843]]
[[Ronney:Jerraghyn ayns ny 1840yn| 3]]
[[Ronney:Jerraghyn rere blein|1843]]
ds9v7il9wv40mycioqe13688050zh6s
Ronney:Jerraghyn 'sy vlein 1842
14
37322
388517
349429
2026-08-08T16:10:31Z
MacTire02
219
+clowan
388517
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1842}}
[[Ronney:1842]]
[[Ronney:Jerraghyn ayns ny 1840yn| 2]]
[[Ronney:Jerraghyn rere blein|1842]]
5vw0kgr8uxsc91un2vm1vjmo08m1y4n
Ronney:Jerraghyn 'sy vlein 1841
14
37323
388516
349430
2026-08-08T16:10:22Z
MacTire02
219
+clowan
388516
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1841}}
[[Ronney:1841]]
[[Ronney:Jerraghyn ayns ny 1840yn| 1]]
[[Ronney:Jerraghyn rere blein|1841]]
kxpq3yvdzqyubfvl2jzo6mxusq4a43s
Ronney:Jerraghyn 'sy vlein 1838
14
37324
388515
349431
2026-08-08T16:10:12Z
MacTire02
219
+clowan
388515
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1838}}
[[Ronney:1838]]
[[Ronney:Jerraghyn ayns ny 1830yn| 8]]
[[Ronney:Jerraghyn rere blein|1838]]
87iycjz9lcikroeyz4avggernfx9p7v
Ronney:Jerraghyn 'sy vlein 1837
14
37325
388514
349432
2026-08-08T16:09:56Z
MacTire02
219
+clowan
388514
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1837}}
[[Ronney:1837]]
[[Ronney:Jerraghyn ayns ny 1830yn| 7]]
[[Ronney:Jerraghyn rere blein|1837]]
5s2vxx20et3eozm9jkcre8o2pivhjxv
Ronney:Jerraghyn 'sy vlein 1836
14
37326
388513
349433
2026-08-08T16:09:45Z
MacTire02
219
+clowan
388513
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1836}}
[[Ronney:1836]]
[[Ronney:Jerraghyn ayns ny 1830yn| 6]]
[[Ronney:Jerraghyn rere blein|1836]]
60k7bjxibr9r871cb2py8cvg7fg60jb
Ronney:Jerraghyn 'sy vlein 1831
14
37327
388512
349434
2026-08-08T16:09:36Z
MacTire02
219
+clowan
388512
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1831}}
[[Ronney:1831]]
[[Ronney:Jerraghyn ayns ny 1830yn| 1]]
[[Ronney:Jerraghyn rere blein|1831]]
72jblruhn71b9tgr4hgmwgfqvt3606g
Ronney:Jerraghyn 'sy vlein 1828
14
37328
388511
349435
2026-08-08T16:09:16Z
MacTire02
219
+clowan
388511
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1828}}
[[Ronney:1828]]
[[Ronney:Jerraghyn ayns ny 1820yn| 8]]
[[Ronney:Jerraghyn rere blein|1828]]
ertazcs6lc6jdohh4ww2ucan9hr7zhb
Ronney:Jerraghyn 'sy vlein 1827
14
37329
388510
349436
2026-08-08T16:08:34Z
MacTire02
219
+clowan
388510
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1827}}
[[Ronney:1827]]
[[Ronney:Jerraghyn ayns ny 1820yn| 7]]
[[Ronney:Jerraghyn rere blein|1827]]
cfd1s61kcdusbtx2yqlqbp3p0ku6zdt
Ronney:Jerraghyn 'sy vlein 1826
14
37330
388509
349437
2026-08-08T16:08:25Z
MacTire02
219
+clowan
388509
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1826}}
[[Ronney:1826]]
[[Ronney:Jerraghyn ayns ny 1820yn| 6]]
[[Ronney:Jerraghyn rere blein|1826]]
rkw2y7ctzf277f8gpini0us6ugrs940
Ronney:Jerraghyn 'sy vlein 1824
14
37331
388508
349438
2026-08-08T16:08:16Z
MacTire02
219
+clowan
388508
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1824}}
[[Ronney:1824]]
[[Ronney:Jerraghyn ayns ny 1820yn| 4]]
[[Ronney:Jerraghyn rere blein|1824]]
kwlopfoh2hfaxknxkg232fqssjgmnpm
Ronney:Jerraghyn 'sy vlein 1821
14
37332
388507
349439
2026-08-08T16:08:04Z
MacTire02
219
+clowan
388507
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1821}}
[[Ronney:1821]]
[[Ronney:Jerraghyn ayns ny 1820yn| 1]]
[[Ronney:Jerraghyn rere blein|1821]]
9uwb3zzq165bx97nhkzg5imc171k45k
Ronney:Jerraghyn 'sy vlein 1819
14
37333
388506
349440
2026-08-08T16:07:55Z
MacTire02
219
+clowan
388506
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1819}}
[[Ronney:1819]]
[[Ronney:Jerraghyn ayns ny 1810yn| 9]]
[[Ronney:Jerraghyn rere blein|1819]]
ob6f0k18xq30io3y2h2bxbp4jgqy7n0
Ronney:Jerraghyn 'sy vlein 1817
14
37334
388505
349441
2026-08-08T16:07:45Z
MacTire02
219
+clowan
388505
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1817}}
[[Ronney:1817]]
[[Ronney:Jerraghyn ayns ny 1810yn| 7]]
[[Ronney:Jerraghyn rere blein|1817]]
n63lnu183ry1c74w4w12vl35o38q9dy
Ronney:Jerraghyn 'sy vlein 1814
14
37335
388504
349442
2026-08-08T16:07:36Z
MacTire02
219
+clowan
388504
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1814}}
[[Ronney:1814]]
[[Ronney:Jerraghyn ayns ny 1810yn| 4]]
[[Ronney:Jerraghyn rere blein|1814]]
jrg72rcippjktapn67fxtir92ag5ngr
Ronney:Jerraghyn 'sy vlein 1898
14
37340
388550
349447
2026-08-08T16:16:28Z
MacTire02
219
+clowan
388550
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1898}}
[[Ronney:1898]]
[[Ronney:Jerraghyn ayns ny 1890yn| 8]]
[[Ronney:Jerraghyn rere blein|1898]]
op8uaoswpm4tsfnz03atsufpbzqzlm3
Ronney:Jerraghyn 'sy vlein 1888
14
37346
388548
349453
2026-08-08T16:15:53Z
MacTire02
219
+clowan
388548
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1888}}
[[Ronney:1888]]
[[Ronney:Jerraghyn ayns ny 1880yn| 8]]
[[Ronney:Jerraghyn rere blein|1888]]
0252pf6i8dt1y61m3qmzq9weau17tw5
Ronney:Jerraghyn 'sy vlein 1887
14
37347
388547
349454
2026-08-08T16:15:43Z
MacTire02
219
+clowan
388547
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1887}}
[[Ronney:1887]]
[[Ronney:Jerraghyn ayns ny 1880yn| 7]]
[[Ronney:Jerraghyn rere blein|1887]]
p0037zgjvu643dw71r0ypwdj0sewgll
Ronney:Jerraghyn 'sy vlein 1886
14
37348
388546
349455
2026-08-08T16:15:32Z
MacTire02
219
+clowan
388546
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1886}}
[[Ronney:1886]]
[[Ronney:Jerraghyn ayns ny 1880yn| 6]]
[[Ronney:Jerraghyn rere blein|1886]]
0jmpmk3136vqtzu0b1zvubwdk418x1c
Ronney:Jerraghyn 'sy vlein 1885
14
37349
388545
349456
2026-08-08T16:15:22Z
MacTire02
219
+clowan
388545
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1885}}
[[Ronney:1885]]
[[Ronney:Jerraghyn ayns ny 1880yn| 5]]
[[Ronney:Jerraghyn rere blein|1885]]
kgcicrt40lyq4ambcj4aw1ik3ydbjwl
Ronney:Jerraghyn 'sy vlein 1884
14
37350
388544
349457
2026-08-08T16:15:12Z
MacTire02
219
+clowan
388544
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1884}}
[[Ronney:1884]]
[[Ronney:Jerraghyn ayns ny 1880yn| 4]]
[[Ronney:Jerraghyn rere blein|1884]]
bf18ja08nn632i3f97ilundu9nwlqw8
Ronney:Jerraghyn 'sy vlein 1883
14
37351
388543
349458
2026-08-08T16:15:02Z
MacTire02
219
+clowan
388543
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1883}}
[[Ronney:1883]]
[[Ronney:Jerraghyn ayns ny 1880yn| 3]]
[[Ronney:Jerraghyn rere blein|1883]]
374nys6vtc5o8j0lyq661yco0n8lhfv
Ronney:Jerraghyn 'sy vlein 1882
14
37352
388542
349459
2026-08-08T16:14:51Z
MacTire02
219
+clowan
388542
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1882}}
[[Ronney:1882]]
[[Ronney:Jerraghyn ayns ny 1880yn| 2]]
[[Ronney:Jerraghyn rere blein|1882]]
gh6r85i6q1x4w1yw44oyajuxxhxv6kd
Ronney:Jerraghyn 'sy vlein 1881
14
37353
388541
349460
2026-08-08T16:14:42Z
MacTire02
219
+clowan
388541
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1881}}
[[Ronney:1881]]
[[Ronney:Jerraghyn ayns ny 1880yn| 1]]
[[Ronney:Jerraghyn rere blein|1881]]
he177ryfwjsy3dmpwrgr88v7aw60c89
Ronney:Jerraghyn 'sy vlein 1880
14
37354
388540
349461
2026-08-08T16:14:34Z
MacTire02
219
+clowan
388540
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1880}}
[[Ronney:1880]]
[[Ronney:Jerraghyn ayns ny 1880yn| 0]]
[[Ronney:Jerraghyn rere blein|1880]]
fqwovuath7eoevrki3xawfo06py3l6g
Ronney:Jerraghyn 'sy vlein 1869
14
37360
388539
349467
2026-08-08T16:14:06Z
MacTire02
219
+clowan
388539
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1869}}
[[Ronney:1869]]
[[Ronney:Jerraghyn ayns ny 1860yn| 9]]
[[Ronney:Jerraghyn rere blein|1869]]
n1jxszod04occ0uoomggapysgf4bmk7
Ronney:Jerraghyn 'sy vlein 1868
14
37361
388538
349468
2026-08-08T16:13:57Z
MacTire02
219
+clowan
388538
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1868}}
[[Ronney:1868]]
[[Ronney:Jerraghyn ayns ny 1860yn| 8]]
[[Ronney:Jerraghyn rere blein|1868]]
c1um4sn9ww13pf8zqjo0zd0sjuncxqi
Ronney:Jerraghyn 'sy vlein 1867
14
37362
388537
349469
2026-08-08T16:13:48Z
MacTire02
219
+clowan
388537
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1867}}
[[Ronney:1867]]
[[Ronney:Jerraghyn ayns ny 1860yn| 7]]
[[Ronney:Jerraghyn rere blein|1867]]
9mx6oafg4eeo7xyb0e8ibphxl7h5yyd
Ronney:Jerraghyn 'sy vlein 1866
14
37363
388536
349470
2026-08-08T16:13:38Z
MacTire02
219
+clowan
388536
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1866}}
[[Ronney:1866]]
[[Ronney:Jerraghyn ayns ny 1860yn| 6]]
[[Ronney:Jerraghyn rere blein|1866]]
8b0th3myhomeumqjrn2r6asufpo6v4x
Ronney:Jerraghyn 'sy vlein 1865
14
37364
388535
349471
2026-08-08T16:13:29Z
MacTire02
219
+clowan
388535
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1865}}
[[Ronney:1865]]
[[Ronney:Jerraghyn ayns ny 1860yn| 5]]
[[Ronney:Jerraghyn rere blein|1865]]
p23nkgeldlwvsi21hrq1ygdq663eqlq
Ronney:Jerraghyn 'sy vlein 1864
14
37365
388534
349472
2026-08-08T16:13:19Z
MacTire02
219
+clowan
388534
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1864}}
[[Ronney:1864]]
[[Ronney:Jerraghyn ayns ny 1860yn| 4]]
[[Ronney:Jerraghyn rere blein|1864]]
m87o2e6wzaevze1p1srab7i56mol5fq
Ronney:Jerraghyn 'sy vlein 1863
14
37366
388533
349473
2026-08-08T16:13:09Z
MacTire02
219
+clowan
388533
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1863}}
[[Ronney:1863]]
[[Ronney:Jerraghyn ayns ny 1860yn| 3]]
[[Ronney:Jerraghyn rere blein|1863]]
jd4nwkvknredhgcia3f3zxk9vk1zt1a
Ronney:Jerraghyn 'sy vlein 1862
14
37367
388532
349474
2026-08-08T16:13:00Z
MacTire02
219
+clowan
388532
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1862}}
[[Ronney:1862]]
[[Ronney:Jerraghyn ayns ny 1860yn| 2]]
[[Ronney:Jerraghyn rere blein|1862]]
95o23vj2ss2vhle2c4vazqvhhywk8lp
Ronney:Jerraghyn 'sy vlein 1861
14
37368
388531
349475
2026-08-08T16:12:50Z
MacTire02
219
+clowan
388531
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1861}}
[[Ronney:1861]]
[[Ronney:Jerraghyn ayns ny 1860yn| 1]]
[[Ronney:Jerraghyn rere blein|1861]]
ejouhyokkis64lc0zz9mbejgtnv0zr1
Ronney:Jerraghyn 'sy vlein 1860
14
37369
388530
349476
2026-08-08T16:12:41Z
MacTire02
219
+clowan
388530
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1860}}
[[Ronney:1860]]
[[Ronney:Jerraghyn ayns ny 1860yn| 0]]
[[Ronney:Jerraghyn rere blein|1860]]
ocs7curx3swljlypge6rih8o8s2kthr
Ronney:Jerraghyn 'sy vlein 1858
14
37370
388529
349477
2026-08-08T16:12:31Z
MacTire02
219
+clowan
388529
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1858}}
[[Ronney:1858]]
[[Ronney:Jerraghyn ayns ny 1850yn| 8]]
[[Ronney:Jerraghyn rere blein|1858]]
8drpxxbhx9uy968fj0s2406paucxu31
Ronney:Jerraghyn 'sy vlein 1857
14
37371
388528
349478
2026-08-08T16:12:21Z
MacTire02
219
+clowan
388528
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1857}}
[[Ronney:1857]]
[[Ronney:Jerraghyn ayns ny 1850yn| 7]]
[[Ronney:Jerraghyn rere blein|1857]]
h5hcrxaty644upjl8h8xmw5au2x9x8i
Ronney:Jerraghyn 'sy vlein 1856
14
37372
388527
349479
2026-08-08T16:12:12Z
MacTire02
219
+clowan
388527
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1856}}
[[Ronney:1856]]
[[Ronney:Jerraghyn ayns ny 1850yn| 6]]
[[Ronney:Jerraghyn rere blein|1856]]
rc8shgbxjxnqm0rt6ony79c7aj8jylc
Ronney:Jerraghyn 'sy vlein 1854
14
37373
388526
349480
2026-08-08T16:12:02Z
MacTire02
219
+clowan
388526
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1854}}
[[Ronney:1854]]
[[Ronney:Jerraghyn ayns ny 1850yn| 4]]
[[Ronney:Jerraghyn rere blein|1854]]
f8uovxw4duvavesi4zyodkk936q6rfi
Ronney:Jerraghyn 'sy vlein 1853
14
37374
388525
349481
2026-08-08T16:11:52Z
MacTire02
219
+clowan
388525
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1853}}
[[Ronney:1853]]
[[Ronney:Jerraghyn ayns ny 1850yn| 3]]
[[Ronney:Jerraghyn rere blein|1853]]
l9cyvypy30du1anj7weg01ltxrq9szp
Ronney:Jerraghyn 'sy vlein 1852
14
37375
388524
349482
2026-08-08T16:11:42Z
MacTire02
219
+clowan
388524
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1852}}
[[Ronney:1852]]
[[Ronney:Jerraghyn ayns ny 1850yn| 2]]
[[Ronney:Jerraghyn rere blein|1852]]
eba8onyas0wyk2y1kza3jppuwm20ecr
Ronney:Jerraghyn 'sy vlein 1851
14
37376
388523
349483
2026-08-08T16:11:32Z
MacTire02
219
+clowan
388523
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1851}}
[[Ronney:1851]]
[[Ronney:Jerraghyn ayns ny 1850yn| 1]]
[[Ronney:Jerraghyn rere blein|1851]]
bonni04y1ds9c84vf54zsu6j8o12u69
Ronney:Jerraghyn 'sy vlein 1850
14
37377
388522
349484
2026-08-08T16:11:22Z
MacTire02
219
+clowan
388522
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1850}}
[[Ronney:1850]]
[[Ronney:Jerraghyn ayns ny 1850yn| 0]]
[[Ronney:Jerraghyn rere blein|1850]]
m2bygxlcdduu1epfs902j2ftv2wtnhb
Ronney:Jerraghyn 'sy vlein 1922
14
37378
388388
349486
2026-08-08T15:09:09Z
MacTire02
219
+clowan
388388
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1922}}
[[Ronney:1922]]
[[Ronney:Jerraghyn ayns ny 1920yn| 2]]
[[Ronney:Jerraghyn rere blein|1922]]
o2tert1k51zakn3ytnue8rzai466er7
Ronney:Jerraghyn 'sy vlein 1919
14
37379
388557
349487
2026-08-08T16:17:50Z
MacTire02
219
+clowan
388557
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1919}}
[[Ronney:1919]]
[[Ronney:Jerraghyn ayns ny 1910yn| 9]]
[[Ronney:Jerraghyn rere blein|1919]]
976nm0f9oegkf9rcxvyakubxi5vq0nk
Ronney:Jerraghyn 'sy vlein 1918
14
37380
388556
349488
2026-08-08T16:17:41Z
MacTire02
219
+clowan
388556
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1918}}
[[Ronney:1918]]
[[Ronney:Jerraghyn ayns ny 1910yn| 8]]
[[Ronney:Jerraghyn rere blein|1918]]
56o1oyri3sxct5hh0sp6vfhtcpd6iwx
Ronney:Jerraghyn 'sy vlein 1917
14
37381
388555
349489
2026-08-08T16:17:32Z
MacTire02
219
+clowan
388555
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1917}}
[[Ronney:1917]]
[[Ronney:Jerraghyn ayns ny 1910yn| 7]]
[[Ronney:Jerraghyn rere blein|1917]]
8uwhm8aimufzg3z8dqepita0hskek91
Ronney:Jerraghyn 'sy vlein 1916
14
37382
388554
349490
2026-08-08T16:17:23Z
MacTire02
219
+clowan
388554
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1916}}
[[Ronney:1916]]
[[Ronney:Jerraghyn ayns ny 1910yn| 6]]
[[Ronney:Jerraghyn rere blein|1916]]
nsyfgpme7j85ixynbdkb1wd2wzgr5my
Ronney:Jerraghyn 'sy vlein 1914
14
37383
388553
349491
2026-08-08T16:17:14Z
MacTire02
219
+clowan
388553
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1914}}
[[Ronney:1914]]
[[Ronney:Jerraghyn ayns ny 1910yn| 4]]
[[Ronney:Jerraghyn rere blein|1914]]
mkwz6yxp7kn5uuvadrg0dgy47tl6mhz
Ronney:Jerraghyn 'sy vlein 1912
14
37384
388552
349492
2026-08-08T16:17:05Z
MacTire02
219
+clowan
388552
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1912}}
[[Ronney:1912]]
[[Ronney:Jerraghyn ayns ny 1910yn| 2]]
[[Ronney:Jerraghyn rere blein|1912]]
tb1kvp9eqi83ee3gg9e4qlv2iep9eu8
Ronney:Jerraghyn 'sy vlein 1937
14
37394
388569
349502
2026-08-08T16:20:06Z
MacTire02
219
+clowan
388569
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1937}}
[[Ronney:1937]]
[[Ronney:Jerraghyn ayns ny 1930yn| 7]]
[[Ronney:Jerraghyn rere blein|1937]]
jkx3vf5litm224zgu3lyimb5ef2kleo
Ronney:Jerraghyn 'sy vlein 1936
14
37395
388568
349503
2026-08-08T16:19:57Z
MacTire02
219
+clowan
388568
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1936}}
[[Ronney:1936]]
[[Ronney:Jerraghyn ayns ny 1930yn| 6]]
[[Ronney:Jerraghyn rere blein|1936]]
9ice8rz5mxcjcgtj5sj0dyq5xv732if
Ronney:Jerraghyn 'sy vlein 1933
14
37396
388565
349504
2026-08-08T16:19:27Z
MacTire02
219
+clowan
388565
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1933}}
[[Ronney:1933]]
[[Ronney:Jerraghyn ayns ny 1930yn| 3]]
[[Ronney:Jerraghyn rere blein|1933]]
f6gydmi30qb5hwe8tddg5am1zzyp0ik
Ronney:Jerraghyn 'sy vlein 1932
14
37397
388564
349505
2026-08-08T16:19:18Z
MacTire02
219
+clowan
388564
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1932}}
[[Ronney:1932]]
[[Ronney:Jerraghyn ayns ny 1930yn| 2]]
[[Ronney:Jerraghyn rere blein|1932]]
kykszj8x1nmdzj2un6k43qj0q92r1w1
Ronney:Jerraghyn 'sy vlein 1930
14
37398
388563
349506
2026-08-08T16:19:08Z
MacTire02
219
+clowan
388563
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1930}}
[[Ronney:1930]]
[[Ronney:Jerraghyn ayns ny 1930yn| 0]]
[[Ronney:Jerraghyn rere blein|1930]]
6p12nt3xl1sf4da873azc5o8k9vcl1f
Ronney:Jerraghyn 'sy vlein 1928
14
37399
388562
349507
2026-08-08T16:18:56Z
MacTire02
219
+clowan
388562
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1928}}
[[Ronney:1928]]
[[Ronney:Jerraghyn ayns ny 1920yn| 8]]
[[Ronney:Jerraghyn rere blein|1928]]
t251x9inmbvsxvrn1ff42j2tek49g0r
Ronney:Jerraghyn 'sy vlein 1927
14
37400
388561
349508
2026-08-08T16:18:45Z
MacTire02
219
+clowan
388561
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1927}}
[[Ronney:1927]]
[[Ronney:Jerraghyn ayns ny 1920yn| 7]]
[[Ronney:Jerraghyn rere blein|1927]]
6u9d6fbt9ehapyz3j7a4inn0qgqf8sn
Ronney:Jerraghyn 'sy vlein 1925
14
37401
388560
349509
2026-08-08T16:18:36Z
MacTire02
219
+clowan
388560
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1925}}
[[Ronney:1925]]
[[Ronney:Jerraghyn ayns ny 1920yn| 5]]
[[Ronney:Jerraghyn rere blein|1925]]
59kc69o4288er0j95tz5gnux8sgff8w
Ronney:Jerraghyn 'sy vlein 1924
14
37402
388559
349510
2026-08-08T16:18:27Z
MacTire02
219
+clowan
388559
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1924}}
[[Ronney:1924]]
[[Ronney:Jerraghyn ayns ny 1920yn| 4]]
[[Ronney:Jerraghyn rere blein|1924]]
gz4twexoo5vb5yp9am38ksrt7q0dczd
Ronney:Jerraghyn 'sy vlein 1923
14
37403
388558
349511
2026-08-08T16:18:15Z
MacTire02
219
+clowan
388558
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1923}}
[[Ronney:1923]]
[[Ronney:Jerraghyn ayns ny 1920yn| 3]]
[[Ronney:Jerraghyn rere blein|1923]]
f06ifp7fac1k5u273an61le2nqmchl9
Ronney:Jerraghyn 'sy vlein 1959
14
37404
388583
349512
2026-08-08T16:22:50Z
MacTire02
219
+clowan
388583
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1959}}
[[Ronney:1959]]
[[Ronney:Jerraghyn ayns ny 1950yn| 9]]
[[Ronney:Jerraghyn rere blein|1959]]
s5xe9g5wojq00ex8y1a2rbb2rki414z
Ronney:Jerraghyn 'sy vlein 1957
14
37405
388582
349513
2026-08-08T16:22:38Z
MacTire02
219
+clowan
388582
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1957}}
[[Ronney:1957]]
[[Ronney:Jerraghyn ayns ny 1950yn| 7]]
[[Ronney:Jerraghyn rere blein|1957]]
dflmdipfc15w2temffifqsboce04nqs
Ronney:Jerraghyn 'sy vlein 1956
14
37406
388581
349514
2026-08-08T16:22:28Z
MacTire02
219
+clowan
388581
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1956}}
[[Ronney:1956]]
[[Ronney:Jerraghyn ayns ny 1950yn| 6]]
[[Ronney:Jerraghyn rere blein|1956]]
eu71rd75zucpcrh3ohte8oo6u88wdc3
Ronney:Jerraghyn 'sy vlein 2022
14
37407
388610
349591
2026-08-08T16:29:04Z
MacTire02
219
+clowan
388610
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2022}}
[[Ronney:2022]]
[[Ronney:Jerraghyn ayns ny 2020yn| 2]]
[[Ronney:Jerraghyn rere blein|2022]]
h3o9zpbh49plygouik0kft3m3m2g2l7
Ronney:Jerraghyn 'sy vlein 1955
14
37408
388580
349516
2026-08-08T16:22:18Z
MacTire02
219
+clowan
388580
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1955}}
[[Ronney:1955]]
[[Ronney:Jerraghyn ayns ny 1950yn| 5]]
[[Ronney:Jerraghyn rere blein|1955]]
kaq3csz72yhk1x5aj3dt9wm3dznrelr
Ronney:Jerraghyn 'sy vlein 1954
14
37409
388579
349517
2026-08-08T16:22:08Z
MacTire02
219
+clowan
388579
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1954}}
[[Ronney:1954]]
[[Ronney:Jerraghyn ayns ny 1950yn| 4]]
[[Ronney:Jerraghyn rere blein|1954]]
antwr0d8e6ln82jj6cppt74uyagkqrb
Ronney:Jerraghyn 'sy vlein 1953
14
37410
388578
349518
2026-08-08T16:21:57Z
MacTire02
219
+clowan
388578
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1953}}
[[Ronney:1953]]
[[Ronney:Jerraghyn ayns ny 1950yn| 3]]
[[Ronney:Jerraghyn rere blein|1953]]
9zicd42d36rzjewxtytwnknul7s2g96
Ronney:Jerraghyn 'sy vlein 1952
14
37411
388577
349519
2026-08-08T16:21:47Z
MacTire02
219
+clowan
388577
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1952}}
[[Ronney:1952]]
[[Ronney:Jerraghyn ayns ny 1950yn| 2]]
[[Ronney:Jerraghyn rere blein|1952]]
kgjh014ffrfx9iq69j7873zazvtjg73
Ronney:Jerraghyn 'sy vlein 1951
14
37412
388576
349520
2026-08-08T16:21:37Z
MacTire02
219
+clowan
388576
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1951}}
[[Ronney:1951]]
[[Ronney:Jerraghyn ayns ny 1950yn| 1]]
[[Ronney:Jerraghyn rere blein|1951]]
ov926v7ijdo8mry84vnv7160mj3z1mf
Ronney:Jerraghyn 'sy vlein 1950
14
37413
388575
349521
2026-08-08T16:21:23Z
MacTire02
219
+clowan
388575
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1950}}
[[Ronney:1950]]
[[Ronney:Jerraghyn ayns ny 1950yn| 0]]
[[Ronney:Jerraghyn rere blein|1950]]
i96o6jkshtwkbyd1w88f6u1b8g089js
Ronney:Jerraghyn 'sy vlein 1945
14
37416
388573
349524
2026-08-08T16:20:59Z
MacTire02
219
+clowan
388573
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1945}}
[[Ronney:1945]]
[[Ronney:Jerraghyn ayns ny 1940yn| 5]]
[[Ronney:Jerraghyn rere blein|1945]]
kzqwhjgjzppa8w8chhad0yexigkmpct
Ronney:Jerraghyn 'sy vlein 1943
14
37418
388572
349526
2026-08-08T16:20:44Z
MacTire02
219
+clowan
388572
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1943}}
[[Ronney:1943]]
[[Ronney:Jerraghyn ayns ny 1940yn| 3]]
[[Ronney:Jerraghyn rere blein|1943]]
lg0xsz536beodo6t2l2thyjgvkno82h
Ronney:Jerraghyn 'sy vlein 1942
14
37419
388571
349527
2026-08-08T16:20:35Z
MacTire02
219
+clowan
388571
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1942}}
[[Ronney:1942]]
[[Ronney:Jerraghyn ayns ny 1940yn| 2]]
[[Ronney:Jerraghyn rere blein|1942]]
npfinhvyrk851zqizamz1rr11s76b7p
Ronney:Jerraghyn 'sy vlein 1941
14
37420
388570
349528
2026-08-08T16:20:26Z
MacTire02
219
+clowan
388570
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1941}}
[[Ronney:1941]]
[[Ronney:Jerraghyn ayns ny 1940yn| 1]]
[[Ronney:Jerraghyn rere blein|1941]]
elqpjmdcdor33agx7dnhn2qvtxrbivp
Ronney:Jerraghyn 'sy vlein 1978
14
37421
388599
349529
2026-08-08T16:26:14Z
MacTire02
219
+clowan
388599
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1978}}
[[Ronney:1978]]
[[Ronney:Jerraghyn ayns ny 1970yn| 8]]
[[Ronney:Jerraghyn rere blein|1978]]
i331e00nmfqjiz8j84n9zqo6zd1xumz
Ronney:Jerraghyn 'sy vlein 1977
14
37422
388598
349530
2026-08-08T16:26:03Z
MacTire02
219
+clowan
388598
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1977}}
[[Ronney:1977]]
[[Ronney:Jerraghyn ayns ny 1970yn| 7]]
[[Ronney:Jerraghyn rere blein|1977]]
f759ufiof0knem6c2klxr5tmddrs3jb
Ronney:Jerraghyn 'sy vlein 1976
14
37423
388597
349531
2026-08-08T16:25:53Z
MacTire02
219
+clowan
388597
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1976}}
[[Ronney:1976]]
[[Ronney:Jerraghyn ayns ny 1970yn| 6]]
[[Ronney:Jerraghyn rere blein|1976]]
qpso4bm5yw9m5iouahuzkmi9y91ijcz
Ronney:Jerraghyn 'sy vlein 1975
14
37424
388596
349532
2026-08-08T16:25:42Z
MacTire02
219
+clowan
388596
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1975}}
[[Ronney:1975]]
[[Ronney:Jerraghyn ayns ny 1970yn| 5]]
[[Ronney:Jerraghyn rere blein|1975]]
4fzqr1gviki9bmz5ha22pr64kfkgkjg
Ronney:Jerraghyn 'sy vlein 1974
14
37425
388595
349533
2026-08-08T16:25:30Z
MacTire02
219
+clowan
388595
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1974}}
[[Ronney:1974]]
[[Ronney:Jerraghyn ayns ny 1970yn| 4]]
[[Ronney:Jerraghyn rere blein|1974]]
5vxo055avy6v1v4jmdnkuqk7q3ggawn
Ronney:Jerraghyn 'sy vlein 1973
14
37426
388594
349534
2026-08-08T16:25:20Z
MacTire02
219
+clowan
388594
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1973}}
[[Ronney:1973]]
[[Ronney:Jerraghyn ayns ny 1970yn| 3]]
[[Ronney:Jerraghyn rere blein|1973]]
aap2096btpk41pro7fg1d3br8qc6l0e
Ronney:Jerraghyn 'sy vlein 1972
14
37427
388593
349535
2026-08-08T16:25:10Z
MacTire02
219
+clowan
388593
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1972}}
[[Ronney:1972]]
[[Ronney:Jerraghyn ayns ny 1970yn| 2]]
[[Ronney:Jerraghyn rere blein|1972]]
jbun9gs4sl4f5wk6gyaao5heu07lsj7
Ronney:Jerraghyn 'sy vlein 1971
14
37428
388592
349536
2026-08-08T16:24:59Z
MacTire02
219
+clowan
388592
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1971}}
[[Ronney:1971]]
[[Ronney:Jerraghyn ayns ny 1970yn| 1]]
[[Ronney:Jerraghyn rere blein|1971]]
i7hf8hb0ofn4o6ih6i82e4fg8l2hclu
Ronney:Jerraghyn 'sy vlein 1968
14
37430
388590
349538
2026-08-08T16:24:26Z
MacTire02
219
+clowan
388590
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1968}}
[[Ronney:1968]]
[[Ronney:Jerraghyn ayns ny 1960yn| 8]]
[[Ronney:Jerraghyn rere blein|1968]]
41rxpo3jzym2p0h55a7neike4t4unt4
Ronney:Jerraghyn 'sy vlein 1966
14
37432
388589
349540
2026-08-08T16:24:12Z
MacTire02
219
+clowan
388589
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1966}}
[[Ronney:1966]]
[[Ronney:Jerraghyn ayns ny 1960yn| 6]]
[[Ronney:Jerraghyn rere blein|1966]]
euny9lcq2m35ze58vc0rajwfck841vn
Ronney:Jerraghyn 'sy vlein 1965
14
37433
388588
349541
2026-08-08T16:23:56Z
MacTire02
219
+clowan
388588
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1965}}
[[Ronney:1965]]
[[Ronney:Jerraghyn ayns ny 1960yn| 5]]
[[Ronney:Jerraghyn rere blein|1965]]
7e1ztet8tbqh6oamoc57awyw9ba5qc5
Ronney:Jerraghyn 'sy vlein 1964
14
37434
388587
349542
2026-08-08T16:23:45Z
MacTire02
219
+clowan
388587
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1964}}
[[Ronney:1964]]
[[Ronney:Jerraghyn ayns ny 1960yn| 4]]
[[Ronney:Jerraghyn rere blein|1964]]
b7zb0f2ttt1eduhmhopkyhryt6358zc
Ronney:Jerraghyn 'sy vlein 1963
14
37435
388586
349543
2026-08-08T16:23:32Z
MacTire02
219
+clowan
388586
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1963}}
[[Ronney:1963]]
[[Ronney:Jerraghyn ayns ny 1960yn| 3]]
[[Ronney:Jerraghyn rere blein|1963]]
2oaneegf60fr4001wnjyqnn0gnn8w94
Ronney:Jerraghyn 'sy vlein 1962
14
37436
388585
349544
2026-08-08T16:23:18Z
MacTire02
219
+clowan
388585
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1962}}
[[Ronney:1962]]
[[Ronney:Jerraghyn ayns ny 1960yn| 2]]
[[Ronney:Jerraghyn rere blein|1962]]
eq8hlf4y6wkzkci62usx04rn87za6dj
Ronney:Jerraghyn 'sy vlein 1960
14
37437
388584
349545
2026-08-08T16:23:04Z
MacTire02
219
+clowan
388584
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1960}}
[[Ronney:1960]]
[[Ronney:Jerraghyn ayns ny 1960yn| 0]]
[[Ronney:Jerraghyn rere blein|1960]]
9wj9tb2iqw1s4worhc9rs7glxxy3btj
Ronney:Jerraghyn 'sy vlein 1979
14
37456
388600
349564
2026-08-08T16:26:25Z
MacTire02
219
+clowan
388600
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1979}}
[[Ronney:1979]]
[[Ronney:Jerraghyn ayns ny 1970yn| 9]]
[[Ronney:Jerraghyn rere blein|1979]]
49aj8qbaihi6pgfdlcmt3mletwqhuh8
Ronney:Jerraghyn 'sy vlein 2024
14
37457
388612
349565
2026-08-08T16:29:27Z
MacTire02
219
+clowan
388612
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2024}}
[[Ronney:2024]]
[[Ronney:Jerraghyn ayns ny 2020yn| 4]]
[[Ronney:Jerraghyn rere blein|2024]]
bmw0j4yjin5oqo0bxx604uelrh4j52z
Ronney:Jerraghyn 'sy vlein 2023
14
37458
388611
349566
2026-08-08T16:29:14Z
MacTire02
219
+clowan
388611
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2023}}
[[Ronney:2023]]
[[Ronney:Jerraghyn ayns ny 2020yn| 3]]
[[Ronney:Jerraghyn rere blein|2023]]
h5i2vvbiubn5s3t50rk8slgqkltk4d5
Ronney:Jerraghyn 'sy vlein 2021
14
37459
388609
349567
2026-08-08T16:28:54Z
MacTire02
219
+clowan
388609
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2021}}
[[Ronney:2021]]
[[Ronney:Jerraghyn ayns ny 2020yn| 1]]
[[Ronney:Jerraghyn rere blein|2021]]
5q5iwqkj7cta7oa4seh760fzfhjb5y2
Ronney:Jerraghyn 'sy vlein 2020
14
37460
388608
349568
2026-08-08T16:28:44Z
MacTire02
219
+clowan
388608
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2020}}
[[Ronney:2020]]
[[Ronney:Jerraghyn ayns ny 2020yn| 0]]
[[Ronney:Jerraghyn rere blein|2020]]
mvd8qlbdvw64atkducacjdkl6vj2skn
Ronney:Jerraghyn 'sy vlein 2018
14
37462
388607
349570
2026-08-08T16:28:31Z
MacTire02
219
+clowan
388607
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2018}}
[[Ronney:2018]]
[[Ronney:Jerraghyn ayns ny 2010yn| 8]]
[[Ronney:Jerraghyn rere blein|2018]]
rxoz595a2z6ptnjylhh1qsezz8g53qf
Ronney:Jerraghyn 'sy vlein 2017
14
37463
388606
349571
2026-08-08T16:28:22Z
MacTire02
219
+clowan
388606
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2017}}
[[Ronney:2017]]
[[Ronney:Jerraghyn ayns ny 2010yn| 7]]
[[Ronney:Jerraghyn rere blein|2017]]
9nkezl9sg5q7gzzrxordty7h2tzwrsz
Ronney:Jerraghyn 'sy vlein 2016
14
37464
388605
349572
2026-08-08T16:28:13Z
MacTire02
219
+clowan
388605
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2016}}
[[Ronney:2016]]
[[Ronney:Jerraghyn ayns ny 2010yn| 6]]
[[Ronney:Jerraghyn rere blein|2016]]
hmplj3fgfyfcgz7c0ty7zr6yzm34mtg
Ronney:Jerraghyn 'sy vlein 2015
14
37465
388604
349573
2026-08-08T16:28:02Z
MacTire02
219
+clowan
388604
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2015}}
[[Ronney:2015]]
[[Ronney:Jerraghyn ayns ny 2010yn| 5]]
[[Ronney:Jerraghyn rere blein|2015]]
kig09ion2m81dbfbiuhcw0q23illf5s
Ronney:Jerraghyn 'sy vlein 2014
14
37466
388603
349574
2026-08-08T16:27:53Z
MacTire02
219
+clowan
388603
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2014}}
[[Ronney:2014]]
[[Ronney:Jerraghyn ayns ny 2010yn| 4]]
[[Ronney:Jerraghyn rere blein|2014]]
p02dtdkafdgrv7a090nbcwlxkq0f1z3
Ronney:Jerraghyn 'sy vlein 2013
14
37467
388602
349575
2026-08-08T16:27:43Z
MacTire02
219
+clowan
388602
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2013}}
[[Ronney:2013]]
[[Ronney:Jerraghyn ayns ny 2010yn| 3]]
[[Ronney:Jerraghyn rere blein|2013]]
845znmfpixiwp2rreoouif52vn533a5
Ronney:Jerraghyn 'sy vlein 2012
14
37468
388601
349576
2026-08-08T16:27:33Z
MacTire02
219
+clowan
388601
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2012}}
[[Ronney:2012]]
[[Ronney:Jerraghyn ayns ny 2010yn| 2]]
[[Ronney:Jerraghyn rere blein|2012]]
8pje5s65c36tp03q85e92ejlbphqjeq
Ronney:880yn
14
38172
388293
350871
2026-08-08T12:47:12Z
MacTire02
219
+clowan
388293
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|880s|880yn}}
[[Ronney:Jeihaghtyn|0880]]
[[Ronney:9oo eash| 8]]
rwgghl43sx7okfqcrw4l9ifgr4jdkit
Ronney:Politickaght ayns ny 1930yn
14
38698
388373
352040
2026-08-08T14:58:32Z
MacTire02
219
+clowanyn
388373
wikitext
text/x-wiki
{{category series navigation}}
{{commonscat|Politics in the 1930s|Politickaght ayns ny 1930yn}}
[[Ronney:Politickaght rere jeihaght|1930]]
[[Ronney:1930yn]]
[[Ronney:Politickaght 'sy 20oo eash| 30]]
5pwktrl0eeh0eq8eru29sof8gaveq9v
Ronney:Politickaght ayns ny 1920yn
14
38699
388372
352041
2026-08-08T14:57:48Z
MacTire02
219
+clowanyn
388372
wikitext
text/x-wiki
{{category series navigation}}
{{commonscat|Politics in the 1920s|Poloitickaght ayns ny 1920yn}}
[[Ronney:Politickaght rere jeihaght|1920]]
[[Ronney:1920yn]]
[[Ronney:Politickaght 'sy 20oo eash| 20]]
ll2nouksmpn6ykegibwsw0i1wrjbc2k
Ronney:Politickaght 'sy 20oo eash
14
38700
388374
352042
2026-08-08T14:59:27Z
MacTire02
219
+clowanyn
388374
wikitext
text/x-wiki
{{category series navigation}}
{{commonscat|Politics in the 20th century|Politickaght 'sy 20oo eash}}
[[Ronney:20oo eash]]
[[Ronney:Politickaght rere eash|20]]
h8p4zcwwx97kmv9zrp88p8kmn32887q
Clowan:Stiurey ronnaghyn launshey siyn spoar
10
40226
388395
357265
2026-08-08T15:14:23Z
MacTire02
219
+clowan
388395
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:Etlagh spoar 'sy vlein {{{1}}}{{{2}}}|{{PAGENAME}}]]
[[Ronney:Siyn spoar launshit ayns ny {{{1}}}0yn|*{{PAGENAME}}]]
[[Ronney:Siyn spoar rere blein launshee|{{{1}}}{{{2}}}]]
<noinclude>
{{docamadys}}
</noinclude>
qk5olqnn5wb3b6yaguzczd1dc1hkobz
Clowan:Stiurey ronnaghyn etlagh spoar
10
40241
388394
357327
2026-08-08T15:12:33Z
MacTire02
219
clowan
388394
wikitext
text/x-wiki
{{category series navigation}}
{{commonscat|{{{1}}}{{{2}}} in spaceflight|Etlagh spoar 'sy vlein {{{1}}}{{{2}}}}}
[[Ronney:Oaylleeaght 'sy vlein {{{1}}}{{{2}}}|{{PAGENAME}}]]
[[Ronney:Arraghey 'sy vlein {{{1}}}{{{2}}}|{{PAGENAME}}]]
[[Ronney:Etlagh spoar ayns ny {{{1}}}0yn|*{{PAGENAME}}]]
[[Ronney:Etlagh spoar rere blein|{{{1}}}{{{2}}}]]
<noinclude>
{{docamadys}}
</noinclude>
rni2p6pjdcm4fo1a5gy8d1irw1z6olp
Ronney:Jerraghyn 'sy vlein 2025
14
40517
388613
358236
2026-08-08T16:29:37Z
MacTire02
219
+clowan
388613
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2025}}
[[Ronney:2025]]
[[Ronney:Jerraghyn ayns ny 2020yn| 5]]
[[Ronney:Jerraghyn rere blein|2025]]
g448r66moyp4mpj0ptr9b8voz65c1nx
Ronney:890yn
14
40652
388294
358673
2026-08-08T12:47:21Z
MacTire02
219
+clowan
388294
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|890s|890yn}}
[[Ronney:Jeihaghtyn]]
[[Ronney:9oo eash| 9]]
6fsx9w44nodsep2sx66uwhy3gzn00pw
Ronney:Jerraghyn 'sy vlein 1934
14
40664
388566
358767
2026-08-08T16:19:37Z
MacTire02
219
+clowan
388566
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1934}}
[[Ronney:1934]]
[[Ronney:Jerraghyn ayns ny 1930yn| 4]]
[[Ronney:Jerraghyn rere blein|1934]]
so44f5cmx4lgkxozydxvllv675ulw8v
Ronney:Jerraghyn 'sy vlein 1592
14
41224
388428
360890
2026-08-08T15:53:37Z
MacTire02
219
+clowan
388428
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1592}}
[[Ronney:1592]]
[[Ronney:Jerraghyn ayns ny 1590yn| 2]]
[[Ronney:Jerraghyn rere blein|1592]]
1jkuv3jsuaubmp5ewd5i7349hwtenj6
Ronney:Oaylleeaght ayns ny 1670yn
14
41519
388360
361663
2026-08-08T13:04:33Z
MacTire02
219
clowan noa
388360
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:1670yn]]
[[Ronney:Oaylleeaght rere jeihaght|1670]]
[[Ronney:Oaylleeaght 'sy 17oo eash| 7]]
1toe19oxdq3fkkt05ccxozcx9lajs8s
Ronney:Contrey-chultoor 'sy 20oo eash
14
42990
388375
364735
2026-08-08T15:01:03Z
MacTire02
219
+clowan
388375
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:20oo eash]]
[[Ronney:Contrey-chultoor|20oo]]
64sb4fp9cmwhlqxgdyiafu01bxx8h5z
Ronney:Jerraghyn 'sy vlein 1947
14
43210
388574
365119
2026-08-08T16:21:08Z
MacTire02
219
+clowan
388574
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1947}}
[[Ronney:1947]]
[[Ronney:Jerraghyn ayns ny 1940yn| 7]]
[[Ronney:Jerraghyn rere blein|1947]]
sk6lpluffq5yu58pock4k5ndjy7q07a
Ronney:Jerraghyn 'sy vlein 1911
14
43957
388551
366794
2026-08-08T16:16:55Z
MacTire02
219
+clowan
388551
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 1911}}
[[Ronney:1911]]
[[Ronney:Jerraghyn ayns ny 1910yn| 1]]
[[Ronney:Jerraghyn rere blein|1911]]
7b0e48yvznt3ggt3qsrrtvutj3kzhuj
Ronney:Skyrraghtyn bieauid giare-rane ayns ny 2020yn
14
46655
388376
372684
2026-08-08T15:02:19Z
MacTire02
219
+clowan
388376
wikitext
text/x-wiki
{{category series navigation}}
{{CatAutoTOC}}
[[Ronney:Skyrraghtyn bieauid giare-rane rere jeihaght|{{Title decade}}]]
[[Ronney:Skyrraghtyn bieauid ayns ny {{DECADE|{{Title decade}}}}|Giare-rane]]
n1uismnofl3yitoyjiv9fldje7b214f
Clowan:JeihaghtObbraghyn
10
47610
388358
380253
2026-08-08T13:01:53Z
MacTire02
219
clowan elley
388358
wikitext
text/x-wiki
<includeonly><!--
-->{{center|{{Category explanation|obbraghyn soilshit, crooit, ny gientit ayns ny {{DECADE|{{Title decade}}}}}}}}
{{category series navigation}}
{{automatic category TOC}}
{{commonscat|{{Title decade}}s works|Obbraghyn veih ny {{DECADE|{{Title decade}}}}}}
[[Ronney:{{DECADE|{{Title decade}}}}]]
[[Ronney:Obbraghyn veih'n {{#expr: floor({{Title decade}}/100) + 1}}{{#switch: {{#expr: floor({{Title decade}}/100) + 1}} | 21 = d | 22 = h | #default = oo }} eash|{{DECADE|{{Title decade}}}}]]
[[Ronney:Obbraghyn rere jeihaght| {{Title decade}}]]
[[Ronney:Ny h-ellynyn ayns ny {{DECADE|{{Title decade}}}}]]<!--
--></includeonly>
entbxqoyor0sq6e3hu2logww931m9o1
Ronney:Arraghey 'sy 2h villey bleeaney
14
49572
388391
378201
2026-08-08T15:10:42Z
MacTire02
219
+clowan
388391
wikitext
text/x-wiki
{{category series navigation}}
{{Commons category|2nd-millennium in transport|Arraghey 'sy 2h villey bleeaney}}
[[Ronney:2h villey bleeaney|Arraghey]]
[[Ronney:Linnaghyn-traa bentyn rish arraghey|*2h villey bleeaney]]
sse3yb3ijixtql0gwb9eqzw9fhqqw3b
Ronney:Oaylleeaght 'sy 2h villey bleeaney
14
49579
388390
378214
2026-08-08T15:10:11Z
MacTire02
219
+clowan
388390
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:2h villey bleeaney]]
[[Ronney:Oaylleeaght rere milley bleeaney|2]]
15duw8k57wf8uu82c5zpi387mysy3ir
Clowan:Kione ronney ny h-ellynyn ayns ny YYY0yn
10
50403
388359
380767
2026-08-08T13:03:56Z
MacTire02
219
clowan elley
388359
wikitext
text/x-wiki
{{category series navigation}}
[[Ronney:{{DECADE|{{Title year}}}}|Ellynyn]]
[[Ronney:Ny h-ellynyn rere jeihaght|{{DECADE|{{Title year}}}}]]
[[Ronney:Ny h-ellynyn 'sy {{{eash|}}} eash|{{DECADE|{{Title year}}}}]]
jfakuujqkqub6kaug7ufz76n1xsufzm
Ronney:Yn Oarpey 'sy vlein 1440
14
53715
388327
386942
2026-08-08T12:53:51Z
MacTire02
219
+clowan
388327
wikitext
text/x-wiki
{{category series navigation}}
{{commonscat|1440 in Europe|Yn Oarpey 'sy vlein 1440}}
[[Ronney:1440|.Oarpey]]
[[Ronney:Yn Oarpey 'sy 15oo eash rere blein| 1440]]
[[Ronney:Yn Oarpey ayns ny 1440yn| 0]]
96oka9juqb58rur964mo8qd7g2c77ap
Ronney:1440yn rere çheer
14
53743
388326
388107
2026-08-08T12:53:25Z
MacTire02
219
+clowan
388326
wikitext
text/x-wiki
{{category series navigation}}
{{Commons category|1440s by country|1440yn rere çheer}}
[[Ronney:1440yn| Cheer]]
[[Ronney:15oo eash rere çheer as jeihaght| 40]]
be266ybzwl7szzq1o30fz3qhh8mvkk0
Ronney:0yn
14
54051
388273
2026-08-08T12:24:48Z
MacTire02
219
ronney noa
388273
wikitext
text/x-wiki
{{Commonscat|0s|0yn}}
[[Ronney:Jeihaghtyn|0000]]
[[Ronney:1d eash| 0]]
csxlj4dc1cy7tqnq98jzzfmnnbgzjao
388274
388273
2026-08-08T12:25:35Z
MacTire02
219
+clowan
388274
wikitext
text/x-wiki
{{category series navigation}}
{{Commonscat|0s|0yn}}
[[Ronney:Jeihaghtyn|0000]]
[[Ronney:1d eash| 0]]
tqio9txwzhqzl1d18pudxv61qtmnb5i
Ronney:Jerraghyn 'sy vlein 2026
14
54052
388614
2026-08-08T16:30:03Z
MacTire02
219
ronney noa
388614
wikitext
text/x-wiki
{{category series navigation}}
{{see also|Ronney:Toshiaghtyn 'sy vlein 2026}}
[[Ronney:2026]]
[[Ronney:Jerraghyn ayns ny 2020yn| 6]]
[[Ronney:Jerraghyn rere blein|2026]]
mlh2bwarp7bpyzopxt50dg1n7l2svar