Wikipedia gvwiki https://gv.wikipedia.org/wiki/Ard-ghuillag MediaWiki 1.48.0-wmf.1 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 Coontae Ros Comain 0 3582 395484 395426 2026-10-28T16:16:55Z MacTire02 219 ++ 395484 wikitext text/x-wiki {{Kishtey fys boayl |ennym = Coontae Ros Comain |ennym_gienneydagh = Choontae Ros Comain |ennym_dooghyssagh = {{lang|ga|Contae Ros Comáin|italics=no}} {{small|([[Yernish]])}}<br/>{{lang|en|County Roscommon|italics=no}} {{small|([[Baarle]])}} |jarroo-raa = Constans Hiberniae Cor |çhyndaa_jarroo-raa= Cree Jeelys Nerin |çhengey_jarroo-raa = Ladjyn |jalloo = none |jalloo_caslys-çheerey= Island of Ireland location map Roscommon.svg | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Ros Comain''' ny '''Coontae Ros Comain'''. Ta'n coontae soit ayns [[Connaghtey]], nane jeh ny queiggaghyn Yernagh. She [[Ros Comain]] y [[preeu-valley]]. ==Imraaghyn== {{reflist}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Ros Comain}} {{bun}} [[Ronney:Coontae Ros Comain| ]] [[Ronney:Queiggey Connaghtey]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] 4vz83195q32dk6t2ax2xgxvrtqukxrk 395485 395484 2026-10-28T16:17:18Z MacTire02 219 ++ 395485 wikitext text/x-wiki {{Kishtey fys boayl |ennym = Coontae Ros Comain |ennym_gienneydagh = Choontae Ros Comain |ennym_dooghyssagh = {{lang|ga|Contae Ros Comáin|italics=no}} {{small|([[Yernish]])}}<br/>{{lang|en|County Roscommon|italics=no}} {{small|([[Baarle]])}} |jarroo-raa = {{lang|la|Constans Hiberniae Cor}} |çhyndaa_jarroo-raa= Cree Jeelys Nerin |çhengey_jarroo-raa = Ladjyn |jalloo = none |jalloo_caslys-çheerey= Island of Ireland location map Roscommon.svg | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Ros Comain''' ny '''Coontae Ros Comain'''. Ta'n coontae soit ayns [[Connaghtey]], nane jeh ny queiggaghyn Yernagh. She [[Ros Comain]] y [[preeu-valley]]. ==Imraaghyn== {{reflist}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Ros Comain}} {{bun}} [[Ronney:Coontae Ros Comain| ]] [[Ronney:Queiggey Connaghtey]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] qn8htsoyupd4qay07xfo27btkdf6h2f Coontae Ghoon ny Ghoal 0 3585 395475 336778 2026-10-28T15:23:19Z MacTire02 219 ++ 395475 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Choontae Ghoon ny Ghoal | ennym = Coontae Ghoon ny Ghoal | ennym_dooghyssagh = {{lang|ga|Contae Dhún na nGall}} {{small|([[Yernish]])}}<br/>{{lang|en|County Donegal}} {{small|([[Baarle]])}}<br />{{lang|sco|Coontie Dunnygal}} {{small|([[Baarle Albinagh Ultagh]])}} | sorçh_balley = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = ''Mutuam habeatis caritatem'' <small>([[Ladjyn]])</small><br>"Beaghey yn Giastyllys Cochommee" | jalloo = none | jalloo_armys = Cullee Choontae Ghoon ny Ghoal.png | mooadys_armys = 100px | jalloo_caslys-çheerey = Island of Ireland location map Donegal.svg | ayrnyn = none | çhengaghyn = {{hlist|[[Yernish]]|[[Baarle]]|[[Baarle Albinagh Ultagh]]}} | sorçh_reiltys = Coonseil Coontae | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Coontae Ghoon ny Ghoal''', ny '''Doon ny Ghoal''' myr aagherrid dy mennick ({{ASE-keintagh|ˈd̪uːnːəˌŋɔːl̪}}; {{langx|ga|Contae Dhún na nGall}} ny {{lang|ga|Contae Thír Chonaill}}, {{langx|en|County Donegal}}, [[Baarle Albinagh Ultagh|Ullanish]]: {{lang|sco|Coontie Dunnygal}} ny {{lang|sco|Coontie Dinnygal}}). Ta deiney ennagh cur '''Coontae Heer Chonnal''' ny '''Çheer Chonnal''' er y choontae dy mennick chammah. Ta'n coontae soit ayns [[Ullee]], nane jeh ny queiggaghyn Yernagh. She [[Leffyr]] y [[preeu-valley]], agh she [[Littyr Kennain]] y balley smoo. T'eh çhemmal rish [[Coontae Lheeahtrim]] 'sy jiass, rish y [[Yn Keayn Sheear|Cheayn Sheear]] 'sy jiass, 'sy neear as 'sy twoaie, rish [[Nerin Hwoaie]] (ny coondaeghyn [[Coontae Ghoirrey|Doirrey]], [[Coontae Heer Eoin|Çheer Eoin]] as [[Coontae 'er Managh|Fer Managh]]) 'sy niar as 'sy niar yiass. 'Sy vlein 2011 va 161,137 deiney cummal 'sy choontae. ==Çheer-oaylleeaght as aarheynnyn politickagh== Ta Coontae Ghoon ny Ghoal ny choontae smoo ayns Queiggey Ulley as ny chiarroo coontae smoo ayns Nerin er eaghtyr. Neughollrish ny choondaeghyn elley 'sy Phobblaght, cha nel joarey ec y choontae rish un choontae elley 'sy Phobblaght agh Coontae Lheeahtrim 'sy jiass. Ta'n chooid smoo jeh'n joarey thallooin echey goll rish tree coondaeghyn ayns Nerin Hwoaie: Coontae Ghoirrey, Coontae Heer Eoin as Coontae 'er Managh. Er cooishyn yn unraghey echey, ta enney cultooragh er lheh freaylt ec y choontae. Ga dy nee Littyr Kennain y balley smoo 'sy choontae, agh dy nee Doon ny Ghoal ny valley enmyssagh, she Leffyr y preeu-valley. She essyl harmaynagh heear-hwoaie yn ellan eh corradoyr Littyr Kennain-[[Doirrey]]. ===Çheer-oaylleeaght ishigoil=== [[Coadan:SlieveLeague ToneMapped.jpg|thumb|left|220px|Eayninyn [[Sliabh Liag]], ny nah eayninyn s'yrjey ayns Nerin]] [[Coadan:Glengesh Pass.jpg|thumb|220px|left|Gleann Gheis, faggys da [[Ard an Rátha]]]] She Coontae Ghoon ny Ghoal y coontae smoo sleitagh ayns Queiggey Ulley as eh jeant ass daa lieau-reayn injil; [[Cnoic Dhoire Bheatha]] 'sy twoaie as [[na Cruacha Gorma]] 'sy jiass. She [[an Earagail]] y slieau s'yrjey as eh shassoo 751 m (2,464 tr) er yrjid. Ta coose feeacklagh ec y choontae as ram [[logh marrey|loghyn marrey]] ayn, [[Loch Súilí]] as [[Loch Feabhail]] nyn mast'oc. T'ad eayninyn [[Sliabh Liag]] ny sheyoo eayninyn marrey s'yrjey 'syn Oarpey, as she [[Cionn Mhálanna]] er lieh-innys [[Inis Eoghain]] y boayl smoo twoaieagh er yn ellan. Ta [[Stroo yn Eearvooir]] cur er aeraght as emshir y choontae dy mooar, as yn aeraght coontit myr aeraght honderagh marish souraghyn boggey hashey as geuraghyn boggey fliaghey. Ta daa ellan cummaltit - [[Aran Vooar]] as [[Toraigh]] - nyn lhie magh veih coose y choontae as ram ellanyn begegy elley neu-chummaltit ny cummaltit agh imbee. Ta'n nah awin s'liurey er yn ellan, [[an Éirne]], roie trooid [[Béal Átha Seanaidh]] stiagh ayns [[Baie Ghoon ny Ghoal]]. Ta stangey er an Éirne son gientyn [[pooar ushtey-lectragh]]. Ta'n [[An Feabhal|Feabhal]] scarrey cooid jeh'n choontae veih ayrnyn jeh [[Coontae Ghoirrey|coondaeghyn Ghoirrey]] as [[Coontae Heer Eoin|Heer Eoin]]. ===Barranyssyn=== Ta hoght barranyssyn 'sy chontae: * [[Báinigh]] * [[Baollaigh]] * [[Cill Mhic Réanáin (barranys)|Cill Mhic Réanáin]] * [[Inis Eoghain Thiar]] * [[Inis Eoghain Thoir]] * [[Ráth Bhoth Theas]] * [[Ráth Bhoth Thuaidh]] * [[Tír Aodha]] ===Baljyn 'sy choontae=== # [[Littyr Kennain]] (19,588) # [[Bun Cranncha]] (7,199) # [[Bealach Féich]]/[[Srath an Urláir]] (4,852) # [[Doon ny Ghoal]] (2,607) # [[Carn Domhnach]] (2,534) # [[Béal Átha Seanaidh]] (2,504) # [[Bun Dobhráin]] (2,140) # [[Leffyr]] (1,658) # [[Bun an Phobail]] (1,481) # [[Conmhaigh]] (1,438) # [[Na Cealla Beaga]] (1,297) # [[Magh]] (1,271) # [[Ráth Mealtáin]] (1,212) # [[An Clochán Liath]] (1,183) # [[Ráth Bhoth]] (1,154) # [[An Baile Nua, Coontae Ghoon ny Ghoal|An Baile Nua]] (1,067) # [[Baile na nGallóglach]] (970) # [[Na Gleannta]] (869) # [[An Fál Carrach]] (860) # [[An Caisleán Nua, Coontae Ghoon ny Ghoal|An Caisleán Nua]] (817) ==Imraaghyn== {{reflist}} == Kiangley magh == * [http://www.donegal.ie Coonseil Choontae Ghoon ny Ghoal] {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Ghoon ny Ghoal}} [[Ronney:Coontae Ghoon ny Ghoal| ]] [[Ronney:Queiggey Ulley]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[Ronney:Reeraghtys Uí Dhomhnaill]] atm9xrw4ymyauenmp7nnt9kz19283vl 395476 395475 2026-10-28T15:31:30Z MacTire02 219 jarroo raa 395476 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Choontae Ghoon ny Ghoal | ennym = Coontae Ghoon ny Ghoal | ennym_dooghyssagh = {{lang|ga|Contae Dhún na nGall}} {{small|([[Yernish]])}}<br/>{{lang|en|County Donegal}} {{small|([[Baarle]])}}<br />{{lang|sco|Coontie Dunnygal}} {{small|([[Baarle Albinagh Ultagh]])}} | sorçh_balley = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = {{lang|la|Mutuam habeatis caritatem}} | çhengey_jarroo-raa = Ladjyn | çhyndaa_jarroo-raa = Beaghey yn Giastyllys Cochommee | jalloo = none | jalloo_armys = Cullee Choontae Ghoon ny Ghoal.png | mooadys_armys = 100px | jalloo_caslys-çheerey = Island of Ireland location map Donegal.svg | ayrnyn = none | çhengaghyn = {{hlist|[[Yernish]]|[[Baarle]]|[[Baarle Albinagh Ultagh]]}} | sorçh_reiltys = Coonseil Coontae | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Coontae Ghoon ny Ghoal''', ny '''Doon ny Ghoal''' myr aagherrid dy mennick ({{ASE-keintagh|ˈd̪uːnːəˌŋɔːl̪}}; {{langx|ga|Contae Dhún na nGall}} ny {{lang|ga|Contae Thír Chonaill}}, {{langx|en|County Donegal}}, [[Baarle Albinagh Ultagh|Ullanish]]: {{lang|sco|Coontie Dunnygal}} ny {{lang|sco|Coontie Dinnygal}}). Ta deiney ennagh cur '''Coontae Heer Chonnal''' ny '''Çheer Chonnal''' er y choontae dy mennick chammah. Ta'n coontae soit ayns [[Ullee]], nane jeh ny queiggaghyn Yernagh. She [[Leffyr]] y [[preeu-valley]], agh she [[Littyr Kennain]] y balley smoo. T'eh çhemmal rish [[Coontae Lheeahtrim]] 'sy jiass, rish y [[Yn Keayn Sheear|Cheayn Sheear]] 'sy jiass, 'sy neear as 'sy twoaie, rish [[Nerin Hwoaie]] (ny coondaeghyn [[Coontae Ghoirrey|Doirrey]], [[Coontae Heer Eoin|Çheer Eoin]] as [[Coontae 'er Managh|Fer Managh]]) 'sy niar as 'sy niar yiass. 'Sy vlein 2011 va 161,137 deiney cummal 'sy choontae. ==Çheer-oaylleeaght as aarheynnyn politickagh== Ta Coontae Ghoon ny Ghoal ny choontae smoo ayns Queiggey Ulley as ny chiarroo coontae smoo ayns Nerin er eaghtyr. Neughollrish ny choondaeghyn elley 'sy Phobblaght, cha nel joarey ec y choontae rish un choontae elley 'sy Phobblaght agh Coontae Lheeahtrim 'sy jiass. Ta'n chooid smoo jeh'n joarey thallooin echey goll rish tree coondaeghyn ayns Nerin Hwoaie: Coontae Ghoirrey, Coontae Heer Eoin as Coontae 'er Managh. Er cooishyn yn unraghey echey, ta enney cultooragh er lheh freaylt ec y choontae. Ga dy nee Littyr Kennain y balley smoo 'sy choontae, agh dy nee Doon ny Ghoal ny valley enmyssagh, she Leffyr y preeu-valley. She essyl harmaynagh heear-hwoaie yn ellan eh corradoyr Littyr Kennain-[[Doirrey]]. ===Çheer-oaylleeaght ishigoil=== [[Coadan:SlieveLeague ToneMapped.jpg|thumb|left|220px|Eayninyn [[Sliabh Liag]], ny nah eayninyn s'yrjey ayns Nerin]] [[Coadan:Glengesh Pass.jpg|thumb|220px|left|Gleann Gheis, faggys da [[Ard an Rátha]]]] She Coontae Ghoon ny Ghoal y coontae smoo sleitagh ayns Queiggey Ulley as eh jeant ass daa lieau-reayn injil; [[Cnoic Dhoire Bheatha]] 'sy twoaie as [[na Cruacha Gorma]] 'sy jiass. She [[an Earagail]] y slieau s'yrjey as eh shassoo 751 m (2,464 tr) er yrjid. Ta coose feeacklagh ec y choontae as ram [[logh marrey|loghyn marrey]] ayn, [[Loch Súilí]] as [[Loch Feabhail]] nyn mast'oc. T'ad eayninyn [[Sliabh Liag]] ny sheyoo eayninyn marrey s'yrjey 'syn Oarpey, as she [[Cionn Mhálanna]] er lieh-innys [[Inis Eoghain]] y boayl smoo twoaieagh er yn ellan. Ta [[Stroo yn Eearvooir]] cur er aeraght as emshir y choontae dy mooar, as yn aeraght coontit myr aeraght honderagh marish souraghyn boggey hashey as geuraghyn boggey fliaghey. Ta daa ellan cummaltit - [[Aran Vooar]] as [[Toraigh]] - nyn lhie magh veih coose y choontae as ram ellanyn begegy elley neu-chummaltit ny cummaltit agh imbee. Ta'n nah awin s'liurey er yn ellan, [[an Éirne]], roie trooid [[Béal Átha Seanaidh]] stiagh ayns [[Baie Ghoon ny Ghoal]]. Ta stangey er an Éirne son gientyn [[pooar ushtey-lectragh]]. Ta'n [[An Feabhal|Feabhal]] scarrey cooid jeh'n choontae veih ayrnyn jeh [[Coontae Ghoirrey|coondaeghyn Ghoirrey]] as [[Coontae Heer Eoin|Heer Eoin]]. ===Barranyssyn=== Ta hoght barranyssyn 'sy chontae: * [[Báinigh]] * [[Baollaigh]] * [[Cill Mhic Réanáin (barranys)|Cill Mhic Réanáin]] * [[Inis Eoghain Thiar]] * [[Inis Eoghain Thoir]] * [[Ráth Bhoth Theas]] * [[Ráth Bhoth Thuaidh]] * [[Tír Aodha]] ===Baljyn 'sy choontae=== # [[Littyr Kennain]] (19,588) # [[Bun Cranncha]] (7,199) # [[Bealach Féich]]/[[Srath an Urláir]] (4,852) # [[Doon ny Ghoal]] (2,607) # [[Carn Domhnach]] (2,534) # [[Béal Átha Seanaidh]] (2,504) # [[Bun Dobhráin]] (2,140) # [[Leffyr]] (1,658) # [[Bun an Phobail]] (1,481) # [[Conmhaigh]] (1,438) # [[Na Cealla Beaga]] (1,297) # [[Magh]] (1,271) # [[Ráth Mealtáin]] (1,212) # [[An Clochán Liath]] (1,183) # [[Ráth Bhoth]] (1,154) # [[An Baile Nua, Coontae Ghoon ny Ghoal|An Baile Nua]] (1,067) # [[Baile na nGallóglach]] (970) # [[Na Gleannta]] (869) # [[An Fál Carrach]] (860) # [[An Caisleán Nua, Coontae Ghoon ny Ghoal|An Caisleán Nua]] (817) ==Imraaghyn== {{reflist}} == Kiangley magh == * [http://www.donegal.ie Coonseil Choontae Ghoon ny Ghoal] {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Ghoon ny Ghoal}} [[Ronney:Coontae Ghoon ny Ghoal| ]] [[Ronney:Queiggey Ulley]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[Ronney:Reeraghtys Uí Dhomhnaill]] 8ue5t4oj0knyreozmzizlv7o92m7uc1 Coontae yn Chavan 0 3587 395468 336796 2026-10-28T14:07:06Z MacTire02 219 ++ 395468 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Choontae yn Chavan | ennym = Coontae yn Chavan | ennym_dooghyssagh = {{lang|ga|Contae an Chabháin|italics=no}} {{small|([[Yernish]])}}<br />{{lang|en|County Cavan}} {{small|([[Baarle]])}} | sorçh_balley = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = ''Feardhacht is Fírinne'' <small>([[Yernish]])</small><br>"Feraght as Firrinys" | jalloo_armys = Cullee Choontae yn Chavan.png | mooadys_armys = 100px | far-ennym = | ayrnyn = none | jalloo_caslys-çheerey = Island of Ireland location map Cavan.svg | sorçh_soieag = Balley coontae | soieag = [[Yn Cavan|Y Cavan]] | sorçh_reiltys = Coonseil Coontae | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coondaeghyn Nerin|coontae]] ayns [[Pobblaght Nerin|Nerin]] eh '''Coontae yn Chavan''' ({{langx|ga|Contae an Chabháin}}; {{langx|en|County Cavan}}). Ta'n coontae soit ayns [[Ard y Joarey]], fer jeh ny [[Ardjyn Phobblaght Nerin|h-ardjyn reiragh]] ayns Nerin, as ayns [[Queiggey Ulley]], fer jeh [[Queiggaghyn Nerin|kiare queiggaghyn Nerin]]. Ta ennym y phreeu-valley, [[Yn Cavan|y Cavan]], currit er y choontae. Ta'n coontae çhemmal rish [[Coontae Lheeahtrim]] 'sy neear, rish [[Coontae 'er Managh|Coondaeghyn 'er Managh]] as [[Coontae Vuinaghan|Vuinaghan]] 'sy twoaie, rish [[Coontae yn Vee]] 'sy niar yiass, rish [[Coontae yn Eearvee]] 'sy jiass, as rish [[Coontae yn Lhongfort]] 'sy neear yiass. 'Sy vlein 2011 va 73,183 sleih cummal 'sy choontae ==Çheer-oaylleeaght as aarheynnyn politickagh== Ta Coontae yn Chavan ny 19oo coontae smoo ayns Nerin er eaghtyr as ny 6oo coontae smoo ayns Queiggey Ulley. Rere earroo yn phobble, ta'n coontae ny 25oo coontae smoo ayns Nerin as ny 7oo coontae smoo ayns queiggey Ulley. Ta joarey 70 km (43 mi) er lhiurid rish [[Nerin Hwoaie]] as eh jeant seose dy slane myr y joarey rish Coontae 'er Managh. Cha nel agh un valley mooar ayn as eh ny phreeu-valley er y coontae - y Cavan hene. ===Çheer-oaylleeaght ishigoil=== Ta'n coontae jeant ass dreeymeenyn, loghyn as cruink. Cha nel mooarane dy 'leih 'sy neear hwoaie jeh'n choontae. Ta na cruink ayns sheear hwoaie yn choontae goaill stiagh [[Binn Chuilceach]], y boayl s'yrjey 'sy choontae as shassoo 665 m er yrjid. She moir ram awinyn ayns Nerin Coontae yn Chavan. She [[Lag na Sionna]] moir [[Yn Çhannon|y Çhannon]], yn awin s'liurey ayns Nerin, er lhiargeeyn Binn Chuilceach. Ta'n [[An Éirne|Éirne]] girree ayns Loch na Beithí, 3 km çheu yiass veih [[Sraith an Domhain]], as t'ee roie feie 120 km gys [[Loch Éirne]]. Ta awinyn elley 'sy choontae goaill stiagh [[An Abhainn Dubh (Ceanannas)|an Abhainn Dubh]] (ta girree ayns [[Loch Ramhar]] as çheet ry-cheilley rish [[An Bhóinn|an Bhóinn]] 'syn [[Yn Ooive|Ooive]]), [[an Níth]] (ta girree faggys da [[Coill an Chollaigh]]), [[Abhainn na hEoghancha]] (ta girree ayns [[Loch Saileán]] as çheet ry-cheilley rish an Éirne) as [[an Chláideach]] (girree er Binn Cuilceach as roie stiagh gys Fer Managh). Ta mayraghyn [[An Casán (awin)|an Casán]] as [[an Abhainn Rua]] toshiaghey 'sy choontae chammah. Ta'n enmys "Coontae ny Loghyn" currit er y choontae as t'eh raait dy vel 365 logh ayn - fer da dagh laa 'sy vlein. She [[Loch Síodh Linn]] y loch smoo 'sy choontae as eh 18.8 km<sup>2</sup> er eaghtyr. Ta'n loch shen soit ayns jiass y choontae as ta joaraghyn tree coontae çheet ry-cheilley ayn - joaraghyn y Chavan, ny Mee as ny h-Eearvee. Ta ard-hroggalys dy loghyn 'sy neear as 'sy twoaie jeh'n choontae as t'ad currit ry-cheilley myr Ardjyn Coadit Er-lheh, lheid as [[Loch Uachtair]]. Ta loghyn coadit elley ayn lheid as [[Loch Gamhna]] as Loch Ramhar soit 'sy niar as 'sy jiass jeh'n choontae. Ta begnagh 7,000 dy hectareyn (17,000 acyr), ny 3.6% jeh eaghtyr y choontae, coodit lesh keylljyn. Ta keylljyn ayn lheid as Keyll Bellamont faggys da [[Muinchille]], [[Pairk Cheylley Coillidh Chaoin]] ec Loch Uachtair (keyll fo currym Coillte), [[Pairk Cheylley Dún na Rí]] as Keyll Boirinn. ===Barranyssyn=== Ta hoght barranys 'sy choontae: * [[Caisleán Raithin]] * [[Clann Chaoich]] * [[Clann Mhathúna]] * [[Lucht Tí Íochtarach]] * [[Lucht Tí Uachtarach]] * [[Teallach Dhúnchadha]] * [[Teallach Eathach]] * [[Teallach Ghairbhíth]] ===Baljyn as baljyn beggey=== {{ardart|Rolley baljyn as baljyn beggey ayns Coontae yn Chavan}} {{columns-list|3| * [[Achadh an Iúir]] * [[Ármhach]] * [[An Bádhún Buí]] * [[Baile Mhic Shamhráin]] * [[Baile Shéamais Dhuibh]] * [[Béal Átha Conaill]] * [[Béal Átha hÉis]] * [[Béal Átha na nEach]] * [[Béal Tairbirt]] * [[An Blaic]] * [[Yn Cavan|Y Cavan]] * [[Cill na Leice]] * [[Cill na Seanrátha]] * [[An Cnoc Rua]] * [[Coill an Chollaigh]] * [[Coill Chóige]] * [[Cros Domhnaigh]] * [[An Damhshraith]] * [[Droichead an Bhuitléaraigh]] * [[Droichead Uí Dhálaigh]] * [[Dún na Rí]] * [[Gleann Ghaibhle]] * [[An Muileann Iarainn]] * [[Muinchille]] * [[An Mullach, Coontae yn Chavan|An Mullach]] * [[Searcóg]] * [[Sraith an Domhain]] }} ==Imraaghyn== {{reflist}} == Kianglaghyn magh == {{Commonscat|County Cavan|Coontae yn Chavan}} * {{URL|www.cavancoco.ie|Coonseil Choontae yn Chavan}} * {{URL|www.cavanheritage.ie|Ynnyd-eggey Eiraght Choontae yn Chavan}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Chavan}} [[Ronney:Coontae yn Chavan| ]] [[Ronney:Queiggey Ulley]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] hcq7bzzq02ic52nyu05z9a97v75c0tf 395470 395468 2026-10-28T14:08:44Z MacTire02 219 ++ 395470 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Choontae yn Chavan | ennym = Coontae yn Chavan | ennym_dooghyssagh = {{lang|ga|Contae an Chabháin|italics=no}} {{small|([[Yernish]])}}<br />{{lang|en|County Cavan}} {{small|([[Baarle]])}} | sorçh_balley = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = ''Feardhacht is Fírinne'' <small>([[Yernish]])</small><br>"Feraght as Firrinys" | jalloo_armys = Cullee Choontae yn Chavan.png |jalloo=none | mooadys_armys = 100px | far-ennym = | ayrnyn = none | jalloo_caslys-çheerey = Island of Ireland location map Cavan.svg | sorçh_soieag = Balley coontae | soieag = [[Yn Cavan|Y Cavan]] | sorçh_reiltys = Coonseil Coontae | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coondaeghyn Nerin|coontae]] ayns [[Pobblaght Nerin|Nerin]] eh '''Coontae yn Chavan''' ({{langx|ga|Contae an Chabháin}}; {{langx|en|County Cavan}}). Ta'n coontae soit ayns [[Ard y Joarey]], fer jeh ny [[Ardjyn Phobblaght Nerin|h-ardjyn reiragh]] ayns Nerin, as ayns [[Queiggey Ulley]], fer jeh [[Queiggaghyn Nerin|kiare queiggaghyn Nerin]]. Ta ennym y phreeu-valley, [[Yn Cavan|y Cavan]], currit er y choontae. Ta'n coontae çhemmal rish [[Coontae Lheeahtrim]] 'sy neear, rish [[Coontae 'er Managh|Coondaeghyn 'er Managh]] as [[Coontae Vuinaghan|Vuinaghan]] 'sy twoaie, rish [[Coontae yn Vee]] 'sy niar yiass, rish [[Coontae yn Eearvee]] 'sy jiass, as rish [[Coontae yn Lhongfort]] 'sy neear yiass. 'Sy vlein 2011 va 73,183 sleih cummal 'sy choontae ==Çheer-oaylleeaght as aarheynnyn politickagh== Ta Coontae yn Chavan ny 19oo coontae smoo ayns Nerin er eaghtyr as ny 6oo coontae smoo ayns Queiggey Ulley. Rere earroo yn phobble, ta'n coontae ny 25oo coontae smoo ayns Nerin as ny 7oo coontae smoo ayns queiggey Ulley. Ta joarey 70 km (43 mi) er lhiurid rish [[Nerin Hwoaie]] as eh jeant seose dy slane myr y joarey rish Coontae 'er Managh. Cha nel agh un valley mooar ayn as eh ny phreeu-valley er y coontae - y Cavan hene. ===Çheer-oaylleeaght ishigoil=== Ta'n coontae jeant ass dreeymeenyn, loghyn as cruink. Cha nel mooarane dy 'leih 'sy neear hwoaie jeh'n choontae. Ta na cruink ayns sheear hwoaie yn choontae goaill stiagh [[Binn Chuilceach]], y boayl s'yrjey 'sy choontae as shassoo 665 m er yrjid. She moir ram awinyn ayns Nerin Coontae yn Chavan. She [[Lag na Sionna]] moir [[Yn Çhannon|y Çhannon]], yn awin s'liurey ayns Nerin, er lhiargeeyn Binn Chuilceach. Ta'n [[An Éirne|Éirne]] girree ayns Loch na Beithí, 3 km çheu yiass veih [[Sraith an Domhain]], as t'ee roie feie 120 km gys [[Loch Éirne]]. Ta awinyn elley 'sy choontae goaill stiagh [[An Abhainn Dubh (Ceanannas)|an Abhainn Dubh]] (ta girree ayns [[Loch Ramhar]] as çheet ry-cheilley rish [[An Bhóinn|an Bhóinn]] 'syn [[Yn Ooive|Ooive]]), [[an Níth]] (ta girree faggys da [[Coill an Chollaigh]]), [[Abhainn na hEoghancha]] (ta girree ayns [[Loch Saileán]] as çheet ry-cheilley rish an Éirne) as [[an Chláideach]] (girree er Binn Cuilceach as roie stiagh gys Fer Managh). Ta mayraghyn [[An Casán (awin)|an Casán]] as [[an Abhainn Rua]] toshiaghey 'sy choontae chammah. Ta'n enmys "Coontae ny Loghyn" currit er y choontae as t'eh raait dy vel 365 logh ayn - fer da dagh laa 'sy vlein. She [[Loch Síodh Linn]] y loch smoo 'sy choontae as eh 18.8 km<sup>2</sup> er eaghtyr. Ta'n loch shen soit ayns jiass y choontae as ta joaraghyn tree coontae çheet ry-cheilley ayn - joaraghyn y Chavan, ny Mee as ny h-Eearvee. Ta ard-hroggalys dy loghyn 'sy neear as 'sy twoaie jeh'n choontae as t'ad currit ry-cheilley myr Ardjyn Coadit Er-lheh, lheid as [[Loch Uachtair]]. Ta loghyn coadit elley ayn lheid as [[Loch Gamhna]] as Loch Ramhar soit 'sy niar as 'sy jiass jeh'n choontae. Ta begnagh 7,000 dy hectareyn (17,000 acyr), ny 3.6% jeh eaghtyr y choontae, coodit lesh keylljyn. Ta keylljyn ayn lheid as Keyll Bellamont faggys da [[Muinchille]], [[Pairk Cheylley Coillidh Chaoin]] ec Loch Uachtair (keyll fo currym Coillte), [[Pairk Cheylley Dún na Rí]] as Keyll Boirinn. ===Barranyssyn=== Ta hoght barranys 'sy choontae: * [[Caisleán Raithin]] * [[Clann Chaoich]] * [[Clann Mhathúna]] * [[Lucht Tí Íochtarach]] * [[Lucht Tí Uachtarach]] * [[Teallach Dhúnchadha]] * [[Teallach Eathach]] * [[Teallach Ghairbhíth]] ===Baljyn as baljyn beggey=== {{ardart|Rolley baljyn as baljyn beggey ayns Coontae yn Chavan}} {{columns-list|3| * [[Achadh an Iúir]] * [[Ármhach]] * [[An Bádhún Buí]] * [[Baile Mhic Shamhráin]] * [[Baile Shéamais Dhuibh]] * [[Béal Átha Conaill]] * [[Béal Átha hÉis]] * [[Béal Átha na nEach]] * [[Béal Tairbirt]] * [[An Blaic]] * [[Yn Cavan|Y Cavan]] * [[Cill na Leice]] * [[Cill na Seanrátha]] * [[An Cnoc Rua]] * [[Coill an Chollaigh]] * [[Coill Chóige]] * [[Cros Domhnaigh]] * [[An Damhshraith]] * [[Droichead an Bhuitléaraigh]] * [[Droichead Uí Dhálaigh]] * [[Dún na Rí]] * [[Gleann Ghaibhle]] * [[An Muileann Iarainn]] * [[Muinchille]] * [[An Mullach, Coontae yn Chavan|An Mullach]] * [[Searcóg]] * [[Sraith an Domhain]] }} ==Imraaghyn== {{reflist}} == Kianglaghyn magh == {{Commonscat|County Cavan|Coontae yn Chavan}} * {{URL|www.cavancoco.ie|Coonseil Choontae yn Chavan}} * {{URL|www.cavanheritage.ie|Ynnyd-eggey Eiraght Choontae yn Chavan}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Chavan}} [[Ronney:Coontae yn Chavan| ]] [[Ronney:Queiggey Ulley]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] mmislhgyr03ummwujbqukv76ficuhfa Coontae Vuinaghan 0 3597 395469 336760 2026-10-28T14:08:18Z MacTire02 219 ++ 395469 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Choontae Vuinaghan | ennym = Coontae Vuinaghan | ennym_dooghyssagh = {{lang|ga|Contae Mhuineacháin|italics=no}} {{small|([[Yernish]])}}<br />{{lang|en|County Monaghan|italics=no}} {{small|([[Baarle]])}} | sorçh_balley = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = Dúthracht agus Dícheall | çhyndaa_jarroo-raa = Ard-chiarail as Streeu Share | çhengey_jarroo-raa = Yernish | jalloo_armys = Cullee Choontae Vuinaghan.png | mooadys_armys = 80px | ayrnyn = none | jalloo_caslys-çheerey = Island of Ireland location map Monaghan.svg | sorçh_soieag = Balley coontae | soieag = [[Muinaghan]] | sorçh_reiltys = [[Coonseil coontae]] | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Muinaghan''' ny '''Coontae Vuinaghan''' ({{langx|ga|Contae Mhuineacháin}}, {{langx|en|County Monaghan}}). Ta'n coontae soit ayns [[Ullee]], nane jeh ny queiggaghyn Yernagh. She [[Muinaghan]] y [[preeu-valley]]. ==Imraaghyn== {{reflist}} == Kiangley magh == * [http://www.monaghan.ie Coonseil Choontae Vuinaghan] {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Vuinaghan}} {{bun}} [[Ronney:Coontae Vuinaghan| ]] [[Ronney:Queiggey Ulley]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] sv0630q2ujhi6mhny5xv17hneeectoq Doon Laoire–Rhaa yn Doon 0 3608 395479 379004 2026-10-28T15:40:46Z MacTire02 219 ++ 395479 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Ghoon Laoire–Rhaa yn Doon | ennym = Doon Laoire–Rhaa yn Doon | ennym_dooghyssagh = {{lang|ga|Dún Laoghaire–Ráth an Dúin}} {{small|([[Yernish]])}}<br/>{{lang|en|Dún Laoghaire–Rathdown}} {{small|([[Baarle|en]])}} | sorçh_boayl = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = {{lang|ga|Ó Chuan go Sliabh}} | çhyndaa_jarroo-raa = Veih Purt dys Slieau | çhengey_jarroo-raa = Yernish | jalloo_armys = Cullee Choontae Ghoon Laoire-Raah yn Doon.png | mooadys_armys = 100px | far-ennym = | jalloo_caslys-çheerey = Island_of_Ireland_location_map_Dun_Laoghaire–Rathdown.svg | sorçh_soieag = Balley coontae | soieag = [[Doon Laoire]] | sorçh_reiltys = Coonseil Coontae | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[Coondaeghyn Nerin|coontae]] ayns [[Pobblaght Nerin|Nerin]] eh '''Doon Laoire–Rhaa yn Doon''' {{langx|en|Dún Laoghaire–Rathdown}}; {{langx|ga|Dún Laoghaire–Ráth an Dúin}}<ref name="logainm">{{cite web |title=Dún Laoghaire-Ráth an Dúin/Dún Laoghaire-Rathdown |url=https://www.logainm.ie/en/1166070 |website=[[Logainm.ie]] |access-date=30 Boaldyn 2019 |language=Baarle, Yernish |archive-date=7 Mean Souree 2020 |archive-url=https://web.archive.org/web/20200607121149/https://www.logainm.ie/en/1166070 |url-status=live }}</ref>). T'eh soit ayns [[Queiggaghyn Nerin|queiggey]] [[Queiggey Lion|Lion]] as 'syn [[Yn Ard Hiar as Mean Çheerey|Ard Hiar as Mean Çheerey]]. T'eh coontit mastey ny tree coontae eiyrtyssagh er [[Coontae Ghivlyn]] v'er ny yee-vunnaghey 'sy vlein 1994. T'eh enmyssit as shenn [[balley corpagh Ghoon Laoire|valley corpagh Ghoon Laoire]] as [[Barranys (Nerin)|barranys]] [[Rhaa yn Doon (barranys Choontae Ghivlyn)|Rhaa yn Doon]]. She [[Coonseil Choontae Ghoon Laoire–Rhaa yn Doon]] y [[Gurneilys ynnydagh ayns Pobblaght Nerin|lught-reill ynnydagh]] da'n choontae. Ta {{WD Earroo yn Phobble}} sleih cummal 'sy choontae. ==Imraaghyn== {{reflist}} ==Kianglaghyn magh== {{commons category|Dún Laoghaire-Rathdown|Doon Laoire–Rhaa yn Doon}} *[http://www.dlrcoco.ie/ Coonseil Choontae Ghoon Laoire–Rhaa yn Doon] {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{coord|53|18|00|N|6|08|24|W|type:adm2nd_source:itwiki|display=title}} [[Ronney:Doon Laoire–Rhaa yn Doon| ]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy vlein 1994]] [[Ronney:Steatyn as thallooyn bunnit 'sy vlein 1994]] [[Ronney:Coontae Ghivlyn| ^Doon Laoire]] p6rws4hr7d0jlzu51foj7y20z6aqqeg 395481 395479 2026-10-28T16:04:30Z MacTire02 219 -en 395481 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Ghoon Laoire–Rhaa yn Doon | ennym = Doon Laoire–Rhaa yn Doon | ennym_dooghyssagh = {{lang|ga|Dún Laoghaire–Ráth an Dúin}} {{small|([[Yernish]])}}<br/>{{lang|en|Dún Laoghaire–Rathdown}} {{small|([[Baarle]])}} | sorçh_boayl = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = {{lang|ga|Ó Chuan go Sliabh}} | çhyndaa_jarroo-raa = Veih Purt dys Slieau | çhengey_jarroo-raa = Yernish | jalloo_armys = Cullee Choontae Ghoon Laoire-Raah yn Doon.png | mooadys_armys = 100px | far-ennym = | jalloo_caslys-çheerey = Island_of_Ireland_location_map_Dun_Laoghaire–Rathdown.svg | sorçh_soieag = Balley coontae | soieag = [[Doon Laoire]] | sorçh_reiltys = Coonseil Coontae | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[Coondaeghyn Nerin|coontae]] ayns [[Pobblaght Nerin|Nerin]] eh '''Doon Laoire–Rhaa yn Doon''' {{langx|en|Dún Laoghaire–Rathdown}}; {{langx|ga|Dún Laoghaire–Ráth an Dúin}}<ref name="logainm">{{cite web |title=Dún Laoghaire-Ráth an Dúin/Dún Laoghaire-Rathdown |url=https://www.logainm.ie/en/1166070 |website=[[Logainm.ie]] |access-date=30 Boaldyn 2019 |language=Baarle, Yernish |archive-date=7 Mean Souree 2020 |archive-url=https://web.archive.org/web/20200607121149/https://www.logainm.ie/en/1166070 |url-status=live }}</ref>). T'eh soit ayns [[Queiggaghyn Nerin|queiggey]] [[Queiggey Lion|Lion]] as 'syn [[Yn Ard Hiar as Mean Çheerey|Ard Hiar as Mean Çheerey]]. T'eh coontit mastey ny tree coontae eiyrtyssagh er [[Coontae Ghivlyn]] v'er ny yee-vunnaghey 'sy vlein 1994. T'eh enmyssit as shenn [[balley corpagh Ghoon Laoire|valley corpagh Ghoon Laoire]] as [[Barranys (Nerin)|barranys]] [[Rhaa yn Doon (barranys Choontae Ghivlyn)|Rhaa yn Doon]]. She [[Coonseil Choontae Ghoon Laoire–Rhaa yn Doon]] y [[Gurneilys ynnydagh ayns Pobblaght Nerin|lught-reill ynnydagh]] da'n choontae. Ta {{WD Earroo yn Phobble}} sleih cummal 'sy choontae. ==Imraaghyn== {{reflist}} ==Kianglaghyn magh== {{commons category|Dún Laoghaire-Rathdown|Doon Laoire–Rhaa yn Doon}} *[http://www.dlrcoco.ie/ Coonseil Choontae Ghoon Laoire–Rhaa yn Doon] {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{coord|53|18|00|N|6|08|24|W|type:adm2nd_source:itwiki|display=title}} [[Ronney:Doon Laoire–Rhaa yn Doon| ]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy vlein 1994]] [[Ronney:Steatyn as thallooyn bunnit 'sy vlein 1994]] [[Ronney:Coontae Ghivlyn| ^Doon Laoire]] etk21h6767cy4fw7d8ezae9nl5z5z0b 395482 395481 2026-10-28T16:04:47Z MacTire02 219 +( 395482 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Ghoon Laoire–Rhaa yn Doon | ennym = Doon Laoire–Rhaa yn Doon | ennym_dooghyssagh = {{lang|ga|Dún Laoghaire–Ráth an Dúin}} {{small|([[Yernish]])}}<br/>{{lang|en|Dún Laoghaire–Rathdown}} {{small|([[Baarle]])}} | sorçh_boayl = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = {{lang|ga|Ó Chuan go Sliabh}} | çhyndaa_jarroo-raa = Veih Purt dys Slieau | çhengey_jarroo-raa = Yernish | jalloo_armys = Cullee Choontae Ghoon Laoire-Raah yn Doon.png | mooadys_armys = 100px | far-ennym = | jalloo_caslys-çheerey = Island_of_Ireland_location_map_Dun_Laoghaire–Rathdown.svg | sorçh_soieag = Balley coontae | soieag = [[Doon Laoire]] | sorçh_reiltys = Coonseil Coontae | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[Coondaeghyn Nerin|coontae]] ayns [[Pobblaght Nerin|Nerin]] eh '''Doon Laoire–Rhaa yn Doon''' ({{langx|en|Dún Laoghaire–Rathdown}}; {{langx|ga|Dún Laoghaire–Ráth an Dúin}}<ref name="logainm">{{cite web |title=Dún Laoghaire-Ráth an Dúin/Dún Laoghaire-Rathdown |url=https://www.logainm.ie/en/1166070 |website=[[Logainm.ie]] |access-date=30 Boaldyn 2019 |language=Baarle, Yernish |archive-date=7 Mean Souree 2020 |archive-url=https://web.archive.org/web/20200607121149/https://www.logainm.ie/en/1166070 |url-status=live }}</ref>). T'eh soit ayns [[Queiggaghyn Nerin|queiggey]] [[Queiggey Lion|Lion]] as 'syn [[Yn Ard Hiar as Mean Çheerey|Ard Hiar as Mean Çheerey]]. T'eh coontit mastey ny tree coontae eiyrtyssagh er [[Coontae Ghivlyn]] v'er ny yee-vunnaghey 'sy vlein 1994. T'eh enmyssit as shenn [[balley corpagh Ghoon Laoire|valley corpagh Ghoon Laoire]] as [[Barranys (Nerin)|barranys]] [[Rhaa yn Doon (barranys Choontae Ghivlyn)|Rhaa yn Doon]]. She [[Coonseil Choontae Ghoon Laoire–Rhaa yn Doon]] y [[Gurneilys ynnydagh ayns Pobblaght Nerin|lught-reill ynnydagh]] da'n choontae. Ta {{WD Earroo yn Phobble}} sleih cummal 'sy choontae. ==Imraaghyn== {{reflist}} ==Kianglaghyn magh== {{commons category|Dún Laoghaire-Rathdown|Doon Laoire–Rhaa yn Doon}} *[http://www.dlrcoco.ie/ Coonseil Choontae Ghoon Laoire–Rhaa yn Doon] {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{coord|53|18|00|N|6|08|24|W|type:adm2nd_source:itwiki|display=title}} [[Ronney:Doon Laoire–Rhaa yn Doon| ]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy vlein 1994]] [[Ronney:Steatyn as thallooyn bunnit 'sy vlein 1994]] [[Ronney:Coontae Ghivlyn| ^Doon Laoire]] spm6ceifnfaej1zddcp2kerzzg1xe9r Fine Goal 0 3612 395471 368689 2026-10-28T14:16:50Z MacTire02 219 ++ 395471 wikitext text/x-wiki {{Kishtey fys boayl |ennym = Coontae ‘ine Goal |ennym_gienneydagh = Choontae ‘ine Goal |ennym_dooghyssagh = {{lang|ga|Contae Fhine Gall|italics=no}} {{small|([[Yernish]])}}<br/>{{lang|en|Fingal County|italics=no}} {{small|([[Baarle]])}} |jalloo_armys = Cullee Choontae 'ine Goal.png |jarroo-raa = Flúirse Talaimh is Mara |çhyndaa_jarroo-raa= Palçhey Thalloo as Marrey |çhengey_jarroo-raa= Yernish |jalloo=none |jalloo_caslys-çheerey = Island of Ireland location map Fingal.svg |ayrnyn=none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] ee '''Fine Goal''' ny '''Coontae 'ine Goal''' ({{langx|ga|Contae Fhine Gall}}; {{langx|en|Fingal County}}). Ta'n coontae soit ayns [[Queiggey Lion]], nane jeh ny queiggyn Yernagh. She [[Sord Cholm Cille]] y [[preeu-valley]]. {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} [[Ronney:Fine Goal| ]] [[Ronney:Queiggey Lion]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy vlein 1994]] [[Ronney:Steatyn as thallooyn bunnit 'sy vlein 1994]] {{coord|53.4597|N|6.2181|W|source:wikidata|display=title}} e5gszs1a1163ffci7agvzovkwf0bt5q 395478 395471 2026-10-28T15:38:05Z MacTire02 219 ++ 395478 wikitext text/x-wiki {{Kishtey fys boayl |ennym = Fine Goal |ennym_gienneydagh = ‘ine Goal |ennym_dooghyssagh = {{lang|ga|Fine Gall|italics=no}} {{small|([[Yernish]])}}<br/>{{lang|en|Fingal|italics=no}} {{small|([[Baarle]])}} |jalloo_armys = Cullee Choontae 'ine Goal.png |jarroo-raa = Flúirse Talaimh is Mara |çhyndaa_jarroo-raa= Palçhey Thalloo as Marrey |çhengey_jarroo-raa= Yernish |jalloo=none |jalloo_caslys-çheerey = Island of Ireland location map Fingal.svg |ayrnyn=none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] ee '''Fine Goal''' ny '''Coontae 'ine Goal''' ({{langx|ga|Contae Fhine Gall}}; {{langx|en|Fingal County}}). Ta'n coontae soit ayns [[Queiggey Lion]], nane jeh ny queiggyn Yernagh. She [[Sord Cholm Cille]] y [[preeu-valley]]. {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} [[Ronney:Fine Goal| ]] [[Ronney:Queiggey Lion]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy vlein 1994]] [[Ronney:Steatyn as thallooyn bunnit 'sy vlein 1994]] {{coord|53.4597|N|6.2181|W|source:wikidata|display=title}} sb7wwwmh6oqkimwlovkzuog770vtzo5 Aah ny Mooa 0 5701 395514 331417 2026-10-28T21:25:51Z MacTire02 219 ++ 395514 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Aah ny Mooa | ennym = Aah ny Mooa | ennym_dooghyssagh = {{lang|ga|Áth na mBó}} {{small|([[Yernish]])}}<br/>{{lang|en|Annamoe}} {{small|([[Baarle]])}} | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 404 }} Ta '''Aah ny Mooa''' ({{langx|en|Annamoe}}; {{langx|ga|Áth na mBó}}) ny valley beg ayns [[Coontae Cheeill Mantan]], [[Pobblaght Nerin]] mygeayrt {{cvt|32|km}} magh veih [[Divlyn]] er brooinyn yn [[Yn Awin Mooar (awin ayns Lion)|Awin Mooar]]. T'eh soit er yn [[R755 (raad)|R755]] eddyr [[an Tóchar]] as [[an Láithreach]] er y vollagh gys [[Gleann Dá Loch]]. {{gurneil eaghtyrys}} [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Mantan]] {{sheel çheer Nerin}} p36w7q7j2rbm31645of9mkf2izehi03 395515 395514 2026-10-28T23:12:09Z MacTire02 219 ++ 395515 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley beg]] | ennym_gienneydagh = Aah ny Mooa | ennym = Aah ny Mooa | ennym_dooghyssagh = {{lang|ga|Áth na mBó}} {{small|([[Yernish]])}}<br/>{{lang|en|Annamoe}} {{small|([[Baarle]])}} | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 404 }} Ta '''Aah ny Mooa''' ({{langx|en|Annamoe}}; {{langx|ga|Áth na mBó}}) ny valley beg ayns [[Coontae Cheeill Mantan]], [[Pobblaght Nerin]] mygeayrt {{cvt|32|km}} magh veih [[Divlyn]] er brooinyn yn [[Yn Awin Mooar (awin ayns Lion)|Awin Mooar]]. T'eh soit er yn [[R755 (raad)|R755]] eddyr [[an Tóchar]] as [[an Láithreach]] er y vollagh gys [[Gleann Dá Loch]]. {{gurneil eaghtyrys}} [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Mantan]] {{sheel çheer Nerin}} 4nzh6chmfpqrh1s2b6myt7nzf358p2p Aah yn Ree 0 5708 395543 392970 2026-10-29T01:30:25Z MacTire02 219 ++ 395543 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym = Aah yn Ree | ennym_gienneydagh = Aah yn Ree | ennym_dooghyssagh = {{lang|ga|Baile Átha an Rí}} {{small|([[Yernish]])}}<br/>{{lang|en|Athenry}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 91 }} Ta '''Aah yn Ree''' ({{langx|en|Athenry}}, {{langx|ga|Baile Átha an Rí}}) ny valley ayns [[Coontae ny Galliu]], [[Pobblaght Nerin]]. Ta'n balley soit mygeayrt {{cvt|25|km}} shiar magh ass [[Galliu]], as ta enney share er er son yn arrane ''[[The Fields of Athenry]]''. ==Imraaghyn== {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons category|Athenry|Aah yn Ree}} {{Catholic Encyclopedia poster|Athenry}} * [https://www.athenry.org O’Regan’s Athenry] &ndash; Tashtlann bentyn rish Aah yn Ree {{in lang|en}} {{Coontae ny Galliu}} {{Gurneil eaghtyrys}} [[Ronney:Aah yn Ree| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae ny Galliu]] [[Ronney:Baljyn eirinagh ayns Coontae ny Galliu]] [[Ronney:Skeeraghyn theayagh Choontae ny Galliu]] [[Ronney:Barranyssyn Choontae ny Galliu]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] {{sheel çheer Nerin}} cohm3x6rfoox38p60ae57s3v2dfavi9 Yoal 0 5716 395524 278913 2026-10-28T23:56:52Z MacTire02 219 ++ 395524 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Yoal | ennym = Yoal | ennym_dooghyssagh = {{lang|ga|Eochaill}} {{small|([[Yernish]])}}<br/>{{lang|en|Youghal}} {{small|([[Baarle]])}} | jalloo_armys = | jalloo = ClockGateFront.jpg | fo-heidyl_jalloo = She cowrey yn valley yn Toor Cluig | jarroo-raa = {{lang|la|Portus Incolumis Carinis}} | çhyndaa_jarroo-raa = Purt sauçhey da [[kiouyl]]lyn | çhengey_jarroo-raa = Ladjyn | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 24 }} Ta '''Yoal''' ({{langx|en|Youghal}}, {{langx|ga|Eochaill}}) ny valley ayns [[Coontae Chorkee]], [[Pobblaght Nerin]]. ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} [[Ronney:Yoal| ]] [[Ronney:Skeeraghyn theayagh Choontae Chorkee]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Ynnydyn seyrey marrey ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Chorkee]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] {{sheel çheer Nerin}} atwsbnar2rb1tzmrly4j62n352jdq4u Keeill Mantan 0 5717 395511 278912 2026-10-28T20:12:06Z MacTire02 219 ++ 395511 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Cheeill Mantan | ennym = Keeill Mantan | jalloo_armys = Cullee valley cheeill mantan.png | jarroo-raa = {{lang|ga|Mo radharc tar sál sínim}} | çhengey_jarroo-raa = Yernish | çhyndaa_jarroo-raa = Ta mee sheeyney my reayrt tessen sailley | ennym_dooghyssagh = {{lang|ga|Cill Mhantáin}} {{small|([[Yernish]])}}<br/>{{lang|en|Wicklow}} {{small|([[Baarle]])}} | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 404 }} Ta '''Keeil Mantan''' ({{langx|en|Wicklow}}; {{langx|ga|Cill Mhantáin}}) ny valley ayns [[Coontae Cheeill Mantan]], [[Pobblaght Nerin]]. == Imraaghyn == {{rolleyimraaghyn}} {{gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Keeill Mantan| ]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Mantan]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Buill chummaltit yn Eash Loghlynagh]] jtgst78tycfenvolfyx4ct5ryp2ebe9 Droghad Aah 0 5877 395489 294416 2026-10-28T16:51:28Z MacTire02 219 ++ 395489 wikitext text/x-wiki {{Kishtey fys boayl |sorçh_boayl |ennym = Droghad Aah |ennym_gienneydagh = Ghroghad Aah |ennym_dooghyssagh = {{lang|ga|Droichead Átha}} {{small|([[Yernish]])}}<br/>{{lang|en|Drogheda}} {{small|([[Baarle]])}} |jarroo-raa = {{lang|la|Deus praesidium, mercatura decus}} |çhyndaa_jarroo-raa= She Jee yn coadey ain; she traght y ghloyr ain |çhengey_jarroo-raa= Ladjyn | sorçh_soieag = Balley coontae | soieag = [[Ard Maghey]] | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} Ta '''Droghad Aah''' ({{lang|en|Drogheda}}; {{lang|ga|Droichead Átha}}) ny valley keayin as çhynskylagh ayns [[Coontae Lhoo]] er y çheu hiar [[Pobblaght Nerin|Phobblaght Nerin]], 56 km hwoaie veih [[Divlyn]]. Ta'n balley rheynnit liorish awin [[an Bhóinn]]. ==Imraaghyn== {{rolleyimraaghyn}} {{gurneil eaghtyrys}} [[Ronney:Droghad Aah| ]] [[Ronney:Bunneeaghtyn 'sy vlein 911]] [[Ronney:Buill chummaltit bunnit 'sy 10oo eash]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey er Mooir Vannin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Lhoo]] [[Ronney:Baljyn corpagh ayns Pobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy 10oo eash]] {{sheel çheer Nerin}} t61kedp7u3vmb33yqijzk8ular7s27q 395490 395489 2026-10-28T16:52:08Z MacTire02 219 +kiangley 395490 wikitext text/x-wiki {{Kishtey fys boayl |sorçh_boayl = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] |ennym = Droghad Aah |ennym_gienneydagh = Ghroghad Aah |ennym_dooghyssagh = {{lang|ga|Droichead Átha}} {{small|([[Yernish]])}}<br/>{{lang|en|Drogheda}} {{small|([[Baarle]])}} |jarroo-raa = {{lang|la|Deus praesidium, mercatura decus}} |çhyndaa_jarroo-raa= She Jee yn coadey ain; she traght y ghloyr ain |çhengey_jarroo-raa= Ladjyn | sorçh_soieag = Balley coontae | soieag = [[Ard Maghey]] | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} Ta '''Droghad Aah''' ({{lang|en|Drogheda}}; {{lang|ga|Droichead Átha}}) ny valley keayin as çhynskylagh ayns [[Coontae Lhoo]] er y çheu hiar [[Pobblaght Nerin|Phobblaght Nerin]], 56 km hwoaie veih [[Divlyn]]. Ta'n balley rheynnit liorish awin [[an Bhóinn]]. ==Imraaghyn== {{rolleyimraaghyn}} {{gurneil eaghtyrys}} [[Ronney:Droghad Aah| ]] [[Ronney:Bunneeaghtyn 'sy vlein 911]] [[Ronney:Buill chummaltit bunnit 'sy 10oo eash]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey er Mooir Vannin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Lhoo]] [[Ronney:Baljyn corpagh ayns Pobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy 10oo eash]] {{sheel çheer Nerin}} c1slmgeakfntdxnoc5c2qgjv10bw7dc 395491 395490 2026-10-28T16:52:51Z MacTire02 219 ++ 395491 wikitext text/x-wiki {{Kishtey fys boayl |sorçh_boayl = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] |ennym = Droghad Aah |ennym_gienneydagh = Ghroghad Aah |ennym_dooghyssagh = {{lang|ga|Droichead Átha}} {{small|([[Yernish]])}}<br/>{{lang|en|Drogheda}} {{small|([[Baarle]])}} |jarroo-raa = {{lang|la|Deus praesidium, mercatura decus}} |çhyndaa_jarroo-raa= She Jee yn coadey ain; she traght y ghloyr ain |çhengey_jarroo-raa= Ladjyn | sorçh_soieag = Balley coontae | soieag = [[Ard Maghey]] | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} Ta '''Droghad Aah''' ({{langx|en|Drogheda}}; {{Langx|ga|Droichead Átha}}) ny valley keayin as çhynskylagh ayns [[Coontae Lhoo]] er y çheu hiar [[Pobblaght Nerin|Phobblaght Nerin]], 56 km hwoaie veih [[Divlyn]]. Ta'n balley rheynnit liorish awin [[an Bhóinn]]. ==Imraaghyn== {{rolleyimraaghyn}} {{gurneil eaghtyrys}} [[Ronney:Droghad Aah| ]] [[Ronney:Bunneeaghtyn 'sy vlein 911]] [[Ronney:Buill chummaltit bunnit 'sy 10oo eash]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey er Mooir Vannin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Lhoo]] [[Ronney:Baljyn corpagh ayns Pobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy 10oo eash]] {{sheel çheer Nerin}} 6fszb46b6q0h0m0vsmzl13zy37ozgpf 395492 395491 2026-10-28T16:57:16Z MacTire02 219 ++ 395492 wikitext text/x-wiki {{Kishtey fys boayl |sorçh_boayl = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] |ennym = Droghad Aah |ennym_gienneydagh = Ghroghad Aah |ennym_dooghyssagh = {{lang|ga|Droichead Átha}} {{small|([[Yernish]])}}<br/>{{lang|en|Drogheda}} {{small|([[Baarle]])}} |jarroo-raa = {{lang|la|Deus praesidium, mercatura decus}} |çhyndaa_jarroo-raa= She Jee yn coadey ain; she traght y ghloyr ain |çhengey_jarroo-raa= Ladjyn | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} Ta '''Droghad Aah''' ({{langx|en|Drogheda}}; {{Langx|ga|Droichead Átha}}) ny valley keayin as çhynskylagh ayns [[Coontae Lhoo]] er y çheu hiar [[Pobblaght Nerin|Phobblaght Nerin]], 56 km hwoaie veih [[Divlyn]]. Ta'n balley rheynnit liorish awin [[an Bhóinn]]. ==Imraaghyn== {{rolleyimraaghyn}} {{gurneil eaghtyrys}} [[Ronney:Droghad Aah| ]] [[Ronney:Bunneeaghtyn 'sy vlein 911]] [[Ronney:Buill chummaltit bunnit 'sy 10oo eash]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey er Mooir Vannin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Lhoo]] [[Ronney:Baljyn corpagh ayns Pobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy 10oo eash]] {{sheel çheer Nerin}} 3lwlr41s9i10gk04gpriwp3pfekcq80 Doon Jialgan 0 5878 395493 291819 2026-10-28T17:12:15Z MacTire02 219 ++ 395493 wikitext text/x-wiki {{Kishtey fys boayl |sorçh_boayl = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] |ennym = Doon Jialgan |ennym_gienneydagh = Ghoon Jialgan |ennym_dooghyssagh = {{lang|ga|Dún Dealgan}} {{small|([[Yernish]])}}<br/>{{lang|en|Dundalk}} {{small|([[Baarle]])}} |jarroo-raa = {{lang|ga|Mé do rug Cú Chulainn Cróga}} |çhyndaa_jarroo-raa= She Jee yn coadey ain; she traght y ghloyr ain |çhengey_jarroo-raa= Yernish |enmys_bunneeaght = Cummaltit |date_bunneeaght = {{circa|3700 RC}} |enmys_bunneeaght2 = Kaart Normanagh |date_bunneeaght2 = 1189 | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} Ta '''Doon Jialgan''' ({{langx|en|Dundalk}}; {{langx|ga|Dún Dealgan}}) ny valley coontae ayns [[Coontae Lhoo]], [[Pobblaght Nerin]] ta faggys da'n joarey lesh [[Nerin Hwoaie]]. Hooar y balley e chaart 'sy vlein 1189. T'eh soit er beeal awin [[an Nith]]. She "Mé do rug Cú Chulainn Cródha" (Mish dy rug Cú Chulainn Dunnal) y jarroo-raa t'ec y valley. She [[Reudied]] shuyr-valley Ghoon Jialgan. Lesh joaraghey meenaghit dy leighoil, ta Doon Jialgan ny valley smoo ayns Nerin lesh 35,085 dy chummaltee rere coontey-pobble ny bleeaney 2006. Lesh nuy baljyn elley, va Doon Jialgan reiht liorish y reiltys dy ve ny balley grinney rere Strateysh Reamyssagh Ashoonagh Nerin. == Imraaghyn == {{rolleyimraaghyn}} {{gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Doon Jialgan| ]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Baljyn raad yiarn ayns Nerin]] [[Ronney:Buill chummaltit varrey ayns Pobblaght Nerin]] [[Ronney:Buill chummaltit bunnit 'sy 12h eash]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Lhoo]] [[Ronney:Bunneeaghtyn 'sy vlein 1189]] [[Ronney:Bunneeaghtyn ayns Nerin ayns ny 1180yn]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] 4a9s815bhd56wnkpbtmu2oxu2qxa8gu 395494 395493 2026-10-28T17:13:07Z MacTire02 219 jarroo-raa 395494 wikitext text/x-wiki {{Kishtey fys boayl |sorçh_boayl = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] |ennym = Doon Jialgan |ennym_gienneydagh = Ghoon Jialgan |ennym_dooghyssagh = {{lang|ga|Dún Dealgan}} {{small|([[Yernish]])}}<br/>{{lang|en|Dundalk}} {{small|([[Baarle]])}} |jarroo-raa = {{lang|ga|Mé do rug Cú Chulainn Cróga}} |çhyndaa_jarroo-raa= She mish ren ruggey Cú Chulainn Dunnal |çhengey_jarroo-raa= Yernish |enmys_bunneeaght = Cummaltit |date_bunneeaght = {{circa|3700 RC}} |enmys_bunneeaght2 = Kaart Normanagh |date_bunneeaght2 = 1189 | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} Ta '''Doon Jialgan''' ({{langx|en|Dundalk}}; {{langx|ga|Dún Dealgan}}) ny valley coontae ayns [[Coontae Lhoo]], [[Pobblaght Nerin]] ta faggys da'n joarey lesh [[Nerin Hwoaie]]. Hooar y balley e chaart 'sy vlein 1189. T'eh soit er beeal awin [[an Nith]]. She "Mé do rug Cú Chulainn Cródha" (Mish dy rug Cú Chulainn Dunnal) y jarroo-raa t'ec y valley. She [[Reudied]] shuyr-valley Ghoon Jialgan. Lesh joaraghey meenaghit dy leighoil, ta Doon Jialgan ny valley smoo ayns Nerin lesh 35,085 dy chummaltee rere coontey-pobble ny bleeaney 2006. Lesh nuy baljyn elley, va Doon Jialgan reiht liorish y reiltys dy ve ny balley grinney rere Strateysh Reamyssagh Ashoonagh Nerin. == Imraaghyn == {{rolleyimraaghyn}} {{gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Doon Jialgan| ]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Baljyn raad yiarn ayns Nerin]] [[Ronney:Buill chummaltit varrey ayns Pobblaght Nerin]] [[Ronney:Buill chummaltit bunnit 'sy 12h eash]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Lhoo]] [[Ronney:Bunneeaghtyn 'sy vlein 1189]] [[Ronney:Bunneeaghtyn ayns Nerin ayns ny 1180yn]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] k7gvep1gw0h5ilychr1az2ray4ivkru Innys 0 5879 395523 278929 2026-10-28T23:48:38Z MacTire02 219 ++ 395523 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Innys | ennym = Innys | ennym_dooghyssagh = {{lang|ga|Inis}} {{small|([[Yernish]])}}<br/>{{lang|en|Ennis}} {{small|([[Baarle]])}} | jalloo_armys = Ennis_coat_of_arms.svg | jalloo = | fo-heidyl_jalloo = | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 65 }} Ta '''Innys''' ({{langx|en|Ennis}}, {{langx|ga|Inis}}) ny valley coontae ayns [[Coontae yn Chlaair]], [[Pobblaght Nerin]]. Ta ny smoo na 24,200 dy chummaltee ayn rere coontey-pobble y vlein 2006. Ta'n balley soit er inver ny [[Yn Çhannon|Shannon]], as ta kiangley traen eddyr ee as [[Limmeragh]]. Ta [[purt aeragh ny Shannon]] soit mygeayrt {{cvt|20|km}} veih'n valley. == Imraaghyn == {{rolleyimraaghyn}} {{gurneil eaghtyrys}} [[Ronney:Innys| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae yn Chlaair]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Skeeraghyn Aspickys Catoleagh Raueagh Cill Dalua]] {{sheel çheer Nerin}} 16srkys5u0iczlfom7nsqxs8v6pf1tj Mannishter 'er Maigh 0 5880 395525 274807 2026-10-29T00:01:46Z MacTire02 219 ++ 395525 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Vannishter 'er Maigh | ennym = Mannishter 'er Maigh | ennym_dooghyssagh = {{lang|ga|Mainistir Fhear Maí}} {{small|([[Yernish]])}}<br/>{{lang|en|Fermoy}} {{small|([[Baarle]])}} | jarroo-raa = Seasaigí go Buan | çhyndaa_jarroo-raa = Shass-jee dy Beayn | çhengey_jarroo-raa = Yernish | jalloo_armys = | jalloo = | fo-heidyl_jalloo = | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 24 }} Ta '''Mannishter 'er Maigh''' ({{langx|en|Fermoy}}, {{langx|ga|Mainistir Fhear Maigh}} ny {{lang|ga|Mainistir Fhear Maí}}) ny valley ayns [[Coontae Chorkee]], [[Pobblaght Nerin]]. T'ee soit er brooinyn [[An Dubhabhainn, y Vooan|an Dubhabhainn]] ayns jiass Nerin. She [[Plañvour]] 'sy [[Yn Vritaan (çheer)|Vritaan]] shuyr-valley Vannishter 'er Maigh. == Imraaghyn == {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} [[Ronney:Baljyn as baljyn beggey ayns Coontae Chorkee]] [[Ronney:Skeeraghyn theayagh Choontae Chorkee]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] {{sheel çheer Nerin}} 62lsuhh1a26uoxbgo2ntookpaqpm0uw Fynn Traie 0 6361 395519 279019 2026-10-28T23:35:01Z MacTire02 219 ++ 395519 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley beg]] | ennym_gienneydagh = Fynn Traie | ennym = Fynn Traie | ennym_dooghyssagh = {{lang|ga|Ceann Trá}} {{small|([[Yernish]])}}<br/>{{lang|en|Ventry}} {{small|([[Baarle]])}} | jalloo_armys = | jalloo = |fo-heidyl_jalloo = | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = }} Ta '''Fynn Traie''' (ass {{lang|ga|Fionntrá}} yn [[Yernish]]; she {{lang|ga|Ceann Trá}} yn ennym oikoil; {{langx|en|Ventry}}) ny valley beg ayns [[Gaeltacht|Gaeltaght]] [[Coontae Cherree|Cherree]], [[Pobblaght Nerin]]. T'eh soit er [[lieh-innys y Dein]], shiaght kilometeryn sheear veih'n [[Yn Dein|Dein]]. Ta tholtanyn Dún Beag (Doon Beg), doon kione çheerey yn Eash Yiarn, soit shey kilometeryn sheear veih Fynn Traie. [[Coadan:Ireland dingle beach.jpeg|left|thumb|250px|Traie faggys da Fynn Traie]] ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} [[Ronney:Baljyn as baljyn beggey ayns Coontae Cherree]] [[Ronney:Baieyn ayns Coontae Cherree]] [[Ronney:Traieyn Phobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey 'sy Ghaeltacht]] [[Ronney:Buill Ghaeltacht ayns Coontae Cherree]] {{sheel çheer Nerin}} 72l12gzpp79nc6gzj96ahj94fg4t1g9 Yn Dein 0 6363 395520 279018 2026-10-28T23:41:20Z MacTire02 219 ++ 395520 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Y Dein | ennym = y Dein | ennym_dooghyssagh = {{lang|ga|Daingean Uí Chúi}} {{small|([[Yernish]])}}<br/>{{lang|en|Dingle}} {{small|([[Baarle]])}} | jalloo_armys = | jalloo = | fo-heidyl_jalloo = | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 66 }} Ta'n '''Dein''' ({{langx|ga|An Daingean}} ny {{lang|ga|Daingean Uí Chúis}}; {{langx|en|Dingle}}) ny valley ta soit ayns [[Gaeltaght Nerin|Gaeltaght]] [[Coontae Cherree|Cherree]], [[Pobblaght Nerin]], {{cvt|50|km}} sheear sheear yiass veih [[Traie Lee]] as {{cvt|80|km}} sheear sheear hwoaie veih [[Keeill Airney]]. Ta'n balley soit er purt najooragh er [[lieh-innys y Dein]]. T'ad y turrysaght, yn eeasteyraght as yn eirinys preeu-çhynskylyn y valley. == Baljyn lannoonit == {| class="wikitable" "text-align:left;font-size:100%;"| |- ! style="background: #811541; color: #FFFFFF" ! | ! style="background: #811541; color: #FFFFFF" height="17" width="120" | Çheer ! style="background: #810001; color: #FFFFFF" ! | ! style="background: #810001; color: #FFFFFF" ! width="100" | Boayl ! style="background: #811541; color: #FFFFFF" ! | ! style="background: #811541; color: #FFFFFF" ! width="130" | Coontae / Slyst / Ard / Steat ! style="background: #811541; color: #FFFFFF" ! width="130" | Lannoonit rish ! style="background: #811541; color: #FFFFFF" ! width="40" | Date |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|the United States}} |! style="background: #FFFFEF; color: #000000" ! | [[SUA]] ! style="background: #FFFFCF; color: #000000" ! | [[Coadan:Flag of Santa Barbara, California.svg|25px|border]] |! style="background: #FFFFCF; color: #000000" ! | '''[[Santa Barbara, California|Santa Barbara]]''' ! style="background: #FFFFEF; color: #000000" ! | [[Coadan:Flag of California.svg|25px|border]] |! style="background: #FFFFEF; color: #000000" ! | ''[[California]]'' |! style="background: #FFFFEF; color: #000000" ! | Y Dein |! style="background: #FFFFEF; color: #000000" ! | 2003 |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|Italy}} |! style="background: #FFFFEF; color: #000000" ! | [[Yn Iddaal]] ! style="background: #FFFFCF; color: #000000" ! | |! style="background: #FFFFCF; color: #000000" ! | '''[[Tolfa]]''' ! style="background: #FFFFEF; color: #000000" ! | |! style="background: #FFFFEF; color: #000000" ! | ''[[Lazio]]'' |! style="background: #FFFFEF; color: #000000" ! | Y Dein |! style="background: #FFFFEF; color: #000000" ! | 1974 |} == Imraaghyn == {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Dein, Yn}} {{sheel çheer Nerin}} [[Ronney:Yn Dein| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cherree]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Buill Ghaeltacht ayns Coontae Cherree]] [[Ronney:Baljyn 'sy Ghaeltacht]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] 48rj1caxd9nouqzsli4m422cx3dha3g 395521 395520 2026-10-28T23:41:50Z MacTire02 219 ++ 395521 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = y Dein | ennym = Yn Dein | ennym_dooghyssagh = {{lang|ga|Daingean Uí Chúis}} {{small|([[Yernish]])}}<br/>{{lang|en|Dingle}} {{small|([[Baarle]])}} | jalloo_armys = | jalloo = | fo-heidyl_jalloo = | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 66 }} Ta'n '''Dein''' ({{langx|ga|An Daingean}} ny {{lang|ga|Daingean Uí Chúis}}; {{langx|en|Dingle}}) ny valley ta soit ayns [[Gaeltaght Nerin|Gaeltaght]] [[Coontae Cherree|Cherree]], [[Pobblaght Nerin]], {{cvt|50|km}} sheear sheear yiass veih [[Traie Lee]] as {{cvt|80|km}} sheear sheear hwoaie veih [[Keeill Airney]]. Ta'n balley soit er purt najooragh er [[lieh-innys y Dein]]. T'ad y turrysaght, yn eeasteyraght as yn eirinys preeu-çhynskylyn y valley. == Baljyn lannoonit == {| class="wikitable" "text-align:left;font-size:100%;"| |- ! style="background: #811541; color: #FFFFFF" ! | ! style="background: #811541; color: #FFFFFF" height="17" width="120" | Çheer ! style="background: #810001; color: #FFFFFF" ! | ! style="background: #810001; color: #FFFFFF" ! width="100" | Boayl ! style="background: #811541; color: #FFFFFF" ! | ! style="background: #811541; color: #FFFFFF" ! width="130" | Coontae / Slyst / Ard / Steat ! style="background: #811541; color: #FFFFFF" ! width="130" | Lannoonit rish ! style="background: #811541; color: #FFFFFF" ! width="40" | Date |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|the United States}} |! style="background: #FFFFEF; color: #000000" ! | [[SUA]] ! style="background: #FFFFCF; color: #000000" ! | [[Coadan:Flag of Santa Barbara, California.svg|25px|border]] |! style="background: #FFFFCF; color: #000000" ! | '''[[Santa Barbara, California|Santa Barbara]]''' ! style="background: #FFFFEF; color: #000000" ! | [[Coadan:Flag of California.svg|25px|border]] |! style="background: #FFFFEF; color: #000000" ! | ''[[California]]'' |! style="background: #FFFFEF; color: #000000" ! | Y Dein |! style="background: #FFFFEF; color: #000000" ! | 2003 |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|Italy}} |! style="background: #FFFFEF; color: #000000" ! | [[Yn Iddaal]] ! style="background: #FFFFCF; color: #000000" ! | |! style="background: #FFFFCF; color: #000000" ! | '''[[Tolfa]]''' ! style="background: #FFFFEF; color: #000000" ! | |! style="background: #FFFFEF; color: #000000" ! | ''[[Lazio]]'' |! style="background: #FFFFEF; color: #000000" ! | Y Dein |! style="background: #FFFFEF; color: #000000" ! | 1974 |} == Imraaghyn == {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Dein, Yn}} {{sheel çheer Nerin}} [[Ronney:Yn Dein| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cherree]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Buill Ghaeltacht ayns Coontae Cherree]] [[Ronney:Baljyn 'sy Ghaeltacht]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] c4o987i39ngbq4psng1la12c0ry017v 395522 395521 2026-10-28T23:42:39Z MacTire02 219 +ronney 395522 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = y Dein | ennym = Yn Dein | ennym_dooghyssagh = {{lang|ga|Daingean Uí Chúis}} {{small|([[Yernish]])}}<br/>{{lang|en|Dingle}} {{small|([[Baarle]])}} | jalloo_armys = | jalloo = | fo-heidyl_jalloo = | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 66 }} Ta'n '''Dein''' ({{langx|ga|An Daingean}} ny {{lang|ga|Daingean Uí Chúis}}; {{langx|en|Dingle}}) ny valley ta soit ayns [[Gaeltaght Nerin|Gaeltaght]] [[Coontae Cherree|Cherree]], [[Pobblaght Nerin]], {{cvt|50|km}} sheear sheear yiass veih [[Traie Lee]] as {{cvt|80|km}} sheear sheear hwoaie veih [[Keeill Airney]]. Ta'n balley soit er purt najooragh er [[lieh-innys y Dein]]. T'ad y turrysaght, yn eeasteyraght as yn eirinys preeu-çhynskylyn y valley. == Baljyn lannoonit == {| class="wikitable" "text-align:left;font-size:100%;"| |- ! style="background: #811541; color: #FFFFFF" ! | ! style="background: #811541; color: #FFFFFF" height="17" width="120" | Çheer ! style="background: #810001; color: #FFFFFF" ! | ! style="background: #810001; color: #FFFFFF" ! width="100" | Boayl ! style="background: #811541; color: #FFFFFF" ! | ! style="background: #811541; color: #FFFFFF" ! width="130" | Coontae / Slyst / Ard / Steat ! style="background: #811541; color: #FFFFFF" ! width="130" | Lannoonit rish ! style="background: #811541; color: #FFFFFF" ! width="40" | Date |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|the United States}} |! style="background: #FFFFEF; color: #000000" ! | [[SUA]] ! style="background: #FFFFCF; color: #000000" ! | [[Coadan:Flag of Santa Barbara, California.svg|25px|border]] |! style="background: #FFFFCF; color: #000000" ! | '''[[Santa Barbara, California|Santa Barbara]]''' ! style="background: #FFFFEF; color: #000000" ! | [[Coadan:Flag of California.svg|25px|border]] |! style="background: #FFFFEF; color: #000000" ! | ''[[California]]'' |! style="background: #FFFFEF; color: #000000" ! | Y Dein |! style="background: #FFFFEF; color: #000000" ! | 2003 |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|Italy}} |! style="background: #FFFFEF; color: #000000" ! | [[Yn Iddaal]] ! style="background: #FFFFCF; color: #000000" ! | |! style="background: #FFFFCF; color: #000000" ! | '''[[Tolfa]]''' ! style="background: #FFFFEF; color: #000000" ! | |! style="background: #FFFFEF; color: #000000" ! | ''[[Lazio]]'' |! style="background: #FFFFEF; color: #000000" ! | Y Dein |! style="background: #FFFFEF; color: #000000" ! | 1974 |} == Imraaghyn == {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Dein, Yn}} {{sheel çheer Nerin}} [[Ronney:Yn Dein| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cherree]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Buill Ghaeltacht ayns Coontae Cherree]] [[Ronney:Baljyn as baljyn beggey 'sy Ghaeltacht]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] 54j880b0mn9amr4hnfihaqc82ei567k Keeill Airney 0 6364 395518 300446 2026-10-28T23:29:15Z MacTire02 219 ++ 395518 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Cheeill Airney | ennym = Keeill Airney | ennym_dooghyssagh = {{lang|ga|Cill Airne}} {{small|([[Yernish]])}}<br/>{{lang|en|Killarney}} {{small|([[Baarle]])}} | jalloo_armys = | jalloo = High_Street,_Killarney,_2021-06-21,_02.jpg |fo-heidyl_jalloo = Yn ard-straid ayns mean y valley | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 64 }} Ta '''Keeill Airney''' ({{langx|en|Killarney}}, {{lang|ga|Cill Áirne}}) ny valley ayns [[Coontae Cherree]], ayns sheear yiass [[Pobblaght Nerin|Phobblaght Nerin]]. Ta'n balley soit çheu hwoaie jeh [[na Cruacha Dubha]] er slyst hiar hwoaie [[Loghyn Cheeill Airney|Logh Léin]]. == Baljyn lannoonit == {| class="wikitable" "text-align:left;font-size:100%;"| |- ! style="background: #811541; color: #FFFFFF" ! | ! style="background: #811541; color: #FFFFFF" height="17" width="120" | Çheer ! style="background: #810001; color: #FFFFFF" ! | ! style="background: #810001; color: #FFFFFF" ! width="100" | Boayl ! style="background: #811541; color: #FFFFFF" ! | ! style="background: #811541; color: #FFFFFF" ! width="130" | Coontae / slyst / ard / steat ! style="background: #811541; color: #FFFFFF" ! width="40" | Date |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|Italy}} |! style="background: #FFFFEF; color: #000000" ! | [[Yn Iddaal]] ! style="background: #FFFFCF; color: #000000" ! | |! style="background: #FFFFCF; color: #000000" ! | '''[[Castiglione di Sicilia]]''' ! style="background: #FFFFEF; color: #000000" ! | |! style="background: #FFFFEF; color: #000000" ! | ''[[Queiggey Catania]]'' |! style="background: #FFFFEF; color: #000000" ! | 1986 |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|the United States}} |! style="background: #FFFFEF; color: #000000" ! | [[SUA]] ! style="background: #FFFFCF; color: #000000" ! | |! style="background: #FFFFCF; color: #000000" ! | '''[[Concord, Carolina Hwoaie|Concord]]''' ! style="background: #FFFFEF; color: #000000" ! | [[Coadan:Flag of North Carolina.svg|25px|border]] |! style="background: #FFFFEF; color: #000000" ! | ''[[Carolina Hwoaie]]'' |! style="background: #FFFFEF; color: #000000" ! | 1993 |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|the United States}} |! style="background: #FFFFEF; color: #000000" ! | [[SUA]] ! style="background: #FFFFCF; color: #000000" ! | [[Coadan:Flag of Springfield, Illinois.svg|25px|border]] |! style="background: #FFFFCF; color: #000000" ! | '''[[Springfield, Illinois|Springfield]]''' ! style="background: #FFFFEF; color: #000000" ! | [[Coadan:Flag of Illinois.svg|25px|border]] |! style="background: #FFFFEF; color: #000000" ! | ''[[Illinois]]'' |! style="background: #FFFFEF; color: #000000" ! | 1997 |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|the United States}} |! style="background: #FFFFEF; color: #000000" ! | [[SUA]] ! style="background: #FFFFCF; color: #000000" ! | |! style="background: #FFFFCF; color: #000000" ! | '''[[Cooper City, Florida|Cooper City]]''' ! style="background: #FFFFEF; color: #000000" ! | [[Coadan:Flag of Florida.svg|25px|border]] |! style="background: #FFFFEF; color: #000000" ! | ''[[Florida]]'' |! style="background: #FFFFEF; color: #000000" ! | 2003 |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|the United States}} |! style="background: #FFFFEF; color: #000000" ! | [[SUA]] ! style="background: #FFFFCF; color: #000000" ! | |! style="background: #FFFFCF; color: #000000" ! | '''[[Myrtle Beach, Carolina Yiass|Myrtle Beach]]''' ! style="background: #FFFFEF; color: #000000" ! | [[Coadan:Flag of South Carolina.svg|25px|border]] |! style="background: #FFFFEF; color: #000000" ! | ''[[Carolina Yiass]]'' |! style="background: #FFFFEF; color: #000000" ! | 2007 |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|the United Kingdom}} |! style="background: #FFFFEF; color: #000000" ! | [[Reeriaght Unnaneysit|Reeriaght&nbsp;Unnaneysit]] ! style="background: #FFFFCF; color: #000000" ! | |! style="background: #FFFFCF; color: #000000" ! | '''[[Kendal]]''' ! style="background: #FFFFEF; color: #000000" ! | |! style="background: #FFFFEF; color: #000000" ! | ''[[Cumbria]]'' |! style="background: #FFFFEF; color: #000000" ! | |- ! style="background: #FFFFEF; color: #000000" ! | {{brattagh|Germany}} |! style="background: #FFFFEF; color: #000000" ! | [[Yn Ghermaan|Y Ghermaan]] ! style="background: #FFFFCF; color: #000000" ! | [[Coadan:DEU Pleinfeld COA.svg|25px|border]] |! style="background: #FFFFCF; color: #000000" ! | '''[[Pleinfeld]]''' ! style="background: #FFFFEF; color: #000000" ! | [[Coadan:Bayern Wappen.svg|25px|border]] |! style="background: #FFFFEF; color: #000000" ! | ''[[Yn Vaveyr|Y Vaveyr]]'' |! style="background: #FFFFEF; color: #000000" ! | |} == Imraaghyn == {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Keeill Airney| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cherree]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] 74b0yv64ta1r4imitkyhzovrlr79ptv Traie Lee 0 6365 395516 279022 2026-10-28T23:19:53Z MacTire02 219 ++ 395516 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Hraie Lee | ennym = Traie Lee | ennym_dooghyssagh = {{lang|ga|Trá Lí}} {{small|([[Yernish]])}}<br/>{{lang|en|Tralee}} {{small|([[Baarle]])}} | jalloo_armys = Cullee valley hraie lee.png | jarroo-raa = Vis Unita Fortior | çhyndaa_jarroo-raa = S'troshey ta'n Niart Unnaneysit | çhengey_jarroo-raa = Yernish | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 66 }} }} Ta '''Traie Lee''' ({{langx|en|Tralee}}; {{langx|ga|Trá Lí}}) ny valley coontae ayns [[Coontae Cherree]], ayns sheear yiass [[Pobblaght Nerin|Phobblaght Nerin]]. Ta'n balley soit er çheu hwoaie wannal [[Lieh-innys y Dein]]. T'eh ny valley smoo 'sy choontae lesh 22,744 cummaltee rere coontey-sleih ny bleeaney 2006. Va'n balley bunnit ec ny h-Anglo-Normanee ayns y 13-oo eash. Hooar y balley e chaart reeoil ayns 1613. == Imraaghyn == {{rolleyimraaghyn}} {{gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Traie Lee| ]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cherree]] [[Ronney:Buill chummaltit bunnit 'sy 13oo eash]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy 13oo eash]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] f74am2kkyrxl2gt6crwt5fh4r56pa5v 395517 395516 2026-10-28T23:25:10Z MacTire02 219 -}} 395517 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Hraie Lee | ennym = Traie Lee | ennym_dooghyssagh = {{lang|ga|Trá Lí}} {{small|([[Yernish]])}}<br/>{{lang|en|Tralee}} {{small|([[Baarle]])}} | jalloo_armys = Cullee valley hraie lee.png | jarroo-raa = Vis Unita Fortior | çhyndaa_jarroo-raa = S'troshey ta'n Niart Unnaneysit | çhengey_jarroo-raa = Yernish | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 66 }} Ta '''Traie Lee''' ({{langx|en|Tralee}}; {{langx|ga|Trá Lí}}) ny valley coontae ayns [[Coontae Cherree]], ayns sheear yiass [[Pobblaght Nerin|Phobblaght Nerin]]. Ta'n balley soit er çheu hwoaie wannal [[Lieh-innys y Dein]]. T'eh ny valley smoo 'sy choontae lesh 22,744 cummaltee rere coontey-sleih ny bleeaney 2006. Va'n balley bunnit ec ny h-Anglo-Normanee ayns y 13-oo eash. Hooar y balley e chaart reeoil ayns 1613. == Imraaghyn == {{rolleyimraaghyn}} {{gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Traie Lee| ]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cherree]] [[Ronney:Buill chummaltit bunnit 'sy 13oo eash]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy 13oo eash]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] 3pj6ygt7z94egb292bf6o5kopdxkpiz Keeill Chennee 0 6367 395497 368685 2026-10-28T18:51:07Z MacTire02 219 ++ 395497 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Ard-valley]] | ennym_gienneydagh = Cheeill Chennee | ennym = Keeill Chennee | ennym_dooghyssagh = {{lang|ga|Cill Chainnigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Kilkenny}} {{small|([[Baarle]])}} | jalloo_armys = COA IRL Kilkenny City.svg | jarroo-raa = | jalloo_bun_speyrey = KilkennyRiverNore.jpg | fo-heidyl_jalloo = [[An Fheoir]] ayns Keeill Chennee | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 61 | ynnyd-eggey = [http://www.kilkennycity.ie www.kilkennycity.ie] }} Ta '''Keeill Chennee''' ({{langx|en|Kilkenny}}, {{langx|ga|Cill Chainnigh}}) ny ard-valley as ny valley coontae ayns [[Coontae Cheeill Chennee]], [[Pobblaght Nerin]]. Ta'n balley soit ayns jiass [[Queiggey Lion|Lion]] ayns sheear yiass [[Nerin]]. Ta mygeayrt 25,000 cummaltee ayns Keeill Chennee agh ta'n chooid smoo jeu soit çheumooie jeh'n valley corpagh. Ta Keeill Chennee soit 117 kilometeryn veih [[Divlyn]] as 48 kilometeryn veih [[Purt Largey]]. == Imraaghyn == {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons and category|Kilkenny - Cill Chainnigh|Kilkenny}} * [http://www.kilkennycoco.ie/ Coonseil Choontae Cheeill Chennee]&nbsp;– Ynnyd-eggey oikoil y lught-reill ynnydagh da Keeill Chennee * {{cite EB1911|wstitle=Kilkenny (city)|volume=15|pages=793–794|short=1}} {{Ard-valjyn ayns Nerin}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Keeill Chennee| ]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Chennee]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Coontae Cheeill Chennee]] [[Ronney:Queiggey Mooan]] 7fpuza2y45dqk9qjc52dipfiyz2oglk 395498 395497 2026-10-28T19:29:08Z MacTire02 219 -ronnaghyn 395498 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Ard-valley]] | ennym_gienneydagh = Cheeill Chennee | ennym = Keeill Chennee | ennym_dooghyssagh = {{lang|ga|Cill Chainnigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Kilkenny}} {{small|([[Baarle]])}} | jalloo_armys = COA IRL Kilkenny City.svg | jarroo-raa = | jalloo_bun_speyrey = KilkennyRiverNore.jpg | fo-heidyl_jalloo = [[An Fheoir]] ayns Keeill Chennee | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 61 | ynnyd-eggey = [http://www.kilkennycity.ie www.kilkennycity.ie] }} Ta '''Keeill Chennee''' ({{langx|en|Kilkenny}}, {{langx|ga|Cill Chainnigh}}) ny ard-valley as ny valley coontae ayns [[Coontae Cheeill Chennee]], [[Pobblaght Nerin]]. Ta'n balley soit ayns jiass [[Queiggey Lion|Lion]] ayns sheear yiass [[Nerin]]. Ta mygeayrt 25,000 cummaltee ayns Keeill Chennee agh ta'n chooid smoo jeu soit çheumooie jeh'n valley corpagh. Ta Keeill Chennee soit 117 kilometeryn veih [[Divlyn]] as 48 kilometeryn veih [[Purt Largey]]. == Imraaghyn == {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons and category|Kilkenny - Cill Chainnigh|Kilkenny}} * [http://www.kilkennycoco.ie/ Coonseil Choontae Cheeill Chennee]&nbsp;– Ynnyd-eggey oikoil y lught-reill ynnydagh da Keeill Chennee * {{cite EB1911|wstitle=Kilkenny (city)|volume=15|pages=793–794|short=1}} {{Ard-valjyn ayns Nerin}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Keeill Chennee| ]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Chennee]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] go897m1lf22o11nwdqu4y6353gesyjb 395505 395498 2026-10-28T19:46:40Z MacTire02 219 ++ 395505 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Ard-valley]] | ennym_gienneydagh = Cheeill Chennee | ennym = Keeill Chennee | ennym_dooghyssagh = {{lang|ga|Cill Chainnigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Kilkenny}} {{small|([[Baarle]])}} | jalloo_armys = COA IRL Kilkenny City.svg | jarroo-raa = | jalloo_bun_speyrey = KilkennyRiverNore.jpg | fo-heidyl_jalloo = [[An Fheoir]] ayns Keeill Chennee | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 61 | ynnyd-eggey = [http://www.kilkennycity.ie www.kilkennycity.ie] }} Ta '''Keeill Chennee''' ({{langx|en|Kilkenny}}, {{langx|ga|Cill Chainnigh}}) ny ard-valley as ny valley coontae ayns [[Coontae Cheeill Chennee]], [[Pobblaght Nerin]]. Ta'n balley soit ayns jiass [[Queiggey Lion|Lion]] ayns sheear yiass [[Nerin]]. Ta mygeayrt 25,000 cummaltee ayns Keeill Chennee agh ta'n chooid smoo jeu soit çheumooie jeh'n valley corpagh. Ta Keeill Chennee soit {{cvt|117|km}} veih [[Divlyn]] as {{cvt|48km}} veih [[Purt Largey]]. == Imraaghyn == {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons and category|Kilkenny - Cill Chainnigh|Kilkenny}} * [http://www.kilkennycoco.ie/ Coonseil Choontae Cheeill Chennee]&nbsp;– Ynnyd-eggey oikoil y lught-reill ynnydagh da Keeill Chennee * {{cite EB1911|wstitle=Kilkenny (city)|volume=15|pages=793–794|short=1}} {{Ard-valjyn ayns Nerin}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Keeill Chennee| ]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Chennee]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] tl7ua7rch6rntwkik31bgf2t9yopu7o 395506 395505 2026-10-28T19:47:15Z MacTire02 219 ++ 395506 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Ard-valley]] | ennym_gienneydagh = Cheeill Chennee | ennym = Keeill Chennee | ennym_dooghyssagh = {{lang|ga|Cill Chainnigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Kilkenny}} {{small|([[Baarle]])}} | jalloo_armys = COA IRL Kilkenny City.svg | jarroo-raa = | jalloo_bun_speyrey = KilkennyRiverNore.jpg | fo-heidyl_jalloo = [[An Fheoir]] ayns Keeill Chennee | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 61 | ynnyd-eggey = [http://www.kilkennycity.ie www.kilkennycity.ie] }} Ta '''Keeill Chennee''' ({{langx|en|Kilkenny}}, {{langx|ga|Cill Chainnigh}}) ny ard-valley as ny valley coontae ayns [[Coontae Cheeill Chennee]], [[Pobblaght Nerin]]. Ta'n balley soit ayns jiass [[Queiggey Lion|Lion]] ayns sheear yiass [[Nerin]]. Ta mygeayrt 25,000 cummaltee ayns Keeill Chennee agh ta'n chooid smoo jeu soit çheumooie jeh'n valley corpagh. Ta Keeill Chennee soit {{cvt|117|km}} veih [[Divlyn]] as {{cvt|48|km}} veih [[Purt Largey]]. == Imraaghyn == {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons and category|Kilkenny - Cill Chainnigh|Kilkenny}} * [http://www.kilkennycoco.ie/ Coonseil Choontae Cheeill Chennee]&nbsp;– Ynnyd-eggey oikoil y lught-reill ynnydagh da Keeill Chennee * {{cite EB1911|wstitle=Kilkenny (city)|volume=15|pages=793–794|short=1}} {{Ard-valjyn ayns Nerin}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Keeill Chennee| ]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Chennee]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] lhn3igbo719hm7bpfcvndtq4z3lmnl9 395507 395506 2026-10-28T19:48:26Z MacTire02 219 ++ 395507 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Ard-valley]] | ennym_gienneydagh = Cheeill Chennee | ennym = Keeill Chennee | ennym_dooghyssagh = {{lang|ga|Cill Chainnigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Kilkenny}} {{small|([[Baarle]])}} | jalloo_armys = COA IRL Kilkenny City.svg | jarroo-raa = | jalloo_bun_speyrey = KilkennyRiverNore.jpg | fo-heidyl_jalloo = [[An Fheoir]] ayns Keeill Chennee | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 61 | ynnyd-eggey = [http://www.kilkennycity.ie www.kilkennycity.ie] }} Ta '''Keeill Chennee''' ({{langx|en|Kilkenny}}, {{langx|ga|Cill Chainnigh}}) ny ard-valley as ny valley coontae ayns [[Coontae Cheeill Chennee]], [[Pobblaght Nerin]]. Ta'n balley soit ayns jiass [[Queiggey Lion|Lion]] ayns sheear yiass [[Nerin]]. Ta mygeayrt 25,000 cummaltee ayns Keeill Chennee agh ta'n chooid smoo jeu soit çheumooie jeh'n valley corpagh. Ta Keeill Chennee soit {{cvt|117|km}} veih [[Divlyn]] as {{cvt|48|km}} veih [[Purt Largey]]. == Imraaghyn == {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons and category|Kilkenny - Cill Chainnigh|Kilkenny}} * [http://www.kilkennycoco.ie/ Coonseil Choontae Cheeill Chennee]&nbsp;– Ynnyd-eggey oikoil y lught-reill ynnydagh da Keeill Chennee * {{cite EB1911|wstitle=Kilkenny (city)|volume=15|pages=793–794|short=1}} {{Ard-valjyn ayns Nerin}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Keeill Chennee| ]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Chennee]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] dkjsh383ney5despap8lq49n8ir82jw 395508 395507 2026-10-28T19:49:35Z MacTire02 219 ++ 395508 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Ard-valley]] | ennym_gienneydagh = Cheeill Chennee | ennym = Keeill Chennee | ennym_dooghyssagh = {{lang|ga|Cill Chainnigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Kilkenny}} {{small|([[Baarle]])}} | jalloo_armys = COA IRL Kilkenny City.svg | jarroo-raa = | jalloo_bun_speyrey = KilkennyRiverNore.jpg | fo-heidyl_jalloo = [[An Fheoir]] ayns Keeill Chennee | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 61 | ynnyd-eggey = [http://www.kilkennycity.ie www.kilkennycity.ie] }} She '''Keeill Chennee''' ({{langx|en|Kilkenny}}, {{langx|ga|Cill Chainnigh}}) yn ard-valley as y balley coontae ayns [[Coontae Cheeill Chennee]], [[Pobblaght Nerin]]. Ta'n balley soit ayns jiass [[Queiggey Lion|Lion]] ayns sheear yiass [[Nerin]]. Ta mygeayrt 25,000 cummaltee ayns Keeill Chennee agh ta'n chooid smoo jeu soit çheumooie jeh'n valley corpagh. Ta Keeill Chennee soit {{cvt|117|km}} veih [[Divlyn]] as {{cvt|48|km}} veih [[Purt Largey]]. == Imraaghyn == {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons and category|Kilkenny - Cill Chainnigh|Kilkenny}} * [http://www.kilkennycoco.ie/ Coonseil Choontae Cheeill Chennee]&nbsp;– Ynnyd-eggey oikoil y lught-reill ynnydagh da Keeill Chennee * {{cite EB1911|wstitle=Kilkenny (city)|volume=15|pages=793–794|short=1}} {{Ard-valjyn ayns Nerin}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Keeill Chennee| ]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Chennee]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] q9y3i7dfccfygdhjsvfcsxej4ljqsdb Keeill Darey 0 6372 395509 322457 2026-10-28T19:57:43Z MacTire02 219 ++ 395509 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Cheeill Darey | ennym = Keeill Darey | ennym_dooghyssagh = {{lang|ga|Cill Dara}} {{small|([[Yernish]])}}<br/>{{lang|en|Kildare}} {{small|([[Baarle]])}} | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 45 }} Ta '''Keeill Darey''' ({{langx|en|Kildare}}; {{langx|ga|Cill Dara}}) ny valley ayns [[Coontae Cheeill Darey]], [[Pobblaght Nerin]]. Rere coontey-sleih ny bleeaney 2006 va 7,538 cummaltee<ref>[http://www.cso.ie/census/census2006results/volume_2/census_2006_vol_2_tables_14_15.pdf Census 2006 - Table 14A - Towns 10,000 population and over]</ref> ayns y valley, as myr shen t'eh yn sheyoo balley smoo ayns y choontae as y 55-oo balley smoo ayns y çheer lesh leahys bishagh 32.4% veih coontey-sleih ny bleeaney 2002. Faagail magh dy vel ennym y choontae çheet magh ass ennym y valley, she [[Naas]] y balley coontae. Ta'n balley soit er yn [[R445 (raad)|R445]] 50 km sheear veih [[Divlyn]], as lesh shen t'eh ny valley troailtagh da'n phreeu-valley. == Shennaghys == {{ardart|Shennaghys Choontae Cheeill Darey}} [[Coadan:Kildare cathedral 2003.jpg|thumb|175px|left|Ard-agglish Cheeill Darey]] Ayns traaghyn roie-Chreestee va Keeill Darey ny laaragh çhiamble da'n [[feayn-skeealleydaght Celtiagh|ven jee Celtiagh]] [[Breeshey]]. Ny yei çheet stiagh ny Creestiaght ayns y [[5oo eash|5-oo]] as y [[6oo eash|6-oo eash]] haink er dy ve ny vunneydagh da [[Breeshey Noo]] ny Creestiaght as va mannishter er lheh bunnit er laaragh yn ard-agglish noa-emshiragh. == Ynnydyn ard-ghooagh == Ta Keeill Darey ny valley da [[Ferm Griagh Ashoonagh Nern]], ny Garaghyn Shapaanagh as Garey Fiachra Noo. Ta'n chooid smoo jeh'n çheer mygeayrt ayns [[Coontae Cheeill Darey]] ymmydit da troggal cabbil. Ta coorse ratçhal [[Yn Churragh, Keeill Darey|ny Curragh]] soit faggys da'n valley. Ta [[Woodstock Estate]] soit 15 km çheu hiar yiass veh'n valley myrgeddin. <center><gallery> Image:Tea House.JPG|Ny Garaghyn Shapaanagh Image:Irish National Stud bridge of life.jpg|Droghad y Vea, Ferm Griagh Ashoonagh Nern </gallery></center> == Sleih == * [[Bláthnaid McKenna]]: Miss Ireland 2007 * [[Damien Leith]]: Cosneyder Australian Idol 2006 * [[Devon Murray]]: Seamus Finnigan ayns y straih scannaneyn Harry Potter * [[Timmy Murphy]]: Cosneyder y Grand National 2008 == Clubyn spoyrt == * [https://archive.is/20121208231447/http://www.62regiment.ie/ 62 Reserve Artillery Regiment, Curragh, 2 Eastern Reserve Brigade ] * [[Round Towers GAA (Keeill Darey)|Round Towers GAA]], [[Cumann Lúthchleas Gael]] * Cill Dara RFC, Rugby Unnaneys * Kildare Dragons, [[Rugby Leeg]] * Kildare Town A.F.C. * Kildare County F.C. == Imraaghyn == {{rolleyimraaghyn}} == Jeeagh er neesht == * [[Rolley mannishteryn as prioraghtyn ayns Pobblaght Nerin#Coontae Cheeill Darey|Rolley mannishteryn as prioraghtyn ayns Pobblaght Nerin (Coontae Cheeill Darey)]] * [[Rolley baljyn ayns Pobblaght Nerin]] * [[Thieyn margee ayns Pobblaght Nerin]] == Kianglaghyn magh == *[http://www.kildaretown.ie/ Keeill Darey] *[http://www.iarnrodeireann.ie/your_journey/your_station.asp?letter=K&action=showdetail&station_id=77 Stashoon traenagh Cheeill Darey] *[http://www.kildare.ie/local-history/kildare/history-of-kildare.htm Shennaghys Cheeill Darey] *[http://www.irish-national-stud.ie Ferm Griagh Ashoonagh Nerin] *[http://www.irish-national-stud.ie/japanese.html Ferm Griagh Ashoonagh Nerin - Ny Garaghyn Shapaanagh] {{Gurneil eaghtyrys}} [[Ronney:Keeill Darey| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Darey]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] {{sheel çheer Nerin}} 92sclzi26m6yxx6v6eavla3fi0z6thv 395510 395509 2026-10-28T19:58:23Z MacTire02 219 elley 395510 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Cheeill Darey | ennym = Keeill Darey | ennym_dooghyssagh = {{lang|ga|Cill Dara}} {{small|([[Yernish]])}}<br/>{{lang|en|Kildare}} {{small|([[Baarle]])}} | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 45 }} Ta '''Keeill Darey''' ({{langx|en|Kildare}}; {{langx|ga|Cill Dara}}) ny valley ayns [[Coontae Cheeill Darey]], [[Pobblaght Nerin]]. Rere coontey-sleih ny bleeaney 2006 va 7,538 cummaltee<ref>[http://www.cso.ie/census/census2006results/volume_2/census_2006_vol_2_tables_14_15.pdf Census 2006 - Table 14A - Towns 10,000 population and over]</ref> ayns y valley, as myr shen t'eh yn sheyoo balley smoo ayns y choontae as y 55-oo balley smoo ayns y çheer lesh leahys bishagh 32.4% veih coontey-sleih ny bleeaney 2002. Faagail magh dy vel ennym y choontae çheet magh ass ennym y valley, she [[Naas]] y balley coontae. Ta'n balley soit er yn [[R445 (raad)|R445]] 50 km sheear veih [[Divlyn]], as lesh shen t'eh ny valley troailtagh da'n phreeu-valley. == Shennaghys == {{ardart|Shennaghys Choontae Cheeill Darey}} [[Coadan:Kildare cathedral 2003.jpg|thumb|175px|left|Ard-çhiamble Cheeill Darey]] Ayns traaghyn roie-Chreestee va Keeill Darey ny laaragh çhiamble da'n [[feayn-skeealleydaght Celtiagh|ven jee Celtiagh]] [[Breeshey]]. Ny yei çheet stiagh ny Creestiaght ayns y [[5oo eash|5-oo]] as y [[6oo eash|6-oo eash]] haink er dy ve ny vunneydagh da [[Breeshey Noo]] ny Creestiaght as va mannishter er lheh bunnit er laaragh yn ard-agglish noa-emshiragh. == Ynnydyn ard-ghooagh == Ta Keeill Darey ny valley da [[Ferm Griagh Ashoonagh Nern]], ny Garaghyn Shapaanagh as Garey Fiachra Noo. Ta'n chooid smoo jeh'n çheer mygeayrt ayns [[Coontae Cheeill Darey]] ymmydit da troggal cabbil. Ta coorse ratçhal [[Yn Churragh, Keeill Darey|ny Curragh]] soit faggys da'n valley. Ta [[Woodstock Estate]] soit 15 km çheu hiar yiass veh'n valley myrgeddin. <center><gallery> Image:Tea House.JPG|Ny Garaghyn Shapaanagh Image:Irish National Stud bridge of life.jpg|Droghad y Vea, Ferm Griagh Ashoonagh Nern </gallery></center> == Sleih == * [[Bláthnaid McKenna]]: Miss Ireland 2007 * [[Damien Leith]]: Cosneyder Australian Idol 2006 * [[Devon Murray]]: Seamus Finnigan ayns y straih scannaneyn Harry Potter * [[Timmy Murphy]]: Cosneyder y Grand National 2008 == Clubyn spoyrt == * [https://archive.is/20121208231447/http://www.62regiment.ie/ 62 Reserve Artillery Regiment, Curragh, 2 Eastern Reserve Brigade ] * [[Round Towers GAA (Keeill Darey)|Round Towers GAA]], [[Cumann Lúthchleas Gael]] * Cill Dara RFC, Rugby Unnaneys * Kildare Dragons, [[Rugby Leeg]] * Kildare Town A.F.C. * Kildare County F.C. == Imraaghyn == {{rolleyimraaghyn}} == Jeeagh er neesht == * [[Rolley mannishteryn as prioraghtyn ayns Pobblaght Nerin#Coontae Cheeill Darey|Rolley mannishteryn as prioraghtyn ayns Pobblaght Nerin (Coontae Cheeill Darey)]] * [[Rolley baljyn ayns Pobblaght Nerin]] * [[Thieyn margee ayns Pobblaght Nerin]] == Kianglaghyn magh == *[http://www.kildaretown.ie/ Keeill Darey] *[http://www.iarnrodeireann.ie/your_journey/your_station.asp?letter=K&action=showdetail&station_id=77 Stashoon traenagh Cheeill Darey] *[http://www.kildare.ie/local-history/kildare/history-of-kildare.htm Shennaghys Cheeill Darey] *[http://www.irish-national-stud.ie Ferm Griagh Ashoonagh Nerin] *[http://www.irish-national-stud.ie/japanese.html Ferm Griagh Ashoonagh Nerin - Ny Garaghyn Shapaanagh] {{Gurneil eaghtyrys}} [[Ronney:Keeill Darey| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Darey]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] {{sheel çheer Nerin}} o6sw8jgy9fwxbencbhyeqajy3i89jtq Beeal Aah ny Sluigh 0 6447 395542 279037 2026-10-29T01:27:14Z MacTire02 219 ++ 395542 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym = Beeal Aah ny Sluigh | ennym_gienneydagh = Veeal Aah ny Sluigh | ennym_dooghyssagh = {{lang|ga|Béal Átha na Sluaighe}} {{small|([[Yernish]])}}<br/>{{lang|en|Ballinasloe}} {{small|([[Baarle]])}} | jalloo_armys = Ballinasloe town arms.jpg | jalloo_brattagh = none | jalloo = Society_Street.jpg | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 90 }} Ta '''Beeal Aah ny Sluigh''' ({{langx|ga|Béal Átha na Sluaighe}}, {{langx|en|Ballinasloe}}) ny valley ayns [[Coontae ny Galliu]] shiar, [[Pobblaght Nerin|Nerin]]. Va'n balley ny cheyllys straiddey er y vollagh eddyr [[Galliu]] as [[Divlyn]], agh va'n balley shaghnit er 18 Mee ny Nollick 2009 liorish bayr gleashtanagh yn [[M6 (raad Nerin)|M6]]. Daase y balley myr boayl aahoil er [[An tSuca|Awin an tSuca]], crouw-awin jeh'n [[Yn Çhannon|Çhannon]]. ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} [[Ronney:Beeal Aah ny Sluigh| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae ny Galliu]] [[Ronney:Eear-slystyn baljagh ayns Coontae ny Galliu]] {{sheel çheer Nerin}} gwv1mosdejgf44g0a7j7gbn0llroks3 Coontae Phurt Largey 0 6666 395472 336769 2026-10-28T14:45:19Z MacTire02 219 ++ 395472 wikitext text/x-wiki {{Kishtey fys boayl |ennym = Coontae Phurt Largey |ennym_gienneydagh = Choontae Phurt Largey |ennym_dooghyssagh = {{lang|ga|Contae Phort Láirge|italics=no}} {{small|([[Yernish]])}}<br/>{{lang|en|County Waterford|italics=no}} {{small|([[Baarle]])}} |jalloo_armys = Cullee Choontae Phurt Largey.png |jarroo-raa = Déisi oc Declán co Bráth |çhyndaa_jarroo-raa= Déisi as Declán dy Bragh |çhengey_jarroo-raa= Yernish |jalloo=none |jalloo_caslys-çheerey = Island of Ireland location map Waterford.svg |ayrnyn=none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Purt Largey''' ny '''Coontae Phurt Largey'''. Ta'n coontae soit 'sy [[Yn Vooan|Vooan]], nane jeh ny queiggaghyn Yernagh. She [[Purt Largey]] yn balley coontae. ==Imraaghyn== {{reflist}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Phurt Largey}} {{bun}} [[Ronney:Coontae Phurt Largey| ]] [[Ronney:Queiggey Mooan]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] qexhpjjytvzavit1p4jp3cvk5kab0fj Coontae Chorkee 0 6668 395466 336787 2026-10-28T13:03:17Z MacTire02 219 ++ 395466 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Choontae Chorkee | ennym = Coontae Chorkee | ennym_dooghyssagh = {{lang|ga|Contae Chorcaí|italics=no}} {{small|([[Yernish]])}}<br />{{lang|en|County Cork|italics=no}} {{small|([[Baarle]])}} | sorçh_balley = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = | jalloo_armys = | mooadys_armys = 80px | ayrnyn = none | jalloo_caslys-çheerey = Island of Ireland location map Tipperary.svg | sorçh_soieag = Balley coontae | soieag = [[Corkee] | sorçh_reiltys = [[Coonseil coontae]] | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Corkee''' ny '''Coontae Chorkee'''. Ta'n coontae soit 'sy [[Yn Vooan|Vooan]], nane jeh ny queiggaghyn Yernagh. She [[Corkee]] y [[preeu-valley]]. ==Imraaghyn== {{reflist}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Chorkee}} [[Ronney:Coontae Chorkee| ]] [[Ronney:Queiggey Mooan]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] rao95h1a1gssvub6z3xjftbv3ri4m6x 395467 395466 2026-10-28T13:03:32Z MacTire02 219 ++ 395467 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Choontae Chorkee | ennym = Coontae Chorkee | ennym_dooghyssagh = {{lang|ga|Contae Chorcaí|italics=no}} {{small|([[Yernish]])}}<br />{{lang|en|County Cork|italics=no}} {{small|([[Baarle]])}} | sorçh_balley = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = | jalloo_armys = | mooadys_armys = 80px | ayrnyn = none | jalloo_caslys-çheerey = Island of Ireland location map Tipperary.svg | sorçh_soieag = Balley coontae | soieag = [[Corkee]] | sorçh_reiltys = [[Coonseil coontae]] | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Corkee''' ny '''Coontae Chorkee'''. Ta'n coontae soit 'sy [[Yn Vooan|Vooan]], nane jeh ny queiggaghyn Yernagh. She [[Corkee]] y [[preeu-valley]]. ==Imraaghyn== {{reflist}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Chorkee}} [[Ronney:Coontae Chorkee| ]] [[Ronney:Queiggey Mooan]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] dlsjam8gq641ytexixyh3i6cziais3a Coontae Cherree 0 6670 395473 336790 2026-10-28T15:02:28Z MacTire02 219 ++ 395473 wikitext text/x-wiki {{Kishtey fys boayl |ennym = Coontae Cherree |ennym_gienneydagh = Choontae Cherree |ennym_dooghyssagh = {{lang|ga|Contae Chiarraí|italics=no}} {{small|([[Yernish]])}}<br/>{{lang|en|County Kerry|italics=no}} {{small|([[Baarle]])}} |jalloo_armys = Cullee Choontae Cherree.png |mooadys_armys = 100px |jarroo-raa = Comhar, Cabhair, Cairdeas |çhyndaa_jarroo-raa= Co-obbyr, Cooney, Caarjys |çhengey_jarroo-raa= Yernish |çhengaghyn = {{hlist|[[Yernish]]|[[Baarle]]}} |jalloo=none |jalloo_caslys-çheerey = Island of Ireland location map Kerry.svg |ayrnyn=none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Kerree''' ny '''Coontae Cherree''' ({{langx|ga|Contae Chiarraí}}, {{lanx|en|County Kerry}}). Ta'n coontae soit 'sy [[Yn Vooan|Vooan]], nane jeh ny queiggaghyn Yernagh. She [[Traie Lee]] y [[preeu-valley]]. ==Imraaghyn== {{reflist}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{bun}} {{DEFAULTSORT:Cherree}} [[Ronney:Coontae Cherree| ]] [[Ronney:Queiggey Mooan]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] 9sx3hn8tm27992nyk442y4i5vejecln 395474 395473 2026-10-28T15:17:32Z MacTire02 219 clowan kiartit 395474 wikitext text/x-wiki {{Kishtey fys boayl |ennym = Coontae Cherree |ennym_gienneydagh = Choontae Cherree |ennym_dooghyssagh = {{lang|ga|Contae Chiarraí|italics=no}} {{small|([[Yernish]])}}<br/>{{lang|en|County Kerry|italics=no}} {{small|([[Baarle]])}} |jalloo_armys = Cullee Choontae Cherree.png |mooadys_armys = 100px |jarroo-raa = Comhar, Cabhair, Cairdeas |çhyndaa_jarroo-raa= Co-obbyr, Cooney, Caarjys |çhengey_jarroo-raa= Yernish |çhengaghyn = {{hlist|[[Yernish]]|[[Baarle]]}} |jalloo=none |jalloo_caslys-çheerey = Island of Ireland location map Kerry.svg |ayrnyn=none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Kerree''' ny '''Coontae Cherree''' ({{langx|ga|Contae Chiarraí}}, {{langx|en|County Kerry}}). Ta'n coontae soit 'sy [[Yn Vooan|Vooan]], nane jeh ny queiggaghyn Yernagh. She [[Traie Lee]] y [[preeu-valley]]. ==Imraaghyn== {{reflist}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{bun}} {{DEFAULTSORT:Cherree}} [[Ronney:Coontae Cherree| ]] [[Ronney:Queiggey Mooan]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] 7tforzg09wuvr6i3kjkcai6bcon2cgi Coontae Limmeragh 0 6674 395477 336771 2026-10-28T15:33:38Z MacTire02 219 ++ 395477 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Choontae Limmeragh | ennym = Coontae Limmeragh | ennym_dooghyssagh = {{lang|ga|Contae Luimnigh}} {{small|([[Yernish]])}}<br/>{{lang|en|County Limerick}} {{small|([[Baarle]])}} | sorçh_balley = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = Cuimhnigh ar Luimneach | çhyndaa_jarroo-raa = Cooinee er Limmeragh | çhengey_jarroo-raa = Yernish | jalloo = none | jalloo_armys = | mooadys_armys = 100px | jalloo_caslys-çheerey = Island of Ireland location map Limerick.svg | ayrnyn = none | çhengaghyn = | sorçh_reiltys = Coonseil coontae | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] eh '''Limmeragh''' ny '''Coontae Limmeragh''' ({{langx|ga|Contae Luimnigh}}, {{langx|en|County Limerick}}). Ta'n coontae soit 'sy [[Yn Vooan|Vooan]], nane jeh ny queiggaghyn Yernagh. She [[Limmeragh]] y [[preeu-valley]]. ==Imraaghyn== {{reflist}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Limmeragh}} {{bun}} [[Ronney:Coontae Limmeragh| ]] [[Ronney:Queiggey Mooan]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] p1f7xx2moebafz6362zwef2ducmaj87 Coontae Hybbyrt Aarey 0 6676 395465 395464 2026-10-28T12:45:40Z MacTire02 219 ++ 395465 wikitext text/x-wiki {{Kishtey fys boayl | ennym_gienneydagh = Choontae Hybbyrt Aarey | ennym = Coontae Hybbyrt Aarey | ennym_dooghyssagh = {{lang|ga|Contae Thiobraid Árann|italics=no}} {{small|([[Yernish]])}}<br />{{lang|en|County Tipperary|italics=no}} {{small|([[Baarle]])}} | sorçh_balley = [[Coondaeghyn Nerin|Coontae]] | jarroo-raa = | jalloo_armys = | mooadys_armys = 80px | ayrnyn = none | jalloo_caslys-çheerey = Island of Ireland location map Tipperary.svg | sorçh_soieag = Balley coontae | soieag = [[An tAonach]]<br />[[Cluain Meala]] | sorçh_reiltys = [[Coonseil coontae]] | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[Coondaeghyn Nerin|coontae]] ayns [[Pobblaght Nerin|Nerin]] eh '''Çhybbyrt Aarey''' ny '''Coontae Hybbyrt Aarey''' ({{langx|ga|Contae Thiobraid Árann}}; {{langx|en|County Tipperary}}). Ta'n coontae soit 'sy [[Yn Vooan|Vooan]], nane jeh ny [[Queiggaghyn Nerin|queiggaghyn]] Yernagh. ==Imraaghyn== {{reflist}} {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Hybbyrt Aarey}} {{bun}} [[Ronney:Coontae Hybbyrt Aarey| ]] [[Ronney:Queiggey Mooan]] [[Ronney:Coondaeghyn Phobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] omrab9b8zukjpwepr28lgxalhmbuzdn Çhybbyrt Aarey Yiass 0 6679 395558 360030 2026-10-29T11:52:54Z MacTire02 219 ++ 395558 wikitext text/x-wiki {{Kishtey fys boayl |ennym = Çhybbyrt Aarey Yiass |ennym_gienneydagh = Hybbyrt Aarey Yiass |ennym_dooghyssagh = {{lang|ga|Tiobraid Árann Theas|italics=no}} {{small|([[Yernish]])}}<br/>{{lang|en|South Tipperary|italics=no}} {{small|([[Baarle]])}} |sorçh_boayl = [[Coondaeghyn Nerin|Eear-choontae]] |jalloo_armys = Cullee Choontae Hybbyrt Aarey Yiass.png |jarroo-raa = {{lang|la|Vallis Aurea Suriensis}} |çhyndaa_jarroo-raa= Glion Airhey an tSiúir |çhengey_jarroo-raa= Ladjyn |enmys_bunneeaght = Crooit |date_bunneeaght = 1 Averil 1899 |enmys_bunneeaght2 = Scrysst |date_bunneeaght2 = 1 Mean Souree 2014 |jalloo=none |jalloo_caslys-çheerey = Island of Ireland location map South Tipperary.svg |fo-heidyl_caslys-çheerey = Çhybbyrt Aarey Yiass ayns eayney dorraghey |ayrnyn=none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She [[coontae]] ayns [[Pobblaght Nerin]] va '''Çhybbyrt Aarey Yiass''' ny '''Coontae Hybbyrt Aarey Yiass''' ({{langx|ga|Contae Thiobraid Árann Theas}}, {{langx|en|County of South Tipperary}}). Va'n coontae soit 'sy [[Yn Vooan|Vooan]], nane jeh ny queiggaghyn Yernagh. Er 1 Mean Souree 2014 v'eh er ny aa-unnaneyssey rish [[Çhybbyrt Aarey Hwoaie]] myr [[Coontae Hybbyrt Aarey]]. {{Nerin - Coondaeghyn}} {{Gurneil eaghtyrys}} {{bun}} {{DEFAULTSORT:Chybbyrt Aarey Yiass}} [[Ronney:Çhybbyrt Aarey Yiass| ]] [[Ronney:Coontae Hybbyrt Aarey| Yiass]] [[Ronney:Queiggey Mooan]] [[Ronney:Jee-vunneeaghtyn ayns Nerin 'sy vlein 2014]] [[Ronney:Eear-choondaeghyn Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy vlein 1899]] [[Ronney:Steatyn as thallooyn bunnit 'sy vlein 1899]] [[Ronney:Steatyn as thallooyn jee-vunnit 'sy vlein 2014]] 8csg8bsa169ia8642ahjwcsty25fz8s Corkee 0 6684 395529 360207 2026-10-29T00:49:31Z MacTire02 219 ++; ny smoo ry-yannoo 395529 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Ard-valley]] | ennym = Corkee | ennym_gienneydagh = Chorkee | ennym_dooghyssagh = {{lang|ga|Corcaigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Cork}} {{small|([[Baarle]])}} | jalloo_armys = Cork (Ireland) coat of arms.svg | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | enmys_bunneeaght = Bunnit | date_bunneeaght = 6oo eash | enmys_bunneeaght2 = Cairyn ard-valjagh | date_bunneeaght2 = 1185 | jarroo-raa = {{lang|la|Statio Bene Fida Carinis}} | çhyndaa_jarroo-raa = Purt hauçhey da lhongyn | çhengey_jarroo-raa = Ladjyn | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 21 }} Ta '''Corkee''' ({{langx|en|Cork}}, {{langx|ga|Corcaigh}}) ny [[Rolley baljyn ayns Pobblaght Nerin rere earroo yn phobble|nah ard-valley smoo]] ayns [[Pobblaght Nerin]] as ny treeoo ard-valley smoo er yn [[Nerin|ellan]]. T'ee ny [[preeu-valley]] er [[Coontae Chorkee]] as ny h-ard-valley smoo ayns [[Queiggey Mooan]]. Ta {{WD Earroo yn Phobble}} sleih cummal 'syn ard-valley hene, as ta ny smoo na 70,000 cummaltee ayns ny fo-valjyn. Ta'n ard-valley troggit er brooinyn [[An Laoi]] as yn awin shen rheynnit ayns daa vollagh 'sy çheu heear jeh'n ard-valley. Ta çheshvean yn ard-valley soit er yn ellan eddyr y daa vollagh jeh'n awin, as t'ad çheet ry-cheilley reesht ec y çheu hiar. == Imraaghyn == {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons and category|Cork|Cork (city)}} * [http://www.corkcity.ie/ Ynnyd-eggey Choonseil Ard-valley Chorkee] * {{cite EB1911|wstitle=Cork (city)|volume=7|pages=158–160|short=1}} {{Caayryn ayns Nerin}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Corkee| ]] [[Ronney:Coontae Chorkee]] [[Ronney:Ard-valjyn ayns Pobblaght Nerin]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy 6oo eash]] [[Ronney:Buill chummaltit bunnit 'sy 6oo eash]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[ROnney:Queiggey Mooan]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Puirt undinagh]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Chorkee]] [[Ronney:Buill chummaltit yn Eash Loghlynagh]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] 5a58lpr2tw7cdw3afysp59zp0p49kgc 395533 395529 2026-10-29T01:06:18Z MacTire02 219 ++ 395533 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Ard-valley]] | ennym = Corkee | ennym_gienneydagh = Chorkee | ennym_dooghyssagh = {{lang|ga|Corcaigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Cork}} {{small|([[Baarle]])}} | jalloo_armys = Cork (Ireland) coat of arms.svg | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | enmys_bunneeaght = Bunnit | date_bunneeaght = 6oo eash | enmys_bunneeaght2 = Cairyn ard-valjagh | date_bunneeaght2 = 1185 | jarroo-raa = {{lang|la|Statio Bene Fida Carinis}} | çhyndaa_jarroo-raa = Purt hauçhey da lhongyn | çhengey_jarroo-raa = Ladjyn | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 21 }} Ta '''Corkee''' ({{langx|en|Cork}}, {{langx|ga|Corcaigh}}) ny [[Rolley baljyn ayns Pobblaght Nerin rere earroo yn phobble|nah ard-valley smoo]] ayns [[Pobblaght Nerin]] as ny treeoo ard-valley smoo er yn [[Nerin|ellan]]. T'ee ny [[preeu-valley]] er [[Coontae Chorkee]] as ny h-ard-valley smoo ayns [[Queiggey Mooan]]. Ta {{WD Earroo yn Phobble}} sleih cummal 'syn ard-valley hene, as ta ny smoo na 70,000 cummaltee ayns ny fo-valjyn. Ta'n ard-valley troggit er brooinyn [[An Laoi]] as yn awin shen rheynnit ayns daa vollagh 'sy çheu heear jeh'n ard-valley. Ta çheshvean yn ard-valley soit er yn ellan eddyr y daa vollagh jeh'n awin, as t'ad çheet ry-cheilley reesht ec y çheu hiar. == Imraaghyn == {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons and category|Cork|Cork (city)}} * [http://www.corkcity.ie/ Ynnyd-eggey Choonseil Ard-valley Chorkee] * {{cite EB1911|wstitle=Cork (city)|volume=7|pages=158–160|short=1}} {{Caayryn ayns Nerin}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Corkee| ]] [[Ronney:Coontae Chorkee]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy 6oo eash]] [[Ronney:Ard-valjyn ayns Pobblaght Nerin]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[Ronney:Buill chummaltit bunnit 'sy 6oo eash]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Buill chummaltit yn Eash Loghlynagh]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Buill chummaltit varrey ayns Pobblaght Nerin]] [[Ronney:Puirt undinagh]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Chorkee]] hhclfyb020gyavtjplndmu07ee9jqd1 395534 395533 2026-10-29T01:06:44Z MacTire02 219 cha nel brattagh oikoil ayn 395534 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Ard-valley]] | ennym = Corkee | ennym_gienneydagh = Chorkee | ennym_dooghyssagh = {{lang|ga|Corcaigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Cork}} {{small|([[Baarle]])}} | jalloo_armys = Cork (Ireland) coat of arms.svg | jalloo_brattagh = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | enmys_bunneeaght = Bunnit | date_bunneeaght = 6oo eash | enmys_bunneeaght2 = Cairyn ard-valjagh | date_bunneeaght2 = 1185 | jarroo-raa = {{lang|la|Statio Bene Fida Carinis}} | çhyndaa_jarroo-raa = Purt hauçhey da lhongyn | çhengey_jarroo-raa = Ladjyn | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 21 }} Ta '''Corkee''' ({{langx|en|Cork}}, {{langx|ga|Corcaigh}}) ny [[Rolley baljyn ayns Pobblaght Nerin rere earroo yn phobble|nah ard-valley smoo]] ayns [[Pobblaght Nerin]] as ny treeoo ard-valley smoo er yn [[Nerin|ellan]]. T'ee ny [[preeu-valley]] er [[Coontae Chorkee]] as ny h-ard-valley smoo ayns [[Queiggey Mooan]]. Ta {{WD Earroo yn Phobble}} sleih cummal 'syn ard-valley hene, as ta ny smoo na 70,000 cummaltee ayns ny fo-valjyn. Ta'n ard-valley troggit er brooinyn [[An Laoi]] as yn awin shen rheynnit ayns daa vollagh 'sy çheu heear jeh'n ard-valley. Ta çheshvean yn ard-valley soit er yn ellan eddyr y daa vollagh jeh'n awin, as t'ad çheet ry-cheilley reesht ec y çheu hiar. == Imraaghyn == {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons and category|Cork|Cork (city)}} * [http://www.corkcity.ie/ Ynnyd-eggey Choonseil Ard-valley Chorkee] * {{cite EB1911|wstitle=Cork (city)|volume=7|pages=158–160|short=1}} {{Caayryn ayns Nerin}} {{Gurneil eaghtyrys}} {{sheel çheer Nerin}} [[Ronney:Corkee| ]] [[Ronney:Coontae Chorkee]] [[Ronney:Bunneeaghtyn ayns Nerin 'sy 6oo eash]] [[Ronney:Ard-valjyn ayns Pobblaght Nerin]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Ardjyn gurneilys ynnydagh Phobblaght Nerin]] [[Ronney:Buill chummaltit bunnit 'sy 6oo eash]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Buill chummaltit yn Eash Loghlynagh]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Buill chummaltit varrey ayns Pobblaght Nerin]] [[Ronney:Puirt undinagh]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Chorkee]] naldy3wj00elm5yfk94o7qran300a9x Kione Sailley 0 7746 395526 275187 2026-10-29T00:16:24Z MacTire02 219 ++ 395526 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Chione Sailley | ennym = Kione Sailley | ennym_dooghyssagh = {{lang|ga|Cionn tSáile}} {{small|([[Yernish]])}}<br/>{{lang|en|Kinsale}} {{small|([[Baarle]])}} | jalloo_armys = | jalloo = | fo-heidyl_jalloo = | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 21 }} Ta '''Kione Sailley''' ({{langx|ga|Cionn tSáile}}, {{langx|en|Kinsale}}) ny valley ayns [[Coontae Chorkee]], [[Pobblaght Nerin]]. T'eh soit {{cvt|25|km}} çheu yiass veih ard-valley [[Corkee|Chorkee]] er y choose. Rere coontey-pobble ny bleeaney 2006 va 2,298 cummaltee 'sy valley hene as 1,801 cummaltee 'sy fo-valley. == Imraaghyn == {{rolleyimraaghyn}} ==Jeeagh er neesht== * [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin]] {{gurneil eaghtyrys}} [[Ronney:Kione Sailley| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Chorkee]] [[Ronney:Skeeraghyn theayagh Choontae Chorkee]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] {{sheel çheer Nerin}} qn95rjs0gm428rredt59n3iz4l3g559 Inver Mooar 0 7750 395512 275189 2026-10-28T21:21:25Z MacTire02 219 ++ 395512 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Inver Mooar | ennym = Inver Mooar | jalloo_armys = Cullee valley inver mooar.png | jarroo-raa = {{lang|ga|Maoin na mara ár muinighin}} | çhengey_jarroo-raa = Yernish | çhyndaa_jarroo-raa = She cooid ny marrey y treisht ain | ennym_dooghyssagh = {{lang|ga|An tInbhear Mór}} {{small|([[Yernish]])}}<br/>{{lang|en|Arklow}} {{small|([[Baarle]])}} | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 404 }} Ta '''Inver Mooar''' ({{langx|ga|An tInbhear Mór}}; {{langx|en|Arklow}}) ny valley shendeeagh ayns [[Coontae Cheeill Mantan]] er coose hiar [[Pobblaght Nerin|Nerin]]. Va'n balley bunnit 'sy nuyoo eash liorish [[ny Loghlynee]], as v'eh ny voayl er nane jeh ny caggaghyn smoo fuilltagh ayns [[Irree magh Nerin (1798)|Irree magh ny bleeaney 1798]]. Nish, t'eh ny valley troailtagh lesh 11,759 cummaltee rere coontey-pobble ny bleeaney 2006, as t'eh ny treeoo balley smoo 'sy choontae. Ta'n balley soit ec inver ny h-awin [[Abhóca (awin)|Abhóca]]. == Jeeagh er neesht == * [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin]] ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} [[Ronney:Inver Mooar| ]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Mantan]] [[Ronney:Baljyn eirinagh ayns Coontae Cheeill Mantan]] [[Ronney:Skeeraghyn theayagh Choontae Cheeill Mantan]] [[Ronney:Buill chummaltit yn Eash Loghlynagh]] [[Ronney:Ard-valjyn as baljyn purtey er Mooir Vannin]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] {{Sheel çheer Nerin}} pf66fxhd3c4r7cpqbjg9jobkh6nqgxw 395513 395512 2026-10-28T21:21:59Z MacTire02 219 ++ 395513 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym_gienneydagh = Inver Mooar | ennym = Inver Mooar | jalloo_armys = Cullee valley inver mooar.png | jarroo-raa = {{lang|ga|Maoin na mara ár muinighin}} | çhengey_jarroo-raa = Yernish | çhyndaa_jarroo-raa = She cooid ny marrey y treisht ain | ennym_dooghyssagh = {{lang|ga|An tInbhear Mór}} {{small|([[Yernish]])}}<br/>{{lang|en|Arklow}} {{small|([[Baarle]])}} | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 404 }} Ta '''Inver Mooar''' ({{langx|ga|An tInbhear Mór}}; {{langx|en|Arklow}}) ny valley shendeeagh ayns [[Coontae Cheeill Mantan]] er coose hiar [[Pobblaght Nerin|Nerin]]. Va'n balley bunnit 'sy nuyoo eash liorish [[ny Loghlynee]], as v'eh ny voayl er nane jeh ny caggaghyn smoo fuilltagh ayns [[Irree magh Nerin (1798)|Irree magh ny bleeaney 1798]]. Nish, t'eh ny valley troailtagh lesh 11,759 cummaltee rere coontey-pobble ny bleeaney 2006, as t'eh ny treeoo balley smoo 'sy choontae. Ta'n balley soit ec inver yn awin [[Abhóca (awin)|Abhóca]]. ==Imraaghyn== {{rolleyimraaghyn}} == Jeeagh er neesht == * [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin]] {{Gurneil eaghtyrys}} [[Ronney:Inver Mooar| ]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Cheeill Mantan]] [[Ronney:Baljyn eirinagh ayns Coontae Cheeill Mantan]] [[Ronney:Skeeraghyn theayagh Choontae Cheeill Mantan]] [[Ronney:Buill chummaltit yn Eash Loghlynagh]] [[Ronney:Ard-valjyn as baljyn purtey er Mooir Vannin]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] {{Sheel çheer Nerin}} de8apdhpz0ugvjmz27eqpjirpctupxq Yn Cavan 0 7751 395496 275190 2026-10-28T17:25:03Z MacTire02 219 ++ 395496 wikitext text/x-wiki {{Kishtey fys boayl |sorçh_boayl = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] |ennym = Yn Cavan |ennym_gienneydagh = y Chavan |ennym_dooghyssagh = {{lang|ga|An Cabhán}} {{small|([[Yernish]])}}<br/>{{lang|en|Cavan}} {{small|([[Baarle]])}} |jalloo_armys = Cullee choonseil Valley yn Chavan.png |mooadys_armys = 100px |jarroo-raa = {{lang|la|Fortitudine et Prudentia}} |çhyndaa_jarroo-raa= Marish Niart Aigney as Creenaght | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} Ta'n '''Cavan''' ({{langx|ga|An Cabhán}}; {{langx|en|Cavan}}) ny valley coontae er [[Coontae yn Chavan]] ayns [[Pobblaght Nerin]]. Ta'n balley ny lhie ayns shiar hwoaie yn [[Nerin|ellan]], faggys da'n joarey rish [[Nerin Hwoaie]]. Ta'n balley soit er y raad [[N3 (raad)|N3]]. == Imraaghyn == {{rolleyimraaghyn}} == Jeeagh er neesht == * [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin]] {{commons|Cavan|Yn Cavan}} {{gurneil eaghtyrys}} {{DEFAULTSORT:Cavan, Yn}} [[Ronney:Yn Cavan| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae yn Chavan]] [[Ronney:Baljyn coontae ayns Pobblaght Nerin]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] {{sheel çheer Nerin}} mo3looga248a25npqdrgd3v6o1jl24v Bun Dobhráin 0 15213 395554 286053 2026-10-29T02:13:29Z MacTire02 219 ++ 395554 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym = Bun Dobhráin | ennym_gienneydagh = Bun Dobhráin | ennym_dooghyssagh = {{lang|ga|Bun Dobhráin}} {{small|([[Yernish]])}}<br/>{{lang|en|Bundoran}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo_armys = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 71 }} | mooadys_armys = | jarroo-raa = Fáilte, Sláinte, Beoite<br />"''Failt, Slaynt, Bioit''" She balley ayns jiass [[Coontae Ghoon ny Ghoal|Choontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]] eh '''Bun Dobhráin''' ({{lang-en|Bundoran}}; [[Yernish]] son "Bun Ushtey Beg" ny "Bun Doourane"). Ta'n balley ny hoie er yn [[N15 (raad ayns Nerin)|N15]] faggys da [[Béal Átha Seanaidh]] eddyr [[Doon ny Ghoal]] as [[Shliggagh]]. Ta enney mooar er y valley myr fer jeh ny buill heyrey çheu faarkey share ayns Nerin. Ta'n balley er ny scarrey magh ayns daa rheynn liorish awin an Bhradóg - y Çheu Heear as y Çheu Hiar. Rere y choontey-phobble 'sy vlein 2006 va 1,706 sleih cummal 'sy valley hene, as 888 sleih elley ayns ny binn mygeayrt y mysh. == Kianglaghyn magh== {{commonscat|Bundoran|Bun Dobhráin}} * [http://www.bundoran.ie Ynnyd-eggey oikoil y valley] * [http://www.discoverbundoran.com/ Discover Bundoran - stiurag hurryssagh oikoil] ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Bun Dobhrain}} [[Ronney:Bun Dobhráin| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Traieyn Choontae Ghoon ny Ghoal]] [[Ronney:Ynnydyn seyrey marrey ayns Pobblaght Nerin]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Laaraghyn markiaght tonn ayns Nerin]] [[Ronney:Pairkyn gammanyn ayns Nerin]] {{Sheel çheer Nerin}} cxesw1p6p1rpkgecgncr2ra1huwb7fz 395555 395554 2026-10-29T02:13:42Z MacTire02 219 -- 395555 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym = Bun Dobhráin | ennym_gienneydagh = Bun Dobhráin | ennym_dooghyssagh = {{lang|ga|Bun Dobhráin}} {{small|([[Yernish]])}}<br/>{{lang|en|Bundoran}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo_armys = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 71 }} She balley ayns jiass [[Coontae Ghoon ny Ghoal|Choontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]] eh '''Bun Dobhráin''' ({{lang-en|Bundoran}}; [[Yernish]] son "Bun Ushtey Beg" ny "Bun Doourane"). Ta'n balley ny hoie er yn [[N15 (raad ayns Nerin)|N15]] faggys da [[Béal Átha Seanaidh]] eddyr [[Doon ny Ghoal]] as [[Shliggagh]]. Ta enney mooar er y valley myr fer jeh ny buill heyrey çheu faarkey share ayns Nerin. Ta'n balley er ny scarrey magh ayns daa rheynn liorish awin an Bhradóg - y Çheu Heear as y Çheu Hiar. Rere y choontey-phobble 'sy vlein 2006 va 1,706 sleih cummal 'sy valley hene, as 888 sleih elley ayns ny binn mygeayrt y mysh. == Kianglaghyn magh== {{commonscat|Bundoran|Bun Dobhráin}} * [http://www.bundoran.ie Ynnyd-eggey oikoil y valley] * [http://www.discoverbundoran.com/ Discover Bundoran - stiurag hurryssagh oikoil] ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Bun Dobhrain}} [[Ronney:Bun Dobhráin| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Traieyn Choontae Ghoon ny Ghoal]] [[Ronney:Ynnydyn seyrey marrey ayns Pobblaght Nerin]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Laaraghyn markiaght tonn ayns Nerin]] [[Ronney:Pairkyn gammanyn ayns Nerin]] {{Sheel çheer Nerin}} tib8ovtamcelbxx0z65ho8zm5j8wjfn 395556 395555 2026-10-29T02:14:07Z MacTire02 219 ++ 395556 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym = Bun Dobhráin | ennym_gienneydagh = Bun Dobhráin | ennym_dooghyssagh = {{lang|ga|Bun Dobhráin}} {{small|([[Yernish]])}}<br/>{{lang|en|Bundoran}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo_armys = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 71 }} She balley ayns jiass [[Coontae Ghoon ny Ghoal|Choontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]] eh '''Bun Dobhráin''' ({{langx|en|Bundoran}}; [[Yernish]] son "Bun Ushtey Beg" ny "Bun Doourane"). Ta'n balley ny hoie er yn [[N15 (raad ayns Nerin)|N15]] faggys da [[Béal Átha Seanaidh]] eddyr [[Doon ny Ghoal]] as [[Shliggagh]]. Ta enney mooar er y valley myr fer jeh ny buill heyrey çheu faarkey share ayns Nerin. Ta'n balley er ny scarrey magh ayns daa rheynn liorish awin an Bhradóg - y Çheu Heear as y Çheu Hiar. Rere y choontey-phobble 'sy vlein 2006 va 1,706 sleih cummal 'sy valley hene, as 888 sleih elley ayns ny binn mygeayrt y mysh. == Kianglaghyn magh== {{commonscat|Bundoran|Bun Dobhráin}} * [http://www.bundoran.ie Ynnyd-eggey oikoil y valley] * [http://www.discoverbundoran.com/ Discover Bundoran - stiurag hurryssagh oikoil] ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Bun Dobhrain}} [[Ronney:Bun Dobhráin| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Traieyn Choontae Ghoon ny Ghoal]] [[Ronney:Ynnydyn seyrey marrey ayns Pobblaght Nerin]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Laaraghyn markiaght tonn ayns Nerin]] [[Ronney:Pairkyn gammanyn ayns Nerin]] {{Sheel çheer Nerin}} 321ozxxzs7mmies1alf7d2qeo37mgy8 Béal Átha Seanaidh 0 15234 395550 378781 2026-10-29T01:53:35Z MacTire02 219 ++ 395550 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym = Béal Átha Seanaidh | ennym_gienneydagh = Béal Átha Seanaidh | ennym_dooghyssagh = {{lang|ga|Béal Átha Seanaidh}} {{small|([[Yernish]])}}<br/>{{lang|en|Ballyshannon}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo_armys = HerbBallyshannon3.gif | mooadys_armys = 100px | jarroo-raa = {{lang|la|Fluminis Corona}} | çhengey_jarroo-raa = Ladjyn | çhyndaa_jarroo-raa = Crooin yn Awin | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 71 }} She balley ayns jiass [[Coontae Ghoon ny Ghoal|Choontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]] eh '''Béal Átha Seanaidh''' ({{langx|en|Ballyshannon}}; [[Yernish]] son "Beeal Aah Seanaigh" ny "Beeal Aah Seanaidh"). Ta'n balley ny hoie er yn [[N15 (raad ayns Nerin)|N15]] faggys da [[Bun Dobhráin]] eddyr [[Doon ny Ghoal]] as [[Shliggagh]]. Ta'n balley soit er inver Awin [[an Éirne]] == Kianglaghyn magh== {{commonscat|Ballyshannon|Béal Átha Seanaidh}} * [https://web.archive.org/web/20070521014702/http://www.ballyshannon.ie/ Ynnyd-eggey oikoil y valley] ==Imraaghyn== {{rolleyimraaghyn}} {{DEFAULTSORT:Beeal Aah Seanaidh}} {{gurneil eaghtyrys}} [[Ronney:Béal Átha Seanaidh| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Eear-valjyn corpagh ayns Pobblaght Nerin]] {{Sheel çheer Nerin}} 06bj0pxk067obtydejwlifkli5q9fe3 Ard an Rátha 0 18106 395544 393224 2026-10-29T01:34:38Z MacTire02 219 ++ 395544 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley beg]] | ennym = Ard an Rátha | ennym_gienneydagh = Ard an Rátha | ennym_dooghyssagh = {{lang|ga|Ard an Rátha}} {{small|([[Yernish]])}}<br/>{{lang|en|Ardara}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 74 }} She balley beg ayns [[Coontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]], eh '''Ard an Rátha''' ({{langx|en|Ardara}}; [[Yernish]] er son "Ard y Rhaa"). Ta'n balley beg ny hoie er coose heear yiass y choontae er y phreeu-raad ashoonagh, yn [[N56 (raad Nerin)|N56]]. Rere coontey-pobble 'sy vlein 2011, va 731 ghooinney cummal ayn. Hie yn balley beg er ny hroggal er brooinyn [[Abhainn tSocair]], awin ta girree ayns [[na Cruacha Gorma]] as ta roie stiagh 'sy [[Yn Keayn Sheear|Cheayn Sheear]] faggys da'n valley hene. ==Sleih ard-ghooagh== * [[Anthony Molloy (bluckaneyr Yernagh)|Anthony Molloy]], captan er fwirran [[CLG Chontae Dhún na nGall|Ghoon ny Ghoal]] ren cossyn y chied Chione-Chloie Ooilley Yernagh 'sy vluckaneyrys 'sy vlein 1992 * [[Pat Shovlin]], greinneyder deaneyderyn Ghoon ny Ghoal car y nah Chione-Chloie Ooilley Yernagh 'sy vluckaneyrys va cosnit ec y choontae 'sy vlein 2012 * [[John Doherty (kiaulleyder)|John Doherty]], kiaulleyder * [[Bibi Baskin]], persoonid çhellveeish ==Imraaghyn== {{rolleyimraaghyn}} ==Jeeagh er neesht== * [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin]] ==Kianglaghyn magh== {{commonscat|Ardara, County Donegal|Ard an Rátha}} * {{URL|www.ardara.ie}} [[Ronney:Ard an Rátha| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] 1c754nzf12foxx0ky9b2erpnwdpfsqn Bun Cranncha 0 18598 395552 285471 2026-10-29T02:06:02Z MacTire02 219 ++ 395552 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym = Bun Cranncha | ennym_gienneydagh = Bun Cranncha | ennym_dooghyssagh = {{lang|ga|Bun Cranncha}} {{small|([[Yernish]])}}<br/>{{lang|en|Buncrana}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo_armys = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 74 }} She balley ayns twoaie [[Coontae Ghoon ny Ghoal|Choontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]], eh '''Bun Cranncha''' ({{langx|en|Buncrana}}). T'eh ny lhie er [[Loch Súilí]] er [[Lieh-innys]] [[Inis Eoghain]], 23 km çheu heear hwoaie veih [[Doirrey]] as 43 km çheu hwoaie veih [[Littyr Kennain]]. She Bun Cranncha y balley smoo ayns Inis Eoghain as y nah valley smoo 'sy choontae lurg Littyr Kennain. == Jeeagh er neesht == * [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin]] == Imraaghyn == {{rolleyimraaghyn}} == Kianglaghyn magh == {{commonscat|Buncrana|Bun Cranncha}} * {{URL|www.visitbuncrana.com|Ynnyd-eggey turryssagh y valley}} * {{URL|www.buncrana.com|Ynnyd-eggey fysseree yn valley}} {{Gurneil eaghtyrys}} [[Ronney:Bun Cranncha| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] {{sheel çheer Nerin}} icya4rsh987gxzcci2pzm6l3vhv65by 395553 395552 2026-10-29T02:07:19Z MacTire02 219 +ronney 395553 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym = Bun Cranncha | ennym_gienneydagh = Bun Cranncha | ennym_dooghyssagh = {{lang|ga|Bun Cranncha}} {{small|([[Yernish]])}}<br/>{{lang|en|Buncrana}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo_armys = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 74 }} She balley ayns twoaie [[Coontae Ghoon ny Ghoal|Choontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]], eh '''Bun Cranncha''' ({{langx|en|Buncrana}}). T'eh ny lhie er [[Loch Súilí]] er [[Lieh-innys]] [[Inis Eoghain]], 23 km çheu heear hwoaie veih [[Doirrey]] as 43 km çheu hwoaie veih [[Littyr Kennain]]. She Bun Cranncha y balley smoo ayns Inis Eoghain as y nah valley smoo 'sy choontae lurg Littyr Kennain. == Jeeagh er neesht == * [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin]] == Imraaghyn == {{rolleyimraaghyn}} == Kianglaghyn magh == {{commonscat|Buncrana|Bun Cranncha}} * {{URL|www.visitbuncrana.com|Ynnyd-eggey turryssagh y valley}} * {{URL|www.buncrana.com|Ynnyd-eggey fysseree yn valley}} {{Gurneil eaghtyrys}} [[Ronney:Bun Cranncha| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Eear-slystyn baljagh ayns Pobblaght Nerin]] [[Ronney:Ard-valjyn as baljyn purtey ayns Pobblaght Nerin]] {{sheel çheer Nerin}} 1trsuschbe62gwsg6esmwu2yaa18m2k Bealach Féich 0 18615 395548 285879 2026-10-29T01:47:53Z MacTire02 219 ++ 395548 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley beg]] | ennym = Bealach Féich | ennym_gienneydagh = Bealach Féich | ennym_dooghyssagh = {{lang|ga|Bealach Féich}} {{small|([[Yernish]])}}<br/>{{lang|en|Ballybofey}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 74 }} She balley ayns [[Coontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]], eh '''Bealach Féich''' ({{langx|en|Ballybofey}}). T'eh ny lhie er broogh yiass [[Abhainn na Finne]]. Myrane lesh y valley [[Srath an Urláir]] ta ny lhie er broogh hwoaie yn awin cheddin, ta'n daa valley currit ry-cheilley myr y Balley Lannoonagh. == Jeeagh er neesht == * [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin]] == Imraaghyn == {{rolleyimraaghyn}} == Kianglaghyn magh == {{commonscat|Ballybofey|Bealach Féich}} * {{URL|www.ballybofeystranorlar.com}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Bealach Feich}} [[Ronney:Bealach Féich| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Baljyn dooblit]] {{sheel çheer Nerin}} 3sz2s93aw9vkudaedi1evwmn7cg0p47 395549 395548 2026-10-29T01:48:38Z MacTire02 219 balley 395549 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] | ennym = Bealach Féich | ennym_gienneydagh = Bealach Féich | ennym_dooghyssagh = {{lang|ga|Bealach Féich}} {{small|([[Yernish]])}}<br/>{{lang|en|Ballybofey}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 74 }} She balley ayns [[Coontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]], eh '''Bealach Féich''' ({{langx|en|Ballybofey}}). T'eh ny lhie er broogh yiass [[Abhainn na Finne]]. Myrane lesh y valley [[Srath an Urláir]] ta ny lhie er broogh hwoaie yn awin cheddin, ta'n daa valley currit ry-cheilley myr y Balley Lannoonagh. == Jeeagh er neesht == * [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin]] == Imraaghyn == {{rolleyimraaghyn}} == Kianglaghyn magh == {{commonscat|Ballybofey|Bealach Féich}} * {{URL|www.ballybofeystranorlar.com}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Bealach Feich}} [[Ronney:Bealach Féich| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Baljyn dooblit]] {{sheel çheer Nerin}} arx9yksnpacho57e7eiac42srzos49u Baile na nGallóglach 0 18621 395545 285956 2026-10-29T01:38:08Z MacTire02 219 ++ 395545 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley beg]] | ennym = Baile na nGallóglach | ennym_gienneydagh = Baile na nGallóglach | ennym_dooghyssagh = {{lang|ga|Baile na nGallóglach}} {{small|([[Yernish]])}}<br/>{{lang|en|Milford}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 74 }} She balley beg as balley eirinagh ayns twoaie [[Coontae Ghoon ny Ghoal|Choontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]], eh '''Baile na nGallóglach''' ([[Yernish]] er son "Balley ny [[Goal-aeglagh|Goal-aeglee]]"; {{langx|en|Milford}}). T'eh ny lhie çheu hwoaie veih [[Littyr Kennain]] er [[Cuan na Maoile Rua]]. ==Kianglaghyn magh== * {{URL|www.milforddonegal.net}} ==Imraaghyn== {{rolleyimraaghyn}} {{gurneil eaghtyrys}} {{DEFAULTSORT:Baile na nGalloglach}} [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Baljyn eirinagh ayns Coontae Ghoon ny Ghoal]] {{Sheel çheer Nerin}} 9xrsjzsq4lh27i6m7mdq73qrk10xxz7 Bun an Phobail 0 18624 395551 323124 2026-10-29T01:59:51Z MacTire02 219 ++ 395551 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley beg]] | ennym = Bun an Phobail | ennym_gienneydagh = Bun an Phobail | ennym_dooghyssagh = {{lang|ga|Bun an Phobail}} {{small|([[Yernish]])}}<br/>{{lang|en|Moville}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 74 }} She balley beg as ynnyd seyrey slystagh ayns [[Inis Eoghain|lieh-innys Inis Eoghain]], twoaie [[Coontae Ghoon ny Ghoal|Choontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]], eh '''Bun an Phobail''' ([[Yernish]] son "Bun y Phobble"; {{langx|en|Moville}}). ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Buill chummaltit varrey ayns Pobblaght Nerin]] {{Sheel çheer Nerin}} 5w7onxyv0l35mrznrxf4s95mkimm1p1 An Baile Nua, Coontae Ghoon ny Ghoal 0 18650 395546 323103 2026-10-29T01:41:35Z MacTire02 219 ++ 395546 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley beg]] | ennym = An Baile Nua | ennym_gienneydagh = an Baile Nua | ennym_dooghyssagh = {{lang|ga|An Baile Nua}} {{small|([[Yernish]])}}<br/>{{lang|en|Newtowncunningham}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo = | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 74 }} She balley beg ayns [[Coontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]], eh '''an Baile Nua''' ([[Yernish]] son "y Balley Noa"; {{langx|en|Newtown Cunningham}} ny {{lang|en|Newtowncunningham}}). T'eh ny hoie er y raad [[N13 (raad ayns Nerin)|N13]] {{cvt|18|km}} çheu hiar veih [[Littyr Kennain]] as {{cvt|16|km}} çheu heear veih [[Doirrey]]. ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Baile Nua}} [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Baljyn eirinagh ayns Coontae Ghoon ny Ghoal]] {{Sheel çheer Nerin}} odgklext0wo4vh9uspp287svrj1uf9e 395547 395546 2026-10-29T01:43:43Z MacTire02 219 jalloo elley 395547 wikitext text/x-wiki {{Kishtey fys boayl | sorçh_balley = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley beg]] | ennym = An Baile Nua | ennym_gienneydagh = an Baile Nua | ennym_dooghyssagh = {{lang|ga|An Baile Nua}} {{small|([[Yernish]])}}<br/>{{lang|en|Newtowncunningham}} {{small|([[Baarle]])}} | jalloo_brattagh = none | jalloo = Newtown_Cunningham,_County_Donegal_-_geograph.org.uk_-_1029869_(cropped).jpg | fo-heidyl_jalloo = | çhengaghyn = none | çhengaghyn_oikoil = none | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 | coad_ardjynagh = 74 }} She balley beg ayns [[Coontae Ghoon ny Ghoal]], [[Pobblaght Nerin|Nerin]], eh '''an Baile Nua''' ([[Yernish]] son "y Balley Noa"; {{langx|en|Newtown Cunningham}} ny {{lang|en|Newtowncunningham}}). T'eh ny hoie er y raad [[N13 (raad ayns Nerin)|N13]] {{cvt|18|km}} çheu hiar veih [[Littyr Kennain]] as {{cvt|16|km}} çheu heear veih [[Doirrey]]. ==Imraaghyn== {{rolleyimraaghyn}} {{Gurneil eaghtyrys}} {{DEFAULTSORT:Baile Nua}} [[Ronney:Baljyn as baljyn beggey ayns Coontae Ghoon ny Ghoal]] [[Ronney:Baljyn eirinagh ayns Coontae Ghoon ny Ghoal]] {{Sheel çheer Nerin}} 1f2cxlf9gn1czdbvs7qta4jmqet3siq Coill an Chollaigh 0 19037 395495 287846 2026-10-28T17:18:08Z MacTire02 219 ++ 395495 wikitext text/x-wiki {{Kishtey fys boayl |sorçh_boayl = [[Rolley baljyn as baljyn beggey ayns Pobblaght Nerin|Balley]] |ennym = Coill an Chollaigh |ennym_gienneydagh = Coill an Chollaigh |ennym_dooghyssagh = {{lang|ga|Coill an Chollaigh}} {{small|([[Yernish]])}}<br/>{{lang|en|Bailieborough}} {{small|([[Baarle]])}} |jarroo-raa = | cryss_hraa = [[Traa ynnydagh yn Oarpey Heear|WET]] | ashchur_utc = +00:00 | cryss_hraa_TTSL = [[Traa Chadjinit Nerin|IST]] | ashchur_utc_TTSL = +01:00 }} She balley 'sy valley eirinagh [[Tóin re Gaoith, Coontae yn Chavan|Tóin re Gaoith]], [[Coontae yn Chavan]], [[Pobblaght Nerin|Nerin]], eh '''Coill an Chollaigh''' ([[Yernish]] son ''Keyll y Chollee''; {{langx|en|Bailieborough}}). Rere coontey-pobble 'sy vlein 2011 ta 2,530 dooinney cummal 'sy valley. Rere shen, t'eh ny nah valley smoo 'sy choontae lurg [[Yn Cavan|y Cavan]] hene. Er oyr yn oddeeaght veih'n vayr gleashtanagh [[N3 (raad ayns Nerin)|M3]] ta'n balley nish ny valley troailtagh. ==Shennaghys== Roish [[Plandail Ulley]] va'n ard enmyssit {{lang|en|Killechally}}, {{lang|en|Killycolly}} as {{lang|en|Killycollie}} 'sy Vaarle. Ansherbee, va thallooyn Tóin re Gaoith ayns [[Breifne Uí Raghallaigh|Bréifne Thiar]] giootit veih [[Jamys I Hostyn]] dys [[William Bailie]], glackeyder Albinagh. Roish jerrey yn vlein 1613 va thie niartit troggit echey as va'n reamys echey doont roish y vlein 1629. Va jeeyll jeant da'n thie ayns aile 'sy vlein 1918 as va'n thie slane scryssit ayns ny 1930yn jeianagh. ==Imraaghyn== {{rolleyimraaghyn}} ==Kianglaghyn magh== {{commonscat|Bailieborough|Coill an Chollaigh}} * {{URL|www.bailieborough.com|Ynnyd-eggey Boodeeyssagh Coill an Chollaigh}} {{gurneil eaghtyrys}} [[Ronney:Coill an Chollaigh| ]] [[Ronney:Baljyn as baljyn beggey ayns Coontae yn Chavan]] [[Ronney:Skeeraghyn theayagh Choontae yn Chavan]] n8571sm6ast640kj91jtewt07ovcwr6 Ymmydeyr:Llywelyn2000/List of Manx people 2 19947 395557 395176 2026-10-29T08:41:29Z ListeriaBot 10339 Wikidata list updated [V2] 395557 wikitext text/x-wiki {{Wikidata list |sparql=SELECT ?item ?yob ?yod WHERE { ?item wdt:P19 ?pob . ?pob wdt:P131* wd:Q9676 . OPTIONAL { ?item wdt:P569 ?dob . BIND(YEAR(?dob) as ?yob) } OPTIONAL { ?item wdt:P570 ?dod . BIND(YEAR(?dod) as ?yod) } . } |wdq=. |sort=569 |section=31 |columns=number:#,P18:XXX Add 'Image' in Manx here please! XXX,label:XXX change to 'Name' in Manx! XXX,?yob:XXX dob XXX,?yod:XXX date of death XXX,P19:xxx Place of birth xxx }} == human == {| class='wikitable sortable' ! # ! XXX Add 'Image' in Manx here please! XXX ! XXX change to 'Name' in Manx! XXX ! XXX dob XXX ! XXX date of death XXX ! xxx Place of birth xxx |- | style='text-align:right'| 1 | [[Coadan:Margaret Jennifer Kewley Draskau in the video 'Lady Derby – The Great Whore of Babylon'.png|center|128px]] | ''[[:d:Q130730092|Jennifer Kewley Draskau]]'' | | 2024 | [[Mannin]] |- | style='text-align:right'| 2 | | ''[[:d:Q134487555|Chris Garrett]]'' | 1984 | 2025 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 3 | | ''[[:d:Q135256163|Michael Higgins]]'' | 1939 | 1988 | [[Mannin]] |- | style='text-align:right'| 4 | | ''[[:d:Q136434024|Albert Hugh Teare]]'' | 1877 | 1932 | [[Rhumsaa]] |- | style='text-align:right'| 5 | [[Coadan:Frederick Agnew Gill LCCN2014714984 (cropped).jpg|center|128px]] | [[Frederick Agnew Gill]] | 1873 | 1938 | [[Balley Chashtal]] |- | style='text-align:right'| 6 | | ''[[:d:Q75456632|Elizabeth Quayle]]'' | | | [[Skeerey Chreest ny h-Ayrey]] |- | style='text-align:right'| 7 | | ''[[:d:Q6387399|Ken Burns]]'' | 1923 | 2006 | [[Rhumsaa]] |- | style='text-align:right'| 8 | [[Coadan:Mark Cubbon b1785.jpg|center|128px]] | ''[[:d:Q6767214|Mark Cubbon]]'' | 1775 | 1861 | [[Skeerey Maghal]] |- | style='text-align:right'| 9 | [[Coadan:ColMarkWilks.jpg|center|128px]] | ''[[:d:Q6770348|Mark Wilks]]'' | 1759 | 1831 | [[Mannin]] |- | style='text-align:right'| 10 | | ''[[:d:Q6777668|Martyn Quayle]]'' | 1959 | 2016 | [[Mannin]] |- | style='text-align:right'| 11 | | ''[[:d:Q7173434|Peter Craine]]'' | 2000 | 2003 | [[Doolish]] |- | style='text-align:right'| 12 | | ''[[:d:Q7324916|Richard Costain]]'' | 1839 | 1902 | [[Mannin]] |- | style='text-align:right'| 13 | | ''[[:d:Q7342026|Robert Benjamin Young]]'' | 1773 | 1846 | [[Doolish]] |- | style='text-align:right'| 14 | | ''[[:d:Q7351285|Robert Wylie]]'' | 1839 | 1877 | [[Mannin]] |- | style='text-align:right'| 15 | [[Coadan:Sophia Morrison.jpg|center|128px]] | [[Sophia Morrison]] | 1859 | 1917 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 16 | | ''[[:d:Q7627097|Stuart Slack]]'' | 1935 | 1998 | [[Doolish]] |- | style='text-align:right'| 17 | [[Coadan:T. E. Brown (young).jpg|center|128px]] | ''[[:d:Q7789264|Thomas Edward Brown]]'' | 1830 | 1897 | [[Doolish]] |- | style='text-align:right'| 18 | | ''[[:d:Q7790684|Thomas Hill Dixon]]'' | 1816 | 1880 | [[Mannin]] |- | style='text-align:right'| 19 | | ''[[:d:Q7821311|Toni Onley]]'' | 1928 | 2004 | [[Doolish]] |- | style='text-align:right'| 20 | | [[Walter y Chleree]] | 1928 | 2007 | [[Rhumsaa]] |- | style='text-align:right'| 21 | | ''[[:d:Q8010366|William H. Corlett]]'' | 1856 | 1937 | [[Mannin]] |- | style='text-align:right'| 22 | | [[William Kennish]] | 1799 | 1862 | [[Skeerey Maghal]] |- | style='text-align:right'| 23 | [[Coadan:William Moore (1898).jpg|center|128px]] | ''[[:d:Q8015768|William Moore]]'' | 1823 | 1914 | [[Mannin]] |- | style='text-align:right'| 24 | [[Coadan:Sir William Rowan.jpg|center|128px]] | ''[[:d:Q8017805|William Rowan]]'' | 1789 | 1879 | [[Mannin]] |- | style='text-align:right'| 25 | [[Coadan:Rushen Abbey.jpg|center|128px]] | ''[[:d:Q8017850|William Russell]]'' | | 1374 | [[Mannin]] |- | style='text-align:right'| 26 | | ''[[:d:Q9374876|William Russell]]'' | 1852 | 1940 | [[Doolish]] |- | style='text-align:right'| 27 | | ''[[:d:Q10314191|Kenneth Creer]]'' | 1925 | 2020 | [[Doolish]] |- | style='text-align:right'| 28 | | [[John Kelly (scoillar)|John Kelly]] | 1750 | 1809 | [[Doolish]] |- | style='text-align:right'| 29 | | [[Noel Cringle]] | 1937 | 2021 | [[Mannin]] |- | style='text-align:right'| 30 | [[Coadan:Edward Faragher.jpeg|center|128px]] | [[Edward Faragher]] | 1831 | 1908 | [[Creneash]] |- | style='text-align:right'| 31 | [[Coadan:Josephine Kermode (Cushag).jpg|center|128px]] | [[Josephine Kermode]] | 1852 | 1937 | [[Rhumsaa]] |- | style='text-align:right'| 32 | [[Coadan:Mona Margaret McBURNEY.jpg|center|128px]] | ''[[:d:Q15433239|Mona McBurney]]'' | 1862 | 1932 | [[Doolish]] |- | style='text-align:right'| 33 | [[Coadan:Philip Moore Callow Kermode.png|center|128px]] | ''[[:d:Q15453822|P. M. C. Kermode]]'' | 1855 | 1932 | [[Rhumsaa]] |- | style='text-align:right'| 35 | [[Coadan:Hugo Flinn 1933.png|center|128px]] | ''[[:d:Q15996075|Hugo Flinn]]'' | 1880 | 1943 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 36 | [[Coadan:Canon John Quine.jpg|center|128px]] | ''[[:d:Q15997058|John Quine]]'' | 1857 | 1940 | [[Skeerey Charmane]] |- | style='text-align:right'| 37 | [[Coadan:W. Walter Gill.jpg|center|128px]] | ''[[:d:Q16002989|W. Walter Gill]]'' | 1876 | 1963 | [[Mannin]] |- | style='text-align:right'| 38 | | ''[[:d:Q16007058|Harry Korris]]'' | 1891 | 1971 | [[Kione Droghad]] |- | style='text-align:right'| 39 | [[Coadan:Christopher R. Shimmin.jpg|center|128px]] | ''[[:d:Q16029252|Christopher R. Shimmin]]'' | 1870 | 1933 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 40 | [[Coadan:Actress Annie Yeamans, c. 1896.png|center|128px]] | [[Annie Yeamans]] | 1835 | 1912 | [[Mannin]] |- | style='text-align:right'| 41 | [[Coadan:Robert Q. Kermode.jpg|center|128px]] | ''[[:d:Q16065654|Robert Kermode]]'' | 1812 | 1870 | [[Mannin]] |- | style='text-align:right'| 42 | | ''[[:d:Q16169661|John Dongan]]'' | 1301 | 1413 | [[Mannin]] |- | style='text-align:right'| 43 | | ''[[:d:Q16200333|Esther Nelson]]'' | 1810 | 1843 | [[Jorby]] |- | style='text-align:right'| 44 | [[Coadan:Kathleen Faragher.jpg|center|128px]] | [[Kathleen Faragher]] | 1904 | 1974 | [[Rhumsaa]] |- | style='text-align:right'| 45 | | ''[[:d:Q16825531|Stewart Henbest Capper]]'' | 1859 | 1925 | [[Lunnin]]<br/>[[Doolish]] |- | style='text-align:right'| 46 | | ''[[:d:Q17182825|William Garrett]]'' | 1842 | 1916 | [[Mannin]] |- | style='text-align:right'| 47 | | ''[[:d:Q17309064|Charles Gibbon]]'' | 1843 | 1890 | [[Mannin]] |- | style='text-align:right'| 48 | [[Coadan:Plexus (1901) (14597471297).jpg|center|128px]] | ''[[:d:Q18157096|William Edward Quine]]'' | 1847 | 1922 | [[Skeerey Stondane]] |- | style='text-align:right'| 49 | [[Coadan:Capt. William Gill, the first Captain of the line..jpg|center|128px]] | [[William Gill (marrinagh)|William Gill]] | 1795 | 1858 | [[Rhumsaa]] |- | style='text-align:right'| 50 | [[Coadan:William Cubbon.jpg|center|128px]] | [[William Cubbon]] | 1865 | 1955 | [[Colby]] |- | style='text-align:right'| 51 | [[Coadan:Sir Benjamin Alfred Dobson statue, Bolton (4).JPG|center|128px]] | ''[[:d:Q18681459|Benjamin Dobson]]'' | 1847 | 1898 | [[Doolish]] |- | style='text-align:right'| 52 | [[Coadan:Sir James Gell.jpg|center|128px]] | ''[[:d:Q18922358|James Gell]]'' | 1823 | 1905 | [[Mannin]] |- | style='text-align:right'| 53 | [[Coadan:Archibald Cregeen.png|center|128px]] | [[Archibald Cregeen]] | 1774 | 1841 | [[Colby]] |- | style='text-align:right'| 54 | [[Coadan:Rev thomas bacon.jpg|center|128px]] | ''[[:d:Q19282324|Thomas Bacon]]'' | 1711 | 1768 | [[Mannin]] |- | style='text-align:right'| 55 | | ''[[:d:Q20639142|Annie Warren Gill]]'' | 1862 | 1930 | [[Balley Chashtal]] |- | style='text-align:right'| 56 | | ''[[:d:Q20683954|Charles Clague]]'' | 1890 | 1962 | [[Mannin]] |- | style='text-align:right'| 57 | | ''[[:d:Q20711846|Frank Gill]]'' | 1866 | 1950 | [[Balley Chashtal]] |- | style='text-align:right'| 58 | | ''[[:d:Q20747196|Arthur Lemon]]'' | 1850 | 1912 | [[Mannin]] |- | style='text-align:right'| 59 | | ''[[:d:Q20756364|Patrick William Stuart-Menteath]]'' | 1845 | 1925 | [[Doolish]] |- | style='text-align:right'| 60 | | ''[[:d:Q20763301|Richard Paget Murray]]'' | 1842 | 1908 | [[Mannin]] |- | style='text-align:right'| 61 | [[Coadan:Joseph Creer MLA.png|center|128px]] | ''[[:d:Q20810712|Joseph Creer]]'' | 1832 | 1913 | [[Mannin]] |- | style='text-align:right'| 62 | | ''[[:d:Q20877240|Edward Quayle]]'' | 1802 | 1862 | [[Mannin]] |- | style='text-align:right'| 63 | | ''[[:d:Q20981819|Sidney Nowell Rostron]]'' | 1883 | 1948 | [[Doolish]] |- | style='text-align:right'| 64 | | ''[[:d:Q21461346|Frederick Swynnerton]]'' | 1858 | 1918 | [[Doolish]] |- | style='text-align:right'| 65 | | ''[[:d:Q21538837|Thomas O'Reilly]]'' | 1819 | 1881 | [[Doolish]] |- | style='text-align:right'| 66 | [[Coadan:Capt. James Teare of the RMS Ellan Vannin..JPG|center|128px]] | ''[[:d:Q22018744|James Teare]]'' | 1872 | 1909 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 67 | | ''[[:d:Q24034942|Amelia Jane Murray]]'' | 1800 | 1896 | [[Doolish]] |- | style='text-align:right'| 68 | | ''[[:d:Q24205000|William Cain]]'' | 1831 | 1914 | [[Mannin]] |- | style='text-align:right'| 69 | | ''[[:d:Q24264205|James F. Keggin]]'' | 1905 | 1993 | [[Mannin]] |- | style='text-align:right'| 70 | | [[Doolish y Karagher]] | 1926 | 1987 | [[Doolish]] |- | style='text-align:right'| 71 | | ''[[:d:Q26330510|William Hutchison]]'' | 1904 | 1975 | [[Mannin]] |- | style='text-align:right'| 72 | | ''[[:d:Q27178436|Robert H. Nesbitt]]'' | 1883 | 1966 | [[Mannin]] |- | style='text-align:right'| 73 | [[Coadan:David "Dawsey" Kewley.jpg|center|128px]] | ''[[:d:Q27827705|David Kewley]]'' | 1850 | 1904 | [[Doolish]] |- | style='text-align:right'| 74 | [[Coadan:James Stowell Gell.jpg|center|128px]] | ''[[:d:Q28179118|James Stowell Gell]]'' | 1855 | 1919 | [[Balley Chashtal]] |- | style='text-align:right'| 75 | [[Coadan:Samuel Harris.jpg|center|128px]] | ''[[:d:Q28203030|Samuel Harris]]'' | 1815 | 1905 | [[Doolish]] |- | style='text-align:right'| 76 | [[Coadan:RobinGibb.jpg|center|128px]] | ''[[:d:Q188482|Robin Gibb]]'' | 1949 | 2012 | [[Doolish]] |- | style='text-align:right'| 77 | [[Coadan:Maurice Gibb (Bee Gees) - TopPop 1973 (cropped).png|center|128px]] | ''[[:d:Q296876|Maurice Gibb]]'' | 1949 | 2003 | [[Doolish]] |- | style='text-align:right'| 78 | | [[Randolph Quirk]] | 1920 | 2017 | [[Maayl]] |- | style='text-align:right'| 79 | | [[Ned Maddrell]] | 1877 | 1974 | [[Creneash]] |- | style='text-align:right'| 80 | [[Coadan:Rhodri Mawr - Historiae Cambriae.png|center|128px]] | ''[[:d:Q470862|Rhodri Mawr]]'' | 820 | 878 | [[Mannin]] |- | style='text-align:right'| 81 | [[Coadan:John Thomas Caine.jpg|center|128px]] | ''[[:d:Q964884|John Thomas Caine]]'' | 1829 | 1911 | [[Mannin]] |- | style='text-align:right'| 82 | | ''[[:d:Q1064177|Charles Duncan Cameron]]'' | 1825 | 1870 | [[Doolish]] |- | style='text-align:right'| 83 | | [[Chris Killip]] | 1946 | 2020 | [[Doolish]] |- | style='text-align:right'| 84 | [[Coadan:Edward Forbes.jpg|center|128px]] | [[Edward Forbes]] | 1815 | 1854 | [[Doolish]] |- | style='text-align:right'| 85 | [[Coadan:Peter Heywood, by John Simpson.jpg|center|128px]] | ''[[:d:Q1370965|Peter Heywood]]'' | 1772 | 1831 | [[Doolish]] |- | style='text-align:right'| 86 | [[Coadan:Eredoctoraten UvA nr. 21, 22 Charles B. Timmer , nr. 1 20 prof. J. Frank Kerm, Bestanddeelnr 934-1653.jpg|center|128px]] | [[Frank Kermode]] | 1919 | 2010 | [[Doolish]] |- | style='text-align:right'| 87 | [[Coadan:Hugh Binney.jpeg|center|128px]] | ''[[:d:Q1634227|Hugh Binney]]'' | 1883 | 1953 | [[Doolish]] |- | style='text-align:right'| 88 | | ''[[:d:Q2025044|Daniel Lowey]]'' | 1878 | 1951 | [[Rhumsaa]] |- | style='text-align:right'| 89 | [[Coadan:Gofraid Crobán (British Library Cotton MS Julius A VII, folio 50v).jpg|center|128px]] | [[Gorree Crovan]] | 1050 | 1095 | [[Mannin]] |- | style='text-align:right'| 90 | [[Coadan:MikeKerruish.jpg|center|128px]] | [[Mike Kerruish]] | 1948 | 2010 | [[Mannin]] |- | style='text-align:right'| 91 | [[Coadan:Brian Stowell - Gaisgeach na Gaelg.jpg|center|128px]] | [[Brian Stowell]] | 1936 | 2019 | [[Doolish]] |- | style='text-align:right'| 92 | [[Coadan:Archibald Knox.jpg|center|128px]] | ''[[:d:Q2860090|Archibald Knox]]'' | 1864 | 1933 | [[Mannin]] |- | style='text-align:right'| 93 | [[Coadan:Goshen-Routh 10.jpg|center|128px]] | [[Arthur Caley]] | 1824 | 1889 | [[Skeerey Chreest ny h-Ayrey]] |- | style='text-align:right'| 94 | | ''[[:d:Q2917082|Peter Buckley]]'' | 1944 | 1969 | [[Doolish]] |- | style='text-align:right'| 95 | | ''[[:d:Q2960723|Charles de Viry]]'' | 1809 | 1888 | [[Doolish]] |- | style='text-align:right'| 96 | | ''[[:d:Q2979086|Clifford Irving]]'' | 1914 | 2004 | [[Mannin]] |- | style='text-align:right'| 97 | | ''[[:d:Q3048476|Edward Christian]]'' | 1600<br/>1590 | 1659<br/>1661 | [[Mannin]] |- | style='text-align:right'| 98 | | ''[[:d:Q3082831|Frank Tipper]]'' | 1909 | 1963 | [[Doolish]] |- | style='text-align:right'| 99 | | [[Hilary Pritchard]] | 1942 | 1996 | [[Mannin]] |- | style='text-align:right'| 100 | [[Coadan:Illiam Dhone.JPG|center|128px]] | [[Illiam Dhone]] | 1608 | 1662<br/>1663 | [[Camys y Ree]] |- | style='text-align:right'| 101 | [[Coadan:Captain John Quilliam RN.jpg|center|128px]] | ''[[:d:Q3182325|John Quilliam]]'' | 1771 | 1829 | [[Mannin]] |- | style='text-align:right'| 102 | | ''[[:d:Q3184768|Joseph Clayton Clark]]'' | 1857 | 1937 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 103 | | [[Joseph Davidson Qualtrough]] | 1885 | 1960 | [[Mannin]] |- | style='text-align:right'| 104 | | ''[[:d:Q3375184|Percy Cowley]]'' | 1886 | 1958 | [[Rhumsaa]] |- | style='text-align:right'| 105 | | ''[[:d:Q3780140|Gwen Crellin]]'' | 1917 | 2007 | [[Mannin]] |- | style='text-align:right'| 106 | | ''[[:d:Q4647267|A.P. Penketh]]'' | 1865 | 1932 | [[Mannin]] |- | style='text-align:right'| 107 | | ''[[:d:Q4684998|Adrian Earnshaw]]'' | 1950 | 2022 | [[Mannin]] |- | style='text-align:right'| 108 | [[Coadan:AWM 099103 Arnold Potts.jpg|center|128px]] | ''[[:d:Q4795209|Arnold Potts]]'' | 1896 | 1968 | [[Mannin]] |- | style='text-align:right'| 109 | [[Coadan:Arthur William Moore.png|center|128px]] | [[Arthur William Moore]] | 1853 | 1909 | [[Doolish]] |- | style='text-align:right'| 110 | [[Coadan:Baldwin Wake Walker.jpg|center|128px]] | ''[[:d:Q4850612|Baldwin Wake Walker]]'' | 1802 | 1876 | ''[[:d:Q3398663|Port e Vullen]]'' |- | style='text-align:right'| 111 | [[Coadan:Bertram Kelly, vicar.jpg|center|128px]] | [[Bertram Kelly]] | 1884 | 1976 | [[Doolish]] |- | style='text-align:right'| 112 | | [[Bill Malarkey (politickeyr)|Bill Malarkey]] | 1951 | 2020 | [[Mannin]] |- | style='text-align:right'| 113 | | ''[[:d:Q4980208|Bryan Kneale]]'' | 1930 | 2025 | [[Doolish]] |- | style='text-align:right'| 114 | | [[Charles Kerruish]] | 1917 | 2003 | [[Mannin]] |- | style='text-align:right'| 115 | [[Coadan:TT Lightweight - Dan Kneen (8985019419).jpg|center|128px]] | ''[[:d:Q5213818|Dan Kneen]]'' | 1987 | 2018 | [[Doolish]] |- | style='text-align:right'| 116 | | ''[[:d:Q5232102|David Callister]]'' | 1935 | 2020 | [[Mannin]] |- | style='text-align:right'| 117 | | ''[[:d:Q5233727|David Forbes]]'' | 1828 | 1876 | [[Doolish]] |- | style='text-align:right'| 118 | | ''[[:d:Q5262311|Derek Robinson]]'' | 1941 | 2002 | [[Mannin]] |- | style='text-align:right'| 119 | | [[Dursley McLinden]] | 1965 | 1995 | [[Doolish]] |- | style='text-align:right'| 120 | | ''[[:d:Q5339649|Edmund Lowey]]'' | 1938 | 2024 | [[Balley Sallagh]] |- | style='text-align:right'| 121 | | ''[[:d:Q5442313|Felix Fordati Ready]]'' | 1872 | 1940 | [[Balley Sallagh]] |- | style='text-align:right'| 122 | | ''[[:d:Q5534099|Geoff Corkish]]'' | 1953 | 2025 | [[Mannin]] |- | style='text-align:right'| 123 | | ''[[:d:Q5585508|Gordon Manley]]'' | 1902 | 1980 | [[Doolish]] |- | style='text-align:right'| 124 | | ''[[:d:Q5702651|Harry Dacre]]'' | 1860 | 1922 | [[Mannin]] |- | style='text-align:right'| 125 | [[Coadan:Hugh Stowell Brown.jpg|center|128px]] | [[Hugh Stowell Brown]] | 1823 | 1886 | [[Doolish]] |- | style='text-align:right'| 126 | | [[Jack Nivison]] | 1910 | 2003 | [[Skeerey Vraddan|Skeerey Braddan]]<br/>[[Kione Droghad]] |- | style='text-align:right'| 127 | [[Coadan:James Ashton.jpeg|center|128px]] | ''[[:d:Q6128902|James Ashton]]'' | 1859 | 1935 | [[Mannin]] |- | style='text-align:right'| 128 | [[Coadan:James Kewley Ward 1890.jpg|center|128px]] | ''[[:d:Q6137285|James Kewley Ward]]'' | 1819 | 1910 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 129 | | ''[[:d:Q6218777|John Allen Mylrea]]'' | 1849 | 1911 | [[Doolish]] |- | style='text-align:right'| 130 | | [[John Joseph Kneen]] | 1873 | 1938 | [[Doolish]] |- | style='text-align:right'| 131 | [[Coadan:John McHutchin.jpg|center|128px]] | ''[[:d:Q6247893|John McHutchin]]'' | 1788 | 1847 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 132 | [[Coadan:Paul Lebiedzinski.jpg|center|128px]] | ''[[:d:Q28810393|Paul Lebiedzinski]]'' | 1951 | 1995 | [[Rhumsaa]] |- | style='text-align:right'| 133 | [[Coadan:John Moore Jeffcott.png|center|128px]] | ''[[:d:Q31201248|John Moore Jeffcott]]'' | 1817 | 1892 | [[Balley Chashtal]] |- | style='text-align:right'| 134 | [[Coadan:Stewart Stevenson Moore.jpg|center|128px]] | ''[[:d:Q37154286|Stewart Stevenson Moore]]'' | 1860 | 1951 | [[Mannin]] |- | style='text-align:right'| 135 | | ''[[:d:Q39070085|John Kelly]]'' | 1793 | 1854 | [[Mannin]] |- | style='text-align:right'| 136 | [[Coadan:Snaefell Miners.jpg|center|128px]] | ''[[:d:Q41757067|John Kewley]]'' | 1832 | 1905 | [[Mannin]] |- | style='text-align:right'| 137 | [[Coadan:Elizabeth S. Nutt, A.R.C.A. (I0007923).jpg|center|128px]] | ''[[:d:Q43196426|Elizabeth Styring Nutt]]'' | 1870 | 1946 | [[Kione Droghad]] |- | style='text-align:right'| 138 | | ''[[:d:Q43606976|Charles Swynnerton]]'' | 1843 | 1923 | [[Mannin]] |- | style='text-align:right'| 139 | | ''[[:d:Q43779525|Mark Hildesley Quayle]]'' | 1804 | 1879 | [[Mannin]] |- | style='text-align:right'| 140 | | ''[[:d:Q43945628|Mark Quayle]]'' | 1770 | 1804 | [[Mannin]] |- | style='text-align:right'| 141 | | ''[[:d:Q44049933|John Quayle]]'' | 1693 | 1755 | [[Mannin]] |- | style='text-align:right'| 142 | | ''[[:d:Q44746168|Mark Quayle]]'' | 1841 | 1928 | [[Mannin]] |- | style='text-align:right'| 143 | | ''[[:d:Q48110870|Joseph Swynnerton]]'' | 1848 | 1910 | [[Doolish]] |- | style='text-align:right'| 144 | | ''[[:d:Q52148110|Jim Caine]]'' | 1926 | 2018 | [[Doolish]] |- | style='text-align:right'| 145 | | ''[[:d:Q53196681|Wilfred Kissack]]'' | 1873 | 1942 | [[Mannin]] |- | style='text-align:right'| 146 | | ''[[:d:Q54553548|Millie Robinson]]'' | 1924 | 1994 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 147 | [[Coadan:Nellie Brennan.jpg|center|128px]] | ''[[:d:Q55418295|Nelly Brennan]]'' | 1792 | 1859 | [[Doolish]] |- | style='text-align:right'| 148 | | ''[[:d:Q56254209|Thomas Stowell]]'' | 1764 | 1821 | [[Mannin]] |- | style='text-align:right'| 149 | | ''[[:d:Q56452187|Derek Ennett]]'' | 1931 | 1956 | [[Balley Chashtal]] |- | style='text-align:right'| 150 | | ''[[:d:Q56528264|Thomas Tobin]]'' | 1775 | 1863 | [[Doolish]] |- | style='text-align:right'| 151 | [[Coadan:John D. LaMothe.jpg|center|128px]] | ''[[:d:Q56665493|John Dominique LaMothe]]'' | 1868 | 1928 | [[Rhumsaa]] |- | style='text-align:right'| 152 | | ''[[:d:Q56887925|Nina Morrison]]'' | 1915 | 2011 | [[Doolish]] |- | style='text-align:right'| 153 | | [[Dorothy Pantin]] | 1896 | 1985 | [[Doolish]] |- | style='text-align:right'| 154 | [[Coadan:John Quayle (1725 - 1797).png|center|128px]] | ''[[:d:Q60754040|John Quayle]]'' | 1725 | 1797 | [[Mannin]] |- | style='text-align:right'| 155 | | ''[[:d:Q64685433|Francis Claudius Armstrong]]'' | 1802 | 1872 | [[Mannin]] |- | style='text-align:right'| 156 | | ''[[:d:Q64685645|Hugh Coleman Davidson]]'' | 1852 | 1934 | [[Balley Chashtal]] |- | style='text-align:right'| 157 | | ''[[:d:Q65767130|Pilcher George Ralfe]]'' | 1861 | 1936 | [[Skeerey Chreest ny h-Ayrey]] |- | style='text-align:right'| 158 | | ''[[:d:Q65768017|Frank Stanley Graves]]'' | 1863 | 1935 | [[Skeerey Charmane]] |- | style='text-align:right'| 159 | | ''[[:d:Q66606883|John Joseph Heywood]]'' | 1789 | 1855 | [[Mannin]] |- | style='text-align:right'| 160 | [[Coadan:Mona Hirst 1925.jpg|center|128px]] | ''[[:d:Q70743693|Mona Hirst]]'' | 1903 | 1988 | [[Mannin]] |- | style='text-align:right'| 161 | [[Coadan:Emily Maria Gawne.jpg|center|128px]] | ''[[:d:Q75265312|Emily Maria Gawne]]'' | 1814 | 1889 | [[Doolish]] |- | style='text-align:right'| 162 | | [[Ewan Christian (briw)|Ewan Christian]] | 1579 | 1655 | [[Skeerey Chreest ny h-Ayrey]] |- | style='text-align:right'| 163 | [[Coadan:Portrait of Esther Taubman, née Christian (by George Romney).jpg|center|128px]] | ''[[:d:Q75456778|Esther Christian]]'' | 1711 | 1802 | [[Rhumsaa]] |- | style='text-align:right'| 164 | | ''[[:d:Q75458718|George Horsley Wood]]'' | | 1874 | [[Doolish]] |- | style='text-align:right'| 165 | | ''[[:d:Q75460583|Robert Christian]]'' | 1625 | 1668 | [[Skeerey Maghal]] |- | style='text-align:right'| 166 | | ''[[:d:Q75463324|Margaret Moore]]'' | 1733<br/>1730 | 1782<br/>1807 | [[Doolish]] |- | style='text-align:right'| 167 | | ''[[:d:Q75463414|Margaret Moore]]'' | 1736 | 1828 | [[Skeerey Vraddan|Skeerey Braddan]] |- | style='text-align:right'| 168 | | ''[[:d:Q75463447|Margaret Moore]]'' | 1769 | 1804 | [[Skeerey Vraddan|Skeerey Braddan]] |- | style='text-align:right'| 169 | | ''[[:d:Q75946963|Anna Cleather]]'' | 1811 | 1887 | [[Mannin]] |- | style='text-align:right'| 170 | | ''[[:d:Q76142859|Fanny Edith Walters]]'' | 1887 | 1949 | [[Balley Chashtal]] |- | style='text-align:right'| 171 | | ''[[:d:Q76245966|Laura, Lady Buchan]]'' | 1797 | 1888 | [[Doolish]] |- | style='text-align:right'| 172 | | ''[[:d:Q78901420|Edward Ashton Cannell]]'' | 1927 | 1994 | [[Purt Çhiarn]] |- | style='text-align:right'| 173 | | [[Tommy Leece]] | 1859 | 1956 | [[Skeerey Chairbre]] |- | style='text-align:right'| 174 | | ''[[:d:Q94373906|John Kaighn]]'' | 1660 | 1724 | [[Mannin]] |- | style='text-align:right'| 175 | [[Coadan:Leonard McCombe, 1954, NY, Photograh taken by Jun Miki.jpg|center|128px]] | ''[[:d:Q97066829|Leonard McCombe]]'' | 1923 | 2005 | [[Mannin]] |- | style='text-align:right'| 176 | | [[Edmund Goodwin]] | 1845 | 1925 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 177 | | ''[[:d:Q97497011|Lewis Crellin]]'' | 1901 | 1990 | [[Forsdal]] |- | style='text-align:right'| 178 | | ''[[:d:Q97597263|Leslie Quirk]]'' | 1914 | 2004 | [[Purt ny h-Inshey]] |- | style='text-align:right'| 179 | | ''[[:d:Q98763296|Norman Sayle]]'' | 1926 | 2007 | [[Doolish]] |- | style='text-align:right'| 180 | | ''[[:d:Q101068189|John Quayle-Dickson]]'' | 1860 | 1945 | [[Balley Chashtal]] |- | style='text-align:right'| 181 | | ''[[:d:Q102175647|David W. Lewis]]'' | 1944 | 2021 | [[Doolish]] |- | style='text-align:right'| 182 | | ''[[:d:Q104286259|Ernest Feltus Adams]]'' | 1865 | 1957 | [[Mannin]] |- | style='text-align:right'| 183 | [[Coadan:Thomas Leigh-Goldie.jpg|center|128px]] | ''[[:d:Q109559333|Thomas Leigh Goldie]]'' | 1807 | 1854 | [[Doolish]] |- | style='text-align:right'| 184 | | ''[[:d:Q110806864|John Newlands Thomson]]'' | 1870 | 1948 | [[Purt le Moirrey]] |- | style='text-align:right'| 185 | | ''[[:d:Q112394413|John David Williams]]'' | 1931 | 2005 | [[Doolish]] |- | style='text-align:right'| 186 | | ''[[:d:Q112954595|Letitia Hannah Damer Sandys]]'' | 1840<br/>1833 | 1911 | [[Mannin]] |- | style='text-align:right'| 187 | | ''[[:d:Q114578445|John Wordsworth]]'' | 1845 | 1920 | [[Rhumsaa]] |- | style='text-align:right'| 188 | | ''[[:d:Q120900628|R. S. McCombe]]'' | 1902 | 1985 | [[Doolish]] |- | style='text-align:right'| 189 | [[Coadan:Robert Swan Stephen.png|center|128px]] | ''[[:d:Q121875076|Robert Swan Stephen]]'' | 1843 | 1903 | [[Skeerey Maghal]] |- | style='text-align:right'| 190 | | [[John Quane]] | 1757 | 1838 | [[Mannin]] |- | style='text-align:right'| 191 | | [[Robert E. Christian]] | 1817 | 1891 | [[Skeerey Maghal]] |- | style='text-align:right'| 192 | | ''[[:d:Q122381207|Voirrey Irving]]'' | 1918 | 2005 | [[Mannin]] |- | style='text-align:right'| 193 | [[Coadan:Charles Lionel Carson (1847–1901).png|center|128px]] | ''[[:d:Q123558946|Charles Lionel Carson]]'' | 1847 | 1901 | [[Mannin]] |- | style='text-align:right'| 194 | | ''[[:d:Q106808901|Julie Edge]]'' | | | [[Mannin]] |- | style='text-align:right'| 195 | [[Coadan:Max Walker - 2023 UCI Road World Championships (Men's under-23 road race).jpg|center|128px]] | ''[[:d:Q107036155|Max Walker]]'' | 2001 | | [[Doolish]] |- | style='text-align:right'| 196 | | ''[[:d:Q108257419|Nola York]]'' | | | [[Mannin]] |- | style='text-align:right'| 197 | [[Coadan:Will Draper.jpg|center|128px]] | ''[[:d:Q108809635|Will Draper]]'' | 2000 | | [[Mannin]] |- | style='text-align:right'| 198 | [[Coadan:Becky Storrie - Présentation TCFIA 2025.jpg|center|128px]] | ''[[:d:Q108878510|Becky Storrie]]'' | 1998 | | [[Balley Sallagh]] |- | style='text-align:right'| 199 | | ''[[:d:Q111254683|Jason Evans]]'' | 1991 | | [[Doolish]] |- | style='text-align:right'| 200 | [[Coadan:Yasmin Ingham at the Badminton Horse Trials 2025 - 20250510 135552(0).jpg|center|128px]] | [[Yasmin Ingham]] | 1997 | | [[Mannin]] |- | style='text-align:right'| 201 | | ''[[:d:Q114785217|William Henry Cooper]]'' | 1870 | | [[Balley Chashtal]] |- | style='text-align:right'| 202 | | ''[[:d:Q115910223|Michael Bott]]'' | 1954 | | [[Doolish]] |- | style='text-align:right'| 203 | | ''[[:d:Q117309494|Anna Branford]]'' | 1975 | | [[Mannin]] |- | style='text-align:right'| 204 | | ''[[:d:Q124685800|Tyler Hannay]]'' | 2003 | | [[Mannin]] |- | style='text-align:right'| 205 | | ''[[:d:Q126365066|Lucy Barnett]]'' | 2006 | | [[Kione Droghad]] |- | style='text-align:right'| 206 | | ''[[:d:Q130198574|Brian Christian]]'' | | | [[Mannin]] |- | style='text-align:right'| 207 | | ''[[:d:Q134973228|Catherine Perry]]'' | | | [[Mannin]] |- | style='text-align:right'| 208 | | ''[[:d:Q134973249|Rebecca Webster]]'' | | | [[Mannin]] |- | style='text-align:right'| 209 | | ''[[:d:Q134973255|Daniellle Murphy]]'' | | | [[Mannin]] |- | style='text-align:right'| 210 | | ''[[:d:Q134973282|Alanya Thorpe]]'' | | | [[Mannin]] |- | style='text-align:right'| 211 | | ''[[:d:Q134973285|Andrea Littlejohns]]'' | | | [[Mannin]] |- | style='text-align:right'| 212 | | ''[[:d:Q134973288|Caitlin Henery]]'' | | | [[Mannin]] |- | style='text-align:right'| 213 | | ''[[:d:Q134973298|Clare Crowe]]'' | | | [[Mannin]] |- | style='text-align:right'| 214 | | ''[[:d:Q134980247|Bliss Murtagh]]'' | | | [[Mannin]] |- | style='text-align:right'| 215 | | ''[[:d:Q134980251|Emma Miller]]'' | | | [[Mannin]] |- | style='text-align:right'| 216 | | ''[[:d:Q134980254|Rachel Overman]]'' | | | [[Mannin]] |- | style='text-align:right'| 217 | | ''[[:d:Q134980258|Sam Hassall]]'' | | | [[Mannin]] |- | style='text-align:right'| 218 | | ''[[:d:Q134980259|Finnola Martin]]'' | | | [[Mannin]] |- | style='text-align:right'| 219 | [[Coadan:David Steven Mullarkey (born 2000) at the Rhine-Ruhr 2025 FISU World University Games.png|center|128px]] | ''[[:d:Q135162284|David Mullarkey]]'' | 2000 | | [[Purt ny h-Inshey]] |- | style='text-align:right'| 220 | [[Coadan:James franklin iom 2021 1.jpg|center|128px]] | ''[[:d:Q135898155|James Franklin]]'' | 1980 | | ''[[:d:Q26715141|Glen Mona]]'' |- | style='text-align:right'| 221 | | ''[[:d:Q135898269|Simon Maddrell]]'' | 1965 | | [[Doolish]] |- | style='text-align:right'| 222 | | ''[[:d:Q138535546|Alexander Foster]]'' | 1999 | | [[Doolish]] |- | style='text-align:right'| 223 | | ''[[:d:Q140366855|William Arthur Gill]]'' | 1865 | | [[Mannin]] |- | style='text-align:right'| 224 | [[Coadan:Jersey Town Criterium 2012 Greg Mansell.jpg|center|128px]] | ''[[:d:Q126242|Greg Mansell]]'' | 1987 | | [[Doolish]] |- | style='text-align:right'| 225 | [[Coadan:Mark Cavendish TDF2012 (cropped).jpg|center|128px]] | [[Mark Cavendish]] | 1985 | | [[Doolish]] |- | style='text-align:right'| 226 | [[Coadan:Barry Gibb in 2017-Glasto17-197 (34744934874).jpg|center|128px]] | ''[[:d:Q296872|Barry Gibb]]'' | 1946 | | [[Doolish]] |- | style='text-align:right'| 227 | | ''[[:d:Q373700|Richard Corkill]]'' | 1951 | | [[Doolish]] |- | style='text-align:right'| 228 | [[Coadan:Leo Mansell 2010.jpg|center|128px]] | ''[[:d:Q427791|Leo Mansell]]'' | 1985 | | [[Mannin]] |- | style='text-align:right'| 229 | [[Coadan:Samantha Barks - Fendi.jpg|center|128px]] | [[Samantha Barks]] | 1990 | | [[Laksaa]] |- | style='text-align:right'| 230 | [[Coadan:Andrew Roche - 2014 Commonwealth Games (Men's road time trial).jpg|center|128px]] | ''[[:d:Q506928|Andrew Roche]]'' | 1971 | | [[Mannin]] |- | style='text-align:right'| 231 | [[Coadan:Peter Kennaugh - Tour de Romandie 2010, Stage 3.jpg|center|128px]] | ''[[:d:Q561361|Peter Kennaugh]]'' | 1989 | | [[Doolish]] |- | style='text-align:right'| 232 | [[Coadan:Ss7 higgins.jpg|center|128px]] | ''[[:d:Q570357|Mark Higgins]]'' | 1971 | | [[Mannin]] |- | style='text-align:right'| 233 | [[Coadan:Saint-Ghislain - Grand Prix Pino Cerami, 22 juillet 2015, départ (B016).JPG|center|128px]] | ''[[:d:Q594947|Mark Christian]]'' | 1990 | | [[Doolish]] |- | style='text-align:right'| 234 | | ''[[:d:Q935074|Donald Gelling]]'' | 1938 | | [[Skeerey Stondane]] |- | style='text-align:right'| 235 | [[Coadan:Alan Bell 2007.jpg|center|128px]] | [[Allan Bell]] | 1947 | | [[Mannin]] |- | style='text-align:right'| 236 | | ''[[:d:Q1378254|James Anthony Brown]]'' | 1950 | | [[Balley Chashtal]] |- | style='text-align:right'| 237 | [[Coadan:Jonathan Bellis.jpg|center|128px]] | ''[[:d:Q1381074|Jonathan Bellis]]'' | 1988 | | [[Doolish]] |- | style='text-align:right'| 238 | [[Coadan:Amy Jackson headshot (cropped).jpg|center|128px]] | [[Amy Jackson]] | 1992 | | [[Doolish]] |- | style='text-align:right'| 239 | [[Coadan:David Knight WEC 2010.jpg|center|128px]] | ''[[:d:Q2309170|David Knight]]'' | 1978 | | [[Balley ny Loghey]] |- | style='text-align:right'| 240 | [[Coadan:Prof eva rieger.jpg|center|128px]] | ''[[:d:Q2693484|Eva Rieger]]'' | 1940 | | [[Mannin]] |- | style='text-align:right'| 241 | | ''[[:d:Q2898341|Bernard Moffatt]]'' | 1946 | | [[Mannin]] |- | style='text-align:right'| 242 | | [[Clare Christian]] | 1945 | | [[Mannin]] |- | style='text-align:right'| 243 | [[Coadan:Harry Manx at Bluesfest 2008.jpg|center|128px]] | ''[[:d:Q3127867|Harry Manx]]'' | 1955 | | [[Mannin]] |- | style='text-align:right'| 244 | [[Coadan:Jamie Blackley.jpg|center|128px]] | [[Jamie Blackley]] | 1991 | | [[Doolish]] |- | style='text-align:right'| 245 | | ''[[:d:Q3314091|Miles Walker]]'' | 1940 | | [[Mannin]] |- | style='text-align:right'| 246 | | ''[[:d:Q3337801|Neil Bennett]]'' | 1951 | | [[Rhumsaa]] |- | style='text-align:right'| 247 | [[Coadan:Conor Cummins portrait.JPG|center|128px]] | ''[[:d:Q3687112|Conor Cummins]]'' | 1986 | | [[Doolish]] |- | style='text-align:right'| 248 | | ''[[:d:Q3973323|Steve Colley]]'' | 1972 | | [[Kione Droghad]] |- | style='text-align:right'| 249 | | ''[[:d:Q4706420|Alan Corkish]]'' | | | [[Mannin]] |- | style='text-align:right'| 250 | | ''[[:d:Q4706451|Alan Crowe]]'' | 1940 | | [[Mannin]] |- | style='text-align:right'| 251 | [[Coadan:AndyT Mugshot.jpg|center|128px]] | ''[[:d:Q4761421|Andy Tudor]]'' | 1977 | | [[Doolish]] |- | style='text-align:right'| 252 | [[Coadan:Prof Angela Little.jpg|center|128px]] | ''[[:d:Q4762488|Angela Little]]'' | 1949 | | [[Doolish]] |- | style='text-align:right'| 253 | | [[Anne Craine]] | 1954 | | [[Doolish]] |- | style='text-align:right'| 254 | [[Coadan:Christine Collister.jpg|center|128px]] | [[Christine Collister]] | 1961 | | [[Mannin]] |- | style='text-align:right'| 255 | [[Coadan:Sidecar Thurs Practice IMG 00257.jpg|center|128px]] | ''[[:d:Q5229405|Dave Molyneux]]'' | 1963 | | [[Doolish]] |- | style='text-align:right'| 256 | | ''[[:d:Q5229413|Dave Moore]]'' | 1966 | | [[Doolish]] |- | style='text-align:right'| 257 | | ''[[:d:Q5230767|David Anderson]]'' | 1954 | | [[Mannin]] |- | style='text-align:right'| 258 | | ''[[:d:Q5232661|David Cretney]]'' | 1954 | | [[Mannin]] |- | style='text-align:right'| 259 | | ''[[:d:Q5236864|David Lyon]]'' | 1943 | | [[Doolish]] |- | style='text-align:right'| 260 | [[Coadan:Davy-knowles.jpg|center|128px]] | ''[[:d:Q5242207|Davy Knowles]]'' | 1987 | | [[Purt le Moirrey]] |- | style='text-align:right'| 261 | | ''[[:d:Q5336528|Eddie Teare]]'' | 1948 | | [[Mannin]] |- | style='text-align:right'| 262 | | ''[[:d:Q5337428|Edgar Quine]]'' | 1934 | | [[Andreas, Mannin|Andreas]] |- | style='text-align:right'| 263 | | ''[[:d:Q5522814|Gareth Davies]]'' | 1965 | | [[Doolish]] |- | style='text-align:right'| 264 | | ''[[:d:Q5687920|Hazel Hannan]]'' | 2000 | | [[Purt Soderick]] |- | style='text-align:right'| 265 | [[Coadan:Roskams jane.jpg|center|128px]] | ''[[:d:Q6152688|Jane Roskams]]'' | | | [[Doolish]] |- | style='text-align:right'| 266 | | ''[[:d:Q6239980|John Houghton]]'' | 2000 | | [[Doolish]] |- | style='text-align:right'| 267 | | [[Juan Turner]] | 1974 | | [[Mannin]] |- | style='text-align:right'| 268 | [[Coadan:2021-Watterson-Juan-portrait.jpg|center|128px]] | ''[[:d:Q6301157|Juan Watterson]]'' | 1980 | | [[Mannin]] |- | style='text-align:right'| 269 | | ''[[:d:Q6397791|Kevin Woodford]]'' | 1950 | | [[Doolish]] |- | style='text-align:right'| 270 | [[Coadan:Martin Bridson2.jpg|center|128px]] | ''[[:d:Q6775057|Martin Bridson]]'' | 1964 | | [[Doolish]] |- | style='text-align:right'| 271 | | ''[[:d:Q7175096|Peter Karran]]'' | 1960 | | [[Mannin]] |- | style='text-align:right'| 272 | [[Coadan:Phil Gawne (cropped).jpg|center|128px]] | [[Phil Gawne]] | 1965 | | [[Doolish]] |- | style='text-align:right'| 273 | | ''[[:d:Q7612099|Steve Burke]]'' | 1974 | | [[Mannin]] |- | style='text-align:right'| 274 | | [[Tim Kennaugh]] | 1991 | | [[Doolish]] |- | style='text-align:right'| 275 | [[Coadan:Stoneham Maltais Anthonioz.jpg|center|128px]] | [[Zoe Gillings]] | 1985 | | [[Doolish]] |- | style='text-align:right'| 276 | | [[Cristen Marritt]] | 1989 | | [[Doolish]] |- | style='text-align:right'| 277 | | [[Kimberley Clague]] | 1988 | | [[Doolish]] |- | style='text-align:right'| 278 | [[Coadan:Robert Corteen Carswell.jpg|center|128px]] | [[Bob Carswell]] | 1950 | | [[Mannin]] |- | style='text-align:right'| 279 | | ''[[:d:Q16206261|Nick Crowe]]'' | 1971 | | [[Mannin]] |- | style='text-align:right'| 280 | | ''[[:d:Q16213489|Araminta de Clermont]]'' | 1971 | | [[Mannin]] |- | style='text-align:right'| 281 | [[Coadan:Goshen-Routh 16.jpg|center|128px]] | ''[[:d:Q16855481|Arthur Caley]]'' | 1824 | | [[Mannin]] |- | style='text-align:right'| 282 | [[Coadan:Anna Christian - 2019 Women's Tour of Scotland (stage 3).jpg|center|128px]] | [[Anna Christian]] | 1995 | | [[Doolish]] |- | style='text-align:right'| 283 | [[Coadan:FIL 2014 - Femmes Gaéliques - Ruth Keggin quartet - 1377.jpg|center|128px]] | ''[[:d:Q19874790|Ruth Keggin]]'' | 1989 | | [[Purt Çhiarn]] |- | style='text-align:right'| 284 | [[Coadan:Kieran Tierney Scotland v Bolivia 6 June 2026-6.jpg|center|128px]] | ''[[:d:Q19888012|Kieran Tierney]]'' | 1997 | | [[Doolish]] |- | style='text-align:right'| 285 | | ''[[:d:Q19956065|Kate Costain]]'' | | | [[Mannin]] |- | style='text-align:right'| 286 | | ''[[:d:Q21289363|Kevin Atherton]]'' | 1950 | | [[Doolish]] |- | style='text-align:right'| 287 | | ''[[:d:Q21642675|Tim Kneale]]'' | 1982 | | [[Doolish]] |- | style='text-align:right'| 288 | [[Coadan:Lillers - Grand Prix de Lillers-Souvenir Bruno Comini, 6 mars 2016 (B052).JPG|center|128px]] | [[Jake Kelly (daawheeylleyder)|Jake Kelly]] | 1995 | | [[Doolish]] |- | style='text-align:right'| 289 | [[Coadan:Liam Doyle.JPG|center|128px]] | ''[[:d:Q24005468|Liam Doyle]]'' | 1992 | | [[Mannin]] |- | style='text-align:right'| 290 | [[Coadan:2021-Skelly-Laurence-portrait.jpg|center|128px]] | [[Laurence Skelly]] | 1961 | | [[Doolish]] |- | style='text-align:right'| 291 | | [[Isla Callister]] | | | [[Mannin]] |- | style='text-align:right'| 292 | | [[Paayl Rogers]] | | | [[Mannin]] |- | style='text-align:right'| 293 | | [[Daniel Quayle]] | | | [[Mannin]] |- | style='text-align:right'| 294 | [[Coadan:Howard Quayle.jpg|center|128px]] | [[Howard Quayle]] | 1967 | | [[Doolish]] |- | style='text-align:right'| 295 | [[Coadan:Laura Wasley - 2014 Commonwealth Games (Women's road time trial).jpg|center|128px]] | ''[[:d:Q26845558|Laura Wasley]]'' | 1984 | | [[Doolish]] |- | style='text-align:right'| 296 | [[Coadan:Matt Bostock - 2019 Tour Series, Aberdeen (Men's race - team win).jpg|center|128px]] | [[Matthew Bostock]] | 1997 | | [[Mannin]] |- | style='text-align:right'| 297 | [[Coadan:Brianne West.jpg|center|128px]] | ''[[:d:Q28033898|Brianne West]]'' | 1985 | | [[Purt Çhiarn]] |- | style='text-align:right'| 298 | [[Coadan:2024 Tour de France Femmes - 2e etappe Lizzie Holden 1.jpg|center|128px]] | [[Lizzie Holden]] | 1997 | | [[Doolish]] |- | style='text-align:right'| 299 | | ''[[:d:Q28378513|Hugh Davidson]]'' | 1935 | | [[Mannin]] |- | style='text-align:right'| 300 | | ''[[:d:Q28792438|Nathan Draper]]'' | 1997 | | [[Doolish]] |- | style='text-align:right'| 301 | [[Coadan:Sam Brand, 2019 Milan-Sanremo.jpg|center|128px]] | ''[[:d:Q36286044|Sam Brand]]'' | 1991 | | [[Purt ny h-Inshey]] |- | style='text-align:right'| 302 | | [[Adam Long (bluckaneyr)|Adam Long]] | 2000 | | [[Doolish]] |- | style='text-align:right'| 303 | | ''[[:d:Q44821053|Alfred Walter Adams]]'' | | | [[Mannin]] |- | style='text-align:right'| 304 | [[Coadan:Dr Eleanor Scott.jpg|center|128px]] | ''[[:d:Q46997927|Eleanor Scott]]'' | 1960 | | [[Mannin]] |- | style='text-align:right'| 305 | | [[Jessica Li]] | 1998 | | [[Doolish]] |- | style='text-align:right'| 306 | [[Coadan:Sophia Goulden anon died 1910.jpg|center|128px]] | ''[[:d:Q50387964|Sophia Goulden]]'' | 1833 | | [[Skeerey Lonan]] |- | style='text-align:right'| 307 | | ''[[:d:Q50676544|Kerry Sharpe]]'' | | | [[Mannin]] |- | style='text-align:right'| 308 | | [[Daryl Callister]] | 1989 | | [[Mannin]] |- | style='text-align:right'| 309 | | ''[[:d:Q55409232|Leon Mazzone]]'' | 1996 | | [[Rhumsaa]] |- | style='text-align:right'| 310 | | ''[[:d:Q55900439|Gérard MacQuillan]]'' | 1949 | | [[Doolish]] |- | style='text-align:right'| 311 | | ''[[:d:Q59242725|Clare Faulds]]'' | | | [[Mannin]] |- | style='text-align:right'| 312 | | ''[[:d:Q63344804|Colin Callow]]'' | | | [[Mannin]] |- | style='text-align:right'| 313 | | ''[[:d:Q64006025|Gary R. Lewin]]'' | 1965 | | [[Mannin]] |- | style='text-align:right'| 314 | | ''[[:d:Q72604247|Nigel Dean]]'' | 1947 | | [[Doolish]] |- | style='text-align:right'| 315 | | ''[[:d:Q75401195|Margaret Rosamund Moore]]'' | 1871 | | [[Skeerey Vraddan|Skeerey Braddan]] |- | style='text-align:right'| 316 | | ''[[:d:Q75463040|Margaret Moore]]'' | 1735 | | [[Skeerey Maghal]] |- | style='text-align:right'| 317 | | ''[[:d:Q75463064|George Quaile]]'' | 1801 | | [[Mannin]] |- | style='text-align:right'| 318 | | ''[[:d:Q75463140|Margaret Moore]]'' | | | [[Skeerey Malew]] |- | style='text-align:right'| 319 | | ''[[:d:Q75467601|Margaret Moore]]'' | | | [[Mannin]] |- | style='text-align:right'| 320 | | ''[[:d:Q87063021|Tom Mazzone]]'' | 1993 | | [[Doolish]] |- | style='text-align:right'| 321 | [[Coadan:Paul Quine.jpg|center|128px]] | ''[[:d:Q98755074|Paul Quine]]'' | 1969 | | [[Doolish]] |- | style='text-align:right'| 322 | | ''[[:d:Q100740733|Jane Callister]]'' | 1963 | | [[Doolish]] |- | style='text-align:right'| 323 | [[Coadan:Joe Locke en 2022.jpg|center|128px]] | [[Joe Locke (aghteyr)|Joe Locke]] | 2003 | | [[Doolish]] |} == Misc == {| class='wikitable sortable' ! # ! XXX Add 'Image' in Manx here please! XXX ! XXX change to 'Name' in Manx! XXX ! XXX dob XXX ! XXX date of death XXX ! xxx Place of birth xxx |- | style='text-align:right'| 34 | | ''[[:d:Q15840011|Peta]]'' | 1963 | 1980 | [[Mannin]] |} {{Wikidata list end}} ecz8dyaywzjatob3kvwii5hvegox6qx Module:Kishtey fys boayl 828 56335 395480 395390 2026-10-28T16:04:10Z MacTire02 219 ++ 395480 Scribunto text/plain local p = {} local okWd, Wd = pcall(require, "Module:Wd") local function getArgs(frame) local parent = frame:getParent() if parent then return parent.args end return frame.args end local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end -- Wikidata reference for the best statement of a property (ready-made <ref> wikitext, or ""). local function getWdReference(property) if not okWd or not Wd or not Wd._reference then return "" end local ok, result = pcall(Wd._reference, { "best", property }) if ok and type(result) == "string" then return result end return "" end -- Upper-cases the first character (UTF-8 safe). local function ucfirst(text) if not text or text == "" then return text end return mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2) end local DIVIDER = '<tr><td colspan="2" style="border-top:1px solid #a2a9b1; padding:0; height:0px;"></td></tr>' -- Submodules in display order; each exposes main(frame, args) returning row HTML or nil. local SUBMODULES = { "aascreeu", "jalloo", "bratteeyn", "cowraghyn", "caslyssyn", "aarheynn", "bunneeaght", "soiag", "çhengaghyn", "reiltys", "eaghtyr", "yrjid", "pobble", "deynoaylleeaght", "crysshraa", "coadyn", "blank", "ynnyd-eggey", } -- First best-rank monolingual statement not rejected by `skip(text, lang)`: text, language code. local function getWdMonolingual(property, skip) local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements(property) if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "monolingualtext" then local value = snak.datavalue.value if value and value.text and value.text ~= "" and not (skip and skip(value.text, value.language)) then return value.text, value.language end end end return nil end -- Band labels for particular types (P31), as piped links; a type listed here beats its plain Manx label. local CATEGORY_LABELS = { { class = "Q202156", label = "[[Queiggaghyn Nerin|Queiggey]]" }, -- province of Ireland { class = "Q179872", label = "[[Coondaeghyn Nerin|Coontae]]" }, -- county of Ireland } -- Band label: a listed type's link, else the Manx label of the first instance-of (P31) item; nil when none. local function getWdCategoryLabel() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getAllStatements("P31") if not statements or #statements == 0 then return nil end local function idOf(statement) local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local value = snak.datavalue.value return value.id or ("Q" .. tostring(value["numeric-id"])) end end local types = {} for _, statement in ipairs(statements) do local id = idOf(statement) if id then types[id] = true end end for _, rule in ipairs(CATEGORY_LABELS) do if types[rule.class] then return rule.label end end local best = entity:getBestStatements("P31") local id = best and best[1] and idOf(best[1]) if not id then return nil end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return ucfirst(label) end return nil end -- Makes text upright: italic tags (<i>, <em>) become plain spans, except transliterations -- ({{tessen-lettyraghey}} / {{transcription}} output an <i lang="xx-Latn"> tag), which keep their italics. local function uprightText(html) local out, pos, stack = {}, 1, {} while true do local s, e, closing, tag, attrs = html:find("<(/?)([iIeE][mM]?)([^>]*)>", pos) if not s then break end table.insert(out, html:sub(pos, s - 1)) local name = tag:lower() if (name ~= "i" and name ~= "em") or (attrs ~= "" and not attrs:match("^%s")) then table.insert(out, html:sub(s, e)) -- some other tag that merely starts with i or e elseif closing == "/" then local keep = table.remove(stack) table.insert(out, keep and html:sub(s, e) or "</span>") else local keep = attrs:lower():match('lang%s*=%s*"[^"]*%-latn"') ~= nil table.insert(stack, keep) if keep then table.insert(out, html:sub(s, e)) else table.insert(out, "<span" .. attrs .. ' style="font-style:normal;">') end end pos = e + 1 end table.insert(out, html:sub(pos)) return table.concat(out) end local function langSpan(text, lang) local attr = "" if lang and lang ~= "" then attr = ' lang="' .. lang .. '" xml:lang="' .. lang .. '"' end return '<span class="nickname"' .. attr .. '>' .. text .. '</span>' end local function buildHeader(args) local title = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local nativeName = getManual(args, { "ennym_dooghyssagh" }) local nativeLang = getManual(args, { "çhengey_ennym_dooghyssagh" }) local nativeHtml if nativeName then if not isNone(nativeName) then nativeHtml = langSpan(uprightText(nativeName), nativeLang) end else -- Skip Manx names, the page title itself, and names already given in ennym_elley. local otherManual = getManual(args, { "ennym_elley" }) or "" local text, lang = getWdMonolingual("P1705", function(t, l) return l == "gv" or t == title or mw.ustring.find(otherManual, t, 1, true) ~= nil end) if text then nativeHtml = langSpan(text, lang) .. getWdReference("P1705") end end local otherName = getManual(args, { "ennym_elley" }) local otherHtml if otherName and not isNone(otherName) then otherHtml = langSpan(otherName, getManual(args, { "çhengey_ennym_elley" })) end local html = '<tr class="adr"><th colspan="2" class="fn org" style="line-height:1.2em; padding:0.25em 0.4em 0.33em; font-size:1.25em; text-align:center; font-weight:normal;"><span style="font-weight:bold;">' .. title .. '</span>' if nativeHtml then html = html .. '<div style="padding-top:0.25em;">' .. nativeHtml .. '</div>' end if otherHtml then html = html .. '<div style="padding-top:0.25em;">' .. otherHtml .. '</div>' end return html .. '</th></tr>' end -- "— Sorçh —" band under the title; manual label, else the Manx label of the item's type. local function buildCategoryBand(args) local label = getManual(args, { "sorçh_boayl", "sorçh_balley", "sorçh" }) if label and isNone(label) then return nil end if not label then label = getWdCategoryLabel() end if not label then return nil end return '<tr class="mergedtoprow"><td colspan="2" style="text-align:center; background-color:#cddeff; border-top:1px solid #a2a9b1; padding:0.2em 0.4em;">—&nbsp;&nbsp;<b><span class="category">' .. label .. '</span></b>&nbsp;&nbsp;—</td></tr>' end -- Official name row, shown only when both a common and an official name are given. local function buildOfficialName(args) local common = getManual(args, { "ennym" }) local official = getManual(args, { "ennym_oikoil" }) if common and official and not isNone(official) then return '<tr class="mergedtoprow"><th colspan="2" style="text-align:center; padding-left:0.4em; padding-right:0.4em;">' .. official .. '</th></tr>' end return nil end local ALTERNATE_NAMES = { soiag = "soieag" } local function runSubmodule(frame, args, name) local okLoad, mod = pcall(require, "Module:Kishtey fys boayl/" .. name) -- Older page names still in use on the wiki. if not okLoad and ALTERNATE_NAMES[name] then okLoad, mod = pcall(require, "Module:Kishtey fys boayl/" .. ALTERNATE_NAMES[name]) end if not okLoad then return '<tr><td colspan="2" style="color:#d33; padding:0.2em 0.4em;">Module error: ' .. name .. ' (load): ' .. mw.text.nowiki(tostring(mod)) .. '</td></tr>' end if not (mod and mod.main) then return nil end local okRun, result = pcall(mod.main, frame, args) if not okRun then return '<tr><td colspan="2" style="color:#d33; padding:0.2em 0.4em;">Module error: ' .. name .. ': ' .. mw.text.nowiki(tostring(result)) .. '</td></tr>' end return result end local UNKNOWN_CATEGORY = "Ronney:Duillagyn gymmydey kishtey fys boayl marish parameadaryn gyn enney" -- Wraps the template arguments so every name a module asks for is remembered. local function trackArgs(real) local asked = {} local proxy = setmetatable({}, { __index = function(_, key) asked[key] = true return real[key] end }) return proxy, asked end -- Named, non-empty parameters that no module asked for, sorted. local function findUnknown(real, asked) local unknown = {} for key, value in pairs(real) do if type(key) == "string" and not asked[key] and mw.text.trim(tostring(value)) ~= "" then table.insert(unknown, key) end end table.sort(unknown) return unknown end local function isPreview(frame) return frame:preprocess("{{REVISIONID}}") == "" end function p.main(frame) local realArgs = getArgs(frame) local args, asked = trackArgs(realArgs) local rows = {} table.insert(rows, buildHeader(args)) local band = buildCategoryBand(args) if band then table.insert(rows, band) end local official = buildOfficialName(args) if official then table.insert(rows, official) end for _, name in ipairs(SUBMODULES) do local content = runSubmodule(frame, args, name) if content and content ~= "" then table.insert(rows, DIVIDER) table.insert(rows, content) end end -- Unknown parameters: a red italic warning in previews, and a tracking category on articles. local unknown = findUnknown(realArgs, asked) local category = "" if #unknown > 0 then if isPreview(frame) then table.insert(rows, 1, '<tr><td colspan="2" style="color:#d33; font-style:italic; padding:0.3em 0.6em;">Parameadaryn gyn enney: ' .. mw.text.nowiki(table.concat(unknown, ", ")) .. '</td></tr>') end if mw.title.getCurrentTitle().namespace == 0 then category = "[[" .. UNKNOWN_CATEGORY .. "|" .. unknown[1] .. "]]" end end local html = table.concat(rows) -- A word joiner before each footnote marker keeps it on the same line as the claim it supports. html = html:gsub("\127'\"`UNIQ%-%-ref%-%x+%-QINU`\"'\127", "&#8288;%0") -- Label columns share one width (both plain and bullet rows) so values line up in every skin. html = html:gsub("width:8em; max%-width:8em; ", "") html = html:gsub('<th scope="row" style="', '<th scope="row" style="width:40%%; ') html = html:gsub('<th style="', '<th style="width:40%%; ') return '<table class="infobox geography vcard" style="float:right; clear:right; margin:0.5em 0 1em 1em; width:24.15em; border:1px solid #a2a9b1; border-collapse:collapse; font-size:95%;">' .. html .. '</table>' .. category end return p qte68kz4nqgtbd7vv3upg117qb67z7d Module:Kishtey fys boayl/jalloo 828 56337 395499 395389 2026-10-28T19:30:46Z MacTire02 219 y ~ yn 395499 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local DEFAULT_WIDTH = "300px" local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end -- Bare numbers become pixel widths ("250" -> "250px"). local function normaliseSize(size) if size and size:match("^%d+$") then return size .. "px" end return size end -- Genitive form of the place name for link text: manual param, else Module:Enmyn çheerey, else the name itself. local function getGenitiveName(args) local manual = getManual(args, { "ennym_gienneydagh", "ennym_oikoil_gienneydagh" }) if manual then return manual end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local ok, Enmyn = pcall(require, "Module:Enmyn çheerey") if ok and Enmyn and Enmyn.genitive then local okGen, genitive = pcall(Enmyn.genitive, name) if okGen and genitive and genitive ~= "" then return genitive end end return name end -- Best-rank P18 file name plus the statement it came from. local function getWdImage() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P18") if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then local file = snak.datavalue.value if file and file ~= "" then return file, statement end end end return nil end -- Manx-language media legend (P2096) on the P18 statement, if any. local function getWdCaption(statement) local qualifiers = statement and statement.qualifiers and statement.qualifiers["P2096"] if not qualifiers then return nil end for _, snak in ipairs(qualifiers) do local value = snak.datavalue and snak.datavalue.value if value and value.language == "gv" and value.text and value.text ~= "" then return value.text end end return nil end -- A bare image file name (no markup): returns it without any File:/Coadan: prefix. local function bareFileName(value) if not value or value:find("[%[%]{}<>|\n]") then return nil end local name = mw.text.trim(value):gsub("^[Ff]ile:", ""):gsub("^[Ii]mage:", ""):gsub("^[Cc]oadan:", "") local ext = name:lower():match("%.(%a+)$") local images = { jpg = true, jpeg = true, png = true, gif = true, svg = true, tif = true, tiff = true, webp = true } if ext and images[ext] then return name end return nil end local CELL = '<tr><td colspan="2" style="text-align:center; padding:0.7em 0.4em;"><div style="display:flex; flex-direction:column; align-items:center;">%s</div></td></tr>' function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local rows = {} -- |jalloo= is the main photograph: a bare file name (or none to hide it, Wikidata P18 included). -- The legacy |jalloo_bun_speyrey= still works when |jalloo= gives no file name. local other = getManual(args, { "jalloo" }) local legacy = getManual(args, { "jalloo_bun_speyrey" }) local suppressed = isNone(other) or isNone(legacy) if isNone(other) then other = nil end if isNone(legacy) then legacy = nil end local file, statement local extraFile local bare = bareFileName(other) if bare then file = bare other = nil extraFile = legacy elseif legacy then file = legacy elseif not suppressed then -- Wikidata image (P18) only when no manual image is given. file, statement = getWdImage() end local width = normaliseSize(getManual(args, { "mooadys_jalloo" })) or DEFAULT_WIDTH local alt = getManual(args, { "alt_jalloo" }) or "" if file then local caption = getManual(args, { "fo-heidyl_jalloo" }) if not caption and statement then caption = getWdCaption(statement) end local tooltip = caption or U.genitiveAfter("Bun speyrey", getGenitiveName(args)) local html = '[[Coadan:' .. file .. '|' .. width .. '|none|alt=' .. alt .. '|' .. tooltip .. ']]' if caption then html = html .. '<div style="padding-top:2pt;">' .. caption .. '</div>' end table.insert(rows, string.format(CELL, html)) end if extraFile then table.insert(rows, string.format(CELL, '[[Coadan:' .. extraFile .. '|' .. width .. '|none|alt=' .. alt .. ']]')) end -- Free-form cell (raw wikitext, as in the old template). if other then table.insert(rows, string.format(CELL, other)) end if #rows == 0 then return nil end return table.concat(rows) end return p r4v4jitoonzy9ukke8qffqzqunbkoil Module:Kishtey fys boayl/bratteeyn 828 56338 395500 395304 2026-10-28T19:31:17Z MacTire02 219 ++ 395500 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function normaliseSize(size) if size and size:match("^%d+$") then return size .. "px" end return size end local function getGenitiveName(args) local manual = getManual(args, { "ennym_gienneydagh", "ennym_oikoil_gienneydagh" }) if manual then return manual end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local ok, Enmyn = pcall(require, "Module:Enmyn çheerey") if ok and Enmyn and Enmyn.genitive then local okGen, genitive = pcall(Enmyn.genitive, name) if okGen and genitive and genitive ~= "" then return genitive end end return name end local function getWdImage(property) local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements(property) if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then local file = snak.datavalue.value if file and file ~= "" then return file end end end return nil end -- Non-rectangular flags get no border. local NON_RECTANGULAR_FLAGS = { ["Flag of Nepal.svg"] = true, } local function needsFlagBorder(file) if NON_RECTANGULAR_FLAGS[file] then return false end if mw.ustring.find(mw.ustring.lower(file), "nepal", 1, true) then return false end return true end -- The four symbols, in old-template pairing order: flag + seal, then arms + logo. local SYMBOLS = { { key = "brattagh", param = "jalloo_brattagh", wd = "P41", defaultLabel = "Brattagh", pair = 1, width = "130px" }, { key = "seal", param = "jalloo_seal", wd = "P158", defaultLabel = "Seal", pair = 1, width = "100px" }, { key = "armys", param = "jalloo_armys", wd = "P94", defaultLabel = "Armys", pair = 2, width = "80px" }, { key = "logo", param = "jalloo_cowrey_bane", wd = "P154", defaultLabel = "Logo", pair = 2, width = "100px" }, } local function collectSymbols(args) local found = {} local genitive = getGenitiveName(args) for _, symbol in ipairs(SYMBOLS) do local file = getManual(args, { symbol.param }) if file and isNone(file) then file = nil elseif not file then file = getWdImage(symbol.wd) end if file then local label = symbol.defaultLabel if symbol.key == "logo" then label = getManual(args, { "sorçh_cowrey_bane" }) or label end -- No link unless kiangley_<symbol> asks for one. local link = getManual(args, { "kiangley_" .. symbol.key, "kiangley_" .. (symbol.key == "logo" and "cowrey_bane" or symbol.key) }) local border = (symbol.key == "brattagh" and needsFlagBorder(file)) and "|border" or "" local width = normaliseSize(getManual(args, { "mooadys_" .. (symbol.key == "logo" and "cowrey_bane" or symbol.key) })) or symbol.width local alt = getManual(args, { "alt_" .. (symbol.key == "logo" and "cowrey_bane" or symbol.key) }) or "" table.insert(found, { pair = symbol.pair, image = '[[Coadan:' .. file .. '|' .. width .. border .. '|link=|alt=' .. alt .. '|' .. U.genitiveAfter(label, genitive) .. ']]', caption = '<b>' .. (link and ('[[' .. link .. '|' .. label .. ']]') or label) .. '</b>', }) end end return found end local function buildRow(items) if #items == 0 then return "" end local images, captions = {}, {} for _, item in ipairs(items) do table.insert(images, '<td style="text-align:center; vertical-align:middle; padding:0 0.9em;">' .. item.image .. '</td>') table.insert(captions, '<td style="text-align:center; padding:0 0.9em;">' .. item.caption .. '</td>') end return '<tr>' .. table.concat(images) .. '</tr><tr>' .. table.concat(captions) .. '</tr>' end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local symbols = collectSymbols(args) if #symbols == 0 then return nil end local groups = { {}, {} } if #symbols == 2 then groups[1] = symbols else for _, symbol in ipairs(symbols) do table.insert(groups[symbol.pair], symbol) end end local tableHtml = '<div style="text-align:center;"><table style="background:none; display:inline-table; margin:0; text-align:center;">' .. buildRow(groups[1]) .. buildRow(groups[2]) .. '</table></div>' return '<tr><td colspan="2" style="text-align:center; padding:0.5em 0.4em;">' .. tableHtml .. '</td></tr>' end return p t927wlalvopvrxn6dkbcb3k5rqfol90 Module:Kishtey fys boayl/caslyssyn 828 56340 395501 395386 2026-10-28T19:31:44Z MacTire02 219 y ~ yn 395501 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local okWd, Wd = pcall(require, "Module:Wd") local MAP_WIDTH = "300" local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function normaliseSize(size) if size and size:match("^%d+$") then return size .. "px" end return size end local function getWdReference(property) if not okWd or not Wd or not Wd._reference then return "" end local ok, result = pcall(Wd._reference, { "best", property }) if ok and type(result) == "string" then return result end return "" end local function wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end local function getGenitiveName(args) local manual = getManual(args, { "ennym_gienneydagh", "ennym_oikoil_gienneydagh" }) if manual then return manual end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local ok, Enmyn = pcall(require, "Module:Enmyn çheerey") if ok and Enmyn and Enmyn.genitive then local okGen, genitive = pcall(Enmyn.genitive, name) if okGen and genitive and genitive ~= "" then return genitive end end return name end local function getWdFile(property) local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements(property) if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then local file = snak.datavalue.value if file and file ~= "" then return file end end end return nil end -- Best-rank P625 as latitude, longitude numbers. local function getWdCoordinates() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P625") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "globecoordinate") then return nil end local value = snak.datavalue.value if value.latitude and value.longitude then return value.latitude, value.longitude end return nil end ---------------------------------------------------------------------- -- Manual coordinates (old template's latd/latm/lats/latNS/longd/... shape) ---------------------------------------------------------------------- local function dmsParts(deg, min, sec, dir) local parts = { deg } if min then table.insert(parts, min) end if sec then table.insert(parts, sec) end if dir then table.insert(parts, dir) end return parts end -- Returns "suppress", or { lat = parts, long = parts, decimal = {lat, long}|nil }, or nil. local function getManualCoordinates(args) -- coord=none hides the coordinates; latd=none is the legacy way. if isNone(getManual(args, { "coord" })) then return "suppress" end local latd = getManual(args, { "latd" }) if not latd then return nil end if isNone(latd) then return "suppress" end local longd = getManual(args, { "longd" }) if not longd then return nil end local latm, lats, latNS = getManual(args, { "latm" }), getManual(args, { "lats" }), getManual(args, { "latNS" }) local longm, longs, longEW = getManual(args, { "longm" }), getManual(args, { "longs" }), getManual(args, { "longEW" }) local isDms = latm or latNS or longm or longEW local result = { lat = isDms and dmsParts(latd, latm, lats, latNS) or { latd }, long = isDms and dmsParts(longd, longm, longs, longEW) or { longd }, } if not isDms then local la, lo = tonumber(latd), tonumber(longd) if la and lo then result.decimal = { la, lo } end else -- Decimal equivalent for the interactive map. local function toDecimal(d, m, s, dir) local value = tonumber(d) if not value then return nil end value = value + (tonumber(m) or 0) / 60 + (tonumber(s) or 0) / 3600 if dir == "S" or dir == "W" then value = -value end return value end local la, lo = toDecimal(latd, latm, lats, latNS), toDecimal(longd, longm, longs, longEW) if la and lo then result.decimal = { la, lo } end end return result end local function coordType(args) local custom = getManual(args, { "sorçh_coor" }) if custom then return custom end local text = "type:city" local population = getManual(args, { "slane_earroo_yn_phobble" }) local number = population and tonumber((population:gsub("[,%s]", ""))) if number and number > 0 then text = text .. "(" .. string.format("%d", number) .. ")" end local region = getManual(args, { "ard_coordnaidyn" }) if region then text = text .. "_region:" .. region end return text end local function expandCoord(frame, args, coords) local callArgs = {} for _, v in ipairs(coords.lat) do table.insert(callArgs, v) end for _, v in ipairs(coords.long) do table.insert(callArgs, v) end table.insert(callArgs, coordType(args)) callArgs.display = "inline,title" local format = getManual(args, { "cummey_coordnaidyn" }) callArgs.format = format or "dms" return frame:expandTemplate{ title = "coord", args = callArgs } end ---------------------------------------------------------------------- -- Map rows ---------------------------------------------------------------------- local function mapRow(inner) return '<tr><td colspan="2" style="text-align:center; padding:0.2em 0.4em;"><div style="display:flex; flex-direction:column; align-items:center;">' .. inner .. '</div></td></tr>' end local function captionDiv(caption) if not caption or caption == "" then return "" end return '<div style="padding-top:2pt;">' .. caption .. '</div>' end -- Caption: manual text, "none" to hide, else "Soiaghey <genitive>". local function resolveCaption(manual, genitive) if manual and isNone(manual) then return nil end return manual or U.genitiveAfter("Soiaghey", genitive) end -- Static locator maps: base "jalloo_caslys-çheerey" plus "1". local function buildStaticMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "1" }) do local file = getManual(args, { "jalloo_caslys-çheerey" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey" .. suffix })) or (MAP_WIDTH .. "px") local alt = getManual(args, { "alt_caslys-çheerey" .. suffix }) or "" local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" .. suffix }), genitive) local tooltip = caption or U.genitiveAfter("Soiaghey", genitive) table.insert(rows, mapRow('<div style="pointer-events:none;">[[Coadan:' .. file .. '|' .. width .. '|none|link=|alt=' .. alt .. '|' .. tooltip .. ']]</div>' .. captionDiv(caption))) end end return rows end -- Basic map with a red dot placed by clee/baare offsets: "" and "2". local function buildOverlayMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "2" }) do local file = getManual(args, { "jalloo_caslys-çheerey_bunneydagh" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_bunneydagh" .. suffix })) or "240px" local left = getManual(args, { "clee" .. suffix }) or "0" local top = getManual(args, { "baare" .. suffix }) or "0" local before = getManual(args, { "ennym_er_caslys" }) local after = getManual(args, { "ennym_caslys_jesh" }) local dot = (before and ('<sub>' .. before .. '</sub>') or "") .. '&nbsp;[[Coadan:Red pog.svg|8px|link=]]' .. (after and ('&nbsp;<sub>' .. after .. '</sub>') or "") local html = '<div style="position:relative;">[[Coadan:' .. file .. '|' .. width .. '|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]<div style="position:absolute; left:' .. left .. '; top:' .. top .. ';">' .. dot .. '</div></div>' html = html .. captionDiv(resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey_bunneydagh" .. suffix, "fo-heidyl_caslys-çheerey" }), genitive)) table.insert(rows, mapRow(html)) end end return rows end -- Dot map through {{sar-hoiaghey}}. local function buildDotMap(frame, args) local file = getManual(args, { "jalloo_caslys-çheerey_ponk" }) if not file or isNone(file) then return nil end local name = getManual(args, { "ennym_oikoil", "ennym" }) or mw.title.getCurrentTitle().text local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_ponk" })) or "180px" local rendered = frame:expandTemplate{ title = "sar-hoiaghey", args = { bun = file, lheead_bun = width, alt_bun = getManual(args, { "alt_bun_caslys-çheerey_ponk" }) or "", ["fo-heidyl_bun"] = name, snaue = "Red pog.svg", lheead_snaue = "6px", alt_snaue = getManual(args, { "alt_caslys-çheerey_ponk" }) or "", ["fo-heidyl_snaue"] = getManual(args, { "fo-heidyl_caslys-çheerey_ponk" }) or "", x = getManual(args, { "ponk_x" }) or "", y = getManual(args, { "ponk_y" }) or "", } } return mapRow('<div class="center">' .. rendered .. captionDiv(getManual(args, { "fo-heidyl_caslys-çheerey_ponk" })) .. '</div>') end -- Pushpin maps through {{Caslys-çheerey soiaghey}}: base "broo-freeney" plus "1". local function buildPushpinMaps(frame, args) local rows = {} local manual = getManual(args, { "latd" }) local name = getManual(args, { "ennym", "ennym_oikoil" }) or getManual(args, { "ennym_gienneydagh" }) or mw.title.getCurrentTitle().text local usesDms = getManual(args, { "latm" }) or getManual(args, { "latNS" }) local usesLongDms = getManual(args, { "longm" }) or getManual(args, { "longEW" }) for _, suffix in ipairs({ "", "1" }) do local map = getManual(args, { "caslys-çheerey_broo-freeney" .. suffix }) if map and not isNone(map) then local labelSwitch = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) local label = "" if not (labelSwitch and labelSwitch:lower() == "none") then label = getManual(args, { "lipaid_broo-freeney" .. suffix }) or name end local rendered = frame:expandTemplate{ title = "Caslys-çheerey soiaghey", args = { map, label = label, alt = getManual(args, { "alt_caslys-çheerey_broo-freeney" .. suffix }) or "", lat = (not usesDms) and (getManual(args, { "latd" }) or "") or "", long = (not usesLongDms) and (getManual(args, { "longd" }) or "") or "", lat_deg = usesDms and (getManual(args, { "latd" }) or "") or "", lat_min = usesDms and (getManual(args, { "latm" }) or "") or "", lat_sec = usesDms and (getManual(args, { "lats" }) or "") or "", lat_dir = getManual(args, { "latNS" }) or "", lon_deg = usesLongDms and (getManual(args, { "longd" }) or "") or "", lon_min = usesLongDms and (getManual(args, { "longm" }) or "") or "", lon_sec = usesLongDms and (getManual(args, { "longs" }) or "") or "", lon_dir = getManual(args, { "longEW" }) or "", marksize = "6", float = "none", caption = "", border = "none", position = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) or "", width = getManual(args, { "mooadys_caslys-çheerey_broo-freeney" .. suffix }) or "250", AlternativeMap = getManual(args, { "jalloo_broo-freeney" .. suffix }) or "", } } local caption = getManual(args, { "fo-heidyl_caslys-çheerey_broo-freeney" .. suffix, "fo-heidyl_caslys-çheerey" }) table.insert(rows, mapRow('<div class="center">' .. rendered .. captionDiv(caption) .. '</div>')) end end return rows end -- Country (P17) name for picking the blank location map, e.g. "Mannin". local function getCountryName(args) local manual = getManual(args, { "caslys-çheerey_çheer" }) if manual then return manual end local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P17") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid") then return nil end local value = snak.datavalue.value local id = value.id or ("Q" .. tostring(value["numeric-id"])) local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return sitelink end return nil end -- Blank country map with a red dot via {{Location map}}, when "Module:Location map/data/<country>" exists. local function buildAutoPushpin(frame, args, lat, lon) if not lat then return nil end local country = getCountryName(args) if not country or isNone(country) then return nil end local data = mw.title.new("Module:Location map/data/" .. country) if not (data and data.exists) then return nil end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" }), getGenitiveName(args)) or "" -- Hover text is the caption alone, as plain text (not "X is located in Y"). local altText = caption:gsub("%[%[[^%]|]*|([^%]]*)%]%]", "%1"):gsub("%[%[([^%]]*)%]%]", "%1"):gsub("<[^>]*>", "") return frame:expandTemplate{ title = "Location map", args = { country, alt = altText ~= "" and altText or nil, border = "infobox", float = "center", width = MAP_WIDTH, max_width = MAP_WIDTH, maplink = "", label = name, lat = string.format("%.6f", lat), long = string.format("%.6f", lon), marksize = "6", position = getManual(args, { "soiaghey_lipaid" }), caption = caption, relief = getManual(args, { "releef_caslys-çheerey" }), } } end -- Wikidata shape sources: OSM relation (P402) or a Commons geoshape page (P3896, "Data:Meath.map"). local function getWdShape() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local osm = entity:getBestStatements("P402") if osm and #osm > 0 then return { service = "geoshape", id = entity.id } end local geoshape = entity:getBestStatements("P3896") local snak = geoshape and geoshape[1] and geoshape[1].mainsnak if snak and snak.snaktype == "value" and snak.datavalue and type(snak.datavalue.value) == "string" then local title = snak.datavalue.value:gsub("^Data:", "") return { service = "page", title = title } end return nil end -- Item without a point (P625) but with a shape: the shape alone, centred and zoomed by the map itself. local function buildShapeOnlyMap(frame, shape) local data = { type = "ExternalData", service = shape.service, properties = { stroke = "#FF0000", ["stroke-width"] = 2, fill = "#606060", ["fill-opacity"] = 0.1 } } if shape.service == "geoshape" then data.ids = shape.id else data.title = shape.title end local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", align = "center" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Interactive map from the coordinates (manual decimal equivalent, else Wikidata P625); the shape alone when there is no point. local function buildMapframe(frame, args, manualCoords) -- Wikidata P625 only: passing coordinates makes Module:Mapframe error on gv.wiki. local shape = getWdShape() -- Manual coordinates cannot go to Module:Infobox mapframe, but an outline needs no point. if manualCoords ~= nil then return shape and buildShapeOnlyMap(frame, shape) or nil end if not getWdCoordinates() then if shape then return buildShapeOnlyMap(frame, shape) end return nil end -- An item with a shape (a county, say) is fitted by the map itself; a plain point gets a fixed zoom. local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or (not shape and "12" or nil) local callArgs = { "Infobox mapframe", "autoWithCaption", onByDefault = "yes", ["mapframe-marker-color"] = "d33", ["mapframe-frame-width"] = MAP_WIDTH, ["mapframe-zoom"] = zoom, } local ok, rendered = pcall(function() return frame:callParserFunction{ name = "#invoke", args = callArgs } end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Blank map first; the interactive map sits in a collapsed block opened by a toggle link. local function buildSwitcher(frame, args, first, second) local expand = getManual(args, { "lipaid_caslys2" }) or "Eddyr-obbragh" local collapse = getManual(args, { "lipaid_caslys_follaghey" }) or "follee" return first .. '<div class="mw-collapsible mw-collapsed" data-expandtext="' .. expand .. '" data-collapsetext="' .. collapse .. '" style="text-align:center; margin-top:0.3em;">' .. '<div style="text-align:center; padding-top:1.6em; clear:both;">' .. second .. '</div></div>' end ---------------------------------------------------------------------- -- Coordinates row ---------------------------------------------------------------------- local function buildCoordinatesRow(frame, args, manualCoords) local coordText, fromWd if manualCoords == "suppress" then return nil elseif type(manualCoords) == "table" then coordText = expandCoord(frame, args, manualCoords) else local lat, lon = getWdCoordinates() if not lat then return nil end coordText = expandCoord(frame, args, { lat = { lat }, long = { lon } }) fromWd = true end local label = "Co-ordnaidyn" local qualifier = getManual(args, { "mair_coor" }) if qualifier then label = label .. "&#32;(" .. qualifier .. ")" end local value = coordText if fromWd then value = value .. getWdReference("P625") else local ref = getManual(args, { "imraa_coordnaidyn" }) if ref then value = value .. wrapReference(ref) end end local note = getManual(args, { "fo-noteyn_coordnaidyn" }) if note then value = value .. note end return '<tr class="mergedbottomrow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">' .. label .. ': ' .. value .. '</td></tr>' end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local genitive = getGenitiveName(args) local manualCoords = getManualCoordinates(args) local rows = {} local manualMapCount = 0 local function addAll(list) for _, row in ipairs(list) do table.insert(rows, row) manualMapCount = manualMapCount + 1 end end addAll(buildStaticMaps(args, genitive)) addAll(buildOverlayMaps(args, genitive)) local dot = buildDotMap(frame, args) if dot then addAll({ dot }) end addAll(buildPushpinMaps(frame, args)) local frameSetting = (getManual(args, { "mapframe" }) or ""):lower() local wantMapframe = frameSetting == "yes" local suppressMapframe = frameSetting == "no" or frameSetting == "none" -- No manual map: blank country map with a dot, else an interactive map, else the P242 locator image. if manualMapCount == 0 then local lat, lon if type(manualCoords) == "table" and manualCoords.decimal then lat, lon = manualCoords.decimal[1], manualCoords.decimal[2] elseif manualCoords == nil then lat, lon = getWdCoordinates() end local pushpin = buildAutoPushpin(frame, args, lat, lon) if pushpin then local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, pushpin, interactive))) else table.insert(rows, mapRow(pushpin)) end elseif lat then wantMapframe = true else local file = getWdFile("P242") if file then local locator = '[[Coadan:' .. file .. '|' .. MAP_WIDTH .. 'px|none|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]' local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, locator, interactive))) else table.insert(rows, mapRow(locator)) end elseif getWdShape() then wantMapframe = true end end end if wantMapframe and not suppressMapframe then local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(mapframe)) end elseif manualMapCount > 0 and not suppressMapframe and getWdShape() then -- Manual maps stay as given; the item's outline is offered behind a toggle under them. local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(buildSwitcher(frame, args, "", mapframe))) end end local coordRow = buildCoordinatesRow(frame, args, manualCoords) if coordRow then table.insert(rows, coordRow) end local extra = getManual(args, { "coord_a" }) if extra and not isNone(extra) then table.insert(rows, '<tr class="mergedtoprow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">Co-ordnaidyn:&nbsp;' .. extra .. '</td></tr>') end if #rows == 0 then return nil end return table.concat(rows) end return p bc2uyn6ky9zw3nnwxb4aod396ef48bc 395503 395501 2026-10-28T19:38:43Z MacTire02 219 OSM relation 395503 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local okWd, Wd = pcall(require, "Module:Wd") local MAP_WIDTH = "300" local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function normaliseSize(size) if size and size:match("^%d+$") then return size .. "px" end return size end local function getWdReference(property) if not okWd or not Wd or not Wd._reference then return "" end local ok, result = pcall(Wd._reference, { "best", property }) if ok and type(result) == "string" then return result end return "" end local function wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end local function getGenitiveName(args) local manual = getManual(args, { "ennym_gienneydagh", "ennym_oikoil_gienneydagh" }) if manual then return manual end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local ok, Enmyn = pcall(require, "Module:Enmyn çheerey") if ok and Enmyn and Enmyn.genitive then local okGen, genitive = pcall(Enmyn.genitive, name) if okGen and genitive and genitive ~= "" then return genitive end end return name end local function getWdFile(property) local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements(property) if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then local file = snak.datavalue.value if file and file ~= "" then return file end end end return nil end -- Best-rank P625 as latitude, longitude numbers. local function getWdCoordinates() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P625") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "globecoordinate") then return nil end local value = snak.datavalue.value if value.latitude and value.longitude then return value.latitude, value.longitude end return nil end ---------------------------------------------------------------------- -- Manual coordinates (old template's latd/latm/lats/latNS/longd/... shape) ---------------------------------------------------------------------- local function dmsParts(deg, min, sec, dir) local parts = { deg } if min then table.insert(parts, min) end if sec then table.insert(parts, sec) end if dir then table.insert(parts, dir) end return parts end -- Returns "suppress", or { lat = parts, long = parts, decimal = {lat, long}|nil }, or nil. local function getManualCoordinates(args) -- coord=none hides the coordinates; latd=none is the legacy way. if isNone(getManual(args, { "coord" })) then return "suppress" end local latd = getManual(args, { "latd" }) if not latd then return nil end if isNone(latd) then return "suppress" end local longd = getManual(args, { "longd" }) if not longd then return nil end local latm, lats, latNS = getManual(args, { "latm" }), getManual(args, { "lats" }), getManual(args, { "latNS" }) local longm, longs, longEW = getManual(args, { "longm" }), getManual(args, { "longs" }), getManual(args, { "longEW" }) local isDms = latm or latNS or longm or longEW local result = { lat = isDms and dmsParts(latd, latm, lats, latNS) or { latd }, long = isDms and dmsParts(longd, longm, longs, longEW) or { longd }, } if not isDms then local la, lo = tonumber(latd), tonumber(longd) if la and lo then result.decimal = { la, lo } end else -- Decimal equivalent for the interactive map. local function toDecimal(d, m, s, dir) local value = tonumber(d) if not value then return nil end value = value + (tonumber(m) or 0) / 60 + (tonumber(s) or 0) / 3600 if dir == "S" or dir == "W" then value = -value end return value end local la, lo = toDecimal(latd, latm, lats, latNS), toDecimal(longd, longm, longs, longEW) if la and lo then result.decimal = { la, lo } end end return result end local function coordType(args) local custom = getManual(args, { "sorçh_coor" }) if custom then return custom end local text = "type:city" local population = getManual(args, { "slane_earroo_yn_phobble" }) local number = population and tonumber((population:gsub("[,%s]", ""))) if number and number > 0 then text = text .. "(" .. string.format("%d", number) .. ")" end local region = getManual(args, { "ard_coordnaidyn" }) if region then text = text .. "_region:" .. region end return text end local function expandCoord(frame, args, coords) local callArgs = {} for _, v in ipairs(coords.lat) do table.insert(callArgs, v) end for _, v in ipairs(coords.long) do table.insert(callArgs, v) end table.insert(callArgs, coordType(args)) callArgs.display = "inline,title" local format = getManual(args, { "cummey_coordnaidyn" }) callArgs.format = format or "dms" return frame:expandTemplate{ title = "coord", args = callArgs } end ---------------------------------------------------------------------- -- Map rows ---------------------------------------------------------------------- local function mapRow(inner) return '<tr><td colspan="2" style="text-align:center; padding:0.2em 0.4em;"><div style="display:flex; flex-direction:column; align-items:center;">' .. inner .. '</div></td></tr>' end local function captionDiv(caption) if not caption or caption == "" then return "" end return '<div style="padding-top:2pt;">' .. caption .. '</div>' end -- Caption: manual text, "none" to hide, else "Soiaghey <genitive>". local function resolveCaption(manual, genitive) if manual and isNone(manual) then return nil end return manual or U.genitiveAfter("Soiaghey", genitive) end -- Static locator maps: base "jalloo_caslys-çheerey" plus "1". local function buildStaticMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "1" }) do local file = getManual(args, { "jalloo_caslys-çheerey" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey" .. suffix })) or (MAP_WIDTH .. "px") local alt = getManual(args, { "alt_caslys-çheerey" .. suffix }) or "" local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" .. suffix }), genitive) local tooltip = caption or U.genitiveAfter("Soiaghey", genitive) table.insert(rows, mapRow('<div style="pointer-events:none;">[[Coadan:' .. file .. '|' .. width .. '|none|link=|alt=' .. alt .. '|' .. tooltip .. ']]</div>' .. captionDiv(caption))) end end return rows end -- Basic map with a red dot placed by clee/baare offsets: "" and "2". local function buildOverlayMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "2" }) do local file = getManual(args, { "jalloo_caslys-çheerey_bunneydagh" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_bunneydagh" .. suffix })) or "240px" local left = getManual(args, { "clee" .. suffix }) or "0" local top = getManual(args, { "baare" .. suffix }) or "0" local before = getManual(args, { "ennym_er_caslys" }) local after = getManual(args, { "ennym_caslys_jesh" }) local dot = (before and ('<sub>' .. before .. '</sub>') or "") .. '&nbsp;[[Coadan:Red pog.svg|8px|link=]]' .. (after and ('&nbsp;<sub>' .. after .. '</sub>') or "") local html = '<div style="position:relative;">[[Coadan:' .. file .. '|' .. width .. '|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]<div style="position:absolute; left:' .. left .. '; top:' .. top .. ';">' .. dot .. '</div></div>' html = html .. captionDiv(resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey_bunneydagh" .. suffix, "fo-heidyl_caslys-çheerey" }), genitive)) table.insert(rows, mapRow(html)) end end return rows end -- Dot map through {{sar-hoiaghey}}. local function buildDotMap(frame, args) local file = getManual(args, { "jalloo_caslys-çheerey_ponk" }) if not file or isNone(file) then return nil end local name = getManual(args, { "ennym_oikoil", "ennym" }) or mw.title.getCurrentTitle().text local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_ponk" })) or "180px" local rendered = frame:expandTemplate{ title = "sar-hoiaghey", args = { bun = file, lheead_bun = width, alt_bun = getManual(args, { "alt_bun_caslys-çheerey_ponk" }) or "", ["fo-heidyl_bun"] = name, snaue = "Red pog.svg", lheead_snaue = "6px", alt_snaue = getManual(args, { "alt_caslys-çheerey_ponk" }) or "", ["fo-heidyl_snaue"] = getManual(args, { "fo-heidyl_caslys-çheerey_ponk" }) or "", x = getManual(args, { "ponk_x" }) or "", y = getManual(args, { "ponk_y" }) or "", } } return mapRow('<div class="center">' .. rendered .. captionDiv(getManual(args, { "fo-heidyl_caslys-çheerey_ponk" })) .. '</div>') end -- Pushpin maps through {{Caslys-çheerey soiaghey}}: base "broo-freeney" plus "1". local function buildPushpinMaps(frame, args) local rows = {} local manual = getManual(args, { "latd" }) local name = getManual(args, { "ennym", "ennym_oikoil" }) or getManual(args, { "ennym_gienneydagh" }) or mw.title.getCurrentTitle().text local usesDms = getManual(args, { "latm" }) or getManual(args, { "latNS" }) local usesLongDms = getManual(args, { "longm" }) or getManual(args, { "longEW" }) for _, suffix in ipairs({ "", "1" }) do local map = getManual(args, { "caslys-çheerey_broo-freeney" .. suffix }) if map and not isNone(map) then local labelSwitch = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) local label = "" if not (labelSwitch and labelSwitch:lower() == "none") then label = getManual(args, { "lipaid_broo-freeney" .. suffix }) or name end local rendered = frame:expandTemplate{ title = "Caslys-çheerey soiaghey", args = { map, label = label, alt = getManual(args, { "alt_caslys-çheerey_broo-freeney" .. suffix }) or "", lat = (not usesDms) and (getManual(args, { "latd" }) or "") or "", long = (not usesLongDms) and (getManual(args, { "longd" }) or "") or "", lat_deg = usesDms and (getManual(args, { "latd" }) or "") or "", lat_min = usesDms and (getManual(args, { "latm" }) or "") or "", lat_sec = usesDms and (getManual(args, { "lats" }) or "") or "", lat_dir = getManual(args, { "latNS" }) or "", lon_deg = usesLongDms and (getManual(args, { "longd" }) or "") or "", lon_min = usesLongDms and (getManual(args, { "longm" }) or "") or "", lon_sec = usesLongDms and (getManual(args, { "longs" }) or "") or "", lon_dir = getManual(args, { "longEW" }) or "", marksize = "6", float = "none", caption = "", border = "none", position = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) or "", width = getManual(args, { "mooadys_caslys-çheerey_broo-freeney" .. suffix }) or "250", AlternativeMap = getManual(args, { "jalloo_broo-freeney" .. suffix }) or "", } } local caption = getManual(args, { "fo-heidyl_caslys-çheerey_broo-freeney" .. suffix, "fo-heidyl_caslys-çheerey" }) table.insert(rows, mapRow('<div class="center">' .. rendered .. captionDiv(caption) .. '</div>')) end end return rows end -- Country (P17) name for picking the blank location map, e.g. "Mannin". local function getCountryName(args) local manual = getManual(args, { "caslys-çheerey_çheer" }) if manual then return manual end local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P17") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid") then return nil end local value = snak.datavalue.value local id = value.id or ("Q" .. tostring(value["numeric-id"])) local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return sitelink end return nil end -- Blank country map with a red dot via {{Location map}}, when "Module:Location map/data/<country>" exists. local function buildAutoPushpin(frame, args, lat, lon) if not lat then return nil end local country = getCountryName(args) if not country or isNone(country) then return nil end local data = mw.title.new("Module:Location map/data/" .. country) if not (data and data.exists) then return nil end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" }), getGenitiveName(args)) or "" -- Hover text is the caption alone, as plain text (not "X is located in Y"). local altText = caption:gsub("%[%[[^%]|]*|([^%]]*)%]%]", "%1"):gsub("%[%[([^%]]*)%]%]", "%1"):gsub("<[^>]*>", "") return frame:expandTemplate{ title = "Location map", args = { country, alt = altText ~= "" and altText or nil, border = "infobox", float = "center", width = MAP_WIDTH, max_width = MAP_WIDTH, maplink = "", label = name, lat = string.format("%.6f", lat), long = string.format("%.6f", lon), marksize = "6", position = getManual(args, { "soiaghey_lipaid" }), caption = caption, relief = getManual(args, { "releef_caslys-çheerey" }), } } end -- Wikidata shape sources: OSM relation (P402) or a Commons geoshape page (P3896, "Data:Meath.map"). local function getWdShape() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local osm = entity:getBestStatements("P402") if osm and #osm > 0 then return { service = "geoshape", id = entity.id } end local geoshape = entity:getBestStatements("P3896") local snak = geoshape and geoshape[1] and geoshape[1].mainsnak if snak and snak.snaktype == "value" and snak.datavalue and type(snak.datavalue.value) == "string" then local title = snak.datavalue.value:gsub("^Data:", "") return { service = "page", title = title } end return nil end -- Whether the outline should be drawn with the point: areas yes (counties, provinces, countries ...), -- towns and villages no (their outlines can stop the map image loading). mapframe-shape=yes/no overrides. local AREA_CLASSES = { Q179872 = true, Q202156 = true, Q47168 = true, Q34876 = true, Q10864048 = true, Q13220204 = true, Q6256 = true, Q3336843 = true, Q35657 = true, Q15284 = false } local function useOutline(args) local setting = (getManual(args, { "mapframe-shape" }) or ""):lower() if setting == "yes" then return true elseif setting == "no" or setting == "none" then return false end local id = mw.wikibase.getEntityIdForCurrentPage() if not id then return false end for _, statement in ipairs(mw.wikibase.getAllStatements(id, "P31") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local cls = snak.datavalue.value.id or ("Q" .. tostring(snak.datavalue.value["numeric-id"])) if AREA_CLASSES[cls] then return true end end end local contains = mw.wikibase.getAllStatements(id, "P150") return contains ~= nil and #contains > 0 end -- Item without a point (P625) but with a shape: the shape alone, centred and zoomed by the map itself. local function buildShapeOnlyMap(frame, shape) local data = { type = "ExternalData", service = shape.service, properties = { stroke = "#FF0000", ["stroke-width"] = 2, fill = "#606060", ["fill-opacity"] = 0.1 } } if shape.service == "geoshape" then data.ids = shape.id else data.title = shape.title end local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", align = "center" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Interactive map from the coordinates (manual decimal equivalent, else Wikidata P625); the shape alone when there is no point. local function buildMapframe(frame, args, manualCoords) -- Wikidata P625 only: passing coordinates makes Module:Mapframe error on gv.wiki. local shape = getWdShape() -- Manual coordinates cannot go to Module:Infobox mapframe, but an outline needs no point. if manualCoords ~= nil then return shape and buildShapeOnlyMap(frame, shape) or nil end if not getWdCoordinates() then if shape then return buildShapeOnlyMap(frame, shape) end return nil end -- An item with a shape (a county, say) is fitted by the map itself; a plain point gets a fixed zoom. local hideOutline = shape ~= nil and not useOutline(args) if hideOutline then shape = nil end local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or (not shape and "12" or nil) local callArgs = { "Infobox mapframe", "autoWithCaption", onByDefault = "yes", ["mapframe-marker-color"] = "d33", ["mapframe-frame-width"] = MAP_WIDTH, ["mapframe-zoom"] = zoom, } if hideOutline then callArgs["mapframe-shape"] = "none" end local ok, rendered = pcall(function() return frame:callParserFunction{ name = "#invoke", args = callArgs } end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Blank map first; the interactive map sits in a collapsed block opened by a toggle link. local function buildSwitcher(frame, args, first, second) local expand = getManual(args, { "lipaid_caslys2" }) or "Eddyr-obbragh" local collapse = getManual(args, { "lipaid_caslys_follaghey" }) or "follee" return first .. '<div class="mw-collapsible mw-collapsed" data-expandtext="' .. expand .. '" data-collapsetext="' .. collapse .. '" style="text-align:center; margin-top:0.3em;">' .. '<div style="text-align:center; padding-top:1.6em; clear:both;">' .. second .. '</div></div>' end ---------------------------------------------------------------------- -- Coordinates row ---------------------------------------------------------------------- local function buildCoordinatesRow(frame, args, manualCoords) local coordText, fromWd if manualCoords == "suppress" then return nil elseif type(manualCoords) == "table" then coordText = expandCoord(frame, args, manualCoords) else local lat, lon = getWdCoordinates() if not lat then return nil end coordText = expandCoord(frame, args, { lat = { lat }, long = { lon } }) fromWd = true end local label = "Co-ordnaidyn" local qualifier = getManual(args, { "mair_coor" }) if qualifier then label = label .. "&#32;(" .. qualifier .. ")" end local value = coordText if fromWd then value = value .. getWdReference("P625") else local ref = getManual(args, { "imraa_coordnaidyn" }) if ref then value = value .. wrapReference(ref) end end local note = getManual(args, { "fo-noteyn_coordnaidyn" }) if note then value = value .. note end return '<tr class="mergedbottomrow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">' .. label .. ': ' .. value .. '</td></tr>' end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local genitive = getGenitiveName(args) local manualCoords = getManualCoordinates(args) local rows = {} local manualMapCount = 0 local function addAll(list) for _, row in ipairs(list) do table.insert(rows, row) manualMapCount = manualMapCount + 1 end end addAll(buildStaticMaps(args, genitive)) addAll(buildOverlayMaps(args, genitive)) local dot = buildDotMap(frame, args) if dot then addAll({ dot }) end addAll(buildPushpinMaps(frame, args)) local frameSetting = (getManual(args, { "mapframe" }) or ""):lower() local wantMapframe = frameSetting == "yes" local suppressMapframe = frameSetting == "no" or frameSetting == "none" -- No manual map: blank country map with a dot, else an interactive map, else the P242 locator image. if manualMapCount == 0 then local lat, lon if type(manualCoords) == "table" and manualCoords.decimal then lat, lon = manualCoords.decimal[1], manualCoords.decimal[2] elseif manualCoords == nil then lat, lon = getWdCoordinates() end local pushpin = buildAutoPushpin(frame, args, lat, lon) if pushpin then local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, pushpin, interactive))) else table.insert(rows, mapRow(pushpin)) end elseif lat then wantMapframe = true else local file = getWdFile("P242") if file then local locator = '[[Coadan:' .. file .. '|' .. MAP_WIDTH .. 'px|none|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]' local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, locator, interactive))) else table.insert(rows, mapRow(locator)) end elseif getWdShape() then wantMapframe = true end end end if wantMapframe and not suppressMapframe then local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(mapframe)) end elseif manualMapCount > 0 and not suppressMapframe and getWdShape() then -- Manual maps stay as given; the item's outline is offered behind a toggle under them. local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(buildSwitcher(frame, args, "", mapframe))) end end local coordRow = buildCoordinatesRow(frame, args, manualCoords) if coordRow then table.insert(rows, coordRow) end local extra = getManual(args, { "coord_a" }) if extra and not isNone(extra) then table.insert(rows, '<tr class="mergedtoprow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">Co-ordnaidyn:&nbsp;' .. extra .. '</td></tr>') end if #rows == 0 then return nil end return table.concat(rows) end return p sysb3h0ck8q6dnw93nup7xg0uvfu19a 395504 395503 2026-10-28T19:40:46Z MacTire02 219 oops... v'eh jeeraghey er 0'0' 395504 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local okWd, Wd = pcall(require, "Module:Wd") local MAP_WIDTH = "300" local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function normaliseSize(size) if size and size:match("^%d+$") then return size .. "px" end return size end local function getWdReference(property) if not okWd or not Wd or not Wd._reference then return "" end local ok, result = pcall(Wd._reference, { "best", property }) if ok and type(result) == "string" then return result end return "" end local function wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end local function getGenitiveName(args) local manual = getManual(args, { "ennym_gienneydagh", "ennym_oikoil_gienneydagh" }) if manual then return manual end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local ok, Enmyn = pcall(require, "Module:Enmyn çheerey") if ok and Enmyn and Enmyn.genitive then local okGen, genitive = pcall(Enmyn.genitive, name) if okGen and genitive and genitive ~= "" then return genitive end end return name end local function getWdFile(property) local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements(property) if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then local file = snak.datavalue.value if file and file ~= "" then return file end end end return nil end -- Best-rank P625 as latitude, longitude numbers. local function getWdCoordinates() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P625") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "globecoordinate") then return nil end local value = snak.datavalue.value if value.latitude and value.longitude then return value.latitude, value.longitude end return nil end ---------------------------------------------------------------------- -- Manual coordinates (old template's latd/latm/lats/latNS/longd/... shape) ---------------------------------------------------------------------- local function dmsParts(deg, min, sec, dir) local parts = { deg } if min then table.insert(parts, min) end if sec then table.insert(parts, sec) end if dir then table.insert(parts, dir) end return parts end -- Returns "suppress", or { lat = parts, long = parts, decimal = {lat, long}|nil }, or nil. local function getManualCoordinates(args) -- coord=none hides the coordinates; latd=none is the legacy way. if isNone(getManual(args, { "coord" })) then return "suppress" end local latd = getManual(args, { "latd" }) if not latd then return nil end if isNone(latd) then return "suppress" end local longd = getManual(args, { "longd" }) if not longd then return nil end local latm, lats, latNS = getManual(args, { "latm" }), getManual(args, { "lats" }), getManual(args, { "latNS" }) local longm, longs, longEW = getManual(args, { "longm" }), getManual(args, { "longs" }), getManual(args, { "longEW" }) local isDms = latm or latNS or longm or longEW local result = { lat = isDms and dmsParts(latd, latm, lats, latNS) or { latd }, long = isDms and dmsParts(longd, longm, longs, longEW) or { longd }, } if not isDms then local la, lo = tonumber(latd), tonumber(longd) if la and lo then result.decimal = { la, lo } end else -- Decimal equivalent for the interactive map. local function toDecimal(d, m, s, dir) local value = tonumber(d) if not value then return nil end value = value + (tonumber(m) or 0) / 60 + (tonumber(s) or 0) / 3600 if dir == "S" or dir == "W" then value = -value end return value end local la, lo = toDecimal(latd, latm, lats, latNS), toDecimal(longd, longm, longs, longEW) if la and lo then result.decimal = { la, lo } end end return result end local function coordType(args) local custom = getManual(args, { "sorçh_coor" }) if custom then return custom end local text = "type:city" local population = getManual(args, { "slane_earroo_yn_phobble" }) local number = population and tonumber((population:gsub("[,%s]", ""))) if number and number > 0 then text = text .. "(" .. string.format("%d", number) .. ")" end local region = getManual(args, { "ard_coordnaidyn" }) if region then text = text .. "_region:" .. region end return text end local function expandCoord(frame, args, coords) local callArgs = {} for _, v in ipairs(coords.lat) do table.insert(callArgs, v) end for _, v in ipairs(coords.long) do table.insert(callArgs, v) end table.insert(callArgs, coordType(args)) callArgs.display = "inline,title" local format = getManual(args, { "cummey_coordnaidyn" }) callArgs.format = format or "dms" return frame:expandTemplate{ title = "coord", args = callArgs } end ---------------------------------------------------------------------- -- Map rows ---------------------------------------------------------------------- local function mapRow(inner) return '<tr><td colspan="2" style="text-align:center; padding:0.2em 0.4em;"><div style="display:flex; flex-direction:column; align-items:center;">' .. inner .. '</div></td></tr>' end local function captionDiv(caption) if not caption or caption == "" then return "" end return '<div style="padding-top:2pt;">' .. caption .. '</div>' end -- Caption: manual text, "none" to hide, else "Soiaghey <genitive>". local function resolveCaption(manual, genitive) if manual and isNone(manual) then return nil end return manual or U.genitiveAfter("Soiaghey", genitive) end -- Static locator maps: base "jalloo_caslys-çheerey" plus "1". local function buildStaticMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "1" }) do local file = getManual(args, { "jalloo_caslys-çheerey" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey" .. suffix })) or (MAP_WIDTH .. "px") local alt = getManual(args, { "alt_caslys-çheerey" .. suffix }) or "" local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" .. suffix }), genitive) local tooltip = caption or U.genitiveAfter("Soiaghey", genitive) table.insert(rows, mapRow('<div style="pointer-events:none;">[[Coadan:' .. file .. '|' .. width .. '|none|link=|alt=' .. alt .. '|' .. tooltip .. ']]</div>' .. captionDiv(caption))) end end return rows end -- Basic map with a red dot placed by clee/baare offsets: "" and "2". local function buildOverlayMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "2" }) do local file = getManual(args, { "jalloo_caslys-çheerey_bunneydagh" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_bunneydagh" .. suffix })) or "240px" local left = getManual(args, { "clee" .. suffix }) or "0" local top = getManual(args, { "baare" .. suffix }) or "0" local before = getManual(args, { "ennym_er_caslys" }) local after = getManual(args, { "ennym_caslys_jesh" }) local dot = (before and ('<sub>' .. before .. '</sub>') or "") .. '&nbsp;[[Coadan:Red pog.svg|8px|link=]]' .. (after and ('&nbsp;<sub>' .. after .. '</sub>') or "") local html = '<div style="position:relative;">[[Coadan:' .. file .. '|' .. width .. '|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]<div style="position:absolute; left:' .. left .. '; top:' .. top .. ';">' .. dot .. '</div></div>' html = html .. captionDiv(resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey_bunneydagh" .. suffix, "fo-heidyl_caslys-çheerey" }), genitive)) table.insert(rows, mapRow(html)) end end return rows end -- Dot map through {{sar-hoiaghey}}. local function buildDotMap(frame, args) local file = getManual(args, { "jalloo_caslys-çheerey_ponk" }) if not file or isNone(file) then return nil end local name = getManual(args, { "ennym_oikoil", "ennym" }) or mw.title.getCurrentTitle().text local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_ponk" })) or "180px" local rendered = frame:expandTemplate{ title = "sar-hoiaghey", args = { bun = file, lheead_bun = width, alt_bun = getManual(args, { "alt_bun_caslys-çheerey_ponk" }) or "", ["fo-heidyl_bun"] = name, snaue = "Red pog.svg", lheead_snaue = "6px", alt_snaue = getManual(args, { "alt_caslys-çheerey_ponk" }) or "", ["fo-heidyl_snaue"] = getManual(args, { "fo-heidyl_caslys-çheerey_ponk" }) or "", x = getManual(args, { "ponk_x" }) or "", y = getManual(args, { "ponk_y" }) or "", } } return mapRow('<div class="center">' .. rendered .. captionDiv(getManual(args, { "fo-heidyl_caslys-çheerey_ponk" })) .. '</div>') end -- Pushpin maps through {{Caslys-çheerey soiaghey}}: base "broo-freeney" plus "1". local function buildPushpinMaps(frame, args) local rows = {} local manual = getManual(args, { "latd" }) local name = getManual(args, { "ennym", "ennym_oikoil" }) or getManual(args, { "ennym_gienneydagh" }) or mw.title.getCurrentTitle().text local usesDms = getManual(args, { "latm" }) or getManual(args, { "latNS" }) local usesLongDms = getManual(args, { "longm" }) or getManual(args, { "longEW" }) for _, suffix in ipairs({ "", "1" }) do local map = getManual(args, { "caslys-çheerey_broo-freeney" .. suffix }) if map and not isNone(map) then local labelSwitch = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) local label = "" if not (labelSwitch and labelSwitch:lower() == "none") then label = getManual(args, { "lipaid_broo-freeney" .. suffix }) or name end local rendered = frame:expandTemplate{ title = "Caslys-çheerey soiaghey", args = { map, label = label, alt = getManual(args, { "alt_caslys-çheerey_broo-freeney" .. suffix }) or "", lat = (not usesDms) and (getManual(args, { "latd" }) or "") or "", long = (not usesLongDms) and (getManual(args, { "longd" }) or "") or "", lat_deg = usesDms and (getManual(args, { "latd" }) or "") or "", lat_min = usesDms and (getManual(args, { "latm" }) or "") or "", lat_sec = usesDms and (getManual(args, { "lats" }) or "") or "", lat_dir = getManual(args, { "latNS" }) or "", lon_deg = usesLongDms and (getManual(args, { "longd" }) or "") or "", lon_min = usesLongDms and (getManual(args, { "longm" }) or "") or "", lon_sec = usesLongDms and (getManual(args, { "longs" }) or "") or "", lon_dir = getManual(args, { "longEW" }) or "", marksize = "6", float = "none", caption = "", border = "none", position = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) or "", width = getManual(args, { "mooadys_caslys-çheerey_broo-freeney" .. suffix }) or "250", AlternativeMap = getManual(args, { "jalloo_broo-freeney" .. suffix }) or "", } } local caption = getManual(args, { "fo-heidyl_caslys-çheerey_broo-freeney" .. suffix, "fo-heidyl_caslys-çheerey" }) table.insert(rows, mapRow('<div class="center">' .. rendered .. captionDiv(caption) .. '</div>')) end end return rows end -- Country (P17) name for picking the blank location map, e.g. "Mannin". local function getCountryName(args) local manual = getManual(args, { "caslys-çheerey_çheer" }) if manual then return manual end local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P17") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid") then return nil end local value = snak.datavalue.value local id = value.id or ("Q" .. tostring(value["numeric-id"])) local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return sitelink end return nil end -- Blank country map with a red dot via {{Location map}}, when "Module:Location map/data/<country>" exists. local function buildAutoPushpin(frame, args, lat, lon) if not lat then return nil end local country = getCountryName(args) if not country or isNone(country) then return nil end local data = mw.title.new("Module:Location map/data/" .. country) if not (data and data.exists) then return nil end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" }), getGenitiveName(args)) or "" -- Hover text is the caption alone, as plain text (not "X is located in Y"). local altText = caption:gsub("%[%[[^%]|]*|([^%]]*)%]%]", "%1"):gsub("%[%[([^%]]*)%]%]", "%1"):gsub("<[^>]*>", "") return frame:expandTemplate{ title = "Location map", args = { country, alt = altText ~= "" and altText or nil, border = "infobox", float = "center", width = MAP_WIDTH, max_width = MAP_WIDTH, maplink = "", label = name, lat = string.format("%.6f", lat), long = string.format("%.6f", lon), marksize = "6", position = getManual(args, { "soiaghey_lipaid" }), caption = caption, relief = getManual(args, { "releef_caslys-çheerey" }), } } end -- Wikidata shape sources: OSM relation (P402) or a Commons geoshape page (P3896, "Data:Meath.map"). local function getWdShape() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local osm = entity:getBestStatements("P402") if osm and #osm > 0 then return { service = "geoshape", id = entity.id } end local geoshape = entity:getBestStatements("P3896") local snak = geoshape and geoshape[1] and geoshape[1].mainsnak if snak and snak.snaktype == "value" and snak.datavalue and type(snak.datavalue.value) == "string" then local title = snak.datavalue.value:gsub("^Data:", "") return { service = "page", title = title } end return nil end -- Whether the outline should be drawn with the point: areas yes (counties, provinces, countries ...), -- towns and villages no (their outlines can stop the map image loading). mapframe-shape=yes/no overrides. local AREA_CLASSES = { Q179872 = true, Q202156 = true, Q47168 = true, Q34876 = true, Q10864048 = true, Q13220204 = true, Q6256 = true, Q3336843 = true, Q35657 = true, Q15284 = false } local function useOutline(args) local setting = (getManual(args, { "mapframe-shape" }) or ""):lower() if setting == "yes" then return true elseif setting == "no" or setting == "none" then return false end local id = mw.wikibase.getEntityIdForCurrentPage() if not id then return false end for _, statement in ipairs(mw.wikibase.getAllStatements(id, "P31") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local cls = snak.datavalue.value.id or ("Q" .. tostring(snak.datavalue.value["numeric-id"])) if AREA_CLASSES[cls] then return true end end end local contains = mw.wikibase.getAllStatements(id, "P150") return contains ~= nil and #contains > 0 end -- Item without a point (P625) but with a shape: the shape alone, centred and zoomed by the map itself. local function buildShapeOnlyMap(frame, shape) local data = { type = "ExternalData", service = shape.service, properties = { stroke = "#FF0000", ["stroke-width"] = 2, fill = "#606060", ["fill-opacity"] = 0.1 } } if shape.service == "geoshape" then data.ids = shape.id else data.title = shape.title end local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", align = "center" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Interactive map from the coordinates (manual decimal equivalent, else Wikidata P625); the shape alone when there is no point. local function buildMapframe(frame, args, manualCoords) -- Wikidata P625 only: passing coordinates makes Module:Mapframe error on gv.wiki. local shape = getWdShape() -- Manual coordinates cannot go to Module:Infobox mapframe, but an outline needs no point. if manualCoords ~= nil then return shape and buildShapeOnlyMap(frame, shape) or nil end if not getWdCoordinates() then if shape then return buildShapeOnlyMap(frame, shape) end return nil end -- An item with a shape (a county, say) is fitted by the map itself; a plain point gets a fixed zoom. if shape and not useOutline(args) then -- No outline: a plain point map built directly, so the Wikidata shape is never requested. local lat, lon = getWdCoordinates() if not lat then return nil end local data = { type = "Feature", geometry = { type = "Point", coordinates = { lon, lat } }, properties = { ["marker-color"] = "d33", ["marker-symbol"] = "" } } local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or "12" local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", zoom = zoom, latitude = tostring(lat), longitude = tostring(lon), align = "center", frameless = "1" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or (not shape and "12" or nil) local callArgs = { "Infobox mapframe", "autoWithCaption", onByDefault = "yes", ["mapframe-marker-color"] = "d33", ["mapframe-frame-width"] = MAP_WIDTH, ["mapframe-zoom"] = zoom, } local ok, rendered = pcall(function() return frame:callParserFunction{ name = "#invoke", args = callArgs } end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Blank map first; the interactive map sits in a collapsed block opened by a toggle link. local function buildSwitcher(frame, args, first, second) local expand = getManual(args, { "lipaid_caslys2" }) or "Eddyr-obbragh" local collapse = getManual(args, { "lipaid_caslys_follaghey" }) or "follee" return first .. '<div class="mw-collapsible mw-collapsed" data-expandtext="' .. expand .. '" data-collapsetext="' .. collapse .. '" style="text-align:center; margin-top:0.3em;">' .. '<div style="text-align:center; padding-top:1.6em; clear:both;">' .. second .. '</div></div>' end ---------------------------------------------------------------------- -- Coordinates row ---------------------------------------------------------------------- local function buildCoordinatesRow(frame, args, manualCoords) local coordText, fromWd if manualCoords == "suppress" then return nil elseif type(manualCoords) == "table" then coordText = expandCoord(frame, args, manualCoords) else local lat, lon = getWdCoordinates() if not lat then return nil end coordText = expandCoord(frame, args, { lat = { lat }, long = { lon } }) fromWd = true end local label = "Co-ordnaidyn" local qualifier = getManual(args, { "mair_coor" }) if qualifier then label = label .. "&#32;(" .. qualifier .. ")" end local value = coordText if fromWd then value = value .. getWdReference("P625") else local ref = getManual(args, { "imraa_coordnaidyn" }) if ref then value = value .. wrapReference(ref) end end local note = getManual(args, { "fo-noteyn_coordnaidyn" }) if note then value = value .. note end return '<tr class="mergedbottomrow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">' .. label .. ': ' .. value .. '</td></tr>' end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local genitive = getGenitiveName(args) local manualCoords = getManualCoordinates(args) local rows = {} local manualMapCount = 0 local function addAll(list) for _, row in ipairs(list) do table.insert(rows, row) manualMapCount = manualMapCount + 1 end end addAll(buildStaticMaps(args, genitive)) addAll(buildOverlayMaps(args, genitive)) local dot = buildDotMap(frame, args) if dot then addAll({ dot }) end addAll(buildPushpinMaps(frame, args)) local frameSetting = (getManual(args, { "mapframe" }) or ""):lower() local wantMapframe = frameSetting == "yes" local suppressMapframe = frameSetting == "no" or frameSetting == "none" -- No manual map: blank country map with a dot, else an interactive map, else the P242 locator image. if manualMapCount == 0 then local lat, lon if type(manualCoords) == "table" and manualCoords.decimal then lat, lon = manualCoords.decimal[1], manualCoords.decimal[2] elseif manualCoords == nil then lat, lon = getWdCoordinates() end local pushpin = buildAutoPushpin(frame, args, lat, lon) if pushpin then local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, pushpin, interactive))) else table.insert(rows, mapRow(pushpin)) end elseif lat then wantMapframe = true else local file = getWdFile("P242") if file then local locator = '[[Coadan:' .. file .. '|' .. MAP_WIDTH .. 'px|none|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]' local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, locator, interactive))) else table.insert(rows, mapRow(locator)) end elseif getWdShape() then wantMapframe = true end end end if wantMapframe and not suppressMapframe then local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(mapframe)) end elseif manualMapCount > 0 and not suppressMapframe and getWdShape() then -- Manual maps stay as given; the item's outline is offered behind a toggle under them. local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(buildSwitcher(frame, args, "", mapframe))) end end local coordRow = buildCoordinatesRow(frame, args, manualCoords) if coordRow then table.insert(rows, coordRow) end local extra = getManual(args, { "coord_a" }) if extra and not isNone(extra) then table.insert(rows, '<tr class="mergedtoprow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">Co-ordnaidyn:&nbsp;' .. extra .. '</td></tr>') end if #rows == 0 then return nil end return table.concat(rows) end return p hx4wonv3oj840ej4g95ee5587txul98 395535 395504 2026-10-29T01:09:04Z MacTire02 219 prowal croo cramman 395535 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local okWd, Wd = pcall(require, "Module:Wd") local MAP_WIDTH = "300" local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function normaliseSize(size) if size and size:match("^%d+$") then return size .. "px" end return size end local function getWdReference(property) if not okWd or not Wd or not Wd._reference then return "" end local ok, result = pcall(Wd._reference, { "best", property }) if ok and type(result) == "string" then return result end return "" end local function wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end local function getGenitiveName(args) local manual = getManual(args, { "ennym_gienneydagh", "ennym_oikoil_gienneydagh" }) if manual then return manual end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local ok, Enmyn = pcall(require, "Module:Enmyn çheerey") if ok and Enmyn and Enmyn.genitive then local okGen, genitive = pcall(Enmyn.genitive, name) if okGen and genitive and genitive ~= "" then return genitive end end return name end local function getWdFile(property) local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements(property) if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then local file = snak.datavalue.value if file and file ~= "" then return file end end end return nil end -- Best-rank P625 as latitude, longitude numbers. local function getWdCoordinates() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P625") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "globecoordinate") then return nil end local value = snak.datavalue.value if value.latitude and value.longitude then return value.latitude, value.longitude end return nil end ---------------------------------------------------------------------- -- Manual coordinates (old template's latd/latm/lats/latNS/longd/... shape) ---------------------------------------------------------------------- local function dmsParts(deg, min, sec, dir) local parts = { deg } if min then table.insert(parts, min) end if sec then table.insert(parts, sec) end if dir then table.insert(parts, dir) end return parts end -- Returns "suppress", or { lat = parts, long = parts, decimal = {lat, long}|nil }, or nil. local function getManualCoordinates(args) -- coord=none hides the coordinates; latd=none is the legacy way. if isNone(getManual(args, { "coord" })) then return "suppress" end local latd = getManual(args, { "latd" }) if not latd then return nil end if isNone(latd) then return "suppress" end local longd = getManual(args, { "longd" }) if not longd then return nil end local latm, lats, latNS = getManual(args, { "latm" }), getManual(args, { "lats" }), getManual(args, { "latNS" }) local longm, longs, longEW = getManual(args, { "longm" }), getManual(args, { "longs" }), getManual(args, { "longEW" }) local isDms = latm or latNS or longm or longEW local result = { lat = isDms and dmsParts(latd, latm, lats, latNS) or { latd }, long = isDms and dmsParts(longd, longm, longs, longEW) or { longd }, } if not isDms then local la, lo = tonumber(latd), tonumber(longd) if la and lo then result.decimal = { la, lo } end else -- Decimal equivalent for the interactive map. local function toDecimal(d, m, s, dir) local value = tonumber(d) if not value then return nil end value = value + (tonumber(m) or 0) / 60 + (tonumber(s) or 0) / 3600 if dir == "S" or dir == "W" then value = -value end return value end local la, lo = toDecimal(latd, latm, lats, latNS), toDecimal(longd, longm, longs, longEW) if la and lo then result.decimal = { la, lo } end end return result end local function coordType(args) local custom = getManual(args, { "sorçh_coor" }) if custom then return custom end local text = "type:city" local population = getManual(args, { "slane_earroo_yn_phobble" }) local number = population and tonumber((population:gsub("[,%s]", ""))) if number and number > 0 then text = text .. "(" .. string.format("%d", number) .. ")" end local region = getManual(args, { "ard_coordnaidyn" }) if region then text = text .. "_region:" .. region end return text end local function expandCoord(frame, args, coords) local callArgs = {} for _, v in ipairs(coords.lat) do table.insert(callArgs, v) end for _, v in ipairs(coords.long) do table.insert(callArgs, v) end table.insert(callArgs, coordType(args)) callArgs.display = "inline,title" local format = getManual(args, { "cummey_coordnaidyn" }) callArgs.format = format or "dms" return frame:expandTemplate{ title = "coord", args = callArgs } end ---------------------------------------------------------------------- -- Map rows ---------------------------------------------------------------------- local function mapRow(inner) return '<tr><td colspan="2" style="text-align:center; padding:0.2em 0.4em;"><div style="display:flex; flex-direction:column; align-items:center;">' .. inner .. '</div></td></tr>' end local function captionDiv(caption) if not caption or caption == "" then return "" end return '<div style="padding-top:2pt;">' .. caption .. '</div>' end -- Caption: manual text, "none" to hide, else "Soiaghey <genitive>". local function resolveCaption(manual, genitive) if manual and isNone(manual) then return nil end return manual or U.genitiveAfter("Soiaghey", genitive) end -- Static locator maps: base "jalloo_caslys-çheerey" plus "1". local function buildStaticMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "1" }) do local file = getManual(args, { "jalloo_caslys-çheerey" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey" .. suffix })) or (MAP_WIDTH .. "px") local alt = getManual(args, { "alt_caslys-çheerey" .. suffix }) or "" local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" .. suffix }), genitive) local tooltip = caption or U.genitiveAfter("Soiaghey", genitive) table.insert(rows, mapRow('<div style="pointer-events:none;">[[Coadan:' .. file .. '|' .. width .. '|none|link=|alt=' .. alt .. '|' .. tooltip .. ']]</div>' .. captionDiv(caption))) end end return rows end -- Basic map with a red dot placed by clee/baare offsets: "" and "2". local function buildOverlayMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "2" }) do local file = getManual(args, { "jalloo_caslys-çheerey_bunneydagh" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_bunneydagh" .. suffix })) or "240px" local left = getManual(args, { "clee" .. suffix }) or "0" local top = getManual(args, { "baare" .. suffix }) or "0" local before = getManual(args, { "ennym_er_caslys" }) local after = getManual(args, { "ennym_caslys_jesh" }) local dot = (before and ('<sub>' .. before .. '</sub>') or "") .. '&nbsp;[[Coadan:Red pog.svg|8px|link=]]' .. (after and ('&nbsp;<sub>' .. after .. '</sub>') or "") local html = '<div style="position:relative;">[[Coadan:' .. file .. '|' .. width .. '|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]<div style="position:absolute; left:' .. left .. '; top:' .. top .. ';">' .. dot .. '</div></div>' html = html .. captionDiv(resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey_bunneydagh" .. suffix, "fo-heidyl_caslys-çheerey" }), genitive)) table.insert(rows, mapRow(html)) end end return rows end -- Dot map through {{sar-hoiaghey}}. local function buildDotMap(frame, args) local file = getManual(args, { "jalloo_caslys-çheerey_ponk" }) if not file or isNone(file) then return nil end local name = getManual(args, { "ennym_oikoil", "ennym" }) or mw.title.getCurrentTitle().text local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_ponk" })) or "180px" local rendered = frame:expandTemplate{ title = "sar-hoiaghey", args = { bun = file, lheead_bun = width, alt_bun = getManual(args, { "alt_bun_caslys-çheerey_ponk" }) or "", ["fo-heidyl_bun"] = name, snaue = "Red pog.svg", lheead_snaue = "6px", alt_snaue = getManual(args, { "alt_caslys-çheerey_ponk" }) or "", ["fo-heidyl_snaue"] = getManual(args, { "fo-heidyl_caslys-çheerey_ponk" }) or "", x = getManual(args, { "ponk_x" }) or "", y = getManual(args, { "ponk_y" }) or "", } } return mapRow('<div class="center">' .. rendered .. captionDiv(getManual(args, { "fo-heidyl_caslys-çheerey_ponk" })) .. '</div>') end -- Pushpin maps through {{Caslys-çheerey soiaghey}}: base "broo-freeney" plus "1". local function buildPushpinMaps(frame, args) local rows = {} local manual = getManual(args, { "latd" }) local name = getManual(args, { "ennym", "ennym_oikoil" }) or getManual(args, { "ennym_gienneydagh" }) or mw.title.getCurrentTitle().text local usesDms = getManual(args, { "latm" }) or getManual(args, { "latNS" }) local usesLongDms = getManual(args, { "longm" }) or getManual(args, { "longEW" }) for _, suffix in ipairs({ "", "1" }) do local map = getManual(args, { "caslys-çheerey_broo-freeney" .. suffix }) if map and not isNone(map) then local labelSwitch = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) local label = "" if not (labelSwitch and labelSwitch:lower() == "none") then label = getManual(args, { "lipaid_broo-freeney" .. suffix }) or name end local rendered = frame:expandTemplate{ title = "Caslys-çheerey soiaghey", args = { map, label = label, alt = getManual(args, { "alt_caslys-çheerey_broo-freeney" .. suffix }) or "", lat = (not usesDms) and (getManual(args, { "latd" }) or "") or "", long = (not usesLongDms) and (getManual(args, { "longd" }) or "") or "", lat_deg = usesDms and (getManual(args, { "latd" }) or "") or "", lat_min = usesDms and (getManual(args, { "latm" }) or "") or "", lat_sec = usesDms and (getManual(args, { "lats" }) or "") or "", lat_dir = getManual(args, { "latNS" }) or "", lon_deg = usesLongDms and (getManual(args, { "longd" }) or "") or "", lon_min = usesLongDms and (getManual(args, { "longm" }) or "") or "", lon_sec = usesLongDms and (getManual(args, { "longs" }) or "") or "", lon_dir = getManual(args, { "longEW" }) or "", marksize = "6", float = "none", caption = "", border = "none", position = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) or "", width = getManual(args, { "mooadys_caslys-çheerey_broo-freeney" .. suffix }) or "250", AlternativeMap = getManual(args, { "jalloo_broo-freeney" .. suffix }) or "", } } local caption = getManual(args, { "fo-heidyl_caslys-çheerey_broo-freeney" .. suffix, "fo-heidyl_caslys-çheerey" }) table.insert(rows, mapRow('<div class="center">' .. rendered .. captionDiv(caption) .. '</div>')) end end return rows end -- Country (P17) name for picking the blank location map, e.g. "Mannin". local function getCountryName(args) local manual = getManual(args, { "caslys-çheerey_çheer" }) if manual then return manual end local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P17") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid") then return nil end local value = snak.datavalue.value local id = value.id or ("Q" .. tostring(value["numeric-id"])) local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return sitelink end return nil end -- Blank country map with a red dot via {{Location map}}, when "Module:Location map/data/<country>" exists. local function buildAutoPushpin(frame, args, lat, lon) if not lat then return nil end local country = getCountryName(args) if not country or isNone(country) then return nil end local data = mw.title.new("Module:Location map/data/" .. country) if not (data and data.exists) then return nil end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" }), getGenitiveName(args)) or "" -- Hover text is the caption alone, as plain text (not "X is located in Y"). local altText = caption:gsub("%[%[[^%]|]*|([^%]]*)%]%]", "%1"):gsub("%[%[([^%]]*)%]%]", "%1"):gsub("<[^>]*>", "") return frame:expandTemplate{ title = "Location map", args = { country, alt = altText ~= "" and altText or nil, border = "infobox", float = "center", width = MAP_WIDTH, max_width = MAP_WIDTH, maplink = "", label = name, lat = string.format("%.6f", lat), long = string.format("%.6f", lon), marksize = "6", position = getManual(args, { "soiaghey_lipaid" }), caption = caption, relief = getManual(args, { "releef_caslys-çheerey" }), } } end -- Wikidata shape sources: OSM relation (P402) or a Commons geoshape page (P3896, "Data:Meath.map"). local function getWdShape() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local osm = entity:getBestStatements("P402") if osm and #osm > 0 then return { service = "geoshape", id = entity.id } end local geoshape = entity:getBestStatements("P3896") local snak = geoshape and geoshape[1] and geoshape[1].mainsnak if snak and snak.snaktype == "value" and snak.datavalue and type(snak.datavalue.value) == "string" then local title = snak.datavalue.value:gsub("^Data:", "") return { service = "page", title = title } end return nil end -- Whether the outline should be drawn with the point: areas yes (counties, provinces, countries ...), -- towns and villages no (their outlines can stop the map image loading). mapframe-shape=yes/no overrides. local AREA_CLASSES = { Q179872 = true, Q202156 = true, Q47168 = true, Q34876 = true, Q10864048 = true, Q13220204 = true, Q6256 = true, Q3336843 = true, Q35657 = true, Q15284 = false } local function useOutline(args) local setting = (getManual(args, { "mapframe-shape" }) or ""):lower() if setting == "yes" then return true elseif setting == "no" or setting == "none" then return false end local id = mw.wikibase.getEntityIdForCurrentPage() if not id then return false end for _, statement in ipairs(mw.wikibase.getAllStatements(id, "P31") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local cls = snak.datavalue.value.id or ("Q" .. tostring(snak.datavalue.value["numeric-id"])) if AREA_CLASSES[cls] then return true end end end local contains = mw.wikibase.getAllStatements(id, "P150") return contains ~= nil and #contains > 0 end -- Item without a point (P625) but with a shape: the shape alone, centred and zoomed by the map itself. local function buildShapeOnlyMap(frame, shape) local data = { type = "ExternalData", service = shape.service, properties = { stroke = "#FF0000", ["stroke-width"] = 2, fill = "#606060", ["fill-opacity"] = 0.1 } } if shape.service == "geoshape" then data.ids = shape.id else data.title = shape.title end local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", align = "center" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Interactive map from the coordinates (manual decimal equivalent, else Wikidata P625); the shape alone when there is no point. local function buildMapframe(frame, args, manualCoords) -- Wikidata P625 only: passing coordinates makes Module:Mapframe error on gv.wiki. local shape = getWdShape() -- Manual coordinates cannot go to Module:Infobox mapframe, but an outline needs no point. if manualCoords ~= nil then return shape and buildShapeOnlyMap(frame, shape) or nil end if not getWdCoordinates() then if shape then return buildShapeOnlyMap(frame, shape) end return nil end -- An item with a shape (a county, say) is fitted by the map itself; a plain point gets a fixed zoom. if shape and not useOutline(args) then -- No outline: a plain point map built directly, so the Wikidata shape is never requested. local lat, lon = getWdCoordinates() if not lat then return nil end local data = { type = "Feature", geometry = { type = "Point", coordinates = { lon, lat } }, properties = { ["marker-color"] = "d33", ["marker-symbol"] = "" } } local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or "12" local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", zoom = zoom, latitude = tostring(lat), longitude = tostring(lon), align = "center", frameless = "1" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or (not shape and "12" or nil) local callArgs = { "Infobox mapframe", "autoWithCaption", onByDefault = "yes", ["mapframe-marker-color"] = "d33", ["mapframe-frame-width"] = MAP_WIDTH, ["mapframe-zoom"] = zoom, } local ok, rendered = pcall(function() return frame:callParserFunction{ name = "#invoke", args = callArgs } end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Blank map first; the interactive map sits in a collapsed block opened by a toggle link. local function buildSwitcher(frame, args, first, second) local expand = getManual(args, { "lipaid_caslys2" }) or "🗺️ Eddyr-obbragh ▾" local collapse = getManual(args, { "lipaid_caslys_follaghey" }) or "🗺️ Follee ▴" return first .. '<div class="mw-collapsible mw-collapsed" data-expandtext="' .. expand .. '" data-collapsetext="' .. collapse .. '" style="text-align:center; margin-top:0.3em;">' .. '<div style="text-align:center; padding-top:1.6em; clear:both;">' .. second .. '</div></div>' end ---------------------------------------------------------------------- -- Coordinates row ---------------------------------------------------------------------- local function buildCoordinatesRow(frame, args, manualCoords) local coordText, fromWd if manualCoords == "suppress" then return nil elseif type(manualCoords) == "table" then coordText = expandCoord(frame, args, manualCoords) else local lat, lon = getWdCoordinates() if not lat then return nil end coordText = expandCoord(frame, args, { lat = { lat }, long = { lon } }) fromWd = true end local label = "Co-ordnaidyn" local qualifier = getManual(args, { "mair_coor" }) if qualifier then label = label .. "&#32;(" .. qualifier .. ")" end local value = coordText if fromWd then value = value .. getWdReference("P625") else local ref = getManual(args, { "imraa_coordnaidyn" }) if ref then value = value .. wrapReference(ref) end end local note = getManual(args, { "fo-noteyn_coordnaidyn" }) if note then value = value .. note end return '<tr class="mergedbottomrow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">' .. label .. ': ' .. value .. '</td></tr>' end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local genitive = getGenitiveName(args) local manualCoords = getManualCoordinates(args) local rows = {} local manualMapCount = 0 local function addAll(list) for _, row in ipairs(list) do table.insert(rows, row) manualMapCount = manualMapCount + 1 end end addAll(buildStaticMaps(args, genitive)) addAll(buildOverlayMaps(args, genitive)) local dot = buildDotMap(frame, args) if dot then addAll({ dot }) end addAll(buildPushpinMaps(frame, args)) local frameSetting = (getManual(args, { "mapframe" }) or ""):lower() local wantMapframe = frameSetting == "yes" local suppressMapframe = frameSetting == "no" or frameSetting == "none" -- No manual map: blank country map with a dot, else an interactive map, else the P242 locator image. if manualMapCount == 0 then local lat, lon if type(manualCoords) == "table" and manualCoords.decimal then lat, lon = manualCoords.decimal[1], manualCoords.decimal[2] elseif manualCoords == nil then lat, lon = getWdCoordinates() end local pushpin = buildAutoPushpin(frame, args, lat, lon) if pushpin then local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, pushpin, interactive))) else table.insert(rows, mapRow(pushpin)) end elseif lat then wantMapframe = true else local file = getWdFile("P242") if file then local locator = '[[Coadan:' .. file .. '|' .. MAP_WIDTH .. 'px|none|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]' local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, locator, interactive))) else table.insert(rows, mapRow(locator)) end elseif getWdShape() then wantMapframe = true end end end if wantMapframe and not suppressMapframe then local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(mapframe)) end elseif manualMapCount > 0 and not suppressMapframe and getWdShape() then -- Manual maps stay as given; the item's outline is offered behind a toggle under them. local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(buildSwitcher(frame, args, "", mapframe))) end end local coordRow = buildCoordinatesRow(frame, args, manualCoords) if coordRow then table.insert(rows, coordRow) end local extra = getManual(args, { "coord_a" }) if extra and not isNone(extra) then table.insert(rows, '<tr class="mergedtoprow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">Co-ordnaidyn:&nbsp;' .. extra .. '</td></tr>') end if #rows == 0 then return nil end return table.concat(rows) end return p 92s0zpo4g6tjyt2hq0jjrq7z3hmpwii 395537 395535 2026-10-29T01:11:18Z MacTire02 219 ++ 395537 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local okWd, Wd = pcall(require, "Module:Wd") local MAP_WIDTH = "300" local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function normaliseSize(size) if size and size:match("^%d+$") then return size .. "px" end return size end local function getWdReference(property) if not okWd or not Wd or not Wd._reference then return "" end local ok, result = pcall(Wd._reference, { "best", property }) if ok and type(result) == "string" then return result end return "" end local function wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end local function getGenitiveName(args) local manual = getManual(args, { "ennym_gienneydagh", "ennym_oikoil_gienneydagh" }) if manual then return manual end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local ok, Enmyn = pcall(require, "Module:Enmyn çheerey") if ok and Enmyn and Enmyn.genitive then local okGen, genitive = pcall(Enmyn.genitive, name) if okGen and genitive and genitive ~= "" then return genitive end end return name end local function getWdFile(property) local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements(property) if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then local file = snak.datavalue.value if file and file ~= "" then return file end end end return nil end -- Best-rank P625 as latitude, longitude numbers. local function getWdCoordinates() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P625") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "globecoordinate") then return nil end local value = snak.datavalue.value if value.latitude and value.longitude then return value.latitude, value.longitude end return nil end ---------------------------------------------------------------------- -- Manual coordinates (old template's latd/latm/lats/latNS/longd/... shape) ---------------------------------------------------------------------- local function dmsParts(deg, min, sec, dir) local parts = { deg } if min then table.insert(parts, min) end if sec then table.insert(parts, sec) end if dir then table.insert(parts, dir) end return parts end -- Returns "suppress", or { lat = parts, long = parts, decimal = {lat, long}|nil }, or nil. local function getManualCoordinates(args) -- coord=none hides the coordinates; latd=none is the legacy way. if isNone(getManual(args, { "coord" })) then return "suppress" end local latd = getManual(args, { "latd" }) if not latd then return nil end if isNone(latd) then return "suppress" end local longd = getManual(args, { "longd" }) if not longd then return nil end local latm, lats, latNS = getManual(args, { "latm" }), getManual(args, { "lats" }), getManual(args, { "latNS" }) local longm, longs, longEW = getManual(args, { "longm" }), getManual(args, { "longs" }), getManual(args, { "longEW" }) local isDms = latm or latNS or longm or longEW local result = { lat = isDms and dmsParts(latd, latm, lats, latNS) or { latd }, long = isDms and dmsParts(longd, longm, longs, longEW) or { longd }, } if not isDms then local la, lo = tonumber(latd), tonumber(longd) if la and lo then result.decimal = { la, lo } end else -- Decimal equivalent for the interactive map. local function toDecimal(d, m, s, dir) local value = tonumber(d) if not value then return nil end value = value + (tonumber(m) or 0) / 60 + (tonumber(s) or 0) / 3600 if dir == "S" or dir == "W" then value = -value end return value end local la, lo = toDecimal(latd, latm, lats, latNS), toDecimal(longd, longm, longs, longEW) if la and lo then result.decimal = { la, lo } end end return result end local function coordType(args) local custom = getManual(args, { "sorçh_coor" }) if custom then return custom end local text = "type:city" local population = getManual(args, { "slane_earroo_yn_phobble" }) local number = population and tonumber((population:gsub("[,%s]", ""))) if number and number > 0 then text = text .. "(" .. string.format("%d", number) .. ")" end local region = getManual(args, { "ard_coordnaidyn" }) if region then text = text .. "_region:" .. region end return text end local function expandCoord(frame, args, coords) local callArgs = {} for _, v in ipairs(coords.lat) do table.insert(callArgs, v) end for _, v in ipairs(coords.long) do table.insert(callArgs, v) end table.insert(callArgs, coordType(args)) callArgs.display = "inline,title" local format = getManual(args, { "cummey_coordnaidyn" }) callArgs.format = format or "dms" return frame:expandTemplate{ title = "coord", args = callArgs } end ---------------------------------------------------------------------- -- Map rows ---------------------------------------------------------------------- local function mapRow(inner) return '<tr><td colspan="2" style="text-align:center; padding:0.2em 0.4em;"><div style="display:flex; flex-direction:column; align-items:center;">' .. inner .. '</div></td></tr>' end local function captionDiv(caption) if not caption or caption == "" then return "" end return '<div style="padding-top:2pt;">' .. caption .. '</div>' end -- Caption: manual text, "none" to hide, else "Soiaghey <genitive>". local function resolveCaption(manual, genitive) if manual and isNone(manual) then return nil end return manual or U.genitiveAfter("Soiaghey", genitive) end -- Static locator maps: base "jalloo_caslys-çheerey" plus "1". local function buildStaticMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "1" }) do local file = getManual(args, { "jalloo_caslys-çheerey" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey" .. suffix })) or (MAP_WIDTH .. "px") local alt = getManual(args, { "alt_caslys-çheerey" .. suffix }) or "" local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" .. suffix }), genitive) local tooltip = caption or U.genitiveAfter("Soiaghey", genitive) table.insert(rows, mapRow('<div style="pointer-events:none;">[[Coadan:' .. file .. '|' .. width .. '|none|link=|alt=' .. alt .. '|' .. tooltip .. ']]</div>' .. captionDiv(caption))) end end return rows end -- Basic map with a red dot placed by clee/baare offsets: "" and "2". local function buildOverlayMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "2" }) do local file = getManual(args, { "jalloo_caslys-çheerey_bunneydagh" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_bunneydagh" .. suffix })) or "240px" local left = getManual(args, { "clee" .. suffix }) or "0" local top = getManual(args, { "baare" .. suffix }) or "0" local before = getManual(args, { "ennym_er_caslys" }) local after = getManual(args, { "ennym_caslys_jesh" }) local dot = (before and ('<sub>' .. before .. '</sub>') or "") .. '&nbsp;[[Coadan:Red pog.svg|8px|link=]]' .. (after and ('&nbsp;<sub>' .. after .. '</sub>') or "") local html = '<div style="position:relative;">[[Coadan:' .. file .. '|' .. width .. '|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]<div style="position:absolute; left:' .. left .. '; top:' .. top .. ';">' .. dot .. '</div></div>' html = html .. captionDiv(resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey_bunneydagh" .. suffix, "fo-heidyl_caslys-çheerey" }), genitive)) table.insert(rows, mapRow(html)) end end return rows end -- Dot map through {{sar-hoiaghey}}. local function buildDotMap(frame, args) local file = getManual(args, { "jalloo_caslys-çheerey_ponk" }) if not file or isNone(file) then return nil end local name = getManual(args, { "ennym_oikoil", "ennym" }) or mw.title.getCurrentTitle().text local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_ponk" })) or "180px" local rendered = frame:expandTemplate{ title = "sar-hoiaghey", args = { bun = file, lheead_bun = width, alt_bun = getManual(args, { "alt_bun_caslys-çheerey_ponk" }) or "", ["fo-heidyl_bun"] = name, snaue = "Red pog.svg", lheead_snaue = "6px", alt_snaue = getManual(args, { "alt_caslys-çheerey_ponk" }) or "", ["fo-heidyl_snaue"] = getManual(args, { "fo-heidyl_caslys-çheerey_ponk" }) or "", x = getManual(args, { "ponk_x" }) or "", y = getManual(args, { "ponk_y" }) or "", } } return mapRow('<div class="center">' .. rendered .. captionDiv(getManual(args, { "fo-heidyl_caslys-çheerey_ponk" })) .. '</div>') end -- Pushpin maps through {{Caslys-çheerey soiaghey}}: base "broo-freeney" plus "1". local function buildPushpinMaps(frame, args) local rows = {} local manual = getManual(args, { "latd" }) local name = getManual(args, { "ennym", "ennym_oikoil" }) or getManual(args, { "ennym_gienneydagh" }) or mw.title.getCurrentTitle().text local usesDms = getManual(args, { "latm" }) or getManual(args, { "latNS" }) local usesLongDms = getManual(args, { "longm" }) or getManual(args, { "longEW" }) for _, suffix in ipairs({ "", "1" }) do local map = getManual(args, { "caslys-çheerey_broo-freeney" .. suffix }) if map and not isNone(map) then local labelSwitch = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) local label = "" if not (labelSwitch and labelSwitch:lower() == "none") then label = getManual(args, { "lipaid_broo-freeney" .. suffix }) or name end local rendered = frame:expandTemplate{ title = "Caslys-çheerey soiaghey", args = { map, label = label, alt = getManual(args, { "alt_caslys-çheerey_broo-freeney" .. suffix }) or "", lat = (not usesDms) and (getManual(args, { "latd" }) or "") or "", long = (not usesLongDms) and (getManual(args, { "longd" }) or "") or "", lat_deg = usesDms and (getManual(args, { "latd" }) or "") or "", lat_min = usesDms and (getManual(args, { "latm" }) or "") or "", lat_sec = usesDms and (getManual(args, { "lats" }) or "") or "", lat_dir = getManual(args, { "latNS" }) or "", lon_deg = usesLongDms and (getManual(args, { "longd" }) or "") or "", lon_min = usesLongDms and (getManual(args, { "longm" }) or "") or "", lon_sec = usesLongDms and (getManual(args, { "longs" }) or "") or "", lon_dir = getManual(args, { "longEW" }) or "", marksize = "6", float = "none", caption = "", border = "none", position = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) or "", width = getManual(args, { "mooadys_caslys-çheerey_broo-freeney" .. suffix }) or "250", AlternativeMap = getManual(args, { "jalloo_broo-freeney" .. suffix }) or "", } } local caption = getManual(args, { "fo-heidyl_caslys-çheerey_broo-freeney" .. suffix, "fo-heidyl_caslys-çheerey" }) table.insert(rows, mapRow('<div class="center">' .. rendered .. captionDiv(caption) .. '</div>')) end end return rows end -- Country (P17) name for picking the blank location map, e.g. "Mannin". local function getCountryName(args) local manual = getManual(args, { "caslys-çheerey_çheer" }) if manual then return manual end local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P17") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid") then return nil end local value = snak.datavalue.value local id = value.id or ("Q" .. tostring(value["numeric-id"])) local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return sitelink end return nil end -- Blank country map with a red dot via {{Location map}}, when "Module:Location map/data/<country>" exists. local function buildAutoPushpin(frame, args, lat, lon) if not lat then return nil end local country = getCountryName(args) if not country or isNone(country) then return nil end local data = mw.title.new("Module:Location map/data/" .. country) if not (data and data.exists) then return nil end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" }), getGenitiveName(args)) or "" -- Hover text is the caption alone, as plain text (not "X is located in Y"). local altText = caption:gsub("%[%[[^%]|]*|([^%]]*)%]%]", "%1"):gsub("%[%[([^%]]*)%]%]", "%1"):gsub("<[^>]*>", "") return frame:expandTemplate{ title = "Location map", args = { country, alt = altText ~= "" and altText or nil, border = "infobox", float = "center", width = MAP_WIDTH, max_width = MAP_WIDTH, maplink = "", label = name, lat = string.format("%.6f", lat), long = string.format("%.6f", lon), marksize = "6", position = getManual(args, { "soiaghey_lipaid" }), caption = caption, relief = getManual(args, { "releef_caslys-çheerey" }), } } end -- Wikidata shape sources: OSM relation (P402) or a Commons geoshape page (P3896, "Data:Meath.map"). local function getWdShape() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local osm = entity:getBestStatements("P402") if osm and #osm > 0 then return { service = "geoshape", id = entity.id } end local geoshape = entity:getBestStatements("P3896") local snak = geoshape and geoshape[1] and geoshape[1].mainsnak if snak and snak.snaktype == "value" and snak.datavalue and type(snak.datavalue.value) == "string" then local title = snak.datavalue.value:gsub("^Data:", "") return { service = "page", title = title } end return nil end -- Whether the outline should be drawn with the point: areas yes (counties, provinces, countries ...), -- towns and villages no (their outlines can stop the map image loading). mapframe-shape=yes/no overrides. local AREA_CLASSES = { Q179872 = true, Q202156 = true, Q47168 = true, Q34876 = true, Q10864048 = true, Q13220204 = true, Q6256 = true, Q3336843 = true, Q35657 = true, Q15284 = false } local function useOutline(args) local setting = (getManual(args, { "mapframe-shape" }) or ""):lower() if setting == "yes" then return true elseif setting == "no" or setting == "none" then return false end local id = mw.wikibase.getEntityIdForCurrentPage() if not id then return false end for _, statement in ipairs(mw.wikibase.getAllStatements(id, "P31") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local cls = snak.datavalue.value.id or ("Q" .. tostring(snak.datavalue.value["numeric-id"])) if AREA_CLASSES[cls] then return true end end end local contains = mw.wikibase.getAllStatements(id, "P150") return contains ~= nil and #contains > 0 end -- Item without a point (P625) but with a shape: the shape alone, centred and zoomed by the map itself. local function buildShapeOnlyMap(frame, shape) local data = { type = "ExternalData", service = shape.service, properties = { stroke = "#FF0000", ["stroke-width"] = 2, fill = "#606060", ["fill-opacity"] = 0.1 } } if shape.service == "geoshape" then data.ids = shape.id else data.title = shape.title end local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", align = "center" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Interactive map from the coordinates (manual decimal equivalent, else Wikidata P625); the shape alone when there is no point. local function buildMapframe(frame, args, manualCoords) -- Wikidata P625 only: passing coordinates makes Module:Mapframe error on gv.wiki. local shape = getWdShape() -- Manual coordinates cannot go to Module:Infobox mapframe, but an outline needs no point. if manualCoords ~= nil then return shape and buildShapeOnlyMap(frame, shape) or nil end if not getWdCoordinates() then if shape then return buildShapeOnlyMap(frame, shape) end return nil end -- An item with a shape (a county, say) is fitted by the map itself; a plain point gets a fixed zoom. if shape and not useOutline(args) then -- No outline: a plain point map built directly, so the Wikidata shape is never requested. local lat, lon = getWdCoordinates() if not lat then return nil end local data = { type = "Feature", geometry = { type = "Point", coordinates = { lon, lat } }, properties = { ["marker-color"] = "d33", ["marker-symbol"] = "" } } local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or "12" local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", zoom = zoom, latitude = tostring(lat), longitude = tostring(lon), align = "center", frameless = "1" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or (not shape and "12" or nil) local callArgs = { "Infobox mapframe", "autoWithCaption", onByDefault = "yes", ["mapframe-marker-color"] = "d33", ["mapframe-frame-width"] = MAP_WIDTH, ["mapframe-zoom"] = zoom, } local ok, rendered = pcall(function() return frame:callParserFunction{ name = "#invoke", args = callArgs } end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Blank map first; the interactive map sits in a collapsed block opened by a toggle link. local function buildSwitcher(frame, args, first, second) local expand = getManual(args, { "lipaid_caslys2" }) or "🗺️ Eddyr-obbragh ▾" local collapse = getManual(args, { "lipaid_caslys_follaghey" }) or "🗺️ Follee ▴" local styles = frame:extensionTag("templatestyles", "", { src = "Clowan:Kishtey fys boayl/styles.css" }) return styles .. first .. '<div class="mw-collapsible mw-collapsed kfb-map-toggle" data-expandtext="' .. expand .. '" data-collapsetext="' .. collapse .. '" style="text-align:center; margin-top:0.3em;">' .. '<div style="text-align:center; padding-top:1.6em; clear:both;">' .. second .. '</div></div>' end ---------------------------------------------------------------------- -- Coordinates row ---------------------------------------------------------------------- local function buildCoordinatesRow(frame, args, manualCoords) local coordText, fromWd if manualCoords == "suppress" then return nil elseif type(manualCoords) == "table" then coordText = expandCoord(frame, args, manualCoords) else local lat, lon = getWdCoordinates() if not lat then return nil end coordText = expandCoord(frame, args, { lat = { lat }, long = { lon } }) fromWd = true end local label = "Co-ordnaidyn" local qualifier = getManual(args, { "mair_coor" }) if qualifier then label = label .. "&#32;(" .. qualifier .. ")" end local value = coordText if fromWd then value = value .. getWdReference("P625") else local ref = getManual(args, { "imraa_coordnaidyn" }) if ref then value = value .. wrapReference(ref) end end local note = getManual(args, { "fo-noteyn_coordnaidyn" }) if note then value = value .. note end return '<tr class="mergedbottomrow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">' .. label .. ': ' .. value .. '</td></tr>' end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local genitive = getGenitiveName(args) local manualCoords = getManualCoordinates(args) local rows = {} local manualMapCount = 0 local function addAll(list) for _, row in ipairs(list) do table.insert(rows, row) manualMapCount = manualMapCount + 1 end end addAll(buildStaticMaps(args, genitive)) addAll(buildOverlayMaps(args, genitive)) local dot = buildDotMap(frame, args) if dot then addAll({ dot }) end addAll(buildPushpinMaps(frame, args)) local frameSetting = (getManual(args, { "mapframe" }) or ""):lower() local wantMapframe = frameSetting == "yes" local suppressMapframe = frameSetting == "no" or frameSetting == "none" -- No manual map: blank country map with a dot, else an interactive map, else the P242 locator image. if manualMapCount == 0 then local lat, lon if type(manualCoords) == "table" and manualCoords.decimal then lat, lon = manualCoords.decimal[1], manualCoords.decimal[2] elseif manualCoords == nil then lat, lon = getWdCoordinates() end local pushpin = buildAutoPushpin(frame, args, lat, lon) if pushpin then local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, pushpin, interactive))) else table.insert(rows, mapRow(pushpin)) end elseif lat then wantMapframe = true else local file = getWdFile("P242") if file then local locator = '[[Coadan:' .. file .. '|' .. MAP_WIDTH .. 'px|none|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]' local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, locator, interactive))) else table.insert(rows, mapRow(locator)) end elseif getWdShape() then wantMapframe = true end end end if wantMapframe and not suppressMapframe then local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(mapframe)) end elseif manualMapCount > 0 and not suppressMapframe and getWdShape() then -- Manual maps stay as given; the item's outline is offered behind a toggle under them. local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(buildSwitcher(frame, args, "", mapframe))) end end local coordRow = buildCoordinatesRow(frame, args, manualCoords) if coordRow then table.insert(rows, coordRow) end local extra = getManual(args, { "coord_a" }) if extra and not isNone(extra) then table.insert(rows, '<tr class="mergedtoprow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">Co-ordnaidyn:&nbsp;' .. extra .. '</td></tr>') end if #rows == 0 then return nil end return table.concat(rows) end return p 6yhi3ljr90h98y4ijmctmi6kj0mzu7h 395540 395537 2026-10-29T01:16:16Z MacTire02 219 ++ 395540 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local okWd, Wd = pcall(require, "Module:Wd") local MAP_WIDTH = "300" local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function normaliseSize(size) if size and size:match("^%d+$") then return size .. "px" end return size end local function getWdReference(property) if not okWd or not Wd or not Wd._reference then return "" end local ok, result = pcall(Wd._reference, { "best", property }) if ok and type(result) == "string" then return result end return "" end local function wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end local function getGenitiveName(args) local manual = getManual(args, { "ennym_gienneydagh", "ennym_oikoil_gienneydagh" }) if manual then return manual end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local ok, Enmyn = pcall(require, "Module:Enmyn çheerey") if ok and Enmyn and Enmyn.genitive then local okGen, genitive = pcall(Enmyn.genitive, name) if okGen and genitive and genitive ~= "" then return genitive end end return name end local function getWdFile(property) local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements(property) if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then local file = snak.datavalue.value if file and file ~= "" then return file end end end return nil end -- Best-rank P625 as latitude, longitude numbers. local function getWdCoordinates() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P625") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "globecoordinate") then return nil end local value = snak.datavalue.value if value.latitude and value.longitude then return value.latitude, value.longitude end return nil end ---------------------------------------------------------------------- -- Manual coordinates (old template's latd/latm/lats/latNS/longd/... shape) ---------------------------------------------------------------------- local function dmsParts(deg, min, sec, dir) local parts = { deg } if min then table.insert(parts, min) end if sec then table.insert(parts, sec) end if dir then table.insert(parts, dir) end return parts end -- Returns "suppress", or { lat = parts, long = parts, decimal = {lat, long}|nil }, or nil. local function getManualCoordinates(args) -- coord=none hides the coordinates; latd=none is the legacy way. if isNone(getManual(args, { "coord" })) then return "suppress" end local latd = getManual(args, { "latd" }) if not latd then return nil end if isNone(latd) then return "suppress" end local longd = getManual(args, { "longd" }) if not longd then return nil end local latm, lats, latNS = getManual(args, { "latm" }), getManual(args, { "lats" }), getManual(args, { "latNS" }) local longm, longs, longEW = getManual(args, { "longm" }), getManual(args, { "longs" }), getManual(args, { "longEW" }) local isDms = latm or latNS or longm or longEW local result = { lat = isDms and dmsParts(latd, latm, lats, latNS) or { latd }, long = isDms and dmsParts(longd, longm, longs, longEW) or { longd }, } if not isDms then local la, lo = tonumber(latd), tonumber(longd) if la and lo then result.decimal = { la, lo } end else -- Decimal equivalent for the interactive map. local function toDecimal(d, m, s, dir) local value = tonumber(d) if not value then return nil end value = value + (tonumber(m) or 0) / 60 + (tonumber(s) or 0) / 3600 if dir == "S" or dir == "W" then value = -value end return value end local la, lo = toDecimal(latd, latm, lats, latNS), toDecimal(longd, longm, longs, longEW) if la and lo then result.decimal = { la, lo } end end return result end local function coordType(args) local custom = getManual(args, { "sorçh_coor" }) if custom then return custom end local text = "type:city" local population = getManual(args, { "slane_earroo_yn_phobble" }) local number = population and tonumber((population:gsub("[,%s]", ""))) if number and number > 0 then text = text .. "(" .. string.format("%d", number) .. ")" end local region = getManual(args, { "ard_coordnaidyn" }) if region then text = text .. "_region:" .. region end return text end local function expandCoord(frame, args, coords) local callArgs = {} for _, v in ipairs(coords.lat) do table.insert(callArgs, v) end for _, v in ipairs(coords.long) do table.insert(callArgs, v) end table.insert(callArgs, coordType(args)) callArgs.display = "inline,title" local format = getManual(args, { "cummey_coordnaidyn" }) callArgs.format = format or "dms" return frame:expandTemplate{ title = "coord", args = callArgs } end ---------------------------------------------------------------------- -- Map rows ---------------------------------------------------------------------- local function mapRow(inner) return '<tr><td colspan="2" style="text-align:center; padding:0.2em 0.4em;"><div style="display:flex; flex-direction:column; align-items:center;">' .. inner .. '</div></td></tr>' end local function captionDiv(caption) if not caption or caption == "" then return "" end return '<div style="padding-top:2pt;">' .. caption .. '</div>' end -- Caption: manual text, "none" to hide, else "Soiaghey <genitive>". local function resolveCaption(manual, genitive) if manual and isNone(manual) then return nil end return manual or U.genitiveAfter("Soiaghey", genitive) end -- Static locator maps: base "jalloo_caslys-çheerey" plus "1". local function buildStaticMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "1" }) do local file = getManual(args, { "jalloo_caslys-çheerey" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey" .. suffix })) or (MAP_WIDTH .. "px") local alt = getManual(args, { "alt_caslys-çheerey" .. suffix }) or "" local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" .. suffix }), genitive) local tooltip = caption or U.genitiveAfter("Soiaghey", genitive) table.insert(rows, mapRow('<div style="pointer-events:none;">[[Coadan:' .. file .. '|' .. width .. '|none|link=|alt=' .. alt .. '|' .. tooltip .. ']]</div>' .. captionDiv(caption))) end end return rows end -- Basic map with a red dot placed by clee/baare offsets: "" and "2". local function buildOverlayMaps(args, genitive) local rows = {} for _, suffix in ipairs({ "", "2" }) do local file = getManual(args, { "jalloo_caslys-çheerey_bunneydagh" .. suffix }) if file and not isNone(file) then local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_bunneydagh" .. suffix })) or "240px" local left = getManual(args, { "clee" .. suffix }) or "0" local top = getManual(args, { "baare" .. suffix }) or "0" local before = getManual(args, { "ennym_er_caslys" }) local after = getManual(args, { "ennym_caslys_jesh" }) local dot = (before and ('<sub>' .. before .. '</sub>') or "") .. '&nbsp;[[Coadan:Red pog.svg|8px|link=]]' .. (after and ('&nbsp;<sub>' .. after .. '</sub>') or "") local html = '<div style="position:relative;">[[Coadan:' .. file .. '|' .. width .. '|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]<div style="position:absolute; left:' .. left .. '; top:' .. top .. ';">' .. dot .. '</div></div>' html = html .. captionDiv(resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey_bunneydagh" .. suffix, "fo-heidyl_caslys-çheerey" }), genitive)) table.insert(rows, mapRow(html)) end end return rows end -- Dot map through {{sar-hoiaghey}}. local function buildDotMap(frame, args) local file = getManual(args, { "jalloo_caslys-çheerey_ponk" }) if not file or isNone(file) then return nil end local name = getManual(args, { "ennym_oikoil", "ennym" }) or mw.title.getCurrentTitle().text local width = normaliseSize(getManual(args, { "mooadys_caslys-çheerey_ponk" })) or "180px" local rendered = frame:expandTemplate{ title = "sar-hoiaghey", args = { bun = file, lheead_bun = width, alt_bun = getManual(args, { "alt_bun_caslys-çheerey_ponk" }) or "", ["fo-heidyl_bun"] = name, snaue = "Red pog.svg", lheead_snaue = "6px", alt_snaue = getManual(args, { "alt_caslys-çheerey_ponk" }) or "", ["fo-heidyl_snaue"] = getManual(args, { "fo-heidyl_caslys-çheerey_ponk" }) or "", x = getManual(args, { "ponk_x" }) or "", y = getManual(args, { "ponk_y" }) or "", } } return mapRow('<div class="center">' .. rendered .. captionDiv(getManual(args, { "fo-heidyl_caslys-çheerey_ponk" })) .. '</div>') end -- Pushpin maps through {{Caslys-çheerey soiaghey}}: base "broo-freeney" plus "1". local function buildPushpinMaps(frame, args) local rows = {} local manual = getManual(args, { "latd" }) local name = getManual(args, { "ennym", "ennym_oikoil" }) or getManual(args, { "ennym_gienneydagh" }) or mw.title.getCurrentTitle().text local usesDms = getManual(args, { "latm" }) or getManual(args, { "latNS" }) local usesLongDms = getManual(args, { "longm" }) or getManual(args, { "longEW" }) for _, suffix in ipairs({ "", "1" }) do local map = getManual(args, { "caslys-çheerey_broo-freeney" .. suffix }) if map and not isNone(map) then local labelSwitch = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) local label = "" if not (labelSwitch and labelSwitch:lower() == "none") then label = getManual(args, { "lipaid_broo-freeney" .. suffix }) or name end local rendered = frame:expandTemplate{ title = "Caslys-çheerey soiaghey", args = { map, label = label, alt = getManual(args, { "alt_caslys-çheerey_broo-freeney" .. suffix }) or "", lat = (not usesDms) and (getManual(args, { "latd" }) or "") or "", long = (not usesLongDms) and (getManual(args, { "longd" }) or "") or "", lat_deg = usesDms and (getManual(args, { "latd" }) or "") or "", lat_min = usesDms and (getManual(args, { "latm" }) or "") or "", lat_sec = usesDms and (getManual(args, { "lats" }) or "") or "", lat_dir = getManual(args, { "latNS" }) or "", lon_deg = usesLongDms and (getManual(args, { "longd" }) or "") or "", lon_min = usesLongDms and (getManual(args, { "longm" }) or "") or "", lon_sec = usesLongDms and (getManual(args, { "longs" }) or "") or "", lon_dir = getManual(args, { "longEW" }) or "", marksize = "6", float = "none", caption = "", border = "none", position = getManual(args, { "soiaghey_lipaid_broo-freeney" .. suffix }) or "", width = getManual(args, { "mooadys_caslys-çheerey_broo-freeney" .. suffix }) or "250", AlternativeMap = getManual(args, { "jalloo_broo-freeney" .. suffix }) or "", } } local caption = getManual(args, { "fo-heidyl_caslys-çheerey_broo-freeney" .. suffix, "fo-heidyl_caslys-çheerey" }) table.insert(rows, mapRow('<div class="center">' .. rendered .. captionDiv(caption) .. '</div>')) end end return rows end -- Country (P17) name for picking the blank location map, e.g. "Mannin". local function getCountryName(args) local manual = getManual(args, { "caslys-çheerey_çheer" }) if manual then return manual end local entity = mw.wikibase.getEntityObject() if not entity then return nil end local statements = entity:getBestStatements("P17") if not statements or #statements == 0 then return nil end local snak = statements[1].mainsnak if not (snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid") then return nil end local value = snak.datavalue.value local id = value.id or ("Q" .. tostring(value["numeric-id"])) local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return sitelink end return nil end -- Blank country map with a red dot via {{Location map}}, when "Module:Location map/data/<country>" exists. local function buildAutoPushpin(frame, args, lat, lon) if not lat then return nil end local country = getCountryName(args) if not country or isNone(country) then return nil end local data = mw.title.new("Module:Location map/data/" .. country) if not (data and data.exists) then return nil end local name = getManual(args, { "ennym", "ennym_oikoil" }) or mw.title.getCurrentTitle().text local caption = resolveCaption(getManual(args, { "fo-heidyl_caslys-çheerey" }), getGenitiveName(args)) or "" -- Hover text is the caption alone, as plain text (not "X is located in Y"). local altText = caption:gsub("%[%[[^%]|]*|([^%]]*)%]%]", "%1"):gsub("%[%[([^%]]*)%]%]", "%1"):gsub("<[^>]*>", "") return frame:expandTemplate{ title = "Location map", args = { country, alt = altText ~= "" and altText or nil, border = "infobox", float = "center", width = MAP_WIDTH, max_width = MAP_WIDTH, maplink = "", label = name, lat = string.format("%.6f", lat), long = string.format("%.6f", lon), marksize = "6", position = getManual(args, { "soiaghey_lipaid" }), caption = caption, relief = getManual(args, { "releef_caslys-çheerey" }), } } end -- Wikidata shape sources: OSM relation (P402) or a Commons geoshape page (P3896, "Data:Meath.map"). local function getWdShape() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local osm = entity:getBestStatements("P402") if osm and #osm > 0 then return { service = "geoshape", id = entity.id } end local geoshape = entity:getBestStatements("P3896") local snak = geoshape and geoshape[1] and geoshape[1].mainsnak if snak and snak.snaktype == "value" and snak.datavalue and type(snak.datavalue.value) == "string" then local title = snak.datavalue.value:gsub("^Data:", "") return { service = "page", title = title } end return nil end -- Whether the outline should be drawn with the point: areas yes (counties, provinces, countries ...), -- towns and villages no (their outlines can stop the map image loading). mapframe-shape=yes/no overrides. local AREA_CLASSES = { Q179872 = true, Q202156 = true, Q47168 = true, Q34876 = true, Q10864048 = true, Q13220204 = true, Q6256 = true, Q3336843 = true, Q35657 = true, Q15284 = false } local function useOutline(args) local setting = (getManual(args, { "mapframe-shape" }) or ""):lower() if setting == "yes" then return true elseif setting == "no" or setting == "none" then return false end local id = mw.wikibase.getEntityIdForCurrentPage() if not id then return false end for _, statement in ipairs(mw.wikibase.getAllStatements(id, "P31") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local cls = snak.datavalue.value.id or ("Q" .. tostring(snak.datavalue.value["numeric-id"])) if AREA_CLASSES[cls] then return true end end end local contains = mw.wikibase.getAllStatements(id, "P150") return contains ~= nil and #contains > 0 end -- Item without a point (P625) but with a shape: the shape alone, centred and zoomed by the map itself. local function buildShapeOnlyMap(frame, shape) local data = { type = "ExternalData", service = shape.service, properties = { stroke = "#FF0000", ["stroke-width"] = 2, fill = "#606060", ["fill-opacity"] = 0.1 } } if shape.service == "geoshape" then data.ids = shape.id else data.title = shape.title end local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", align = "center" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Interactive map from the coordinates (manual decimal equivalent, else Wikidata P625); the shape alone when there is no point. local function buildMapframe(frame, args, manualCoords) -- Wikidata P625 only: passing coordinates makes Module:Mapframe error on gv.wiki. local shape = getWdShape() -- Manual coordinates cannot go to Module:Infobox mapframe, but an outline needs no point. if manualCoords ~= nil then return shape and buildShapeOnlyMap(frame, shape) or nil end if not getWdCoordinates() then if shape then return buildShapeOnlyMap(frame, shape) end return nil end -- An item with a shape (a county, say) is fitted by the map itself; a plain point gets a fixed zoom. if shape and not useOutline(args) then -- No outline: a plain point map built directly, so the Wikidata shape is never requested. local lat, lon = getWdCoordinates() if not lat then return nil end local data = { type = "Feature", geometry = { type = "Point", coordinates = { lon, lat } }, properties = { ["marker-color"] = "d33", ["marker-symbol"] = "" } } local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or "12" local ok, rendered = pcall(function() return frame:extensionTag("mapframe", mw.text.jsonEncode(data), { width = MAP_WIDTH, height = "250", zoom = zoom, latitude = tostring(lat), longitude = tostring(lon), align = "center", frameless = "1" }) end) if not ok or not rendered or rendered == "" then return nil end return rendered end local zoom = getManual(args, { "zoom_caslys-çheerey", "mapframe-zoom" }) or (not shape and "12" or nil) local callArgs = { "Infobox mapframe", "autoWithCaption", onByDefault = "yes", ["mapframe-marker-color"] = "d33", ["mapframe-frame-width"] = MAP_WIDTH, ["mapframe-zoom"] = zoom, } local ok, rendered = pcall(function() return frame:callParserFunction{ name = "#invoke", args = callArgs } end) if not ok or not rendered or rendered == "" then return nil end return rendered end -- Blank map first; the interactive map sits in a collapsed block opened by a toggle link. local function buildSwitcher(frame, args, first, second) local expand = getManual(args, { "lipaid_caslys2" }) or "Eddyr-obbragh" local collapse = getManual(args, { "lipaid_caslys_follaghey" }) or "Follee" local styles = frame:extensionTag("templatestyles", "", { src = "Clowan:Kishtey fys boayl/styles.css" }) return styles .. first .. '<div class="mw-collapsible mw-collapsed kfb-map-toggle" data-expandtext="' .. expand .. '" data-collapsetext="' .. collapse .. '" style="text-align:center; margin-top:0.3em;">' .. '<div style="text-align:center; padding-top:1.6em; clear:both;">' .. second .. '</div></div>' end ---------------------------------------------------------------------- -- Coordinates row ---------------------------------------------------------------------- local function buildCoordinatesRow(frame, args, manualCoords) local coordText, fromWd if manualCoords == "suppress" then return nil elseif type(manualCoords) == "table" then coordText = expandCoord(frame, args, manualCoords) else local lat, lon = getWdCoordinates() if not lat then return nil end coordText = expandCoord(frame, args, { lat = { lat }, long = { lon } }) fromWd = true end local label = "Co-ordnaidyn" local qualifier = getManual(args, { "mair_coor" }) if qualifier then label = label .. "&#32;(" .. qualifier .. ")" end local value = coordText if fromWd then value = value .. getWdReference("P625") else local ref = getManual(args, { "imraa_coordnaidyn" }) if ref then value = value .. wrapReference(ref) end end local note = getManual(args, { "fo-noteyn_coordnaidyn" }) if note then value = value .. note end return '<tr class="mergedbottomrow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">' .. label .. ': ' .. value .. '</td></tr>' end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local genitive = getGenitiveName(args) local manualCoords = getManualCoordinates(args) local rows = {} local manualMapCount = 0 local function addAll(list) for _, row in ipairs(list) do table.insert(rows, row) manualMapCount = manualMapCount + 1 end end addAll(buildStaticMaps(args, genitive)) addAll(buildOverlayMaps(args, genitive)) local dot = buildDotMap(frame, args) if dot then addAll({ dot }) end addAll(buildPushpinMaps(frame, args)) local frameSetting = (getManual(args, { "mapframe" }) or ""):lower() local wantMapframe = frameSetting == "yes" local suppressMapframe = frameSetting == "no" or frameSetting == "none" -- No manual map: blank country map with a dot, else an interactive map, else the P242 locator image. if manualMapCount == 0 then local lat, lon if type(manualCoords) == "table" and manualCoords.decimal then lat, lon = manualCoords.decimal[1], manualCoords.decimal[2] elseif manualCoords == nil then lat, lon = getWdCoordinates() end local pushpin = buildAutoPushpin(frame, args, lat, lon) if pushpin then local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, pushpin, interactive))) else table.insert(rows, mapRow(pushpin)) end elseif lat then wantMapframe = true else local file = getWdFile("P242") if file then local locator = '[[Coadan:' .. file .. '|' .. MAP_WIDTH .. 'px|none|link=|' .. U.genitiveAfter('Soiaghey', genitive) .. ']]' local interactive = (not suppressMapframe) and buildMapframe(frame, args, manualCoords) or nil if interactive then table.insert(rows, mapRow(buildSwitcher(frame, args, locator, interactive))) else table.insert(rows, mapRow(locator)) end elseif getWdShape() then wantMapframe = true end end end if wantMapframe and not suppressMapframe then local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(mapframe)) end elseif manualMapCount > 0 and not suppressMapframe and getWdShape() then -- Manual maps stay as given; the item's outline is offered behind a toggle under them. local mapframe = buildMapframe(frame, args, manualCoords) if mapframe then table.insert(rows, mapRow(buildSwitcher(frame, args, "", mapframe))) end end local coordRow = buildCoordinatesRow(frame, args, manualCoords) if coordRow then table.insert(rows, coordRow) end local extra = getManual(args, { "coord_a" }) if extra and not isNone(extra) then table.insert(rows, '<tr class="mergedtoprow"><td colspan="2" style="text-align:center; padding:0.2em 0.4em 0.7em;">Co-ordnaidyn:&nbsp;' .. extra .. '</td></tr>') end if #rows == 0 then return nil end return table.concat(rows) end return p jy7jx4cq3utinfpzlk857eqvfmbgdk1 Module:Kishtey fys boayl/aarheynn 828 56343 395528 395442 2026-10-29T00:47:34Z MacTire02 219 +kianglaghyn ayns ny coadyn postagh 395528 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local getManual, isNone = U.getManual, U.isNone -- Lists such as "IM1 / IM2", "IM1, IM2" or "IM1<br>IM2" become separate items. Inside markup only -- spaced slashes, commas, semicolons and line breaks count, so link targets like [[a/b]] survive. local function splitList(text) text = text:gsub("&nbsp;", " "):gsub("\194\160", " "):gsub("&#160;", " ") text = text:gsub("%s+[Aa][Nn][Dd]%s+", " and ") local marked = text:gsub("<br%s*/?>", "\1"):gsub("%s+/%s+", "\1"):gsub("%s+and%s+", "\1"):gsub("%s+as%s+", "\1"):gsub("%s+&amp;%s+", "\1"):gsub("%s+&%s+", "\1"):gsub(",%s+", "\1"):gsub(";%s*", "\1") if not text:find("[%[{<]") then marked = marked:gsub("/", "\1"):gsub(",", "\1") end local items = {} for part in string.gmatch(marked, "[^\1]+") do part = mw.text.trim(part) if part ~= "" then table.insert(items, part) end end return #items > 0 and items or { text } end -- Wikidata string values of a property on the item (or on item `id`), plus the references for them. local function getWdValues(property, id) local statements if id then statements = mw.wikibase.getBestStatements(id, property) else local entity = mw.wikibase.getEntityObject() statements = entity and entity:getBestStatements(property) end local values = {} for _, statement in ipairs(statements or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then for _, item in ipairs(splitList(snak.datavalue.value)) do table.insert(values, item) end end end if #values == 0 then return nil end return values, U.getWdReference(property, nil, id) end -- Country name (Manx): manual aarheynn, else the gv label of P17, else of the item itself. local function getCountryName(args) local manual = getManual(args, { "ennym_aarheynn", "aarheynn", "çheer" }) if manual then return mw.text.trim(manual:match("%[%[[^|%]]*|([^%]]+)%]%]") or manual:match("%[%[([^|%]]+)%]%]") or manual) end local entity = mw.wikibase.getEntityObject() if not entity then return nil end local id for _, statement in ipairs(entity:getBestStatements("P17") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then id = U.entityId(snak.datavalue.value) break end end id = id or entity.id local label = id and mw.wikibase.getLabelByLang(id, "gv") return label ~= "" and label or nil end -- Page about the postal codes of the country: the preposition and article depend on the country name. local function postalPage(country) if not country or country == "" then return nil end local name = country:gsub("^%s+", "") local lower = mw.ustring.lower(name) if lower == "yn serb" then return "Coadyn postagh 'sy Terb" end local rest = name:match("^[Yy]n (.+)$") if rest then local first = mw.ustring.lower(mw.ustring.sub(rest, 1, 1)) if mw.ustring.find("aeiou", first, 1, true) then return "Coadyn postagh 'syn " .. rest end return "Coadyn postagh 'sy " .. rest end rest = name:match("^[Nn]y (.+)$") if rest then return "Coadyn postagh ayns ny " .. rest end return "Coadyn postagh ayns " .. name end local function linkCodes(items, page) if not page then return items end for index, code in ipairs(items) do if not code:find("[%[{<]") then items[index] = "[[" .. page .. "|" .. code .. "]]" end end return items end -- One item as is; several as a horizontal list. local function joinList(frame, items) if #items == 1 then return items[1] end return frame:expandTemplate{ title = "Hlist", args = items } end -- The country's international dialling code (P474): the item's own country (P17), else the item itself. local function getWdCallingCode() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local candidates = {} for _, statement in ipairs(entity:getBestStatements("P17") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then table.insert(candidates, U.entityId(snak.datavalue.value)) end end for _, id in ipairs(candidates) do local values, refs = getWdValues("P474", id) if values then return values[1], refs end end return nil end local function labelFor(args, names, singular, plural, count) return getManual(args, names) or (count > 1 and plural or singular) end local function postalRow(frame, args, wdOff) local items, refs = nil, "" local manual = getManual(args, { "coad_postagh" }) if isNone(manual) then return nil end if manual then items = splitList(manual) elseif not wdOff then items, refs = getWdValues("P281") end if not items then return nil end local value = joinList(frame, linkCodes(items, postalPage(getCountryName(args)))) if manual then value = U.withNotes(frame, args, value, { "noteyn_coad_postagh" }, { "imraa_coad_postagh" }) else value = value .. refs end local label = labelFor(args, { "sorçh_coad_postagh" }, "Coad&nbsp;postagh", "Coadyn&nbsp;postagh", #items) return U.row("mergedrow", label, '<span class="postal-code">' .. value .. '</span>', "adr") end -- Area codes, each with the international dialling code in front: "+44 1624". local function dialRow(frame, args, wdOff) local items, refs = nil, "" local manual = getManual(args, { "coad_ardjynagh" }) if isNone(manual) then return nil end if manual then items = splitList(manual) elseif not wdOff then items, refs = getWdValues("P473") end if not items then return nil end local prefix = getManual(args, { "coad_çhellvane_cheer", "coad_çhellvane_ashoonagh" }) local prefixRefs = "" if prefix == nil and not wdOff then prefix, prefixRefs = getWdCallingCode() end if isNone(prefix) then prefix = nil end if prefix then for index, code in ipairs(items) do if not code:find("[%[{<]") then items[index] = prefix .. " " .. (code:gsub("^0+", "")) end end end local value = joinList(frame, items) if manual then value = U.withNotes(frame, args, value, { "noteyn_coad_ardjynagh" }, { "imraa_coad_ardjynagh" }) else value = value .. refs end value = value .. (prefixRefs or "") local link = "[[Plan earrooaghey çhellvane|" local label = getManual(args, { "sorçh_coad_ardjynagh" }) or (link .. (#items > 1 and "Coadyn&nbsp;çhellvane" or "Coad&nbsp;çhellvane") .. "]]") return U.row("mergedrow", label, value) end -- One code line: manual value (or none), else Wikidata. Returns the row or nil. local function codeRow(frame, args, wdOff, spec) local manual = getManual(args, spec.names) if isNone(manual) then return nil end local value = manual if value and spec.names[1] == "coad_postagh2" then value = joinList(frame, linkCodes(splitList(value), postalPage(getCountryName(args)))) end if value then value = U.withNotes(frame, args, value, { "noteyn_" .. spec.names[1] }, { "imraa_" .. spec.names[1] }) elseif spec.property and not wdOff then local values, refs = getWdValues(spec.property) if values then value = joinList(frame, values) .. refs end end if not value then return nil end local label = getManual(args, spec.labelNames or {}) or spec.label return U.row("mergedrow", label, value, spec.tdClass) end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local wdOff = isNone(getManual(args, { "coadyn_wd" })) local rows = {} local function add(row) if row then table.insert(rows, row) end end add(postalRow(frame, args, wdOff)) add(codeRow(frame, args, wdOff, { names = { "coad_postagh2" }, labelNames = { "sorçh_coad_postagh2" }, label = "Coad&nbsp;postagh&nbsp;elley", tdClass = "adr" })) add(dialRow(frame, args, wdOff)) add(codeRow(frame, args, wdOff, { names = { "ogher_ingagh_os" }, label = "[[Ingagh Ashoonagh OS|Ogher&nbsp;ingagh&nbsp;OS]]", property = "P613" })) add(codeRow(frame, args, wdOff, { names = { "ogher_ingagh_yernagh" }, label = "[[Corys ogher ingagh Nerin|Ogher&nbsp;ingagh&nbsp;Yernagh]]", property = "P4091" })) add(codeRow(frame, args, wdOff, { names = { "geocode" }, label = "Geocode", tdClass = "nickname" })) add(codeRow(frame, args, wdOff, { names = { "coad_iso" }, label = "Coad&nbsp;ISO&nbsp;3166", property = "P300", tdClass = "nickname" })) add(codeRow(frame, args, wdOff, { names = { "plait_recortyssee" }, label = "[[Plait recortyssee carbyd]]", property = "P395" })) if #rows == 0 then return nil end rows[1] = rows[1]:gsub('^<tr class="mergedrow"', '<tr class="mergedtoprow"', 1) return table.concat(rows) end return p odfmfncyul5qd2p5pt2pzqnrhz8cych 395530 395528 2026-10-29T00:50:09Z MacTire02 219 Undid revision [[Special:Diff/395528|395528]] by [[Special:Contributions/MacTire02|MacTire02]] ([[User talk:MacTire02|talk]]) oops 395530 Scribunto text/plain local p = {} local okWd, Wd = pcall(require, "Module:Wd") local U = require("Module:Kishtey fys boayl/unnidyn") local MAX_LEVELS = 6 local DEFAULT_LABELS = { [0] = "Çheer", "Steat", "Ard", "Slyst", "Baljaght", "Aarheynn", "Aarheynn" } local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function getWdReference(property, value, eid) if not okWd or not Wd or not Wd._reference then return "" end local callArgs = { "best", property } if value then table.insert(callArgs, value) end if eid then callArgs.eid = eid end local ok, result = pcall(Wd._reference, callArgs) if ok and type(result) == "string" then return result end return "" end -- Wraps a manual citation in <ref>, unless it already holds one or more references. local function wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end local function applyRefNote(value, ref, note, frame) if note and note ~= "" and frame then value = value .. frame:expandTemplate{ title = "efn", args = { note } } end if ref and ref ~= "" then value = value .. wrapReference(ref) end return value end local function ucfirst(text) if not text or text == "" then return text end return mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2) end -- Id of the first best-rank item value of a property on an entity. local function getItemId(entityId, property) local statements = mw.wikibase.getBestStatements(entityId, property) if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local value = snak.datavalue.value return value.id or ("Q" .. tostring(value["numeric-id"])) end end return nil end -- Manx article link for an item, else its Manx label; nil when it has neither. local function itemText(id) local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end return nil end -- All P31 values of an item. local function getClassIds(id) local ids = {} for _, statement in ipairs(mw.wikibase.getAllStatements(id, "P31") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local value = snak.datavalue.value ids[value.id or ("Q" .. tostring(value["numeric-id"]))] = true end end return ids end -- Types that make a place a dependency rather than a country. Add more here. local DEPENDENCY_CLASSES = { "Q185086", -- Crown Dependency "Q161243", -- dependent territory "Q783733", -- unincorporated territory of the United States "Q462778", -- insular area of the United States "Q1352230", -- territory of the United States } local COUNTRY_LABEL = "[[Rolley çheeraghyn y theihll|Çheer]]" local DEPENDENCY_LABEL = "[[Rolley croghaneyn y theihll|Croghane]]" -- Row labels for particular types of unit (below country level); a type listed here beats its plain Manx label. local TYPE_LABELS = { Q202156 = "[[Queiggaghyn Nerin|Queiggey]]", -- province of Ireland Q179872 = "[[Coondaeghyn Nerin|Coontae]]", -- county of Ireland } -- First-level label: "Croghane" when the country (P17) of this page is a dependency, else "Çheer". local function getCountryLabel() local currentId = mw.wikibase.getEntityIdForCurrentPage() local countryId = currentId and getItemId(currentId, "P17") if not countryId then return COUNTRY_LABEL end local classes = getClassIds(countryId) for _, class in ipairs(DEPENDENCY_CLASSES) do if classes[class] then return DEPENDENCY_LABEL end end return COUNTRY_LABEL end -- Manx label of an item's type (P31), used as the row label. local function typeLabel(id) local classes = getClassIds(id) for class, label in pairs(TYPE_LABELS) do if classes[class] then return label end end local typeId = getItemId(id, "P31") if not typeId then return nil end local label = mw.wikibase.getLabelByLang(typeId, "gv") if label and label ~= "" then return ucfirst(label) end return nil end -- Classes that are never a place's state or region: electoral districts and European Parliament constituencies. local NOT_ADMIN_CLASSES = { "Q192611", "Q2631496" } -- First P131 value that is a real administrative parent, skipping electoral districts. local function getAdminParent(id) for _, statement in ipairs(mw.wikibase.getBestStatements(id, "P131") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local value = snak.datavalue.value local parent = value.id or ("Q" .. tostring(value["numeric-id"])) local classes = getClassIds(parent) local skip = false for _, class in ipairs(NOT_ADMIN_CLASSES) do if classes[class] then skip = true end end if not skip then return parent end end end return nil end -- Wikidata hierarchy, top-down: country (P17) first, then P131 ancestors below it. local function getWdHierarchy() local currentId = mw.wikibase.getEntityIdForCurrentPage() if not currentId then return nil end local countryId = getItemId(currentId, "P17") local chain = {} local seen = { [currentId] = true } local nextId = getAdminParent(currentId) local previousId = nil while nextId and not seen[nextId] and #chain < MAX_LEVELS + 1 do seen[nextId] = true if nextId == countryId then break end -- The "located in" claim sits on the item below this one (the page itself for the first step). table.insert(chain, { id = nextId, property = "P131", from = previousId }) previousId = nextId nextId = getAdminParent(nextId) end -- Reverse to top-down order. local levels = {} if countryId then table.insert(levels, { id = countryId, property = "P17", label = getCountryLabel() }) end for i = #chain, 1, -1 do table.insert(levels, chain[i]) end return levels end local function trClass(isFirst) return isFirst and "mergedtoprow" or "mergedrow" end local function buildRow(label, value, isFirst) return '<tr class="' .. trClass(isFirst) .. '"><th scope="row" style="text-align:left; vertical-align:top; padding:0.15em 0.6em 0.15em 0.6em;">' .. label .. '</th><td style="vertical-align:top; padding:0.15em 0.6em 0.15em 0.2em;">' .. value .. '</td></tr>' end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end -- aarheynn_wd = none switches the Wikidata fill off; manual rows still show. local wdOff = isNone(getManual(args, { "aarheynn_wd" }) or "") local wd local function wdLevel(n) if wdOff then return nil end if wd == nil then wd = getWdHierarchy() or false end return wd and wd[n + 1] or nil end local rows = {} for n = 0, MAX_LEVELS do local suffix = (n == 0) and "" or tostring(n) local valueNames = { "aarheynn" .. suffix, "ennym_aarheynn" .. suffix } if n == 0 then table.insert(valueNames, "çheer") end local manual = getManual(args, valueNames) local customLabel = getManual(args, { "sorçh_aarheynn" .. suffix }) local value, label if manual then if not isNone(manual) then value = applyRefNote(manual, getManual(args, { "imraa_aarheynn" .. suffix }), getManual(args, { "noteyn_aarheynn" .. suffix }), frame) label = customLabel or (n == 0 and getCountryLabel() or DEFAULT_LABELS[n]) end else local level = wdLevel(n) if level then value = U.placeName(level.id) if value then label = customLabel or level.label or typeLabel(level.id) or DEFAULT_LABELS[n] -- No Wikidata references on these rows (Module:Citation errors on some items). end end end if value then table.insert(rows, buildRow(label, value, #rows == 0)) end end if #rows == 0 then return nil end return table.concat(rows) end return p 0wevbxbje5fd3v8ka3a813c2n108jmz Module:Kishtey fys boayl/soiag 828 56344 395486 395441 2026-10-28T16:18:03Z MacTire02 219 ++ 395486 Scribunto text/plain local p = {} local okWd, Wd = pcall(require, "Module:Wd") local U = require("Module:Kishtey fys boayl/unnidyn") local MAX_PARTS = 50 local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function getWdReference(property) if not okWd or not Wd or not Wd._reference then return "" end local ok, result = pcall(Wd._reference, { "best", property }) if ok and type(result) == "string" then return result end return "" end -- Wraps a manual citation in <ref>, unless it already holds one or more references. local function wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end -- Item values of a property as a list of Manx links or labels. local function getWdItemList(property, limit, toWikidata) local entity = mw.wikibase.getEntityObject() if not entity then return {} end local statements = entity:getBestStatements(property) local items = {} if not statements then return items end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local value = snak.datavalue.value local id = value.id or ("Q" .. tostring(value["numeric-id"])) local text = U.placeName(id, toWikidata) if text then table.insert(items, text) end if #items >= limit then break end end end return items end local TH = 'style="text-align:left; vertical-align:top; padding:0.15em 0.6em;"' local TD = 'style="vertical-align:top; padding:0.15em 0.6em 0.15em 0.2em;"' local function row(class, label, value) return '<tr class="' .. class .. '"><th scope="row" ' .. TH .. '>' .. label .. '</th><td ' .. TD .. '>' .. value .. '</td></tr>' end -- Label of the first seat by the item's type (P31). Add exceptions to this list; the first match wins. local SEAT_LABELS = { { class = "Q179872", label = "Balley coontae" }, -- county of Ireland { class = "Q47168", label = "Soiag y choontae" }, -- county of the United States } local DEFAULT_SEAT_LABEL = "Preeu-valley" local function getSeatLabel() local entity = mw.wikibase.getEntityObject() local types = {} for _, statement in ipairs(entity and entity:getAllStatements("P31") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then types[snak.datavalue.value.id or ("Q" .. tostring(snak.datavalue.value["numeric-id"]))] = true end end for _, rule in ipairs(SEAT_LABELS) do if types[rule.class] then return rule.label end end return DEFAULT_SEAT_LABEL end -- Seat line (soiag; legacy soieag accepted): manual (or none), else Wikidata capital (P36) for the first seat only. local function buildSeat(frame, args, suffix, defaultLabel, property) local manual = getManual(args, { "soiag" .. suffix, "soieag" .. suffix, suffix == "" and "preeu-valley" or "preeu-valley" .. suffix }) if isNone(manual) then return nil end local value = manual if not value and property then local items = getWdItemList(property, 3, true) if #items > 0 then value = table.concat(items, ", ") .. getWdReference(property) end elseif value then local note = getManual(args, { "noteyn_soiag" .. suffix, "noteyn_soieag" .. suffix }) if note then value = value .. frame:expandTemplate{ title = "efn", args = { note } } end local ref = getManual(args, { "imraa_soiag" .. suffix, "imraa_soieag" .. suffix }) if ref then value = value .. (wrapReference(ref) or "") end end if not value then return nil end local label = getManual(args, { "sorçh_soiag" .. suffix, "sorçh_soieag" .. suffix }) or defaultLabel return { label = label, value = value } end -- Sort key: display text, lower case, without the articles y / yn / ny, accents and ç folded away. local FOLD = { ["ç"] = "c", ["á"] = "a", ["é"] = "e", ["í"] = "i", ["ó"] = "o", ["ú"] = "u", ["ö"] = "o", ["ä"] = "a", ["ë"] = "e", ["ï"] = "i", ["ü"] = "u" } local function sortKey(text) local shown = text:match("%[%[[^%]|]*|([^%]]*)%]%]") or text:match("%[%[([^%]]*)%]%]") or text shown = mw.ustring.lower(shown) for from, to in pairs(FOLD) do shown = mw.ustring.gsub(shown, from, to) end local words = {} for word in string.gmatch(shown, "%S+") do if word ~= "y" and word ~= "yn" and word ~= "ny" then table.insert(words, word) end end return table.concat(words, " ") end -- Parts list: manual p1..p50 or Wikidata P150, as a sentence, a collapsible list or a plain list. local function buildParts(frame, args) local title = getManual(args, { "ayrnyn" }) if isNone(title) then return nil end local items = {} for n = 1, MAX_PARTS do local item = getManual(args, { "p" .. n }) if item then table.insert(items, item) end end local fromWd = false local label = getManual(args, { "sorçh_ayrnyn" }) if #items == 0 and not title then items = getWdItemList("P150", MAX_PARTS, true) table.sort(items, function(a, b) local ka, kb = sortKey(a), sortKey(b) if ka ~= kb then return ka < kb end return a < b end) fromWd = #items > 0 if not fromWd then return nil end label = label or "Ayrnyn" end label = label or "Baljyn corpagh" local mode = getManual(args, { "aght_ayrnyn" }) local value if #items == 0 then value = title elseif mode == "para" then value = (title and ("<b>" .. title .. ":&nbsp;</b>") or "") .. table.concat(items, ", ") else local expand if mode == "coll" then expand = "" elseif mode == "list" then expand = "y" else expand = (#items >= 6) and "" or "y" end local callArgs = { title = title or "", expand = expand } for i, item in ipairs(items) do callArgs[i] = item end value = frame:expandTemplate{ title = "Collapsible list", args = callArgs } end local ref = fromWd and getWdReference("P150") or getManual(args, { "imraa_ayrnyn" }) if ref and ref ~= "" then value = value .. (fromWd and ref or (wrapReference(ref) or "")) end local note = getManual(args, { "noteyn_ayrnyn" }) if note then value = value .. frame:expandTemplate{ title = "efn", args = { note } } end return { label = label, value = value } end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local rows = {} local function add(entry) if entry then table.insert(rows, row(#rows == 0 and "mergedtoprow" or "mergedrow", entry.label, entry.value)) end end add(buildSeat(frame, args, "", getSeatLabel(), "P36")) add(buildSeat(frame, args, "1", "Eear-hoiag", nil)) add(buildParts(frame, args)) if #rows == 0 then return nil end return table.concat(rows) end return p 1lx5eauq793ju62be7a2vzehs55daq5 Module:Kishtey fys boayl/reiltys 828 56347 395527 395349 2026-10-29T00:25:20Z MacTire02 219 +kione reiltys 395527 Scribunto text/plain local p = {} local okWd, Wd = pcall(require, "Module:Wd") local okEnnym, EnnymWd = pcall(require, "Module:Kishtey fys çheer/ennym-wd") local MAX_LEADERS = 6 local MAX_CONSTITUENCIES = 12 local function getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local function isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end local function getWdReference(property, value, eid) if not okWd or not Wd or not Wd._reference then return "" end local callArgs = { "best", property } if value then table.insert(callArgs, value) end if eid then callArgs.eid = eid end local ok, result = pcall(Wd._reference, callArgs) if ok and type(result) == "string" then return result end return "" end -- Wraps a manual citation in <ref>, unless it already holds one or more references. local function wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end local function ucfirst(text) if not text or text == "" then return text end return mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2) end local function entityId(value) return value.id or ("Q" .. tostring(value["numeric-id"])) end -- Manx link or label for an item. local function itemText(id) local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end return nil end -- Person: Manx link/label, else label in any language as a red link. local function personText(id) local text = itemText(id) if text then return text end if okEnnym and EnnymWd and EnnymWd.labelWithFallback then local ok, _, _, raw = pcall(EnnymWd.labelWithFallback, id) if ok and raw and raw ~= "" then return "[[" .. mw.text.nowiki(raw) .. "]]" end end local label = mw.wikibase.getLabel(id) if label and label ~= "" then return "[[" .. mw.text.nowiki(label) .. "]]" end return nil end -- Body (executive/legislative): Manx link, else external link to the Wikidata item so shared generic names never collide as red links. local function bodyText(id) local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return "[https://www.wikidata.org/wiki/" .. id .. " " .. ucfirst(label) .. "]" end if okEnnym and EnnymWd and EnnymWd.labelWithFallback then local ok, text = pcall(EnnymWd.labelWithFallback, id) if ok and text and text ~= "" then return text end end local en = mw.wikibase.getLabel(id) if en and en ~= "" then return "[https://www.wikidata.org/wiki/" .. id .. " " .. mw.text.nowiki(en) .. "]" end return nil end -- First best-rank item of a property on the current page or on another item. local function firstItem(id, property) local statements if id then statements = mw.wikibase.getBestStatements(id, property) else local entity = mw.wikibase.getEntityObject() statements = entity and entity:getBestStatements(property) end if not statements then return nil end for _, statement in ipairs(statements) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then return entityId(snak.datavalue.value), statement end end return nil end -- Office item as a Manx link or label; English label as a last resort. local function officeText(id) local text = itemText(id) if text then return text:sub(1, 2) == "[[" and text or ucfirst(text) end return bodyText(id) end -- Office the person currently holds (P39, no end time); prefers one qualified "of" this place. local function personOffice(personId, placeId) local statements = mw.wikibase.getBestStatements(personId, "P39") local fallback for _, statement in ipairs(statements or {}) do local snak = statement.mainsnak local ended = statement.qualifiers and statement.qualifiers.P582 if snak and snak.snaktype == "value" and snak.datavalue and not ended then local id = entityId(snak.datavalue.value) fallback = fallback or id for _, q in ipairs((statement.qualifiers and statement.qualifiers.P642) or {}) do if q.datavalue and entityId(q.datavalue.value) == placeId then return id end end end end return fallback end -- Current heads of government (P6): no end date; title from the place's office (P1313), else the person's own office (P39). local function getWdLeaders() local entity = mw.wikibase.getEntityObject() if not entity then return {} end local statements = entity:getBestStatements("P6") local leaders = {} if not statements then return leaders end local officeId = firstItem(nil, "P1313") for _, statement in ipairs(statements) do local snak = statement.mainsnak local ended = statement.qualifiers and statement.qualifiers.P582 if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" and not ended then local id = entityId(snak.datavalue.value) local text = personText(id) if text then local label = officeId and officeText(officeId) local labelRef = "" if label then labelRef = getWdReference("P1313", officeId) else local held = personOffice(id, entity.id) label = held and officeText(held) if label then labelRef = getWdReference("P39", held, id) end end table.insert(leaders, { text = text, label = label or "Toshiagh", id = id, labelRef = labelRef }) end if #leaders >= MAX_LEADERS then break end end end return leaders end local function getCountryName(args) local manual = getManual(args, { "aarheynn", "ennym_aarheynn", "çheer" }) if manual then return manual end local id = firstItem(nil, "P17") return id and mw.wikibase.getLabelByLang(id, "gv") or nil end local TH = 'style="text-align:left; vertical-align:top; padding:0.15em 0.6em;"' local TD = 'style="vertical-align:top; padding:0.15em 0.6em 0.15em 0.2em;"' local SUBTH = 'style="vertical-align:top; text-align:left; font-weight:normal; width:8em; max-width:8em; padding:0.15em 0.4em 0.15em 1.7em; text-indent:-0.8em;"' local function row(label, value, class) return '<tr class="mergedrow"><th scope="row" ' .. SUBTH .. '>•&nbsp;' .. label .. '</th><td ' .. TD .. (class and (' class="' .. class .. '"') or '') .. '>' .. value .. '</td></tr>' end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local wdOff = isNone(getManual(args, { "reiltys_wd" })) local rows = {} local wdRefProperty -- Government type: manual, else basic form of government (P122). local kind = getManual(args, { "sorçh_reiltys" }) if not isNone(kind) then if not kind and not wdOff then local id = firstItem(nil, "P122") local text = id and itemText(id) if text then kind = ucfirst(text) .. getWdReference("P122") end end if kind then table.insert(rows, row("Sorçh", kind)) end end -- Governing/executive body: manual, else executive body (P208). local body = getManual(args, { "colught_reirey", "colught_gimmeeyder" }) if not isNone(body) then if not body and not wdOff then local id = firstItem(nil, "P208") local text = id and bodyText(id) if text then body = text .. getWdReference("P208", id) end end if body then table.insert(rows, row("[[Çhionnal kiannoortagh]]", body, "agent")) end end -- Legislature: manual, else legislative body (P194). local legislature = getManual(args, { "çhionnal", "quaiyl" }) if not isNone(legislature) then if not legislature and not wdOff then local id = firstItem(nil, "P194") local text = id and bodyText(id) if text then legislature = text .. getWdReference("P194", id) end end if legislature then local note = getManual(args, { "noteyn_çhionnal", "noteyn_quaiyl" }) if note then legislature = legislature .. frame:expandTemplate{ title = "efn", args = { note } } end local ref = getManual(args, { "imraa_çhionnal", "imraa_quaiyl" }) if ref then legislature = legislature .. (wrapReference(ref) or "") end table.insert(rows, row("[[Çhionnal slattyssagh]]", legislature)) end end for _, house in ipairs({ { { "thie_heose", "quaiyl_syrjey" }, "[[Thie heose]]" }, { { "thie_heese", "quaiyl_s'inshley", "quaiyl_sinshley" }, "[[Thie heese]]" }, }) do local value = getManual(args, house[1]) if value and not isNone(value) then table.insert(rows, row(house[2], value)) end end -- Leaders: new toshiagh names first, then legacy fer-toshee (misnomer, "male leader") and fer_toshee. local function leaderNames(base, suffix) return { base .. "_toshiagh" .. suffix, base .. "_fer-toshee" .. suffix, base .. "_fer_toshee" .. suffix } end local manualLeaders = 0 for n = 0, MAX_LEADERS do local suffix = (n == 0) and "" or tostring(n) local title = getManual(args, leaderNames("enmys", suffix)) if title and not isNone(title) then local nameParams = { "toshiagh" .. suffix, "fer-toshee" .. suffix } for _, p in ipairs(leaderNames("ennym", suffix)) do table.insert(nameParams, p) end local name = getManual(args, nameParams) or "" local party = (n == 0) and getManual(args, { "partee_toshiagh", "partee_fer-toshee", "partee_fer_toshee" }) or nil if party and not isNone(party) then local country = getCountryName(args) local rendered = country and frame:expandTemplate{ title = "ParteePol", args = { country, party } } or party name = name .. " (" .. rendered .. ")" end local note = getManual(args, leaderNames("noteyn", suffix)) if note then name = name .. frame:expandTemplate{ title = "efn", args = { note } } end local ref = getManual(args, leaderNames("imraa", suffix)) if ref then name = name .. (wrapReference(ref) or "") end table.insert(rows, row(title, name)) manualLeaders = manualLeaders + 1 end end if manualLeaders == 0 and not wdOff and not isNone(getManual(args, leaderNames("enmys", ""))) then local leaders = getWdLeaders() for _, leader in ipairs(leaders) do table.insert(rows, row(leader.label, leader.text .. getWdReference("P6", leader.id) .. leader.labelRef)) end if #leaders == 0 then -- No person under P6: label is the office item (P1313, or P6 if it is an office); value is its current holder (P1308). local viaOffice = firstItem(nil, "P1313") local officeId = viaOffice or firstItem(nil, "P6") local label = officeId and officeText(officeId) if label then local property = viaOffice and "P1313" or "P6" -- All non-deprecated holders without an end date, the most recent start first -- (getBestStatements would hide the current holder behind a preferred past one). local candidates = {} for _, statement in ipairs(mw.wikibase.getAllStatements(officeId, "P1308") or {}) do local snak = statement.mainsnak local ended = statement.qualifiers and statement.qualifiers.P582 if statement.rank ~= "deprecated" and not ended and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local start = statement.qualifiers and statement.qualifiers.P580 and statement.qualifiers.P580[1] local when = start and start.datavalue and start.datavalue.value and start.datavalue.value.time or "" table.insert(candidates, { id = entityId(snak.datavalue.value), when = when }) end end table.sort(candidates, function(a, b) return a.when > b.when end) local holderText, holderId for _, candidate in ipairs(candidates) do holderText = personText(candidate.id) if holderText then holderId = candidate.id break end end if holderText then table.insert(rows, row(label .. getWdReference(property, officeId), holderText .. getWdReference("P1308", holderId, officeId))) end end end end -- Constituencies: rheynn-reihys, rheynn-reihys2..N (list), rheynnyn-reihys (free text); else P7938. local function constNames(base, n) return { base .. "-reihys" .. n, base .. "_reihys" .. n } end local constNone = isNone(getManual(args, constNames("rheynn", ""))) or isNone(getManual(args, constNames("rheynnyn", ""))) if not constNone then local items, plural = {}, false for n = 1, MAX_CONSTITUENCIES do local value = getManual(args, constNames("rheynn", (n == 1) and "" or tostring(n))) if value then table.insert(items, value) end end local freeText = getManual(args, constNames("rheynnyn", "")) local fromWd = false if freeText then plural = true items = { freeText } elseif #items == 0 and not wdOff then local entity = mw.wikibase.getEntityObject() for _, statement in ipairs(entity and entity:getBestStatements("P7938") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local text = itemText(entityId(snak.datavalue.value)) if text then table.insert(items, text) end end if #items >= MAX_CONSTITUENCIES then break end end fromWd = #items > 0 end if #items > 0 then plural = plural or #items > 1 local value = (#items == 1) and items[1] or frame:expandTemplate{ title = "Unbulleted list", args = items } if fromWd then value = value .. getWdReference("P7938") end local note = getManual(args, { "noteyn_rheynn-reihys", "noteyn_rheynn_reihys" }) if note then value = value .. frame:expandTemplate{ title = "efn", args = { note } } end local ref = getManual(args, { "imraa_rheynn-reihys", "imraa_rheynn_reihys" }) if ref then value = value .. (wrapReference(ref) or "") end local label = getManual(args, { "enmys_rheynn_reihys", "enmys_rheynn-reihys" }) or (plural and "Rheynnyn-reihys" or "Rheynn-reihys") table.insert(rows, row(label, value)) end end if #rows == 0 then return nil end local note = getManual(args, { "fo-noteyn_reiltys" }) or "" local header = '<tr class="mergedtoprow"><td colspan="2" style="padding:0.2em 0.6em;"><b>Reiltys</b>' .. note .. '</td></tr>' return header .. table.concat(rows) end return p 65eg2f7yhr354sxybaxaj7bb6g7okio Module:Kishtey fys boayl/unnidyn 828 56350 395483 395454 2026-10-28T16:05:26Z MacTire02 219 ++ 395483 Scribunto text/plain -- Shared helpers for the area, elevation and population modules: units, number formatting, area lookup. local p = {} p.KM2_PER_MI2 = 2.589988110336 p.KM2_PER_DUNAM = 0.001 p.M_PER_FT = 0.3048 -- Wikidata area units (P2046) -> km². local AREA_UNIT_FACTORS = { Q712226 = 1, -- square kilometre Q232291 = p.KM2_PER_MI2, -- square mile Q25343 = 0.000001, -- square metre Q35852 = 0.01, -- hectare Q81292 = 0.00404685642, -- acre } -- Countries whose primary unit is imperial/US customary. local IMPERIAL_QIDS = { Q145 = true, Q9676 = true, Q785 = true, Q25230 = true, -- UK, Isle of Man, Jersey, Guernsey Q21 = true, Q22 = true, Q25 = true, Q26 = true, -- England, Scotland, Wales, Northern Ireland Q30 = true, -- United States } local IMPERIAL_NAMES = {} for _, name in ipairs({ "Nalbin", "ny h-Albey", "ny hAlbey", "ny Halbey", "Bretyn", "Vretyn", "Bretin", "Vretin", "Sostyn", "Hostyn", "Nerin Hwoaie", "Mannin", "Vannin", "Jersee", "Yersee", "Guernsey", "Alderney", "Sark", "y Tark", "y Vretyn Vooar", "Bretyn Vooar", "Reeriaght Unnaneysit", "y Reeriaght Unnaneysit", "Reeriaght Unnaneyssit", "y Reeriaght Unnaneyssit", "Ny Steatyn Unnaneysit", "Steatyn Unnaneysit America", "Steatyn Unnaneysit", }) do IMPERIAL_NAMES[mw.ustring.lower(name)] = true end local UNIT_ALIASES = { metric = "metric", metrick = "metric", km = "metric", km2 = "metric", m = "metric", imperial = "imperial", ["british imperial"] = "imperial", english = "imperial", uk = "imperial", us = "imperial", ["u.s."] = "imperial", ["us customary"] = "imperial", ["u.s. customary"] = "imperial", standard = "imperial", mi = "imperial", ft = "imperial", dunam = "dunam", } function p.getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local getManual = p.getManual function p.isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end function p.wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end -- Wikidata reference for a claim, optionally narrowed to one value (raw amount or item id) and/or taken from another item (eid). function p.getWdReference(property, value, eid) local okWd, Wd = pcall(require, "Module:Wd") if not okWd or not Wd or not Wd._reference then return "" end local callArgs = { "best", property } if value then table.insert(callArgs, value) end if eid then callArgs.eid = eid end local ok, result = pcall(Wd._reference, callArgs) if ok and type(result) == "string" then return result end return "" end -- 1234.56, 1 -> "1,234.6"; trailing zeros dropped. -- A year from a date such as "30.06.2024" or "2024-06-30"; anything without a 4-digit year is returned as typed. function p.yearOnly(text) if not text then return nil end return text:match("%d%d%d%d") or text end function p.formatNumber(n, decimals) local formatted = string.format("%." .. decimals .. "f", math.abs(n)) if formatted:find("%.") then formatted = formatted:gsub("0+$", ""):gsub("%.$", "") end local int, dec = formatted:match("^(%d+)(%.?%d*)$") int = int:reverse():gsub("(%d%d%d)", "%1,"):reverse():gsub("^,", "") return (n < 0 and "-" or "") .. int .. dec end function p.toNumber(text) if not text then return nil end return tonumber((text:gsub(",", ""):gsub("&nbsp;", ""):gsub("%s", ""))) end function p.entityId(value) return value.id or ("Q" .. tostring(value["numeric-id"])) end -- Largest best-rank P2046 value in km² (sub-areas such as lakes are smaller than the whole), plus its raw amount for the citation. -- Identifies a statement's references, so identical sources can be recognised. function p.referenceKey(statement) local parts = {} for _, reference in ipairs(statement.references or {}) do table.insert(parts, tostring(reference.hash)) end return table.concat(parts, ",") end function p.getWdAreaKm2() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local best, bestRaw, bestKey for _, statement in ipairs(entity:getBestStatements("P2046") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "quantity" then local value = snak.datavalue.value local amount = tonumber(value.amount) local unit = value.unit and value.unit:match("Q%d+$") local factor = unit and AREA_UNIT_FACTORS[unit] if amount and factor and (not best or amount * factor > best) then best = amount * factor; bestRaw = (value.amount:gsub("^%+", "")); bestKey = p.referenceKey(statement) end end end return best, bestRaw, bestKey end -- Manx link or label for an item; nil without either. function p.itemText(id) local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end return nil end -- Language to fall back on for place names in the Celtic nations, by region item (walked up the P131 chain). local REGION_LANG = { Q27 = "ga", Q26 = "ga", Q22 = "gd", Q25 = "cy", Q23148 = "kw", Q22338583 = "kw", Q327 = "br", Q12130 = "br", Q3068 = "br" } local function firstEntityId(id, property) for _, st in ipairs(mw.wikibase.getBestStatements(id, property) or {}) do local snak = st.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then return p.entityId(snak.datavalue.value) end end return nil end -- Celtic language code for a place: found by walking its P131 chain (up to 8 steps) and checking P17; nil elsewhere. function p.celticLanguage(id) local current = id for _ = 1, 8 do if not current then break end if REGION_LANG[current] then return REGION_LANG[current] end current = firstEntityId(current, "P131") end local country = firstEntityId(id, "P17") return country and REGION_LANG[country] or nil end -- Place name as a link: gv page; else gv label (red link); else the Celtic-nation language label (red link); -- else the label in any language (red link). Nil when the item has no label at all. function p.placeName(id) -- Red link whose shown text starts with a capital (Wikidata labels often do not). local function redLink(text) text = mw.text.nowiki(text) local shown = mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2) if shown == text then return "[[" .. text .. "]]" end return "[[" .. text .. "|" .. shown .. "]]" end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return redLink(label) end local lang = p.celticLanguage(id) if lang then local other = mw.wikibase.getLabelByLang(id, lang) if other and other ~= "" then return redLink(other) end end local any = mw.wikibase.getLabel(id) if any and any ~= "" then return redLink(any) end return nil end -- Country name from the parameters, else Wikidata P17 (or the item itself for a country). function p.isImperialCountry(args) local manual = getManual(args, { "ennym_aarheynn", "aarheynn", "çheer" }) if manual then local name = manual:match("%[%[[^|%]]*|([^%]]+)%]%]") or manual:match("%[%[([^|%]]+)%]%]") or manual if IMPERIAL_NAMES[mw.ustring.lower(mw.text.trim(name))] == true then return true end -- an unrecognised name falls through to the Wikidata check below end local entity = mw.wikibase.getEntityObject() if not entity then return false end if entity.id and IMPERIAL_QIDS[entity.id] then return true end -- P17 (any non-deprecated value) of the item, then of its P131 parents (e.g. Northern Ireland) local currentId, seen = entity.id or mw.wikibase.getEntityIdForCurrentPage(), {} for _ = 1, 6 do for _, statement in ipairs(mw.wikibase.getAllStatements(currentId, "P17") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" and IMPERIAL_QIDS[p.entityId(snak.datavalue.value)] then return true end end local nextId for _, statement in ipairs(mw.wikibase.getAllStatements(currentId, "P131") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local id = p.entityId(snak.datavalue.value) if IMPERIAL_QIDS[id] then return true end nextId = nextId or id end end if not nextId or seen[nextId] then break end seen[nextId] = true currentId = nextId end return false end -- "metric", "imperial" or "dunam": unnid_towshan (new) or tosheeaght_unnid (legacy), else by country. function p.resolveUnit(args) local explicit = getManual(args, { "unnid_towshan", "tosheeaght_unnid" }) if explicit then local unit = UNIT_ALIASES[mw.ustring.lower(explicit)] if unit then return unit end end return p.isImperialCountry(args) and "imperial" or "metric" end -- Total area in km² for density: manual km²/mi², else Wikidata. Returns the number and, for Wikidata, the raw amount. function p.getTotalAreaKm2(args, wdOff) local km = p.toNumber(getManual(args, { "eaghtyr_km2", "slane_eaghtyr_km2" })) if km then return km end local mi = p.toNumber(getManual(args, { "eaghtyr_mi_ker", "slane_eaghtyr_mi_ker" })) if mi then return mi * p.KM2_PER_MI2 end local dunam = p.toNumber(getManual(args, { "eaghtyr_dunam", "slane_eaghtyr_dunam" })) if dunam then return dunam * p.KM2_PER_DUNAM end if wdOff then return nil end return p.getWdAreaKm2() end -- Manx link or label for an item, else its label in any language as a red link. function p.itemTextAny(id) local text = p.itemText(id) if text then return text end local label = mw.wikibase.getLabel(id) if label and label ~= "" then return "[[" .. mw.text.nowiki(label) .. "]]" end return nil end -- Row styles shared by the simple label/value modules. p.TH = 'style="text-align:left; vertical-align:top; padding:0.15em 0.6em;"' p.SUBTH = 'style="vertical-align:top; text-align:left; font-weight:normal; width:8em; max-width:8em; padding:0.15em 0.4em 0.15em 1.7em; text-indent:-0.8em;"' p.TD = 'style="vertical-align:top; padding:0.15em 0.6em 0.15em 0.2em;"' function p.row(class, label, value, tdClass) return '<tr class="' .. class .. '"><th scope="row" ' .. p.TH .. '>' .. label .. '</th><td ' .. p.TD .. (tdClass and (' class="' .. tdClass .. '"') or '') .. '>' .. value .. '</td></tr>' end function p.subrow(label, value) return '<tr class="mergedrow"><th scope="row" ' .. p.SUBTH .. '>•&nbsp;' .. label .. '</th><td ' .. p.TD .. '>' .. value .. '</td></tr>' end -- Bold section header spanning both columns. function p.header(class, label, note) return '<tr class="' .. class .. '"><td colspan="2" style="padding:0.2em 0.6em;"><b>' .. label .. '</b>' .. (note or "") .. '</td></tr>' end -- Appends a footnote ({{efn}}) and/or a citation to a value. function p.withNotes(frame, args, value, noteNames, refNames) local note = p.getManual(args, noteNames) if note then value = value .. frame:expandTemplate{ title = "efn", args = { note } } end local ref = p.getManual(args, refNames) if ref then value = value .. (p.wrapReference(ref) or "") end return value end return p ko16of0k73fo93mvjmnqbev891c9169 395487 395483 2026-10-28T16:18:36Z MacTire02 219 ++ 395487 Scribunto text/plain -- Shared helpers for the area, elevation and population modules: units, number formatting, area lookup. local p = {} p.KM2_PER_MI2 = 2.589988110336 p.KM2_PER_DUNAM = 0.001 p.M_PER_FT = 0.3048 -- Wikidata area units (P2046) -> km². local AREA_UNIT_FACTORS = { Q712226 = 1, -- square kilometre Q232291 = p.KM2_PER_MI2, -- square mile Q25343 = 0.000001, -- square metre Q35852 = 0.01, -- hectare Q81292 = 0.00404685642, -- acre } -- Countries whose primary unit is imperial/US customary. local IMPERIAL_QIDS = { Q145 = true, Q9676 = true, Q785 = true, Q25230 = true, -- UK, Isle of Man, Jersey, Guernsey Q21 = true, Q22 = true, Q25 = true, Q26 = true, -- England, Scotland, Wales, Northern Ireland Q30 = true, -- United States } local IMPERIAL_NAMES = {} for _, name in ipairs({ "Nalbin", "ny h-Albey", "ny hAlbey", "ny Halbey", "Bretyn", "Vretyn", "Bretin", "Vretin", "Sostyn", "Hostyn", "Nerin Hwoaie", "Mannin", "Vannin", "Jersee", "Yersee", "Guernsey", "Alderney", "Sark", "y Tark", "y Vretyn Vooar", "Bretyn Vooar", "Reeriaght Unnaneysit", "y Reeriaght Unnaneysit", "Reeriaght Unnaneyssit", "y Reeriaght Unnaneyssit", "Ny Steatyn Unnaneysit", "Steatyn Unnaneysit America", "Steatyn Unnaneysit", }) do IMPERIAL_NAMES[mw.ustring.lower(name)] = true end local UNIT_ALIASES = { metric = "metric", metrick = "metric", km = "metric", km2 = "metric", m = "metric", imperial = "imperial", ["british imperial"] = "imperial", english = "imperial", uk = "imperial", us = "imperial", ["u.s."] = "imperial", ["us customary"] = "imperial", ["u.s. customary"] = "imperial", standard = "imperial", mi = "imperial", ft = "imperial", dunam = "dunam", } function p.getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local getManual = p.getManual function p.isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end function p.wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end -- Wikidata reference for a claim, optionally narrowed to one value (raw amount or item id) and/or taken from another item (eid). function p.getWdReference(property, value, eid) local okWd, Wd = pcall(require, "Module:Wd") if not okWd or not Wd or not Wd._reference then return "" end local callArgs = { "best", property } if value then table.insert(callArgs, value) end if eid then callArgs.eid = eid end local ok, result = pcall(Wd._reference, callArgs) if ok and type(result) == "string" then return result end return "" end -- 1234.56, 1 -> "1,234.6"; trailing zeros dropped. -- A year from a date such as "30.06.2024" or "2024-06-30"; anything without a 4-digit year is returned as typed. function p.yearOnly(text) if not text then return nil end return text:match("%d%d%d%d") or text end function p.formatNumber(n, decimals) local formatted = string.format("%." .. decimals .. "f", math.abs(n)) if formatted:find("%.") then formatted = formatted:gsub("0+$", ""):gsub("%.$", "") end local int, dec = formatted:match("^(%d+)(%.?%d*)$") int = int:reverse():gsub("(%d%d%d)", "%1,"):reverse():gsub("^,", "") return (n < 0 and "-" or "") .. int .. dec end function p.toNumber(text) if not text then return nil end return tonumber((text:gsub(",", ""):gsub("&nbsp;", ""):gsub("%s", ""))) end function p.entityId(value) return value.id or ("Q" .. tostring(value["numeric-id"])) end -- Largest best-rank P2046 value in km² (sub-areas such as lakes are smaller than the whole), plus its raw amount for the citation. -- Identifies a statement's references, so identical sources can be recognised. function p.referenceKey(statement) local parts = {} for _, reference in ipairs(statement.references or {}) do table.insert(parts, tostring(reference.hash)) end return table.concat(parts, ",") end function p.getWdAreaKm2() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local best, bestRaw, bestKey for _, statement in ipairs(entity:getBestStatements("P2046") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "quantity" then local value = snak.datavalue.value local amount = tonumber(value.amount) local unit = value.unit and value.unit:match("Q%d+$") local factor = unit and AREA_UNIT_FACTORS[unit] if amount and factor and (not best or amount * factor > best) then best = amount * factor; bestRaw = (value.amount:gsub("^%+", "")); bestKey = p.referenceKey(statement) end end end return best, bestRaw, bestKey end -- Manx link or label for an item; nil without either. function p.itemText(id) local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end return nil end -- Language to fall back on for place names in the Celtic nations, by region item (walked up the P131 chain). local REGION_LANG = { Q27 = "ga", Q26 = "ga", Q22 = "gd", Q25 = "cy", Q23148 = "kw", Q22338583 = "kw", Q327 = "br", Q12130 = "br", Q3068 = "br" } local function firstEntityId(id, property) for _, st in ipairs(mw.wikibase.getBestStatements(id, property) or {}) do local snak = st.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then return p.entityId(snak.datavalue.value) end end return nil end -- Celtic language code for a place: found by walking its P131 chain (up to 8 steps) and checking P17; nil elsewhere. function p.celticLanguage(id) local current = id for _ = 1, 8 do if not current then break end if REGION_LANG[current] then return REGION_LANG[current] end current = firstEntityId(current, "P131") end local country = firstEntityId(id, "P17") return country and REGION_LANG[country] or nil end -- Place name as a link: gv page; else gv label (red link); else the Celtic-nation language label (red link); -- else the label in any language (red link). Nil when the item has no label at all. -- toWikidata: an item with no gv.wikipedia article links to its Wikidata item (d:Qxx) instead of a -- red link, so a same-named article about something else (a town vs. its municipal district) is not linked by mistake. function p.placeName(id, toWikidata) -- Red link whose shown text starts with a capital (Wikidata labels often do not). local function redLink(text) if toWikidata then return "[[d:" .. id .. "|" .. mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2) .. "]]" end text = mw.text.nowiki(text) local shown = mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2) if shown == text then return "[[" .. text .. "]]" end return "[[" .. text .. "|" .. shown .. "]]" end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return redLink(label) end local lang = p.celticLanguage(id) if lang then local other = mw.wikibase.getLabelByLang(id, lang) if other and other ~= "" then return redLink(other) end end local any = mw.wikibase.getLabel(id) if any and any ~= "" then return redLink(any) end return nil end -- Country name from the parameters, else Wikidata P17 (or the item itself for a country). function p.isImperialCountry(args) local manual = getManual(args, { "ennym_aarheynn", "aarheynn", "çheer" }) if manual then local name = manual:match("%[%[[^|%]]*|([^%]]+)%]%]") or manual:match("%[%[([^|%]]+)%]%]") or manual if IMPERIAL_NAMES[mw.ustring.lower(mw.text.trim(name))] == true then return true end -- an unrecognised name falls through to the Wikidata check below end local entity = mw.wikibase.getEntityObject() if not entity then return false end if entity.id and IMPERIAL_QIDS[entity.id] then return true end -- P17 (any non-deprecated value) of the item, then of its P131 parents (e.g. Northern Ireland) local currentId, seen = entity.id or mw.wikibase.getEntityIdForCurrentPage(), {} for _ = 1, 6 do for _, statement in ipairs(mw.wikibase.getAllStatements(currentId, "P17") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" and IMPERIAL_QIDS[p.entityId(snak.datavalue.value)] then return true end end local nextId for _, statement in ipairs(mw.wikibase.getAllStatements(currentId, "P131") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local id = p.entityId(snak.datavalue.value) if IMPERIAL_QIDS[id] then return true end nextId = nextId or id end end if not nextId or seen[nextId] then break end seen[nextId] = true currentId = nextId end return false end -- "metric", "imperial" or "dunam": unnid_towshan (new) or tosheeaght_unnid (legacy), else by country. function p.resolveUnit(args) local explicit = getManual(args, { "unnid_towshan", "tosheeaght_unnid" }) if explicit then local unit = UNIT_ALIASES[mw.ustring.lower(explicit)] if unit then return unit end end return p.isImperialCountry(args) and "imperial" or "metric" end -- Total area in km² for density: manual km²/mi², else Wikidata. Returns the number and, for Wikidata, the raw amount. function p.getTotalAreaKm2(args, wdOff) local km = p.toNumber(getManual(args, { "eaghtyr_km2", "slane_eaghtyr_km2" })) if km then return km end local mi = p.toNumber(getManual(args, { "eaghtyr_mi_ker", "slane_eaghtyr_mi_ker" })) if mi then return mi * p.KM2_PER_MI2 end local dunam = p.toNumber(getManual(args, { "eaghtyr_dunam", "slane_eaghtyr_dunam" })) if dunam then return dunam * p.KM2_PER_DUNAM end if wdOff then return nil end return p.getWdAreaKm2() end -- Manx link or label for an item, else its label in any language as a red link. function p.itemTextAny(id) local text = p.itemText(id) if text then return text end local label = mw.wikibase.getLabel(id) if label and label ~= "" then return "[[" .. mw.text.nowiki(label) .. "]]" end return nil end -- Row styles shared by the simple label/value modules. p.TH = 'style="text-align:left; vertical-align:top; padding:0.15em 0.6em;"' p.SUBTH = 'style="vertical-align:top; text-align:left; font-weight:normal; width:8em; max-width:8em; padding:0.15em 0.4em 0.15em 1.7em; text-indent:-0.8em;"' p.TD = 'style="vertical-align:top; padding:0.15em 0.6em 0.15em 0.2em;"' function p.row(class, label, value, tdClass) return '<tr class="' .. class .. '"><th scope="row" ' .. p.TH .. '>' .. label .. '</th><td ' .. p.TD .. (tdClass and (' class="' .. tdClass .. '"') or '') .. '>' .. value .. '</td></tr>' end function p.subrow(label, value) return '<tr class="mergedrow"><th scope="row" ' .. p.SUBTH .. '>•&nbsp;' .. label .. '</th><td ' .. p.TD .. '>' .. value .. '</td></tr>' end -- Bold section header spanning both columns. function p.header(class, label, note) return '<tr class="' .. class .. '"><td colspan="2" style="padding:0.2em 0.6em;"><b>' .. label .. '</b>' .. (note or "") .. '</td></tr>' end -- Appends a footnote ({{efn}}) and/or a citation to a value. function p.withNotes(frame, args, value, noteNames, refNames) local note = p.getManual(args, noteNames) if note then value = value .. frame:expandTemplate{ title = "efn", args = { note } } end local ref = p.getManual(args, refNames) if ref then value = value .. (p.wrapReference(ref) or "") end return value end return p n3ieiit31a9cxzm25oy7iqf0yfmtc8y 395488 395487 2026-10-28T16:21:26Z MacTire02 219 ++ 395488 Scribunto text/plain -- Shared helpers for the area, elevation and population modules: units, number formatting, area lookup. local p = {} p.KM2_PER_MI2 = 2.589988110336 p.KM2_PER_DUNAM = 0.001 p.M_PER_FT = 0.3048 -- Wikidata area units (P2046) -> km². local AREA_UNIT_FACTORS = { Q712226 = 1, -- square kilometre Q232291 = p.KM2_PER_MI2, -- square mile Q25343 = 0.000001, -- square metre Q35852 = 0.01, -- hectare Q81292 = 0.00404685642, -- acre } -- Countries whose primary unit is imperial/US customary. local IMPERIAL_QIDS = { Q145 = true, Q9676 = true, Q785 = true, Q25230 = true, -- UK, Isle of Man, Jersey, Guernsey Q21 = true, Q22 = true, Q25 = true, Q26 = true, -- England, Scotland, Wales, Northern Ireland Q30 = true, -- United States } local IMPERIAL_NAMES = {} for _, name in ipairs({ "Nalbin", "ny h-Albey", "ny hAlbey", "ny Halbey", "Bretyn", "Vretyn", "Bretin", "Vretin", "Sostyn", "Hostyn", "Nerin Hwoaie", "Mannin", "Vannin", "Jersee", "Yersee", "Guernsey", "Alderney", "Sark", "y Tark", "y Vretyn Vooar", "Bretyn Vooar", "Reeriaght Unnaneysit", "y Reeriaght Unnaneysit", "Reeriaght Unnaneyssit", "y Reeriaght Unnaneyssit", "Ny Steatyn Unnaneysit", "Steatyn Unnaneysit America", "Steatyn Unnaneysit", }) do IMPERIAL_NAMES[mw.ustring.lower(name)] = true end local UNIT_ALIASES = { metric = "metric", metrick = "metric", km = "metric", km2 = "metric", m = "metric", imperial = "imperial", ["british imperial"] = "imperial", english = "imperial", uk = "imperial", us = "imperial", ["u.s."] = "imperial", ["us customary"] = "imperial", ["u.s. customary"] = "imperial", standard = "imperial", mi = "imperial", ft = "imperial", dunam = "dunam", } function p.getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local getManual = p.getManual function p.isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end function p.wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end -- Wikidata reference for a claim, optionally narrowed to one value (raw amount or item id) and/or taken from another item (eid). function p.getWdReference(property, value, eid) local okWd, Wd = pcall(require, "Module:Wd") if not okWd or not Wd or not Wd._reference then return "" end local callArgs = { "best", property } if value then table.insert(callArgs, value) end if eid then callArgs.eid = eid end local ok, result = pcall(Wd._reference, callArgs) if ok and type(result) == "string" then return result end return "" end -- 1234.56, 1 -> "1,234.6"; trailing zeros dropped. -- A year from a date such as "30.06.2024" or "2024-06-30"; anything without a 4-digit year is returned as typed. function p.yearOnly(text) if not text then return nil end return text:match("%d%d%d%d") or text end function p.formatNumber(n, decimals) local formatted = string.format("%." .. decimals .. "f", math.abs(n)) if formatted:find("%.") then formatted = formatted:gsub("0+$", ""):gsub("%.$", "") end local int, dec = formatted:match("^(%d+)(%.?%d*)$") int = int:reverse():gsub("(%d%d%d)", "%1,"):reverse():gsub("^,", "") return (n < 0 and "-" or "") .. int .. dec end function p.toNumber(text) if not text then return nil end return tonumber((text:gsub(",", ""):gsub("&nbsp;", ""):gsub("%s", ""))) end function p.entityId(value) return value.id or ("Q" .. tostring(value["numeric-id"])) end -- Largest best-rank P2046 value in km² (sub-areas such as lakes are smaller than the whole), plus its raw amount for the citation. -- Identifies a statement's references, so identical sources can be recognised. function p.referenceKey(statement) local parts = {} for _, reference in ipairs(statement.references or {}) do table.insert(parts, tostring(reference.hash)) end return table.concat(parts, ",") end function p.getWdAreaKm2() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local best, bestRaw, bestKey for _, statement in ipairs(entity:getBestStatements("P2046") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "quantity" then local value = snak.datavalue.value local amount = tonumber(value.amount) local unit = value.unit and value.unit:match("Q%d+$") local factor = unit and AREA_UNIT_FACTORS[unit] if amount and factor and (not best or amount * factor > best) then best = amount * factor; bestRaw = (value.amount:gsub("^%+", "")); bestKey = p.referenceKey(statement) end end end return best, bestRaw, bestKey end -- Manx link or label for an item; nil without either. function p.itemText(id) local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end return nil end -- Language to fall back on for place names in the Celtic nations, by region item (walked up the P131 chain). local REGION_LANG = { Q27 = "ga", Q26 = "ga", Q22 = "gd", Q25 = "cy", Q23148 = "kw", Q22338583 = "kw", Q327 = "br", Q12130 = "br", Q3068 = "br" } local function firstEntityId(id, property) for _, st in ipairs(mw.wikibase.getBestStatements(id, property) or {}) do local snak = st.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then return p.entityId(snak.datavalue.value) end end return nil end -- Celtic language code for a place: found by walking its P131 chain (up to 8 steps) and checking P17; nil elsewhere. function p.celticLanguage(id) local current = id for _ = 1, 8 do if not current then break end if REGION_LANG[current] then return REGION_LANG[current] end current = firstEntityId(current, "P131") end local country = firstEntityId(id, "P17") return country and REGION_LANG[country] or nil end -- Place name as a link: gv page; else gv label (red link); else the Celtic-nation language label (red link); -- else the label in any language (red link). Nil when the item has no label at all. -- toWikidata: an item with no gv.wikipedia article links to its Wikidata item (external-style link) instead of a -- red link, so a same-named article about something else (a town vs. its municipal district) is not linked by mistake. function p.placeName(id, toWikidata) -- Red link whose shown text starts with a capital (Wikidata labels often do not). local function redLink(text) if toWikidata then return "[https://www.wikidata.org/wiki/" .. id .. " " .. mw.text.nowiki(mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2)) .. "]" end text = mw.text.nowiki(text) local shown = mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2) if shown == text then return "[[" .. text .. "]]" end return "[[" .. text .. "|" .. shown .. "]]" end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return redLink(label) end local lang = p.celticLanguage(id) if lang then local other = mw.wikibase.getLabelByLang(id, lang) if other and other ~= "" then return redLink(other) end end local any = mw.wikibase.getLabel(id) if any and any ~= "" then return redLink(any) end return nil end -- Country name from the parameters, else Wikidata P17 (or the item itself for a country). function p.isImperialCountry(args) local manual = getManual(args, { "ennym_aarheynn", "aarheynn", "çheer" }) if manual then local name = manual:match("%[%[[^|%]]*|([^%]]+)%]%]") or manual:match("%[%[([^|%]]+)%]%]") or manual if IMPERIAL_NAMES[mw.ustring.lower(mw.text.trim(name))] == true then return true end -- an unrecognised name falls through to the Wikidata check below end local entity = mw.wikibase.getEntityObject() if not entity then return false end if entity.id and IMPERIAL_QIDS[entity.id] then return true end -- P17 (any non-deprecated value) of the item, then of its P131 parents (e.g. Northern Ireland) local currentId, seen = entity.id or mw.wikibase.getEntityIdForCurrentPage(), {} for _ = 1, 6 do for _, statement in ipairs(mw.wikibase.getAllStatements(currentId, "P17") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" and IMPERIAL_QIDS[p.entityId(snak.datavalue.value)] then return true end end local nextId for _, statement in ipairs(mw.wikibase.getAllStatements(currentId, "P131") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local id = p.entityId(snak.datavalue.value) if IMPERIAL_QIDS[id] then return true end nextId = nextId or id end end if not nextId or seen[nextId] then break end seen[nextId] = true currentId = nextId end return false end -- "metric", "imperial" or "dunam": unnid_towshan (new) or tosheeaght_unnid (legacy), else by country. function p.resolveUnit(args) local explicit = getManual(args, { "unnid_towshan", "tosheeaght_unnid" }) if explicit then local unit = UNIT_ALIASES[mw.ustring.lower(explicit)] if unit then return unit end end return p.isImperialCountry(args) and "imperial" or "metric" end -- Total area in km² for density: manual km²/mi², else Wikidata. Returns the number and, for Wikidata, the raw amount. function p.getTotalAreaKm2(args, wdOff) local km = p.toNumber(getManual(args, { "eaghtyr_km2", "slane_eaghtyr_km2" })) if km then return km end local mi = p.toNumber(getManual(args, { "eaghtyr_mi_ker", "slane_eaghtyr_mi_ker" })) if mi then return mi * p.KM2_PER_MI2 end local dunam = p.toNumber(getManual(args, { "eaghtyr_dunam", "slane_eaghtyr_dunam" })) if dunam then return dunam * p.KM2_PER_DUNAM end if wdOff then return nil end return p.getWdAreaKm2() end -- Manx link or label for an item, else its label in any language as a red link. function p.itemTextAny(id) local text = p.itemText(id) if text then return text end local label = mw.wikibase.getLabel(id) if label and label ~= "" then return "[[" .. mw.text.nowiki(label) .. "]]" end return nil end -- Row styles shared by the simple label/value modules. p.TH = 'style="text-align:left; vertical-align:top; padding:0.15em 0.6em;"' p.SUBTH = 'style="vertical-align:top; text-align:left; font-weight:normal; width:8em; max-width:8em; padding:0.15em 0.4em 0.15em 1.7em; text-indent:-0.8em;"' p.TD = 'style="vertical-align:top; padding:0.15em 0.6em 0.15em 0.2em;"' function p.row(class, label, value, tdClass) return '<tr class="' .. class .. '"><th scope="row" ' .. p.TH .. '>' .. label .. '</th><td ' .. p.TD .. (tdClass and (' class="' .. tdClass .. '"') or '') .. '>' .. value .. '</td></tr>' end function p.subrow(label, value) return '<tr class="mergedrow"><th scope="row" ' .. p.SUBTH .. '>•&nbsp;' .. label .. '</th><td ' .. p.TD .. '>' .. value .. '</td></tr>' end -- Bold section header spanning both columns. function p.header(class, label, note) return '<tr class="' .. class .. '"><td colspan="2" style="padding:0.2em 0.6em;"><b>' .. label .. '</b>' .. (note or "") .. '</td></tr>' end -- Appends a footnote ({{efn}}) and/or a citation to a value. function p.withNotes(frame, args, value, noteNames, refNames) local note = p.getManual(args, noteNames) if note then value = value .. frame:expandTemplate{ title = "efn", args = { note } } end local ref = p.getManual(args, refNames) if ref then value = value .. (p.wrapReference(ref) or "") end return value end return p l6wgru3tg20x72ul7phznll4d79y5ft 395502 395488 2026-10-28T19:32:14Z MacTire02 219 y ~ yn 395502 Scribunto text/plain -- Shared helpers for the area, elevation and population modules: units, number formatting, area lookup. local p = {} p.KM2_PER_MI2 = 2.589988110336 p.KM2_PER_DUNAM = 0.001 p.M_PER_FT = 0.3048 -- Wikidata area units (P2046) -> km². local AREA_UNIT_FACTORS = { Q712226 = 1, -- square kilometre Q232291 = p.KM2_PER_MI2, -- square mile Q25343 = 0.000001, -- square metre Q35852 = 0.01, -- hectare Q81292 = 0.00404685642, -- acre } -- Countries whose primary unit is imperial/US customary. local IMPERIAL_QIDS = { Q145 = true, Q9676 = true, Q785 = true, Q25230 = true, -- UK, Isle of Man, Jersey, Guernsey Q21 = true, Q22 = true, Q25 = true, Q26 = true, -- England, Scotland, Wales, Northern Ireland Q30 = true, -- United States } local IMPERIAL_NAMES = {} for _, name in ipairs({ "Nalbin", "ny h-Albey", "ny hAlbey", "ny Halbey", "Bretyn", "Vretyn", "Bretin", "Vretin", "Sostyn", "Hostyn", "Nerin Hwoaie", "Mannin", "Vannin", "Jersee", "Yersee", "Guernsey", "Alderney", "Sark", "y Tark", "y Vretyn Vooar", "Bretyn Vooar", "Reeriaght Unnaneysit", "y Reeriaght Unnaneysit", "Reeriaght Unnaneyssit", "y Reeriaght Unnaneyssit", "Ny Steatyn Unnaneysit", "Steatyn Unnaneysit America", "Steatyn Unnaneysit", }) do IMPERIAL_NAMES[mw.ustring.lower(name)] = true end local UNIT_ALIASES = { metric = "metric", metrick = "metric", km = "metric", km2 = "metric", m = "metric", imperial = "imperial", ["british imperial"] = "imperial", english = "imperial", uk = "imperial", us = "imperial", ["u.s."] = "imperial", ["us customary"] = "imperial", ["u.s. customary"] = "imperial", standard = "imperial", mi = "imperial", ft = "imperial", dunam = "dunam", } -- Joins a word and a genitive place name, adjusting the article: after a word ending in a vowel (y and w -- count) the article before a consonant-initial name is "yn" (Soiaghey yn Chavan); after a consonant it is -- "y" (Reiltys y Chavan). Names without such an article, and vowel-initial names, are left as they are. function p.genitiveAfter(word, genitive) word = word or "" local article, rest = mw.ustring.match(genitive or "", "^([Yy]n?) (.+)$") if article and word ~= "" then local first = mw.ustring.lower(mw.ustring.sub(rest, 1, 1)) if not mw.ustring.find("aeiouyw", first, 1, true) then local last = mw.ustring.lower(mw.ustring.sub(mw.text.trim(word), -1)) local base = mw.ustring.sub(article, 1, 1) article = mw.ustring.find("aeiouyw", last, 1, true) and (base .. "n") or base genitive = article .. " " .. rest end end return word .. " " .. genitive end function p.getManual(args, names) for _, name in ipairs(names) do local value = args[name] if value and mw.text.trim(value) ~= "" then return mw.text.trim(value) end end return nil end local getManual = p.getManual function p.isNone(value) return value ~= nil and mw.text.trim(value):lower() == "none" end function p.wrapReference(ref) if not ref or ref == "" then return nil end local withoutMarkers = mw.ustring.gsub(ref, "\127UNIQ.-QINU\127", "") if mw.ustring.gsub(withoutMarkers, "%s+", "") == "" then return ref end if mw.ustring.find(mw.ustring.lower(ref), "<ref", 1, true) then return ref end local withoutNumbers = mw.ustring.gsub(ref, "%[%d+%]", "") if mw.ustring.gsub(withoutNumbers, "%s+", "") == "" then return ref end return "<ref>" .. ref .. "</ref>" end -- Wikidata reference for a claim, optionally narrowed to one value (raw amount or item id) and/or taken from another item (eid). function p.getWdReference(property, value, eid) local okWd, Wd = pcall(require, "Module:Wd") if not okWd or not Wd or not Wd._reference then return "" end local callArgs = { "best", property } if value then table.insert(callArgs, value) end if eid then callArgs.eid = eid end local ok, result = pcall(Wd._reference, callArgs) if ok and type(result) == "string" then return result end return "" end -- 1234.56, 1 -> "1,234.6"; trailing zeros dropped. -- A year from a date such as "30.06.2024" or "2024-06-30"; anything without a 4-digit year is returned as typed. function p.yearOnly(text) if not text then return nil end return text:match("%d%d%d%d") or text end function p.formatNumber(n, decimals) local formatted = string.format("%." .. decimals .. "f", math.abs(n)) if formatted:find("%.") then formatted = formatted:gsub("0+$", ""):gsub("%.$", "") end local int, dec = formatted:match("^(%d+)(%.?%d*)$") int = int:reverse():gsub("(%d%d%d)", "%1,"):reverse():gsub("^,", "") return (n < 0 and "-" or "") .. int .. dec end function p.toNumber(text) if not text then return nil end return tonumber((text:gsub(",", ""):gsub("&nbsp;", ""):gsub("%s", ""))) end function p.entityId(value) return value.id or ("Q" .. tostring(value["numeric-id"])) end -- Largest best-rank P2046 value in km² (sub-areas such as lakes are smaller than the whole), plus its raw amount for the citation. -- Identifies a statement's references, so identical sources can be recognised. function p.referenceKey(statement) local parts = {} for _, reference in ipairs(statement.references or {}) do table.insert(parts, tostring(reference.hash)) end return table.concat(parts, ",") end function p.getWdAreaKm2() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local best, bestRaw, bestKey for _, statement in ipairs(entity:getBestStatements("P2046") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "quantity" then local value = snak.datavalue.value local amount = tonumber(value.amount) local unit = value.unit and value.unit:match("Q%d+$") local factor = unit and AREA_UNIT_FACTORS[unit] if amount and factor and (not best or amount * factor > best) then best = amount * factor; bestRaw = (value.amount:gsub("^%+", "")); bestKey = p.referenceKey(statement) end end end return best, bestRaw, bestKey end -- Manx link or label for an item; nil without either. function p.itemText(id) local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return label end return nil end -- Language to fall back on for place names in the Celtic nations, by region item (walked up the P131 chain). local REGION_LANG = { Q27 = "ga", Q26 = "ga", Q22 = "gd", Q25 = "cy", Q23148 = "kw", Q22338583 = "kw", Q327 = "br", Q12130 = "br", Q3068 = "br" } local function firstEntityId(id, property) for _, st in ipairs(mw.wikibase.getBestStatements(id, property) or {}) do local snak = st.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then return p.entityId(snak.datavalue.value) end end return nil end -- Celtic language code for a place: found by walking its P131 chain (up to 8 steps) and checking P17; nil elsewhere. function p.celticLanguage(id) local current = id for _ = 1, 8 do if not current then break end if REGION_LANG[current] then return REGION_LANG[current] end current = firstEntityId(current, "P131") end local country = firstEntityId(id, "P17") return country and REGION_LANG[country] or nil end -- Place name as a link: gv page; else gv label (red link); else the Celtic-nation language label (red link); -- else the label in any language (red link). Nil when the item has no label at all. -- toWikidata: an item with no gv.wikipedia article links to its Wikidata item (external-style link) instead of a -- red link, so a same-named article about something else (a town vs. its municipal district) is not linked by mistake. function p.placeName(id, toWikidata) -- Red link whose shown text starts with a capital (Wikidata labels often do not). local function redLink(text) if toWikidata then return "[https://www.wikidata.org/wiki/" .. id .. " " .. mw.text.nowiki(mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2)) .. "]" end text = mw.text.nowiki(text) local shown = mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2) if shown == text then return "[[" .. text .. "]]" end return "[[" .. text .. "|" .. shown .. "]]" end local sitelink = mw.wikibase.sitelink(id) if sitelink and sitelink ~= "" then return "[[" .. sitelink .. "]]" end local label = mw.wikibase.getLabelByLang(id, "gv") if label and label ~= "" then return redLink(label) end local lang = p.celticLanguage(id) if lang then local other = mw.wikibase.getLabelByLang(id, lang) if other and other ~= "" then return redLink(other) end end local any = mw.wikibase.getLabel(id) if any and any ~= "" then return redLink(any) end return nil end -- Country name from the parameters, else Wikidata P17 (or the item itself for a country). function p.isImperialCountry(args) local manual = getManual(args, { "ennym_aarheynn", "aarheynn", "çheer" }) if manual then local name = manual:match("%[%[[^|%]]*|([^%]]+)%]%]") or manual:match("%[%[([^|%]]+)%]%]") or manual if IMPERIAL_NAMES[mw.ustring.lower(mw.text.trim(name))] == true then return true end -- an unrecognised name falls through to the Wikidata check below end local entity = mw.wikibase.getEntityObject() if not entity then return false end if entity.id and IMPERIAL_QIDS[entity.id] then return true end -- P17 (any non-deprecated value) of the item, then of its P131 parents (e.g. Northern Ireland) local currentId, seen = entity.id or mw.wikibase.getEntityIdForCurrentPage(), {} for _ = 1, 6 do for _, statement in ipairs(mw.wikibase.getAllStatements(currentId, "P17") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" and IMPERIAL_QIDS[p.entityId(snak.datavalue.value)] then return true end end local nextId for _, statement in ipairs(mw.wikibase.getAllStatements(currentId, "P131") or {}) do local snak = statement.mainsnak if statement.rank ~= "deprecated" and snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then local id = p.entityId(snak.datavalue.value) if IMPERIAL_QIDS[id] then return true end nextId = nextId or id end end if not nextId or seen[nextId] then break end seen[nextId] = true currentId = nextId end return false end -- "metric", "imperial" or "dunam": unnid_towshan (new) or tosheeaght_unnid (legacy), else by country. function p.resolveUnit(args) local explicit = getManual(args, { "unnid_towshan", "tosheeaght_unnid" }) if explicit then local unit = UNIT_ALIASES[mw.ustring.lower(explicit)] if unit then return unit end end return p.isImperialCountry(args) and "imperial" or "metric" end -- Total area in km² for density: manual km²/mi², else Wikidata. Returns the number and, for Wikidata, the raw amount. function p.getTotalAreaKm2(args, wdOff) local km = p.toNumber(getManual(args, { "eaghtyr_km2", "slane_eaghtyr_km2" })) if km then return km end local mi = p.toNumber(getManual(args, { "eaghtyr_mi_ker", "slane_eaghtyr_mi_ker" })) if mi then return mi * p.KM2_PER_MI2 end local dunam = p.toNumber(getManual(args, { "eaghtyr_dunam", "slane_eaghtyr_dunam" })) if dunam then return dunam * p.KM2_PER_DUNAM end if wdOff then return nil end return p.getWdAreaKm2() end -- Manx link or label for an item, else its label in any language as a red link. function p.itemTextAny(id) local text = p.itemText(id) if text then return text end local label = mw.wikibase.getLabel(id) if label and label ~= "" then return "[[" .. mw.text.nowiki(label) .. "]]" end return nil end -- Row styles shared by the simple label/value modules. p.TH = 'style="text-align:left; vertical-align:top; padding:0.15em 0.6em;"' p.SUBTH = 'style="vertical-align:top; text-align:left; font-weight:normal; width:8em; max-width:8em; padding:0.15em 0.4em 0.15em 1.7em; text-indent:-0.8em;"' p.TD = 'style="vertical-align:top; padding:0.15em 0.6em 0.15em 0.2em;"' function p.row(class, label, value, tdClass) return '<tr class="' .. class .. '"><th scope="row" ' .. p.TH .. '>' .. label .. '</th><td ' .. p.TD .. (tdClass and (' class="' .. tdClass .. '"') or '') .. '>' .. value .. '</td></tr>' end function p.subrow(label, value) return '<tr class="mergedrow"><th scope="row" ' .. p.SUBTH .. '>•&nbsp;' .. label .. '</th><td ' .. p.TD .. '>' .. value .. '</td></tr>' end -- Bold section header spanning both columns. function p.header(class, label, note) return '<tr class="' .. class .. '"><td colspan="2" style="padding:0.2em 0.6em;"><b>' .. label .. '</b>' .. (note or "") .. '</td></tr>' end -- Appends a footnote ({{efn}}) and/or a citation to a value. function p.withNotes(frame, args, value, noteNames, refNames) local note = p.getManual(args, noteNames) if note then value = value .. frame:expandTemplate{ title = "efn", args = { note } } end local ref = p.getManual(args, refNames) if ref then value = value .. (p.wrapReference(ref) or "") end return value end return p 839hhbt4jbi9wsxk73spihyc388r745 Module:Kishtey fys boayl/coadyn 828 56356 395531 395318 2026-10-29T00:50:40Z MacTire02 219 +kianglaghyn da coadyn postagh 395531 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local getManual, isNone = U.getManual, U.isNone -- Lists such as "IM1 / IM2", "IM1, IM2" or "IM1<br>IM2" become separate items. Inside markup only -- spaced slashes, commas, semicolons and line breaks count, so link targets like [[a/b]] survive. local function splitList(text) text = text:gsub("&nbsp;", " "):gsub("\194\160", " "):gsub("&#160;", " ") text = text:gsub("%s+[Aa][Nn][Dd]%s+", " and ") local marked = text:gsub("<br%s*/?>", "\1"):gsub("%s+/%s+", "\1"):gsub("%s+and%s+", "\1"):gsub("%s+as%s+", "\1"):gsub("%s+&amp;%s+", "\1"):gsub("%s+&%s+", "\1"):gsub(",%s+", "\1"):gsub(";%s*", "\1") if not text:find("[%[{<]") then marked = marked:gsub("/", "\1"):gsub(",", "\1") end local items = {} for part in string.gmatch(marked, "[^\1]+") do part = mw.text.trim(part) if part ~= "" then table.insert(items, part) end end return #items > 0 and items or { text } end -- Wikidata string values of a property on the item (or on item `id`), plus the references for them. local function getWdValues(property, id) local statements if id then statements = mw.wikibase.getBestStatements(id, property) else local entity = mw.wikibase.getEntityObject() statements = entity and entity:getBestStatements(property) end local values = {} for _, statement in ipairs(statements or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then for _, item in ipairs(splitList(snak.datavalue.value)) do table.insert(values, item) end end end if #values == 0 then return nil end return values, U.getWdReference(property, nil, id) end -- Country name (Manx): manual aarheynn, else the gv label of P17, else of the item itself. local function getCountryName(args) local manual = getManual(args, { "ennym_aarheynn", "aarheynn", "çheer" }) if manual then return mw.text.trim(manual:match("%[%[[^|%]]*|([^%]]+)%]%]") or manual:match("%[%[([^|%]]+)%]%]") or manual) end local entity = mw.wikibase.getEntityObject() if not entity then return nil end local id for _, statement in ipairs(entity:getBestStatements("P17") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then id = U.entityId(snak.datavalue.value) break end end id = id or entity.id local label = id and mw.wikibase.getLabelByLang(id, "gv") return label ~= "" and label or nil end -- Page about the postal codes of the country: the preposition and article depend on the country name. local function postalPage(country) if not country or country == "" then return nil end local name = country:gsub("^%s+", "") local lower = mw.ustring.lower(name) if lower == "yn serb" then return "Coadyn postagh 'sy Terb" end local rest = name:match("^[Yy]n (.+)$") if rest then local first = mw.ustring.lower(mw.ustring.sub(rest, 1, 1)) if mw.ustring.find("aeiou", first, 1, true) then return "Coadyn postagh 'syn " .. rest end return "Coadyn postagh 'sy " .. rest end rest = name:match("^[Nn]y (.+)$") if rest then return "Coadyn postagh ayns ny " .. rest end return "Coadyn postagh ayns " .. name end local function linkCodes(items, page) if not page then return items end for index, code in ipairs(items) do if not code:find("[%[{<]") then items[index] = "[[" .. page .. "|" .. code .. "]]" end end return items end -- One item as is; several as a horizontal list. local function joinList(frame, items) if #items == 1 then return items[1] end return frame:expandTemplate{ title = "Hlist", args = items } end -- The country's international dialling code (P474): the item's own country (P17), else the item itself. local function getWdCallingCode() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local candidates = {} for _, statement in ipairs(entity:getBestStatements("P17") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then table.insert(candidates, U.entityId(snak.datavalue.value)) end end for _, id in ipairs(candidates) do local values, refs = getWdValues("P474", id) if values then return values[1], refs end end return nil end local function labelFor(args, names, singular, plural, count) return getManual(args, names) or (count > 1 and plural or singular) end local function postalRow(frame, args, wdOff) local items, refs = nil, "" local manual = getManual(args, { "coad_postagh" }) if isNone(manual) then return nil end if manual then items = splitList(manual) elseif not wdOff then items, refs = getWdValues("P281") end if not items then return nil end local value = joinList(frame, linkCodes(items, postalPage(getCountryName(args)))) if manual then value = U.withNotes(frame, args, value, { "noteyn_coad_postagh" }, { "imraa_coad_postagh" }) else value = value .. refs end local label = labelFor(args, { "sorçh_coad_postagh" }, "Coad&nbsp;postagh", "Coadyn&nbsp;postagh", #items) return U.row("mergedrow", label, '<span class="postal-code">' .. value .. '</span>', "adr") end -- Area codes, each with the international dialling code in front: "+44 1624". local function dialRow(frame, args, wdOff) local items, refs = nil, "" local manual = getManual(args, { "coad_ardjynagh" }) if isNone(manual) then return nil end if manual then items = splitList(manual) elseif not wdOff then items, refs = getWdValues("P473") end if not items then return nil end local prefix = getManual(args, { "coad_çhellvane_cheer", "coad_çhellvane_ashoonagh" }) local prefixRefs = "" if prefix == nil and not wdOff then prefix, prefixRefs = getWdCallingCode() end if isNone(prefix) then prefix = nil end if prefix then for index, code in ipairs(items) do if not code:find("[%[{<]") then items[index] = prefix .. " " .. (code:gsub("^0+", "")) end end end local value = joinList(frame, items) if manual then value = U.withNotes(frame, args, value, { "noteyn_coad_ardjynagh" }, { "imraa_coad_ardjynagh" }) else value = value .. refs end value = value .. (prefixRefs or "") local link = "[[Plan earrooaghey çhellvane|" local label = getManual(args, { "sorçh_coad_ardjynagh" }) or (link .. (#items > 1 and "Coadyn&nbsp;çhellvane" or "Coad&nbsp;çhellvane") .. "]]") return U.row("mergedrow", label, value) end -- One code line: manual value (or none), else Wikidata. Returns the row or nil. local function codeRow(frame, args, wdOff, spec) local manual = getManual(args, spec.names) if isNone(manual) then return nil end local value = manual if value and spec.names[1] == "coad_postagh2" then value = joinList(frame, linkCodes(splitList(value), postalPage(getCountryName(args)))) end if value then value = U.withNotes(frame, args, value, { "noteyn_" .. spec.names[1] }, { "imraa_" .. spec.names[1] }) elseif spec.property and not wdOff then local values, refs = getWdValues(spec.property) if values then value = joinList(frame, values) .. refs end end if not value then return nil end local label = getManual(args, spec.labelNames or {}) or spec.label return U.row("mergedrow", label, value, spec.tdClass) end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local wdOff = isNone(getManual(args, { "coadyn_wd" })) local rows = {} local function add(row) if row then table.insert(rows, row) end end add(postalRow(frame, args, wdOff)) add(codeRow(frame, args, wdOff, { names = { "coad_postagh2" }, labelNames = { "sorçh_coad_postagh2" }, label = "Coad&nbsp;postagh&nbsp;elley", tdClass = "adr" })) add(dialRow(frame, args, wdOff)) add(codeRow(frame, args, wdOff, { names = { "ogher_ingagh_os" }, label = "[[Ingagh Ashoonagh OS|Ogher&nbsp;ingagh&nbsp;OS]]", property = "P613" })) add(codeRow(frame, args, wdOff, { names = { "ogher_ingagh_yernagh" }, label = "[[Corys ogher ingagh Nerin|Ogher&nbsp;ingagh&nbsp;Yernagh]]", property = "P4091" })) add(codeRow(frame, args, wdOff, { names = { "geocode" }, label = "Geocode", tdClass = "nickname" })) add(codeRow(frame, args, wdOff, { names = { "coad_iso" }, label = "Coad&nbsp;ISO&nbsp;3166", property = "P300", tdClass = "nickname" })) add(codeRow(frame, args, wdOff, { names = { "plait_recortyssee" }, label = "[[Plait recortyssee carbyd]]", property = "P395" })) if #rows == 0 then return nil end rows[1] = rows[1]:gsub('^<tr class="mergedrow"', '<tr class="mergedtoprow"', 1) return table.concat(rows) end return p odfmfncyul5qd2p5pt2pzqnrhz8cych 395532 395531 2026-10-29T00:54:50Z MacTire02 219 croo ny kianglaghyn lesh ny lipaidyn 395532 Scribunto text/plain local p = {} local U = require("Module:Kishtey fys boayl/unnidyn") local getManual, isNone = U.getManual, U.isNone -- Lists such as "IM1 / IM2", "IM1, IM2" or "IM1<br>IM2" become separate items. Inside markup only -- spaced slashes, commas, semicolons and line breaks count, so link targets like [[a/b]] survive. local function splitList(text) text = text:gsub("&nbsp;", " "):gsub("\194\160", " "):gsub("&#160;", " ") text = text:gsub("%s+[Aa][Nn][Dd]%s+", " and ") local marked = text:gsub("<br%s*/?>", "\1"):gsub("%s+/%s+", "\1"):gsub("%s+and%s+", "\1"):gsub("%s+as%s+", "\1"):gsub("%s+&amp;%s+", "\1"):gsub("%s+&%s+", "\1"):gsub(",%s+", "\1"):gsub(";%s*", "\1") if not text:find("[%[{<]") then marked = marked:gsub("/", "\1"):gsub(",", "\1") end local items = {} for part in string.gmatch(marked, "[^\1]+") do part = mw.text.trim(part) if part ~= "" then table.insert(items, part) end end return #items > 0 and items or { text } end -- Wikidata string values of a property on the item (or on item `id`), plus the references for them. local function getWdValues(property, id) local statements if id then statements = mw.wikibase.getBestStatements(id, property) else local entity = mw.wikibase.getEntityObject() statements = entity and entity:getBestStatements(property) end local values = {} for _, statement in ipairs(statements or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "string" then for _, item in ipairs(splitList(snak.datavalue.value)) do table.insert(values, item) end end end if #values == 0 then return nil end return values, U.getWdReference(property, nil, id) end -- Country name (Manx): manual aarheynn, else the gv label of P17, else of the item itself. local function getCountryName(args) local manual = getManual(args, { "ennym_aarheynn", "aarheynn", "çheer" }) if manual then return mw.text.trim(manual:match("%[%[[^|%]]*|([^%]]+)%]%]") or manual:match("%[%[([^|%]]+)%]%]") or manual) end local entity = mw.wikibase.getEntityObject() if not entity then return nil end local id for _, statement in ipairs(entity:getBestStatements("P17") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then id = U.entityId(snak.datavalue.value) break end end id = id or entity.id -- The Manx article title (what the Çheer row shows, e.g. "Pobblaght Nerin") before the bare label ("Nerin"). local title = id and mw.wikibase.sitelink(id) if title and title ~= "" then return title end local label = id and mw.wikibase.getLabelByLang(id, "gv") return label ~= "" and label or nil end -- Page about the postal codes of the country: the preposition and article depend on the country name. local function postalPage(country) if not country or country == "" then return nil end local name = country:gsub("^%s+", "") local lower = mw.ustring.lower(name) if lower == "yn serb" then return "Coadyn postagh 'sy Terb" end local rest = name:match("^[Yy]n (.+)$") if rest then local first = mw.ustring.lower(mw.ustring.sub(rest, 1, 1)) if mw.ustring.find("aeiou", first, 1, true) then return "Coadyn postagh 'syn " .. rest end return "Coadyn postagh 'sy " .. rest end rest = name:match("^[Nn]y (.+)$") if rest then return "Coadyn postagh ayns ny " .. rest end return "Coadyn postagh ayns " .. name end local function linkCodes(items, page) if not page then return items end for index, code in ipairs(items) do if not code:find("[%[{<]") then items[index] = "[[" .. page .. "|" .. code .. "]]" end end return items end -- One item as is; several as a horizontal list. local function joinList(frame, items) if #items == 1 then return items[1] end return frame:expandTemplate{ title = "Hlist", args = items } end -- The country's international dialling code (P474): the item's own country (P17), else the item itself. local function getWdCallingCode() local entity = mw.wikibase.getEntityObject() if not entity then return nil end local candidates = {} for _, statement in ipairs(entity:getBestStatements("P17") or {}) do local snak = statement.mainsnak if snak and snak.snaktype == "value" and snak.datavalue and snak.datavalue.type == "wikibase-entityid" then table.insert(candidates, U.entityId(snak.datavalue.value)) end end for _, id in ipairs(candidates) do local values, refs = getWdValues("P474", id) if values then return values[1], refs end end return nil end local function labelFor(args, names, singular, plural, count) return getManual(args, names) or (count > 1 and plural or singular) end local function postalRow(frame, args, wdOff) local items, refs = nil, "" local manual = getManual(args, { "coad_postagh" }) if isNone(manual) then return nil end if manual then items = splitList(manual) elseif not wdOff then items, refs = getWdValues("P281") end if not items then return nil end local value = joinList(frame, linkCodes(items, postalPage(getCountryName(args)))) if manual then value = U.withNotes(frame, args, value, { "noteyn_coad_postagh" }, { "imraa_coad_postagh" }) else value = value .. refs end local label = labelFor(args, { "sorçh_coad_postagh" }, "Coad&nbsp;postagh", "Coadyn&nbsp;postagh", #items) return U.row("mergedrow", label, '<span class="postal-code">' .. value .. '</span>', "adr") end -- Area codes, each with the international dialling code in front: "+44 1624". local function dialRow(frame, args, wdOff) local items, refs = nil, "" local manual = getManual(args, { "coad_ardjynagh" }) if isNone(manual) then return nil end if manual then items = splitList(manual) elseif not wdOff then items, refs = getWdValues("P473") end if not items then return nil end local prefix = getManual(args, { "coad_çhellvane_cheer", "coad_çhellvane_ashoonagh" }) local prefixRefs = "" if prefix == nil and not wdOff then prefix, prefixRefs = getWdCallingCode() end if isNone(prefix) then prefix = nil end if prefix then for index, code in ipairs(items) do if not code:find("[%[{<]") then items[index] = prefix .. " " .. (code:gsub("^0+", "")) end end end local value = joinList(frame, items) if manual then value = U.withNotes(frame, args, value, { "noteyn_coad_ardjynagh" }, { "imraa_coad_ardjynagh" }) else value = value .. refs end value = value .. (prefixRefs or "") local link = "[[Plan earrooaghey çhellvane|" local label = getManual(args, { "sorçh_coad_ardjynagh" }) or (link .. (#items > 1 and "Coadyn&nbsp;çhellvane" or "Coad&nbsp;çhellvane") .. "]]") return U.row("mergedrow", label, value) end -- One code line: manual value (or none), else Wikidata. Returns the row or nil. local function codeRow(frame, args, wdOff, spec) local manual = getManual(args, spec.names) if isNone(manual) then return nil end local value = manual if value and spec.names[1] == "coad_postagh2" then value = joinList(frame, linkCodes(splitList(value), postalPage(getCountryName(args)))) end if value then value = U.withNotes(frame, args, value, { "noteyn_" .. spec.names[1] }, { "imraa_" .. spec.names[1] }) elseif spec.property and not wdOff then local values, refs = getWdValues(spec.property) if values then value = joinList(frame, values) .. refs end end if not value then return nil end local label = getManual(args, spec.labelNames or {}) or spec.label return U.row("mergedrow", label, value, spec.tdClass) end function p.main(frame, args) if not args then args = frame frame = mw.getCurrentFrame() end local wdOff = isNone(getManual(args, { "coadyn_wd" })) local rows = {} local function add(row) if row then table.insert(rows, row) end end add(postalRow(frame, args, wdOff)) add(codeRow(frame, args, wdOff, { names = { "coad_postagh2" }, labelNames = { "sorçh_coad_postagh2" }, label = "Coad&nbsp;postagh&nbsp;elley", tdClass = "adr" })) add(dialRow(frame, args, wdOff)) add(codeRow(frame, args, wdOff, { names = { "ogher_ingagh_os" }, label = "[[Ingagh Ashoonagh OS|Ogher&nbsp;ingagh&nbsp;OS]]", property = "P613" })) add(codeRow(frame, args, wdOff, { names = { "ogher_ingagh_yernagh" }, label = "[[Corys ogher ingagh Nerin|Ogher&nbsp;ingagh&nbsp;Yernagh]]", property = "P4091" })) add(codeRow(frame, args, wdOff, { names = { "geocode" }, label = "Geocode", tdClass = "nickname" })) add(codeRow(frame, args, wdOff, { names = { "coad_iso" }, label = "Coad&nbsp;ISO&nbsp;3166", property = "P300", tdClass = "nickname" })) add(codeRow(frame, args, wdOff, { names = { "plait_recortyssee" }, label = "[[Plait recortyssee carbyd]]", property = "P395" })) if #rows == 0 then return nil end rows[1] = rows[1]:gsub('^<tr class="mergedrow"', '<tr class="mergedtoprow"', 1) return table.concat(rows) end return p pnaawtnn60gr32sgb9htjtj28o8g3zx Clowan:Kishtey fys boayl/styles.css 10 56366 395536 2026-10-29T01:11:01Z MacTire02 219 ++ prowal 395536 sanitized-css text/css /* Clowan:Kishtey fys boayl/styles.css (content model: Sanitized CSS) */ /* The "open the interactive map" toggle under the static map. */ .kfb-map-toggle > .mw-collapsible-toggle { float: none; display: block; margin: 0 0 0.3em 0; text-align: center; font-weight: normal; } .kfb-map-toggle > .mw-collapsible-toggle::before, .kfb-map-toggle > .mw-collapsible-toggle::after, .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text::before, .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text::after { content: none; } .kfb-map-toggle > .mw-collapsible-toggle a { display: inline-block; padding: 0.3em 0.9em; border: 1px solid #a2a9b1; border-radius: 2px; background: #f8f9fa; color: #36c; font-size: 95%; line-height: 1.3; text-decoration: none; cursor: pointer; } .kfb-map-toggle > .mw-collapsible-toggle a:hover { background: #eaf3ff; border-color: #36c; text-decoration: none; } bsmi1u15zly359s2m1ykaainihpmhi5 395538 395536 2026-10-29T01:14:06Z MacTire02 219 ++ 395538 sanitized-css text/css /* Clowan:Kishtey fys boayl/styles.css (content model: Sanitized CSS) */ /* The "open the interactive map" toggle under the static map. MediaWiki renders it as <button class="mw-collapsible-toggle"><span class="mw-collapsible-text">. */ .kfb-map-toggle > .mw-collapsible-toggle { float: none; display: block; margin: 0 auto 0.3em auto; padding: 0.3em 0.9em; border: 1px solid #a2a9b1; border-radius: 2px; background: #f8f9fa; font: inherit; font-size: 95%; line-height: 1.3; cursor: pointer; } .kfb-map-toggle > .mw-collapsible-toggle:hover { background: #eaf3ff; border-color: #36c; } .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text { color: #36c; text-decoration: none; } .kfb-map-toggle > .mw-collapsible-toggle::before, .kfb-map-toggle > .mw-collapsible-toggle::after, .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text::before, .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text::after { content: none; } 9c03jvi2tgppejjv2bg7xant532xm7o 395539 395538 2026-10-29T01:15:58Z MacTire02 219 ++ 395539 sanitized-css text/css /* Clowan:Kishtey fys boayl/styles.css (content model: Sanitized CSS) */ /* The "open the interactive map" toggle under the static map. MediaWiki renders it as <button class="mw-collapsible-toggle"><span class="mw-collapsible-text">. */ .kfb-map-toggle > .mw-collapsible-toggle { float: none; display: block; margin: 0 auto 0.3em auto; padding: 0.3em 0.9em; border: 1px solid #a2a9b1; border-radius: 8px; background: #f8f9fa; font: inherit; font-size: 95%; line-height: 1.3; cursor: pointer; } .kfb-map-toggle > .mw-collapsible-toggle:hover { background: #eaf3ff; border-color: #36c; } .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text { color: #36c; text-decoration: none; } .kfb-map-toggle > .mw-collapsible-toggle::before, .kfb-map-toggle > .mw-collapsible-toggle::after, .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text::before { content: none; } /* The arrow follows the state: down to open the map, up to close it. */ .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text::after { content: " \25BC"; font-size: 120%; vertical-align: -0.05em; } .kfb-map-toggle > .mw-collapsible-toggle-expanded .mw-collapsible-text::after { content: " \25B2"; } 71k5bjbc9wur14rc9suew39dxrq32wv 395541 395539 2026-10-29T01:17:23Z MacTire02 219 ++ 395541 sanitized-css text/css /* Clowan:Kishtey fys boayl/styles.css (content model: Sanitized CSS) */ /* The "open the interactive map" toggle under the static map. MediaWiki renders it as <button class="mw-collapsible-toggle"><span class="mw-collapsible-text">. */ .kfb-map-toggle > .mw-collapsible-toggle { float: none; display: block; box-sizing: border-box; width: 300px; /* the same as the map (MAP_WIDTH in the module) */ max-width: 100%; margin: 0 auto 0.3em auto; padding: 0.3em 0.9em; border: 1px solid #a2a9b1; border-radius: 8px; background: #f8f9fa; font: inherit; font-size: 95%; line-height: 1.3; cursor: pointer; } .kfb-map-toggle > .mw-collapsible-toggle:hover { background: #eaf3ff; border-color: #36c; } .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text { color: #36c; text-decoration: none; } .kfb-map-toggle > .mw-collapsible-toggle::before, .kfb-map-toggle > .mw-collapsible-toggle::after, .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text::before { content: none; } /* The arrow follows the state: down to open the map, up to close it. */ .kfb-map-toggle > .mw-collapsible-toggle .mw-collapsible-text::after { content: " \25BC"; font-size: 120%; vertical-align: -0.05em; } .kfb-map-toggle > .mw-collapsible-toggle-expanded .mw-collapsible-text::after { content: " \25B2"; } axom0j2vow9ovbh9dt71f7cgek2ugpo Ronney:Steatyn as thallooyn bunnit 'sy vlein 1899 14 56367 395559 2026-10-29T11:54:27Z MacTire02 219 ronney noa 395559 wikitext text/x-wiki {{state est cat|1899}} qmu9i4qt94t2nf703danrlzjwluf9no Ronney:Politickaght 'sy vlein 1899 14 56368 395560 2026-10-29T11:55:11Z MacTire02 219 ronney noa 395560 wikitext text/x-wiki {{kione ronney politickagh rere blein}} rqa8k3uymgcncvjf3dabtipmhh6dnk3 Ronney:Politickaght ayns ny 1890yn 14 56369 395561 2026-10-29T11:55:45Z MacTire02 219 ronney noa 395561 wikitext text/x-wiki {{kione ronney politickagh rere jeihaght}} n24cjtvted2t608qur94xh7a23sdbzd Ronney:Politickaght 'sy 19oo eash 14 56370 395562 2026-10-29T11:56:25Z MacTire02 219 ronney noa 395562 wikitext text/x-wiki {{category series navigation}} {{commonscat|Politics in the 19th century|Politickaght 'sy 19oo eash}} [[Ronney:19oo eash]] [[Ronney:Politickaght rere eash|19]] 2gf6u2z926azrdxsd760eocflomtttx Ronney:Steatyn as thallooyn bunnit 'sy vlein 1556 14 56371 395563 2026-10-29T11:57:17Z MacTire02 219 ronney noa 395563 wikitext text/x-wiki {{state est cat|1556}} smlx3dgwczwvkx8a5d36hgjy6suw794 Ronney:Bunneeaghtyn 'sy vlein 1556 14 56372 395564 2026-10-29T11:58:13Z MacTire02 219 ronney noa 395564 wikitext text/x-wiki {{Kione ronney bunneeaghtyn 'sy vlein|{{Title year}}}} sozd10oklpzrh0y8m2wsgnay7eh6kro