Wikipedia gvwiki https://gv.wikipedia.org/wiki/Ard-ghuillag MediaWiki 1.46.0-wmf.24 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 Wikipedia:Ynnyd y phobble 4 1478 378264 377447 2026-04-26T00:57:53Z MediaWiki message delivery 8133 /* Request for comment (global AI policy) */ new section 378264 wikitext text/x-wiki {{Tashtlann-Ynnyd y phobble}} == Wikidata event 17th January looking for speakers of indigenous UK languages == Apologies for the English language post. Before Christmas I posted about this event [https://meta.wikimedia.org/wiki/Event:Revitalizing_UK_History_2 Revitalising UK history (Series 2)] however due to a tech issue it has had to be rescheduled for '''Saturday 17th January 2026''' We'd love to be able to add multilingual labels to UK figures in a range of languages, including Manx if possible so if there is anyone here with an interest in learning more about Wikidata or adding multilingual labels, you'd be very welcome. More information and registration can be found at https://meta.wikimedia.org/wiki/Event:Revitalizing_UK_History_2 [[Ymmydeyr:Gemma Coleman (WMUK)|Gemma Coleman (WMUK)]] ([[Resooney ymmydeyr:Gemma Coleman (WMUK)|resoonaght]]) 15:09, 7 Jerrey Geuree 2026 (UTC) == Thank You for Last Year – Join Wiki Loves Ramadan 2026 == Dear Wikimedia communities, We hope you are doing well, and we wish you a happy New Year. ''Last year, we captured light. This year, we’ll capture legacy.'' In 2025, communities around the world shared the glow of Ramadan nights and the warmth of collective iftars. In 2026, ''Wiki Loves Ramadan'' is expanding, bringing more stories, more cultures, and deeper global connections across Wikimedia projects. We invite you to explore the ''Wiki Loves Ramadan 2026'' [[m:Special:MyLanguage/Wiki Loves Ramadan 2026|Meta page]] to learn how you can participate and [[m:Special:MyLanguage/Wiki Loves Ramadan 2026/Participating communities|sign up]] your community. 📷 ''Photo campaign on '' [[c:Special:MyLanguage/Commons:Wiki Loves Ramadan 2026|Wikimedia Commons]] If you have questions about the project, please refer to the FAQs: * [[m:Special:MyLanguage/Wiki Loves Ramadan/FAQ/|Meta-Wiki]] * [[c:Special:MyLanguage/Commons:Wiki Loves Ramadan/FAQ|Wikimedia Commons]] ''Early registration for updates is now open via the '''[[m:Special:RegisterForEvent/2710|Event page]]''''' ''Stay connected and receive updates:'' * [https://t.me/WikiLovesRamadan Telegram channel] * [https://lists.wikimedia.org/postorius/lists/wikilovesramadan.lists.wikimedia.org/ Mailing list] We look forward to collaborating with you and your community. '''The Wiki Loves Ramadan 2026 Organizing Team''' 19:45, 16 Jerrey Geuree 2026 (UTC) <!-- Message sent by User:ZI Jony@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=29879549 --> == Feminism and Folklore 2026 starts soon == <div style="border:8px maroon ridge;padding:6px;"> [[File:Feminism and Folklore 2026 logo.svg|centre|550px|frameless]] ::<div lang="en" dir="ltr" class="mw-content-ltr"> <div style="text-align: center; width: 100%;">''{{int:please-translate}}''</div> ;Invitation to Organize Feminism and Folklore 2026 Dear Wiki Community, We are pleased to invite Wikimedia communities, affiliates, and independent contributors to organize the '''[[:m:Feminism and Folklore 2026|Feminism and Folklore 2026]]''' writing competition on your local Wikipedia. The international campaign will run from '''1 February to 31 March 2026''' and aims to improve coverage of feminism, women’s histories, gender-related topics, and folk culture across Wikipedia projects. ;About the Campaign '''Feminism and Folklore''' is a global writing initiative that complements the '''[[:c:Commons:Wiki Loves Folklore 2026|Wiki Loves Folklore]]''' photography competition. While Wiki Loves Folklore focuses on visual documentation, this writing campaign addresses the '''gender gap on Wikipedia''' by improving encyclopedic content related to folk culture and marginalized voices. ;What Can Participants Write About? Communities can contribute by creating, expanding, or translating articles related to: * Folk festivals, rituals, and celebrations * Folk dances, music, and traditional performances * Women and queer figures in folklore * Women in mythology and oral traditions * Women warriors, witches, and witch-hunting narratives * Fairy tales, folk stories, and legends * Folk games, sports, and cultural practices Participants may work from curated article lists or generate new article suggestions using campaign tools. ;How to Sign Up as an Organizer Organizers are requested to complete the following steps to register their community: # Create a local project page on your wiki [[:m:Feminism and Folklore/Sample|(see sample)]] # Set up the campaign using the '''CampWiz''' tool # Prepare a local article list and clearly mention: #* Campaign timeline #* Local and international prizes # Request a site notice from local administrators [[:mr:Template:SN-FNF|(see sample)]] # Add your local project page and CampWiz link to the '''[[:m:Feminism and Folklore 2026/Project Page|Meta project page]]''' ;Campaign Tools The Wiki Loves Folklore Tech Team has introduced tools to support organizers and participants: * '''Article List Generator by Topic''' – Helps identify articles available on English Wikipedia but missing in your local language Wikipedia. The tool allows customized filters and provides downloadable article lists in CSV and wikitable formats. * '''CampWiz''' – Enables communities to manage writing campaigns effectively, including jury-based evaluation. This will be the third year CampWiz is officially used for Feminism and Folklore. Both tools are now available for use in the campaign. '''[https://tools.wikilovesfolklore.org/ Click here to access the tools]''' ;Learn More & Get Support For detailed information about rules, timelines, and prizes, please visit the '''[[:m:Feminism and Folklore 2026|Feminism and Folklore 2026 project page]]'''. If you have any questions or need assistance, feel free to reach out via: * '''[[:m:Talk:Feminism and Folklore 2026/Project Page|Meta talk page]]''' * Email us using details on the contact page. ;Join Us We look forward to your collaboration and coordination in making Feminism and Folklore 2026 a meaningful and impactful campaign for closing gender gaps and enriching folk culture content on Wikipedia. Thank you and best wishes, '''[[:m:Feminism and Folklore 2026|Feminism and Folklore 2026 International Team]]''' ---- ''Stay connected:'' [[File:B&W Facebook icon.png|link=https://www.facebook.com/feminismandfolklore/|30x30px]]&nbsp; [[File:B&W Twitter icon.png|link=https://twitter.com/wikifolklore|30x30px]] </div></div> == Invitation to Host Wiki Loves Folklore 2026 in Your Country == <div lang="en" dir="ltr" class="mw-content-ltr"> <div style="text-align: center; width: 100%;">''{{int:please-translate}}''</div> [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] Hello everyone, We are delighted to invite Wikimedia affiliates, user groups, and community organizations worldwide to participate in '''Wiki Loves Folklore 2026''', an international initiative dedicated to documenting and celebrating folk culture across the globe. ;About Wiki Loves Folklore '''Wiki Loves Folklore''' is an annual international photography competition hosted on Wikimedia Commons. The campaign runs from '''1 February to 31 March 2026''' and encourages photographers, cultural enthusiasts, and community members to contribute photographs that highlight: * Folk traditions and rituals * Cultural festivals and celebrations * Traditional attire and crafts * Performing arts, music, and dance * Everyday practices rooted in folk heritage Through this campaign, we aim to preserve and promote diverse folk cultures and make them freely accessible to the world. [[:c:Commons:Wiki_Loves_Folklore_2026|Project page on Wikimedia Commons]] ; Host a Local Edition As we celebrate the '''eight edition''' of Wiki Loves Folklore, we warmly invite communities to organize a local edition in their country or region. Hosting a local campaign is a great opportunity to: * Increase visibility of your region’s folk culture * Engage new contributors in your community * Enrich Wikimedia Commons with high-quality cultural content '''[[:c:Commons:Wiki_Loves_Folklore_2026/Organize|Sign up to organize]]:''' If your team prefers to organize the competition in ''either February or March only'', please feel free to let us know. If you are unable to organize, we encourage you to share this opportunity with other interested groups or organizations in your region. ;Get in Touch If you have any questions, need support, or would like to explore collaboration opportunities, please feel free to contact us via: * The project Talk pages * Email: '''support@wikilovesfolklore.org''' We are also happy to connect via an online meeting if your team would like to discuss planning or coordination in more detail. Warm regards, '''The Wiki Loves Folklore International Team''' </div> [[Ymmydeyr:MediaWiki message delivery|MediaWiki message delivery]] ([[Resooney ymmydeyr:MediaWiki message delivery|resoonaght]]) 13:21, 18 Jerrey Geuree 2026 (UTC) <!-- Message sent by User:Tiven2240@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedia&oldid=29228188 --> == <span lang="en" dir="ltr">Annual review of the Universal Code of Conduct and Enforcement Guidelines</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> I am writing to you to let you know the annual review period for the Universal Code of Conduct and Enforcement Guidelines is open now. You can make suggestions for changes through 9 February 2026. This is the first step of several to be taken for the annual review. [[m:Special:MyLanguage/Universal Code of Conduct/Annual review/2026|Read more information and find a conversation to join on the UCoC page on Meta]]. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Universal Code of Conduct Coordinating Committee]] (U4C) is a global group dedicated to providing an equitable and consistent implementation of the UCoC. This annual review was planned and implemented by the U4C. For more information and the responsibilities of the U4C, [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|you may review the U4C Charter]]. Please share this information with other members in your community wherever else might be appropriate. -- In cooperation with the U4C, [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]])<section end="announcement-content" /> </div> 21:01, 19 Jerrey Geuree 2026 (UTC) <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29905753 --> == <span lang="en" dir="ltr">Migration to Parsoid</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> <em>[[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Parsoid Read Views/Read View Announcement|Read this in another language]]</em> Hello everyone! I am glad to inform you that as the next step in the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parser Unification]] project, Parsoid will soon be turned on as the default article renderer on your wiki. We are gradually increasing the number of wikis using Parsoid, with the intention of making it the default wikitext parser for MediaWiki's next long-term support release. This will make our wikis more reliable and consistent for editors, readers, and tools to use, as well as making the development of future wikitext features easier. If this disrupts your workflow, don’t worry! You can still opt out through a user preference or turn Parsoid off on the current page using the Tools submenu, as described in the [[mw:Special:MyLanguage/Help:Extension:ParserMigration|Extension:ParserMigration]] documentation. There is [[mw:Special:MyLanguage/Parsoid/Parser Unification/Confidence Framework|more information about our roll-out strategy]] available, including the testing done before we turn on Parsoid for a new wiki. To report bugs and issues, please look at our [[mw:Special:MyLanguage/Parsoid/Parser Unification/Known Issues|known issues]] documentation and if you found a new bug please create a phab ticket and tag the [[phab:project/view/5846|Content Transform Team in Phabricator]]. <section end="announcement-content" /> </div> <bdi lang="en" dir="ltr">[[mw:User:ABreault (WMF)|Content Transform Team]]</bdi> 00:42, 18 Toshiaght Arree 2026 (UTC) <!-- Message sent by User:ABreault (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Wikimedia_Foundation/Product_and_Technology/Parsoid_Read_Views/2026-02-16_Wikipedias&oldid=30094589 --> == Wiki Loves Folklore 2026 - how to take part == Apologies for the English message. If there are keen photographers here, I just wanted to let you know about [https://commons.wikimedia.org/wiki/Commons:Wiki_Loves_Folklore_2026_in_England Wiki Loves Folklore]. Wiki Loves Folklore is a photographic competition that celebrates our intangible cultural heritage. So if you have photos of a festival, a dance, a traditional food or anything else relating to the Isle of Man's cultural heritage, you can upload them through the link above for submission to the competition and for Wikipedians to use in future articles! All 4 nations of the UK are taking part so if you have pics from [https://commons.wikimedia.org/wiki/Commons:Wiki_Loves_Folklore_2026_in_Wales Wales], [https://commons.wikimedia.org/wiki/Commons:Wiki_Loves_Folklore_2026_in_Scotland Scotland] or [https://commons.wikimedia.org/wiki/Wiki_Loves_Folklore_2026_in_Ireland Northern Ireland] (organised by Wikimedia Community Ireland), we'd love those too! You can upload them through the relevant nation pages (follow the links from the name above) [[Ymmydeyr:Gemma Coleman (WMUK)|Gemma Coleman (WMUK)]] ([[Resooney ymmydeyr:Gemma Coleman (WMUK)|resoonaght]]) 09:13, 25 Toshiaght Arree 2026 (UTC) == Join the sixth Ukraine’s Cultural Diplomacy Month on Wikipedia! == <div lang="en" dir="ltr"> [[File:Ukraine’s Cultural Diplomacy Month on Wikipedia 2026.png|right|250px|thumb|link=https://meta.wikimedia.org/wiki/Ukraine%27s_Cultural_Diplomacy_Month_2026|Join our campaign!]] {{int:please-translate}} Dear Wikipedians! [[:m:Special:MyLanguage/Wikimedia Ukraine|Wikimedia Ukraine]], in cooperation with the [[:en:Ministry of Foreign Affairs of Ukraine|MFA of Ukraine]] and [[:en:Ukrainian Institute|Ukrainian Institute]], has launched the sixth edition of writing challenge "'''[[:m:Special:MyLanguage/Ukraine's Cultural Diplomacy Month 2026|Ukraine's Cultural Diplomacy Month]]'''", which lasts from '''1st April''' until '''30th April 2026'''. The initiative aims to promote knowledge about Ukrainian culture abroad by creating and improving Wikipedia articles in multiple languages. This year marks the sixth edition of the campaign, which will focus on contemporary culture, making today’s artistic voices and practices more visible to international audiences. 🧩'''How to participate?''' Choose an article from the suggested list → Write an article in your language, or improve an existing one according to the rules → Add your contribution to the contest page and calculate your points → Win prizes and receive a certificate of participation → Become a promoter of truthful knowledge about Ukraine. 🧩'''[[m:Special:MyLanguage/Ukraine's Cultural Diplomacy Month 2026|Check our main page for more information]]'''. '''If you are interested in coordinating long-term community engagement for the campaign and becoming a local ambassador, we would love to hear from you! Please let us know your interest.''' If not, then we encourage you to translate the [[m:Special:MyLanguage/Ukraine's Cultural Diplomacy Month 2026|landing page of the contest]] and [https://meta.wikimedia.org/wiki/Special:MessageGroupStats?group=Centralnotice-tgroup-UCDM2026banner&messages=&language=en&x=D banner] into your own language. Also, we set up a [[:m:CentralNotice/Request/Ukraine's Cultural Diplomacy Month 2026|banner]] to notify users of the possibility to participate in this challenge! [[:m:User:OlesiaLukaniuk (WMUA)|OlesiaLukaniuk (WMUA)]] ([[:m:User talk:OlesiaLukaniuk (WMUA)|talk]]) 04:35, 1 April 2026 (UTC) </div> <!-- Message sent by User:OlesiaLukaniuk (WMUA)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:OlesiaLukaniuk_(WMUA)/list_of_wikis&oldid=28552112 --> == Action Required: Update templates/modules for electoral maps (Migrating from P1846 to P14226) == Hello everyone, This is a notice regarding an ongoing data migration on Wikidata that may affect your election-related templates and Lua modules (such as <code>Module:Itemgroup/list</code>). '''The Change:'''<br /> Currently, many templates pull electoral maps from Wikidata using the property [[:d:Property:P1846|P1846]], combined with the qualifier [[:d:Property:P180|P180]]: [[:d:Q19571328|Q19571328]]. We are migrating this data (across roughly 4,000 items) to a newly created, dedicated property: '''[[:d:Property:P14226|P14226]]'''. '''What You Need To Do:'''<br /> To ensure your templates and infoboxes do not break or lose their maps, please update your local code to fetch data from [[:d:Property:P14226|P14226]] instead of the old [[:d:Property:P1846|P1846]] + [[:d:Property:P180|P180]] structure. A [[m:Wikidata/Property Migration: P1846 to P14226/List|list of pages]] was generated using Wikimedia Global Search. '''Deadline:'''<br /> We are temporarily retaining the old data on [[:d:Property:P1846|P1846]] to allow for a smooth transition. However, to complete the data cleanup on Wikidata, the old [[:d:Property:P1846|P1846]] statements will be removed after '''May 1, 2026'''. Please update your modules and templates before this date to prevent any disruption to your wiki's election articles. Let us know if you have any questions or need assistance with the query logic. Thank you for your help! [[User:ZI Jony|ZI Jony]] using [[Ymmydeyr:MediaWiki message delivery|MediaWiki message delivery]] ([[Resooney ymmydeyr:MediaWiki message delivery|resoonaght]]) 17:11, 3 Averil 2026 (UTC) <!-- Message sent by User:ZI Jony@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=29941252 --> == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> Apologies for writing in English. {{int:Please-translate}} A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[Ymmydeyr:MediaWiki message delivery|MediaWiki message delivery]] ([[Resooney ymmydeyr:MediaWiki message delivery|resoonaght]]) 00:57, 26 Averil 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> 6r1okp7c0njyr7mz068p3b33xdoos6t Reagheydys Chonaant yn Atlantagh Hwoaie 0 4193 378252 351014 2026-04-26T00:35:19Z MacTire02 219 ronney elley 378252 wikitext text/x-wiki {{Kishtey fys sheshaght |ennym =Reagheydys Chonaant yn Atlantagh Hwoaie<br /><small>North Atlantic Treaty Organisation<br />Organisation du traité de l'Atlantique nord</small> |jalloo =Flag of NATO.svg |fo-heidyl =Brattagh yn RCAH |caslys-çheerey =North_Atlantic_Treaty_Organization_(orthographic_projection)_in_NATO_blue.svg |kione-cherroo =[[Yn Vrussyl]] |olteynys ={{Rolley yn-filley|titlestyle = background:transparent;text-align:left;font-weight:normal; |title = [[Çheeraghyn-oltey Reagheydys Chonaant yn Atlantagh Hwoaie|32 steat]] |{{brattagh|Albania|Yn Albaan}} |{{brattagh|Canada|Yn Chanadey{{!}}Y Chanadey}} |{{brattagh|the Czech Republic|Yn Çheck{{!}}Y Çheck}} |{{nowrap|{{brattagh|the Netherlands|Yn Çheer Injil{{!}}Y Çheer Injil}}}} |{{brattagh|Croatia|Yn Chroit{{!}}Y Chroit}} |{{brattagh|Slovakia|Yn Clovack{{!}}Y Clovack}} |{{brattagh|Slovenia|Yn Clovean{{!}}Y Clovean}} |{{brattagh|Denmark|Yn Danvarg{{!}}Y Danvarg}} |{{brattagh|Iceland|Yn Eeslynn}} |{{brattagh|Estonia|Yn Estaan}} |{{brattagh|Finland|Finnlynn}} |{{brattagh|Germany|Yn Ghermaan{{!}}Y Ghermaan}} |{{brattagh|Greece|Yn Ghreag{{!}}Y Ghreag}} |{{brattagh|Italy|Yn Iddaal}} |{{brattagh|Latvia|Yn Latvey{{!}}Y Latvey}} |{{brattagh|Lithuania|Yn Litaan{{!}}Y Litaan}} |{{brattagh|Luxembourg|Lucsemburg}} |{{brattagh|Montenegro|Montenegro}} |{{brattagh|Norway|Norlynn}} |{{brattagh|Poland|Yn Pholynn{{!}}Y Pholynn}} |{{brattagh|Portugal|Yn Phortiugal{{!}}Y Phortiugal}} |{{brattagh|France|Yn Rank{{!}}Y Rank}} |{{nowrap|{{brattagh|the United Kingdom|Reeriaght Unnaneysit}}}} |{{brattagh|Romania|Yn Romaan{{!}}Y Romaan}} |{{brattagh|Spain|Yn Spaainey{{!}}Y Spaainey}} |{{nowrap|{{brattagh|the United States|Ny Steatyn Unnaneysit}}}} |{{brattagh|Sweden|Yn Toolynn{{!}}Y Toolynn}} |{{brattagh|Turkey|Yn Turkee{{!}}Y Turkee}} |{{brattagh|Hungary|Yn Ungaar}} |{{nowrap|{{brattagh|North Macedonia|Yn Vassadoan Hwoaie{{!}}Y Vassadoan Hwoaie}}}} |{{brattagh|Belgium|Yn Velg{{!}}Y Velg}} |{{brattagh|Bulgaria|Yn Vulgeyr{{!}}Y Vulgeyr}} }} |çhengey =[[Baarle]], [[Frangish]] |ard-screeudeyr=[[Mark Rutte]] |bunneeaght =4 Averil 1949 |ynnyd-eggey =[http://www.nato.int www.nato.int] }} Ta '''Reagheydys Chonaant yn Atlantagh Hwoaie''' ny '''RCAH''' ({{lan-en|North Atlantic Treaty Organisation - NATO}}, {{lang-fr|Organisation du traité de l'Atlantique nord - OTAN}}) ny reagheydys caggee eddyr-ashoonagh. Va'n reagheydys currit er bun er 4 Averil 1949 erreish da foscreeu [[Conaant yn Atlantagh Hwoaie|Chonaant yn Atlantagh Hwoaie]]. Ta kione-cherroo yn reagheydys soit 'sy [[Yn Vrussyl|Vrussyl]], [[yn Velg|y Velg]]. {{gurneil eaghtyrys}} {{DEFAULTSORT:Nato}} [[Ronney:Reagheydys Chonaant yn Atlantagh Hwoaie| ]] [[Ronney:Bunneeaghtyn ayns ny Steatyn Unnaneysit 'sy vlein 1949]] [[Ronney:Shennaghys caggee 'sy vlein 1949]] [[Ronney:Reagheydyssyn noi-chummynagh]] [[Ronney:Cochaarjyssyn as strateysh chaggee yn Chaggey Feayr]] [[Ronney:Reagheydyssyn y Chaggey Feayr]] [[Ronney:Conaantyn y Chaggey Feayr]] [[Ronney:Mooinjerys joarree yn Unnaneys Soveidjagh]] [[Ronney:Reagheydyssyn caggee eddyrashoonagh]] [[Ronney:Cochaarjyssyn caggee lesh yn Albaan]] [[Ronney:Cochaarjyssyn caggee lesh y Chanadey]] [[Ronney:Cochaarjyssyn caggee lesh y Çheck]] [[Ronney:Cochaarjyssyn caggee lesh y Çheer Injil]] [[Ronney:Cochaarjyssyn caggee lesh y Chroit]] [[Ronney:Cochaarjyssyn caggee lesh y Danvarg]] [[Ronney:Cochaarjyssyn caggee lesh yn Estaan]] [[Ronney:Cochaarjyssyn caggee lesh Finnlynn]] [[Ronney:Cochaarjyssyn caggee lesh y Ghermaan]] [[Ronney:Cochaarjyssyn caggee lesh y Ghreag]] [[Ronney:Cochaarjyssyn caggee lesh yn Iddaal]] [[Ronney:Cochaarjyssyn caggee lesh y Latvey]] [[Ronney:Cochaarjyssyn caggee lesh y Litaan]] [[Ronney:Cochaarjyssyn caggee lesh Lucsemburg]] [[Ronney:Cochaarjyssyn caggee lesh Norlynn]] [[Ronney:Cochaarjyssyn caggee lesh y Pholynn]] [[Ronney:Cochaarjyssyn caggee lesh y Phortiugal]] [[Ronney:Cochaarjyssyn caggee lesh y Rank]] [[Ronney:Cochaarjyssyn caggee lesh y Reeriaght Unnaneysit]] [[Ronney:Cochaarjyssyn caggee lesh y Romaan]] [[Ronney:Cochaarjyssyn caggee lesh y Spaainey]] [[Ronney:Cochaarjyssyn caggee lesh ny Steatyn Unnaneysit]] [[Ronney:Cochaarjyssyn caggee lesh y Toolynn]] [[Ronney:Cochaarjyssyn caggee lesh y Turkee]] [[Ronney:Cochaarjyssyn caggee lesh yn Ungaar]] [[Ronney:Cochaarjyssyn caggee lesh y Vassadoan Hwoaie]] [[Ronney:Cochaarjyssyn caggee lesh y Velg]] [[Ronney:Cochaarjyssyn caggee lesh y Vulgeyr]] [[Ronney:Unnidyn as possanyn caggee bunnit 'sy vlein 1949]] [[Ronney:Reagheydyssyn bunnit 'sy Vrussyl]] [[Ronney:Sur-reagheydyssyn]] fol8lfy5yw43tqmfntl28n8ndycj4ef 378253 378252 2026-04-26T00:35:53Z MacTire02 219 catsort 378253 wikitext text/x-wiki {{Kishtey fys sheshaght |ennym =Reagheydys Chonaant yn Atlantagh Hwoaie<br /><small>North Atlantic Treaty Organisation<br />Organisation du traité de l'Atlantique nord</small> |jalloo =Flag of NATO.svg |fo-heidyl =Brattagh yn RCAH |caslys-çheerey =North_Atlantic_Treaty_Organization_(orthographic_projection)_in_NATO_blue.svg |kione-cherroo =[[Yn Vrussyl]] |olteynys ={{Rolley yn-filley|titlestyle = background:transparent;text-align:left;font-weight:normal; |title = [[Çheeraghyn-oltey Reagheydys Chonaant yn Atlantagh Hwoaie|32 steat]] |{{brattagh|Albania|Yn Albaan}} |{{brattagh|Canada|Yn Chanadey{{!}}Y Chanadey}} |{{brattagh|the Czech Republic|Yn Çheck{{!}}Y Çheck}} |{{nowrap|{{brattagh|the Netherlands|Yn Çheer Injil{{!}}Y Çheer Injil}}}} |{{brattagh|Croatia|Yn Chroit{{!}}Y Chroit}} |{{brattagh|Slovakia|Yn Clovack{{!}}Y Clovack}} |{{brattagh|Slovenia|Yn Clovean{{!}}Y Clovean}} |{{brattagh|Denmark|Yn Danvarg{{!}}Y Danvarg}} |{{brattagh|Iceland|Yn Eeslynn}} |{{brattagh|Estonia|Yn Estaan}} |{{brattagh|Finland|Finnlynn}} |{{brattagh|Germany|Yn Ghermaan{{!}}Y Ghermaan}} |{{brattagh|Greece|Yn Ghreag{{!}}Y Ghreag}} |{{brattagh|Italy|Yn Iddaal}} |{{brattagh|Latvia|Yn Latvey{{!}}Y Latvey}} |{{brattagh|Lithuania|Yn Litaan{{!}}Y Litaan}} |{{brattagh|Luxembourg|Lucsemburg}} |{{brattagh|Montenegro|Montenegro}} |{{brattagh|Norway|Norlynn}} |{{brattagh|Poland|Yn Pholynn{{!}}Y Pholynn}} |{{brattagh|Portugal|Yn Phortiugal{{!}}Y Phortiugal}} |{{brattagh|France|Yn Rank{{!}}Y Rank}} |{{nowrap|{{brattagh|the United Kingdom|Reeriaght Unnaneysit}}}} |{{brattagh|Romania|Yn Romaan{{!}}Y Romaan}} |{{brattagh|Spain|Yn Spaainey{{!}}Y Spaainey}} |{{nowrap|{{brattagh|the United States|Ny Steatyn Unnaneysit}}}} |{{brattagh|Sweden|Yn Toolynn{{!}}Y Toolynn}} |{{brattagh|Turkey|Yn Turkee{{!}}Y Turkee}} |{{brattagh|Hungary|Yn Ungaar}} |{{nowrap|{{brattagh|North Macedonia|Yn Vassadoan Hwoaie{{!}}Y Vassadoan Hwoaie}}}} |{{brattagh|Belgium|Yn Velg{{!}}Y Velg}} |{{brattagh|Bulgaria|Yn Vulgeyr{{!}}Y Vulgeyr}} }} |çhengey =[[Baarle]], [[Frangish]] |ard-screeudeyr=[[Mark Rutte]] |bunneeaght =4 Averil 1949 |ynnyd-eggey =[http://www.nato.int www.nato.int] }} Ta '''Reagheydys Chonaant yn Atlantagh Hwoaie''' ny '''RCAH''' ({{lan-en|North Atlantic Treaty Organisation - NATO}}, {{lang-fr|Organisation du traité de l'Atlantique nord - OTAN}}) ny reagheydys caggee eddyr-ashoonagh. Va'n reagheydys currit er bun er 4 Averil 1949 erreish da foscreeu [[Conaant yn Atlantagh Hwoaie|Chonaant yn Atlantagh Hwoaie]]. Ta kione-cherroo yn reagheydys soit 'sy [[Yn Vrussyl|Vrussyl]], [[yn Velg|y Velg]]. {{gurneil eaghtyrys}} [[Ronney:Reagheydys Chonaant yn Atlantagh Hwoaie| ]] [[Ronney:Bunneeaghtyn ayns ny Steatyn Unnaneysit 'sy vlein 1949]] [[Ronney:Shennaghys caggee 'sy vlein 1949]] [[Ronney:Reagheydyssyn noi-chummynagh]] [[Ronney:Cochaarjyssyn as strateysh chaggee yn Chaggey Feayr]] [[Ronney:Reagheydyssyn y Chaggey Feayr]] [[Ronney:Conaantyn y Chaggey Feayr]] [[Ronney:Mooinjerys joarree yn Unnaneys Soveidjagh]] [[Ronney:Reagheydyssyn caggee eddyrashoonagh]] [[Ronney:Cochaarjyssyn caggee lesh yn Albaan]] [[Ronney:Cochaarjyssyn caggee lesh y Chanadey]] [[Ronney:Cochaarjyssyn caggee lesh y Çheck]] [[Ronney:Cochaarjyssyn caggee lesh y Çheer Injil]] [[Ronney:Cochaarjyssyn caggee lesh y Chroit]] [[Ronney:Cochaarjyssyn caggee lesh y Danvarg]] [[Ronney:Cochaarjyssyn caggee lesh yn Estaan]] [[Ronney:Cochaarjyssyn caggee lesh Finnlynn]] [[Ronney:Cochaarjyssyn caggee lesh y Ghermaan]] [[Ronney:Cochaarjyssyn caggee lesh y Ghreag]] [[Ronney:Cochaarjyssyn caggee lesh yn Iddaal]] [[Ronney:Cochaarjyssyn caggee lesh y Latvey]] [[Ronney:Cochaarjyssyn caggee lesh y Litaan]] [[Ronney:Cochaarjyssyn caggee lesh Lucsemburg]] [[Ronney:Cochaarjyssyn caggee lesh Norlynn]] [[Ronney:Cochaarjyssyn caggee lesh y Pholynn]] [[Ronney:Cochaarjyssyn caggee lesh y Phortiugal]] [[Ronney:Cochaarjyssyn caggee lesh y Rank]] [[Ronney:Cochaarjyssyn caggee lesh y Reeriaght Unnaneysit]] [[Ronney:Cochaarjyssyn caggee lesh y Romaan]] [[Ronney:Cochaarjyssyn caggee lesh y Spaainey]] [[Ronney:Cochaarjyssyn caggee lesh ny Steatyn Unnaneysit]] [[Ronney:Cochaarjyssyn caggee lesh y Toolynn]] [[Ronney:Cochaarjyssyn caggee lesh y Turkee]] [[Ronney:Cochaarjyssyn caggee lesh yn Ungaar]] [[Ronney:Cochaarjyssyn caggee lesh y Vassadoan Hwoaie]] [[Ronney:Cochaarjyssyn caggee lesh y Velg]] [[Ronney:Cochaarjyssyn caggee lesh y Vulgeyr]] [[Ronney:Unnidyn as possanyn caggee bunnit 'sy vlein 1949]] [[Ronney:Reagheydyssyn bunnit 'sy Vrussyl]] [[Ronney:Sur-reagheydyssyn]] 93f7gz8xj6fb5s0jk0fx2e9uhj0ukvg Ronney:Reagheydys Chonaant yn Atlantagh Hwoaie 14 7175 378250 354489 2026-04-26T00:34:51Z MacTire02 219 ronney elley 378250 wikitext text/x-wiki {{Commons category|North Atlantic Treaty Organization|Reagheydys Chonaant yn Atlantagh Hwoaie}} {{Catmore|Reagheydys Chonaant yn Atlantagh Hwoaie}} [[Ronney:Cochaarjyssyn caggee yn 20oo eash]] [[Ronney:Cochaarjyssyn caggee yn 21d eash]] [[Ronney:Shennaghys caggee 'sy vlein 1949]] [[Ronney:Reagheydyssyn noi-chummynagh]] [[Ronney:Reagheydyssyn y Chaggey Feayr]] [[Ronney:Conaantyn y Chaggey Feayr]] [[Ronney:Mooinjerys joarree yn Unnaneys Soveidjagh]] [[Ronney:Reagheydyssyn caggee eddyrashoonagh]] [[Ronney:Reagheydyssyn eddyrashoonagh bunnit 'sy Velg]] [[Ronney:Reagheydyssyn eddyr-reiltyssagh bunnit rere conaant]] [[Ronney:Cochaarjyssyn caggee lesh yn Albaan]] [[Ronney:Cochaarjyssyn caggee lesh y Chanadey]] [[Ronney:Cochaarjyssyn caggee lesh y Çheer Injil]] [[Ronney:Cochaarjyssyn caggee lesh y Chroit]] [[Ronney:Cochaarjyssyn caggee lesh y Clovack]] [[Ronney:Cochaarjyssyn caggee lesh y Clovean]] [[Ronney:Cochaarjyssyn caggee lesh y Danvarg]] [[Ronney:Cochaarjyssyn caggee lesh yn Eeslynn]] [[Ronney:Cochaarjyssyn caggee lesh yn Estaan]] [[Ronney:Cochaarjyssyn caggee lesh Finnlynn]] [[Ronney:Cochaarjyssyn caggee lesh y Ghermaan]] [[Ronney:Cochaarjyssyn caggee lesh y Ghreag]] [[Ronney:Cochaarjyssyn caggee lesh yn Iddaal]] [[Ronney:Cochaarjyssyn caggee lesh y Latvey]] [[Ronney:Cochaarjyssyn caggee lesh y Litaan]] [[Ronney:Cochaarjyssyn caggee lesh Lucsemburg]] [[Ronney:Cochaarjyssyn caggee lesh Montenegro]] [[Ronney:Cochaarjyssyn caggee lesh Norlynn]] [[Ronney:Cochaarjyssyn caggee lesh y Phobblaght Çheck]] [[Ronney:Cochaarjyssyn caggee lesh y Pholynn]] [[Ronney:Cochaarjyssyn caggee lesh y Phortiugal]] [[Ronney:Cochaarjyssyn caggee lesh y Rank]] [[Ronney:Cochaarjyssyn caggee lesh y Reeriaght Unnaneysit]] [[Ronney:Cochaarjyssyn caggee lesh y Romaan]] [[Ronney:Cochaarjyssyn caggee lesh y Spaainey]] [[Ronney:Cochaarjyssyn caggee lesh ny Steatyn Unnaneysit]] [[Ronney:Cochaarjyssyn caggee lesh y Toolynn]] [[Ronney:Cochaarjyssyn caggee lesh y Turkee]] [[Ronney:Cochaarjyssyn caggee lesh yn Ungaar]] [[Ronney:Cochaarjyssyn caggee lesh y Vassadoan Hwoaie]] [[Ronney:Cochaarjyssyn caggee lesh y Velg]] [[Ronney:Cochaarjyssyn caggee lesh y Vulgeyr]] [[Ronney:Yn Oarpey noa-emshiragh yeianagh]] [[Ronney:Reagheydyssyn bunnit 'sy Vrussyl]] [[Ronney:Sur-reagheydyssyn]] [[Ronney:Mooinjerys tessen-Atlantagh]] [[Ronney:Forsaghyn armit 'syn Oarpey]] stjvj2km59qw2ckw2x5wl97s98r9i83 John Muir 0 11292 378283 365544 2026-04-26T03:29:40Z InternetArchiveBot 16702 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 378283 wikitext text/x-wiki {{ymmydynelley|yn najooree Albinagh-Americaanagh|fir elley as yn ennym cheddin oc|John Muir (reddaghey)}} {{WD Kishtey Fys Dooinney | jalloo = Muir portrait 1872.jpg | fo-heidyl = John Muir 'sy vlein 1872 | boayl_ruggyr = [[Dùn Barra]], [[Lodainn Hiar]], Nalbin | boayl_baaish = [[Los Angeles]], [[California]], SUA | ennit = Cur er bun y [[Sierra Club]] }} Va '''John Muir''' (21 Averil 1838 &ndash; 24 Mee ny Nollick 1914) ny najooree, screeudeyr, as greinneyder son freayltys eaynee ny [[Steatyn Unnaneysit America|Steatyn Unnaneysit]]. Screeu eh lettyryn, artyn as lioaryn er e chontoyrtyssyn 'syn 'aasagh, ayns [[Sierra Nevada (SUA)|Sierra Nevada]] er lheh, as adsyn er nyn lhiah ec millioonyn dy 'leih. Va laue echey ayns bun y [[Sierra Club]], as eshyn mastey sheshaghtyn freayltys smoo scanshoil ny Steatyn Unnaneysit jiu. Va cummaght mooar ec ny screeu eh er y [[gleashaght 'reayltys|ghleashaght 'reayltys]] jeianagh. ==Aegid== Rug John Muir ayns [[Dùn Barra]], [[Lodainn Hiar]], [[Nalbin]]. She Daniel Muir as Ann Gilrye e ayr as e voir. Va shiaght paitçhyn elley oc: Margaret, Sarah, David, Daniel, Ann as Mary (lannoonyn), as Joanna (ruggit ayns America). Screeu eh 'sy hene-veashnys echey er ny keirdyn v'echey ayns eash y ghuilley, goaill stiagh caggey (aayannoo caggee vooar ass shennaghys ny h-Albey, ny caggey er y voayl cloie) as shirrey idd ean.<ref name = "Muirboyhood">{{enmyslioar | sjerree = Muir | kied = John | ennym = The Story of My Boyhood and Youth | soilsheyder = Houghton Mifflin Co. | date = 1916 | duillag = 25, 37 |kiangley = http://books.google.com/books?id=FDsOAAAAYAAJ&pg=PA25 }}</ref> [[Coadan:JohnMuirFountianLakeFarm.jpg|thumb|left|Entreilys da [[Fountain Lake Farm]] faggys da [[Portage, Wisconsin]]]] Ayns 1849, darree lught-thie Vuir da ny Steatyn Unnaneysit, as hug ad bun er [[gowaltys]] faggys da [[Portage, Wisconsin]]. She [[Fountain Lake Farm]] v'ayn, as eshyn ny [[National Historic Landmark|Boayl Shennaghyssagh Ashoonagh]] nish.<ref>{{enmyseddyrvoggyl | kiangley = http://tps.cr.nps.gov/nhl/detail.cfm?ResourceId=2095&ResourceType=Site | ennym = Fountain Lake Farm (Wisconsin Farm Home of John Muir) | obbyr = National Historic Landmarks Program | datefeddyn = 2009-01-04 }}</ref> Dooyrt [[Stephen Fox (screeudeyr)|Stephen Fox]] nagh row credjue ny claightey [[yn Agglish Albinagh]] jeeragh dy liooar er lesh ayr Vuir, as shen y fa darree ad as hie ad stiagh ayns cohionnal y [[Gleashaght Aachroo|Ghleashaght Aachroo]] Champbellagh. Rere y choontys echey, lesh 11 vlein d'eash, foddee Muir aaloayrt y lane [[Conaant Noa]] as y chooid smoo jeh'n [[Shenn Chonaant|Çhenn Chonaant]] "er çhengey as ec pian foalley".<ref>{{enmyslioar | sjerree = Fox | kied = Stephen R. | soilsheyder = Univ of Wisconsin Press | date = 1985 | duillag = 30 | isbn = 9780299106348 | ennym = The American conservation movement : John Muir and his legacy }}</ref> Agh rish eash ghooinney, cha row cair-chredjue cur er ve fud y cheilley. Ayns screeuyn da e charrey veen Emily Pelton, er 23 Mee Vayrnt 1865, screeu eh, "Cha ren mee eab erbee dy ‘aagail magh credjue ny cliaghtaghyn ard-veenid; hie ad ersooyl er nyn goontey hene... gyn faagail nyn yei ennaghtyn yuail erbee." Ayns screeuyn elley, dooyrt eh er Crooder rere'n eie cadjin: "nhee cho laue-jeant as babban cloie erbee ayns thie-cloie lheng".<ref>{{enmyslioar | screeudeyr = Wolfe, Linnie Marsh | ennym = Son of the Wilderness: The Life of John Muir | soilsheyder = Alfred A. Knopf | blein = 1945 | çhengey = Baarle }}</ref> Ny yei shen, she dooinney crauee dy liooar v'ayn, as screeu eh: "Ta shin ooilley stroo jeh un 'arrane: Annym. Ta cagh ny vess yn un ghraih. Cha nel Jaa çheet rish, as stroo magh, jeh scaanyn keyley as mysh çhibbraghyn towlit ayns shoh as ayns shen ayns reih vuill, agh t'Eh thooilley ayns strooghyn mooar gyn scarrey, gyn traie, gyn cagliagh harrish credjueyn as cummaghyn as dagh sorçh dy chultoor as sleih as baagh, lhienney as farranaghey y clane."<ref>Screeuyn da [[w:Catharine Merrill|Miss Catharine Merrill]], jeh New Sentinel Hotel, Yosemite Valley (9 Mean Sourey 1872); Ayns ''Life and Letters of John Muir'', Badè'</ref> Ec 22 vlein d'eash, hie Muir stiagh ayns [[Ollooscoill Wisconsin-Madison]] er yn argid b’lesh hene. Dynsee eh e chied lessoon lus-oayllee fo billey locust doo ard faggys da North Hall. Hayrn studeyr elley blaa jeh'n villey, as ren eh ymmyd jeh son dy hoilshaghey magh dy row y locust ard mastey kynney pishyragh, as mooinjer y pishyr trudlagh. Daeed blein jeih ny s'anmey, screeu Muir er y laa ayns eh hene-veashnys: "Hug y lessoon braew shoh eunys orrym as hug eh orrym roie da ny keylljyn as lheeannee lesh ard-jeeanid."<ref>{{enmyslioar | sjerree = Muir | kied = John | ennym = The Story of My Boyhood and Youth | soilsheyder = Houghton Mifflin Co. | date = 1916|page = 225 | kiangley = http://books.google.com/books?id=FDsOAAAAYAAJ&pg=PA225}}</ref> Ren Muir briwnys quaagh mastey ny brastylyn, as cha daink eh rieau ass kied cheim ny studeyryn er y choontey shen. Ta ny recortyssyn cur stayd "fer neuchinjagh" er, agh ga nagh ghow eh keim erbee, dynsee eh creg-oaylleeaght as lus-oaylleeaght dy liooar dy chur baght er rouail e vea s'anmey.<ref name = "Miller36">{{enmyslioar | sjerree = Miller | kied = Rod | ennym = John Muir: Magnificent Tramp | soilsheyder = Macmillan | date = 2005|page = 36 | isbn = 9780765310712 | kiangley = http://books.google.com/books?id=TmUudRnNmOIC&pg=PA36}}</ref> Ayns 1864, daag eh yn ollooscoill as hie eh dys [[yn Chanadey]], raad cheau eh arrey, sourey as fouyr lesh wandrail ayns ny keylljyn as curree er çheu [[Logh Huron]] as çhaglym lossreeyn. Lesh yn argid echey goan dy liooar as geurey çheet er, hie eh da Ontario, as dobbyr eh marish e vraar Daniel ayns mwyllin saauederagh, derrey sourey 1865. Ta [[Roderick Nash]] er ngra dy row Muir jannoo troailtys ‘syn Chanadey myr troailtys ‘syn ‘aasagh son dy haghney sidooraght, agh rere screeuyn Linnie Marsh Wolfe, ren Muir briwnys, mannagh ragh eh er reih ‘sy [[yllagh gys shirveish caggee|gherrym caggee]] (as cha jagh), beagh eh wandrail rish tammylt ayns faasee yn Chanadey.<ref>{{enmyslioar | sjerree = Nash | kied = Roderick | ennym = The Rights of Nature | soilsheyder = Univ of Wisconsin Press | date = 1989 | duillag = 38–39 | isbn = 9780299118440 | kiangley = http://books.google.com/books?id=f9tJZz6jDUIC&pg=PA38 }}</ref><ref>{{enmyslioar | sjerree = Marsh Wolfe | kied = Linnie | ennym = Son of the Wilderness: The Life of John Muir | soilsheyder = Univ of Wisconsin Press | date = 2003 | page = 90 | isbn = 9780299186340 | kiangley = http://books.google.com/books?id=oSh7MPGvBbsC&pg=PA90 }}</ref> Dobbyr eh ‘sy wyllin derrey Mee Vayrnt 1866, as eisht hie eh erash da ny Steatyn Unnaneysit dy obbraghey myr [[jeshaghteyr]] ayns [[Indianapolis]]. Ayns Mee Vayrnt 1867, darree drogh-haghyrt bollagh e vea. Ren slieeuan geyre thiolley e hooill yesh, as v’eh doal dy shallidagh. As eshyn smooinaghtyn dy row eh doal dy beayn, as soo y tooill sheeley dys e laue, dooyrt eh ny s’anmey: “Beign er varroo raad hass mee, dy arryltagh.” Lurg da kiare shiaghteeyn ayns shamyr dorraghey, slanee y tooill son y chooid smoo, as hie eh er cosheeaght veg. Ec çheet erash, v’eh soit er lhiantyn rish e yeearree e hene, as ronsaghey as studeyrys er lossreeyn y yannoo.<ref>{{enmyslioar | sjerree = Marsh Wolfe | kied = Linnie | ennym = Son of the Wilderness: The Life of John Muir | soilsheyder = Univ of Wisconsin Press | date = 2003 | duillag = 97–105 | isbn = 9780299186340 | kiangley = http://books.google.com/books?id=oSh7MPGvBbsC&pg=PA97 }}</ref> Ayns Mee Houney 1867, hooill Muir mysh 1000 meeilley roish [[Indiana]] dys [[Florida]] (screeu eh coontys jeh ‘sy lioar ''A Thousand-Mile Walk to the Gulf''). Cha row coorse erbee reiht echey, agh dy gholl “rish y raad s’fadanee, s’duillagee as sloo er ny ghaaghey dod mee feddyn.”. Rish roshtyn Florida, v’eh fosyn lhuingys er baatey y ghoaill dys America Yiass, as wandrail ny smoo ayns shen. Agh huitt eh fo malaarey er [[Slyst yn Eearvooiar]], as myr shen daag eh ny shalee v’echey bentyn rish America Jiass. Ayns ynnyd jeh shen, hiauill eh dys [[York Noa]] as ghow eh lhuingys dys California.<ref name = "Miller36">{{enmyslioar | sjerree = Miller | kied = Rod | ennym = John Muir: Magnificent Tramp | soilsheyder = Macmillan | date = 2005 | duillag = 40–41 | isbn = 9780765310712 | kiangley = http://books.google.com/books?id=TmUudRnNmOIC&pg=PA40 }}</ref> ==California== Lurg da roshtyn ayns [[San Francisco, California|San Francisco]] ayns Mee Vayrnt 1868, daag Muir er y chooyl dys boayl nagh row eh agh lhaih myechione: Yosemite. Lesh y chied shilley er [[Glion Yosemite]], hug ee druiaght er, as screeu eh: “Cha nel çhiamble erbee jeant lesh laueyn cosoylaghey rish Yosemite... Smoo jeh ooilley sur-hiamblyn Najoor.”.<ref>{{Cite web |title=Archive copy |url=http://www.pbs.org/nationalparks/people/historical/muir/ |access-date=2009-10-12 |archive-date=2009-10-07 |archive-url=https://web.archive.org/web/20091007031433/http://www.pbs.org/nationalparks/people/historical/muir/ |url-status=dead }}</ref> Lurg keayrt hoght laghyn, haink eh erash dys cruink veggey y Sierra Nevada as dobbyr eh myr fer assaig, bochilley as brisheyder cabbil. Ayns Mee ny Boaldys 1869, hug ransheyr enmyssit Pat Delaney obbyr souree da Muir, freayll arrey er kirree as bochilley Ghelaney. Ghow eh rish dy jeean, as cheau eh y tourey myrane lesh ny kirree ayns slyst Yosemite. Ghrapp eh [[Cathedral Peak (California)|Cathedral Peak]] as [[Mount Dana]], as hooill eh shenn raad ny [[Sleih dooghyssagh America|h-Injinee]] sheese [[Bloody Canyon]] dys [[Mono Lake]]. Va'n traa soccar echey currit da oaylleeaght, [[creg-oaylleeaght]] er lheh, as haink eh dy ve shickyr dy nee awinyn rioee v'er nyannoo y ghlion as yn ard mygeayrt eck. Va'n eie shen shassoo noi yn eie cadjin v'ayn, liorish [[Josiah Whitney]] (kione y [[California Geological Survey]]), as shen gra dy nee craa-hallooin ard-vooar v'er groo y ghlion. Lesh skeaylley eieyn Vuir, ren Whitney eab anghoo er y chur lesh gra dy nee ancheirdagh as meehustagh v'ayn. Agh er lesh ard-chreg-oayllee y laa, [[Louis Agassiz]], va eieyn Vuir feeu, as dooyrt eh dy nee "y chied dooinney ta mee er ngeddyn as toiggalys dy liooar echey er obbyr awin rioee." <ref name="glacial-action">{{enmyslioar | ennym = John Muir : his life and letters and other writings | duillag = 322 | cabdil = Trees and Travel | aaraa = ...The reply to this letter was written by Mrs. Agassiz, in which she told me that, when Agassiz read my letter, he said excitedly "Here is the first man I have ever found who has any adequate conception of glacial action."... (Screeuyn da Robert Underwood Johnson; Martinez, 3 Mee Vayrnt, 1895) | çhengey = Baarle | screeudeyr = Terry Gifford (re.) | isbn = 9780898864632 | soilsheyder = The Mountaineers Books }}</ref> Ayns 1871, hoor Muir awin rioee bio fo [[Merced Peak]], as hug shen cooney da ny eieyn v'eh cur roish. 'sy vlein cheddin, haink feniagh Vuir, [[Ralph Waldo Emerson]], dys Yosemite as haink eh lesh shilley er Muir. Va shenn olloo Vuir ec Ollooscoill Wisconsin, [[Ezra Carr]], as y ven echey dy ghreinnaghey ny h-eieyn echey y chur magh. Haink ad lhieu Muir dys quaiyl fir ennymoil, goaill stiagh [[Louis Agassiz]], [[John Tyndall]], [[John Torrey]], [[Clinton Hart Merriam]], as [[Joseph LeConte]]. [[Coadan:John Muir NHS.jpg|250px|thumb|right|[[John Muir National Historic Site|Thie ny Muiryn]] ayns [[Martinez, California]].]] Haghyr [[Craa-hallooin Lone Pine 1872|craa-hallooin mooar]] faggys da [[Lone Pine, California]] ayns [[Glion Owens]] ayns Mee Vayrnt, 1872, as v'eh ry-ennaghtyn ayns Glion Yosemite. Ghooisht eh Muir leah 'sy voghrey as roie eh magh y bwaane echey, "boggey as aggle er", as eh fockley magh "craa-hallooin oasle!" Fir elley 'sy ghlion, as adsyn credjal eieyn Whitney foast, va aggle orroo dy beagh y craa-hallooin cowraghey duinaghey craghoil y ghlion. Cha row lheid yn aggle er Muir, as ren eh towshan ass laue jeh carnaneyn creoilagh noa jeant ec skyrraghyn thallooin liorish y chraa-hallooin.<ref name="earthquake">{{enmyslioar | ennym = Our National Parks | screeudeyr = John Muir | blein = 1901 | soilsheyder = Houghton, Mifflin & Co. | boayl = Cambridge (SUA) | duillag = 262 | kiangley = http://www.sierraclub.org/john_muir_exhibit/writings/the_earthquake.html | çhengey = Baarle }}</ref> Chammah's yn obbyr creg-oaylleeagh, ren Muir studeyrys er lossreeyn yn ard Yosemite. Ayns 1873 as 1874, ren eh obbyr 'sy vagher er boayn sheear y Sierra, bentyn rish scaalhean as eggoaylleeaght keylljyn [[Sequoia Vooar]]. Ayns 1880, phoos Muir as Louisa Wanda Strentzel. Va ransh mooar lesh yn ayr as moir eck, ayns [[Martinez, California]], as rish y jeig bleeantyn ny yei, hug eh eh hene da reirey y ransh. V'eh speeideilagh dy liooar. Rish y traa shoh, rug ny h-inneenyn oc, Wanda as Helen. Ec e vaase, daag eh ny yei cooid seihlt SU$250,000. Ta'n thie as rheynn jeh'n ransh y [[John Muir National Historic Site|Boayl Shennaghyssagh Ashoonagh John Muir]] jiu.<ref>{{enmyseddyrvoggyl | kiangley = http://www.nps.gov/history/museum/exhibits/jomu/home.html | ennym = John Muir National Historic Site | datefeddyn = 2009-10-10 | çhengey = Baarle }}</ref> ==Troailtys 'sy heear-hwoaie == Rish shiaght bleeantyn reirey y ransh, haink drogh-laynt er. Lesh brod e ven, hie eh erash da ny cruink dy aagheddyn e hene. Ghrapp eh [[Mount Rainier]] as screeu eh ''Ascent of Mount Rainier'' myechione. Hie eh marish possan dys [[Wrangel Island]] er y [[USS Corwin (1876)|USS Corwin]], as daggyr ad yn ellan son ny Steatyn Unnaneysit ayns 1881.<ref>{{enmyseddyrvoggyl | kiangley = http://www.yosemite.ca.us/john_muir_writings/the_cruise_of_the_corwin/introduction.html | ennym = The Cruise of the Corwin | screeudeyr = John Muir | soilsheyder = Houghton Mifflin Company | boayl = Boston and New York | blein = 1917 | datefeddyn = 2008-09-05}}</ref> Screeu eh er y chooish 'sy lioar ''The Cruise of the Corwin''. ==Obbraghyn freayltys == Hug Muir laue mooar ayns freayltys. V'eh fakin Yosemite as y Sierra as roie-thallooyn nagh lhisagh goll er sooilley.<ref>{{enmysearishlioar | screeudeyr = John Muir | ennym = Features of the Proposed Yosemite National Park | kiangley = http://www.yosemite.ca.us/john_muir_writings/features_of_the_proposed_yosemite_national_park/ | earishlioar = The Century Magazine | earroo = 5 | mee = Mean Fouyir | blein = 1890 | datefeddyn = 2007-04-08 | ym-lioar = XL }}</ref> Er lesh dy nee sthock, kirree er lheh, va baggyrt smoo da'n ard, as hug eh "kellee-rennee chrubbagh" orroo. Ayns Mean Souree 1889, champ co-reagheyder yn earishlioar ''[[Century (earishlioar)|Century]]'', [[Robert Underwood Johnson]], marish Muir ayns [[Tuolumne Meadows]] as honnick eh feanish bunneydagh jeh'n jeeyl va shioltane dy chirree er nyaoo da'n vanjagh. Choard eh dy hoilshaghey magh art erbee screeuys Muir er dooney magh sthock jeh'n Sierra. Choard eh myrgeddin dy yannoo ymmyd jeh'n chummaght echey son dy chur stiagh billey ayns [[Congress]] son dy yannoo pairk ashoonagh jeh Yosemite, rere cummey [[Yellowstone National Park]]. Er 30 Mean Fouyir 1890, slattyssee Congress ny SU slattys, rere treealtys Vuir ayns daa art ayns ''Century'' son y chooid smoo: ''The Treasure of the Yosemite'' as ''Features of the Proposed National Park'', er nyn soilshaghey magh ayns 1890. Agh b'treih lesh clashtyn dy daag y slattys Glion Yosemite fo stiurey y steat. ==Sierra Club== {{ardart|Sierra Club}} Leah ayns 1892, haink yn Olloo Henry Senger, ny [[fockle-oaylleeaght|'ockle-oayllee]] ec [[Ollooscoill Chalifornia, Berkeley]] da quaiyl Vuir as eh fo possan alphagh y chroo son sleih slieauagh. Hug magh Senger as Warren Olney cuirraghyn "ry-hoi croo 'Sierra Club'. Bee John Muir yn eaghtyrane." Er 28 Mee ny Boaldyn, 1892, chumm ad çhaglym bunnee y [[Sierra Club]] son dy screeu banglaneyn cochorpaghey. Shiaghtin ny yei shen, denmys ad Muir myr eaghtyrane, Olney myr fo-eaghtyrane, as boayrd ny stiureyderyn ghow stiagh [[David Starr Jordan]], as eshyn eaghtyrane [[Ollooscoill Stanford]]. Hannee Muir ny eaghtyrane derrey hooar eh baase, 22 vlein ny s'anmey.<ref>{{enmyslioar | sjerree = Fox | kied = Stephen R. | ennym = The American Conservation Movement: John Muir and His Legacy | soilsheyder = Univ of Wisconsin Press | date = 1985 | duillag = 107–108 | isbn = 9780299106348 | kiangley = http://books.google.com/books?id=kV1_k5vSuOMC&pg=PA107 }}</ref><ref name = "Colby">{{enmyseddyrvoggyl | kiangley = http://www.owensvalleyhistory.com/stories1/story_of_sierra_club.pdf | ennym = The Story of the Sierra Club | sjerree = Colby | kied = William | date = December, 1967|work = Sierra Club Bulletin | soilsheyder = Sierra Club|accessdate = 2009-02-26 }}</ref> Ghow y Sierra Club toshiaght çhelleeragh dy hassoo noi shaleeyn [[Yosemite National Park]] y liehaghey, as chumm ad çhaglymyn ynsee as oayllee. Ec fer jeu, ayns fouyr 1895, resoon ad er cur er bun 'buill cheylley er lheh'; harragh y lheid y ve [[Keylljyn Ashoonagh (SUA)|Keylljyn Ashoonagh]] ny s'anmey. Va laue mooar ec y Tierra Club 'sy troddan rahoil Pairk Ashoonagh Yosemite dy astreeaghey ass stiurey y steat dys stiurey conastagh, ayns 1906. Ghow ad orroo hene y chaggey [[Glion Hetch Hetchy]] y hauail, ga dy row shiartanse dy olteyryn scanshoil ayns San Francisco noi shen. Fy yerrey, ren ad teiy as chowree eh dy row mooar-chooid y phossan son shassoo noi [[Doour Hetch Hetchy]]. <ref name = "Colby"/> ==Tashtey noi freayltys == Ayns Jerrey Souree 1896, haink Muir dy cho-obbraghey marish [[Gifford Pinchot]], ny 'er scanshoil 'sy ghleashaght 'reayltys. She kied ard-chione [[United States Forest Service|Shirveish Keylley ny Steatyn Unnaneysit]] v'ayn, as eh ny loayrtagh son ymmyd yn-ymmyrkey chooid najooragh son vondeish ny sleih. Fy-yerrey, va meechoardailys eddyr y ghaa, as shen taishbyney daa varel er ymmyd chooid najooragh ny çheerey. Va Pinchot fakin freayltys myr saase cooid najooragh yn ashoon y reirey son ymmyd traghtee yn-ymmyrkey foddey. Myr keylljeyder keirdee, er lesh: "she eirinys eh obbyr keylley", gyn stroie yn-veaghey foddey ny keylljyn.<ref name = "Meyer">{{enmysearishlioar | sjerree = Meyer | kied = John M. | date = Winter, 1997 | ennym = Gifford Pinchot, John Muir, and the Boundaries of Politics in American Thought | earishlioar = Polity | soilsheyder = Palgrave MacMillan | ym-lioar = 30|earroo = 2 | duillag = 267–284 | kiangley = http://www.jstor.org/stable/3235219 | datefeddyn = 2008-12-14 |doi = 10.2307/3235219 }}</ref> Er lesh Muir, va feeu najoor ny troyn anmey as tarcheimneeoil. Ayns art er ny Pairkyn Ashoonagh, hug eh orroo "buill son fea, breeaghys, as padjeryn." V'eh cliaghtey greinnaghey ard-valjee dy 'akin najoor son beaghey ny h-anmey. Va'n daa 'er shassoo noi doo-heyrey chooid najooragh, goaill stiagh [[lane-lhieggey]] keylljyn. Va eer Muir goaill rish dy row feme ain er aamaid as ny keylljyn er-e-hon, agh va barel feer ny smoo lhome-ymmydoil ec Pinochet er reirey faasee..<ref name = "Meyer"/> Vrish y caarjys eddyr oc anmagh 'sy tourey 1897, liorish Pinchot cur magh art ayns pabyr-naight [[Seattle]] son fassaghey kirree ayns thalloo freaylt keylley. Hass Muir eddin ry eddin rish Pinchot as daggyr eh soilsheydys jeh. Lesh Pinchot g'aa-raa y barel, dinsh Muir da: "Cha mel nee son bentyn rhyt reesht." Daase y meechoardailys shoh as rheynn eh y ghleashaght 'reayltys ayns daa phossan: freaylleyderyn, fo Muir, as possan Phinochet ghow toshiaght "tashteyderyn" y chur orroo hene. Resoon ad ayns earishlioaryn, myr sampleyr, ''Outlook'', ''Harper's Weekly'', ''Atlantic Monthly'', ''World's Work'', as ''Century''. Va'n daa varel ry-akin reesht lesh briwnys ny Steatyn Unnaneysit er cur doour er [[Glion Hetch Hetchy]] ny dyn. Va Pinchot son dooar urree y chur: "ymmyd s'ardjey oddagh oo jannoo j'ee". Er y laue elley, dooyrt Muir: "Doour er Hetch Hetchy y chur! Cho mie doee ushtey y yannoo jeh kialteenyn as ard-çhiambleyn ny sleih, son nagh row çhiamble s'nooey er ny chasherickey rieau ec creeghyn deiney.""<ref name = "Meyer"/> [[Coadan:Muir and Roosevelt restored.jpg|thumb|Roosevelt as Muir]] Ayns 1903, hie yn Eaghtyrane [[Theodore Roosevelt]] marish Muir er turrys dys Yosemite. Loayrt Muir da'n eaghtyrane er meestiurey steat y ghlion, as doo-seyrey rank jeh cooid y ghlion. Eer roish daue roshtyn y phairk, v'eh er shickyraghey Roosevelt dy beagh yn aght share y phairk y choadey ish y chur fo stiurey conastagh. Erreish da goll stiagh 'sy phairk as fakin aalid y ghlion, hirr eh er Muir eshyn y hoilshaghey da y "feer" Yosemite. Hie ad ersooyl, nyn lomarcan agh son coagragh as fer ymmyrkee, as champ ad 'sy çheer feie. Loayr ad anmagh 'syn oie, as ren ad cadley mooie fo'n speyr. Huitt sniaghtey oor orroo 'sy voghrey. Ayns 1905, hug [[Congress]] [[Mariposa Grove]] as Glion Yosemite fo stiurey conastagh.<ref>{{enmyseddyrvoggyl | ennym = Encylopaedia Britannica | kiangley = http://www.britannica.com/EBchecked/topic/543339/Sierra-Club#ref=ref849675 | cabdil = Sierra Club | datefeddyn = 2009-10-12 | çhengey = Baarle }}</ref> Hooar ben Vuir, Louise, baase er 6 Mee Luanistyn 1905. ==Hetch Hetchy== Daase mian doour y chur er yn [[Awin Tuolumne]], son dy yannoo tasht ushtey son [[San Francisco, California|San Francisco]]. Va Muir slane noi y doour, as er lesh dy row Hetch Hetchy ny s'aaley na eer Glion Yosemite. Chagg Muir as y Sierra Club noi rish feed blein, goaill stiagh screeu dys Roosevelt hene. Fy-yerrey, hug eiyrtyssagh Roosevelt, [[Woodrow Wilson]] kied da'n slattys er 19 Mee ny Nollick, 1913. She juail mooar da Muir v'ayn, as y caggey sjerree mooar echey. ==Baase== Hooar John Muir baase jeh niumoan ec thie-lheeys California ([[California Hospital Medical Center]] jiu) er 24 Mee ny Nollick, 1914.<ref>{{enmyseddyrvoggyl | ennym = Obituary: John Muir | kiangley = http://ccdl.libraries.claremont.edu/cdm4/item_viewer.php?CISOROOT=/lsc&CISOPTR=3432&DMSCALE=50.00000&DMWIDTH=600&DMHEIGHT=600&DMX=0&DMY=840&DMMODE=viewer&DMTEXT=&REC=16&DMTHUMB=1&DMROTATE=0 }}</ref><ref>{{enmyseddyrvoggyl | ennym = Obituary: John Muir | kiangley = http://www.nytimes.com/learning/general/onthisday/bday/0421.html | screeudeyr = On this Day | datefeddyn = 2007-04-23 }}</ref> ==Eiyrtys as aundyryn== Ta enmyn ny buill fo er son Muir: *Muir Knoll, Ollooscoill Wisconsin–Madison; *[[Mount Muir]]; *[[Awin Rioee Muir]], Alaska; *Tree Raadyn John Muir (ayns [[John Muir Trail|California]], [[John Muir Trail (Tennessee)|Tennessee]], as Wisconsin); *[[John Muir Wilderness|Faasagh John Muir]]; *[[Muir Woods National Monument]] faggys da [[San Francisco]]; *[[John Muir High School]]; *John Muir Middle School (Los Angeles, California and Wausau, Wisconsin); *John Muir Elementary School (Madison, Wisconsin); *[[John Muir Elementary School]] (Parma, Ohio); *[[John Muir College]] (colleish yn [[Ollooscoill Chalifornia, San Diego]]); *[[John Muir Country Park]], ayns Dùn Barra * [[John Muir Way]] ayns Lodainn Hiar; *[[John Muir Health|John Muir Medical Center]] ayns Concord as Walnut Creek, California; *y [[roltageagh]] (128523) John Muir; *Muir's Peak ec Mount Shasta, California (ny keayrtyn, "Black Butte"); *Mount Muir (yrjey 4688') ayns Angeles National Forest, California, faggys da Pasadena<ref>{{enmyseddyrvoggyl | ennym = Peak List of the Lower Peaks Section of the Angeles Chapter of the Sierra Club | kiangley = http://angeles.sierraclub.org/lpc | screeudeyr = Sierra Club }}</ref> *[[Camp Muir]] ayns Mount Rainier National Park; *School of Life Sciences ec [[Ollooscoill Heriot-Watt]] ayns [[Doon Edin]], [[Nalbin]]; *John Muir Park (Green Bay, Wisconsin). Ta caslys jeh John Muir ry-akin er [[kerroo-dollar steat]] Chalifornia 2005. Ta aaraa echey er y [[Indianapolis Prize]] Lilly Medal son frealtys. Er 6 Mee ny Nollick 2006, ren [[Arnold Schwarzenegger]] gynshellooaghey John Muir stiagh 'sy [[California Hall of Fame]] ec [[The California Museum for History, Women, and the Arts]]. {{-}} ==Jeeagh er reesht== * [[Boayl ruggyree Yohn Muir]] * [[Rolley buill ayns Lodainn Hiar]] * [[John Muir Trust]] * [[John Muir Way]] ==Imraaghyn== {{rolleyimraaghyn}} === Ard-vinn=== *[http://www.archive.org/search.php?query=John%20Muir%20AND%20mediatype%3Atexts Obbraghyn Yohn Muir] ec [[Internet Archive]]. Lhiegganyn caslys bunneydagh ayns leayrtys-choipyn. *Caslyssyn-soilshey, earishlioaryn, as caslyssyn jeh ny John Muir Papers ec the [http://library.pacific.edu/ha/digital/index.asp Çhaglymyn Bun-earrooagh Ollooscoill ny Sheealtagh]. === Binn elley === * {{enmyslioar | sjerree = Austin | kied = Richard C. | ennym = Baptized into wilderness: A Christian perspective on John Muir | soilsheyder = [[Creekside Press]]| blein = 1991}} *{{enmyslioar | sjerree = Cronon | kied = William, ed. | blein = 1997 | ennym = John Muir: Nature Writings: The Story of My Boyhood and Youth; My kied Summer in the Sierra; The Mountains of California; Stickeen; Essays | soilsheyder = [[Library of America]] | isbn = 978-1-88301124-6}} * {{enmyslioar | sjerree = Ehrlich | kied = Gretel | blein = 2000 | ennym = John Muir: Nature's Visionary | soilsheyder = [[National Geographic]] | isbn = 0-7922-7954-9}} * {{enmyslioar | sjerree = Fox | kied = Stephen | blein = 1981 | ennym = The American Conservation Movement: John Muir And His Legacy | soilsheyder = Little, Brown and Company | isbn = 0-316-29110-2}} * {{enmysearishlioar | screeudeyr = Meyer, John M. | blein = 1997 | mee = | ennym = Gifford Pinchot, John Muir, and the Boundaries of Politics in American Thought | earishlioar = [[Polity (disambiguation)|Polity]] | ym-lioar = 30 | earroo = 2 | duillag = 267–284 | id = ISSN 0032-3497| doi = 10.2307/3235219}} * {{enmyslioar | sjerree = Miller | kied = Char | blein = 2001 | ennym = Gifford Pinchot and the Making of Modern Environmentalism | soilsheyder = Island Press | isbn = 1-55963-822-2}} * {{enmysearishlioar | screeudeyr = O'Casey, Terrence | date = 24 September 2006 | ennym = John Muir: God's Preacher of Creation | earishlioar = Christian Standard | unused_data = |http://www.christianstandard.com/articledisplay.asp?id=414}} * {{enmysearishlioar | screeudeyr = Smith, Michael B. | blein = 1998 | mee = Mean Souree | ennym = The Value of a Tree: Public Debates of John Muir and Gifford Pinchot | earishlioar = The Historian | ym-lioar = 60 | earroo = 4 | duillag = 757–778 | id = ISSN 0018-2370}} | doi = 10.1111/j.1540-6563.1998.tb01414.x}} * {{enmyslioar | sjerree = Turner | kied = Fredrick | blein = 1985 | ennym = Rediscovering America, John Muir in His Time and Ours | soilsheyder = [[Viking Press]] | isbn = 0-87156-704-0}} * {{enmyslioar | sjerree = Williams | kied = Dennis | blein = 2002 | ennym = God's Wilds: John Muir's Vision of Nature | soilsheyder = Texas A&M University Press | isbn = 1-58544-143-0}} * {{enmyslioar | sjerree = Wolfe | kied = Linnie Marsh | blein = 1945 | ennym = Son of the Wilderness: The Life of John Muir | soilsheyder = [[University of Wisconsin Press]] | isbn = 0-299-18634-2}} ( [[Pulitzer Prize]] son beashnys, 1946) * {{enmysearishlioar| url = http://www.historycooperative.org/earishlioars/eh/10.1/worster.html| ennym = John Muir and the Modern Passion for hey Nature| kied = Donald| sjerree = Worster | earishlioar = Environmental History| ym-lioar = 10(1)| duillag = 8–19| mee = Jerrey Geuree | blein = 2005}} * {{enmyslioar | sjerree = Worster | kied = Donald | blein = 2008 | ennym = A Passion for Nature: The Life of John Muir | soilsheyder = Oxford University Press | isbn = 978-0195166828}} * {{enmyslioar | sjerree = Wuerthner | kied = George | blein = 1994 | ennym = Yosemite: A Visitor's Companion | soilsheyder = Stackpole Books | duillag = 25–37 | isbn = 0-8117-2598-7}} === Lioaryn elley=== * {{enmyslioar | sjerree = Sachs | kied = Aaron | blein = 2006 | ennym = The Humboldt Current: Nineteenth-Century Exploration and the Roots of American Environmentalism | soilsheyder = Viking Press | isbn = 0-670-03775-3}} ==Kianglaghyn magh== {{Commonscat|John Muir}} {{Wikiquote}} {{Screeudeyr Wikisource}} *[http://www.archive.org/search.php?query=mediatype%3A(texts)%20-contributor%3Agutenberg%20AND%20(subject%3A%22Muir%2C%20John%2C%201838-1914%22%20OR%20creator%3A%22Muir%2C%20John%2C%201838-1914%22%20OR%20creator%3A%22John%20Muir%22%20OR%20ennym%3A%22John%20Muir%22%20OR%20description%3A%22John%20Muir%22) Lioaryn er ny liorish John Muir] ec [[Internet Archive]] *{{Screeudeyr Gutenberg|id = John_Muir | ennym = John Muir}} *[http://www.yosemite.ca.us/john_muir_writings/ John Muir Writings]. Slane lioaryn eddyrlhieen *[http://www.wisconsinhistory.org/turningpoints/search.asp?id=1224 Screeuyn 1861-1914] eddyrlhieen ec [https://web.archive.org/web/20051028075712/http://www.wisconsinhistory.org/topics/wisconsin-name/ Wisconsin Historical Society] *[http://library.pacific.edu/ha/muir/index.asp John Muir Papers]. Fys er Pabyryn John Muir as stoo bentyn rish ec [[Ollooscoill ny Sheealtagh (Steatyn Unnaneysit)|Ollooscoill ny Sheealtagh]]. *[http://www.sierraclub.org/john_muir_exhibit/ John Muir] ec y Tierra Club *[http://www.johnmuir.org/ John Muir Global Network] *[http://www.nps.gov/jomu/ John Muir National Historic Site] jeh [[National Park Service]] *[https://web.archive.org/web/20060929071334/http://www.djma.org.uk/djma/ Friends of John Muir's Birthplace (John Muir Association Ghùn Barra, dy row)], Nalbin *[http://www.jmbt.org.uk/ John Muir Birthplace Trust] Nalbin *[https://web.archive.org/web/20130403181437/http://www.jmt.org/news.asp?s=2&cat=Award&nid=JMT-N10641 John Muir Trust] Nalbin *[http://digital.statelib.lib.in.us/db/markers_display.asp?id=9 John Muir In Indianapolis Historical Marker] *[http://www.johnmuir.org/canada/ Canadian Friends of John Muir (CFJM) website] *[http://www.johnmuirproject.org/ John Muir Project] Protecting Federal Public Forest Lands {{Gurneil eaghtyrys}} {{DEFAULTSORT:Muir, John}} [[Ronney:John Muir| ]] [[Ronney:Ruggyryn 'sy vlein 1838]] [[Ronney:Baaseyn 'sy vlein 1914]] [[Ronney:Screeudeyryn firryn Albinagh]] [[Ronney:Screeudeyryn firryn Americaanagh]] [[Ronney:Sheerloayreyderyn ass California]] [[Ronney:Sheerloayreyderyn firryn Americaanagh]] [[Ronney:Screeudeyryn ass California]] [[Ronney:Screeudeyryn lus-oaylleeaght Americaanagh]] [[Ronney:Lus-oaylleeyn Americaanagh]] [[Ronney:Freilleyderyn Americaanagh]] [[Ronney:Screeudeyryn traaght firryn Americaanagh]] [[Ronney:Ronseyderyn Americaanagh]] [[Ronney:Creg-oaylleeyn Americaanagh]] [[Ronney:Ynlaghteyryn Americaanagh]] [[Ronney:Jeshaghteyryn firryn Americaanagh]] [[Ronney:Drappeyderyn sleityn Americaanagh]] [[Ronney:Najooree Americaanagh]] [[Ronney:Screeudeyryn najoor Americaanagh]] [[Ronney:Screeudeyryn neu-farskeealaght firryn Americaanagh]] [[Ronney:Screeudeyryn çhymmyltaghtoil Americaanagh]] [[Ronney:Jeshaghteyryn ass California]] [[Ronney:Shalee Hetch Hetchy]] [[Ronney:Troagyraghyn]] [[Ronney:Shennaghys Sierra Nevada (ny Steatyn Unnaneysit)]] [[Ronney:Feallee ass Martinez, California]] [[Ronney:Feallee ass Dùn Barra]] [[Ronney:Pairk Ashoonaght Yosemite]] [[Ronney:Sheerloayreyderyn firryn Albinagh]] [[Ronney:Screeudeyryn lus-oaylleeaght Albinagh]] [[Ronney:Lus-oaylleeyn Albinagh]] [[Ronney:Freilleyderyn Albinagh]] [[Ronney:Arragheryn magh Albinagh dys ny Steatyn Unnaneysit]] [[Ronney:Jeshaghteyryn firryn Albinagh]] [[Ronney:Screeudeyryn traaght firryn Albinagh]] [[Ronney:Ronseyderyn Albinagh]] [[Ronney:Creg-oaylleeyn Albinagh]] [[Ronney:Ynlaghteyryn Albinagh]] [[Ronney:Drappeyderyn sleityn Albinagh]] [[Ronney:Najooree Albinagh]] [[Ronney:Screeudeyryn najoor Albinagh]] [[Ronney:Eaghtyraneyn Sierra Club]] 6xmyr1nmqszepec8sbf2wcyxz9t2dhz Ronney:Oaylleeaght rere blein 14 13681 378210 366688 2026-04-25T15:18:18Z MacTire02 219 ronney elley 378210 wikitext text/x-wiki {{Commonscat|Science by year|Oaylleeaght rere blein}} [[Ronney:Rollaghyn bentyn rish yn oaylleeaght]] [[Ronney:Linnaghyn-traa bentyn rish oaylleeaght]] [[Ronney:Bleeantyn rere bun-chooish|Oaylleeaght]] [[Ronney:Ronnaghyn rere blein|Oaylleeaght]] 5cdqmtocm4htdcb098cxhque7z8d9v6 Ronney:Linnaghyn-traa bentyn rish oaylleeaght 14 13682 378204 364117 2026-04-25T15:15:53Z MacTire02 219 MacTire02 moved page [[Ronney:Linnaghyn-traa oaylleeagh]] to [[Ronney:Linnaghyn-traa bentyn rish oaylleeaght]]: aght 364117 wikitext text/x-wiki [[Ronney:Shennaghys yn oaylleeaght]] [[Ronney:Linnaghyn-traa rere bun-chooish|Oaylleeaght]] brer800kxz0pmfhle5759ruxz744vb0 Ronney:Oaylleeaght 'sy 18oo eash 14 13683 378213 341412 2026-04-25T15:21:46Z MacTire02 219 +clowan 378213 wikitext text/x-wiki {{Navseasoncats}} [[Ronney:18oo eash]] [[Ronney:Oaylleeaght rere eash|18]] [[Ronney:Oaylleeaght 'sy 2h villey-bleeaney|18]] gqnd92zh0fnxe6uwsn61fcg7t5achb1 378215 378213 2026-04-25T15:23:21Z MacTire02 219 ronney elley 378215 wikitext text/x-wiki {{Navseasoncats}} [[Ronney:18oo eash]] [[Ronney:Oaylleeaght rere eash|18]] [[Ronney:Oaylleeaght 'sy 2h villey bleeaney|18]] 6yjmsj1ag5j3kc7xo2592bsvav2oy85 Ronney:Claare spoar yn Unnaneys Soveidjagh 14 31036 378191 327899 2026-04-25T13:42:46Z MacTire02 219 +ronnaghyn 378191 wikitext text/x-wiki {{Catmore}} :''Jeeagh er neesht: [[:Ronney:Claare spoar y Roosh]].'' {{Commons cat|Space program of the Soviet Union|Claare spoar yn Unnaneys Soveidjagh}} [[Ronney:Claareeyn spoar rere çheer|Unnaneys Soveidjagh]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Unnaneys Soveidjagh]] [[Ronney:Etlagh spoar 'sy 20oo eash]] [[Ronney:Claareeyn spoar yn Aishey|Unnaneys Soveidjagh]] [[Ronney:Claareeyn spoar yn Oarpey|Unnaneys Soveidjagh]] 6oeq6125k9sx6cm3sk3salszma9zsvq Module:Category series navigation 828 36546 378194 369330 2026-04-25T14:01:28Z MacTire02 219 prowal 378194 Scribunto text/plain require('strict') local p = {} local horizontal = require('Module:List').horizontal local rtarget = require('Module:Resolve category redirect').rtarget --[[==========================================================================]] --[[ Globals ]] --[[==========================================================================]] local currtitle = mw.title.getCurrentTitle() local nexistingcats = 0 local errors = '' local testcasecolon = '' local testcases = string.match(currtitle.subpageText, '^testcases') if testcases then testcasecolon = ':' end local navborder = true local followRs = true local skipgaps = false local skipgaps_limit = 50 local term_limit = 10 local hgap_limit = 6 local ygap_limit = 5 local listall = false local tlistall = {} local tlistallbwd = {} local tlistallfwd = {} local ttrackingcats = { --when reindexing, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]' '', -- [1] placeholder for [[Category:Category series navigation using cat parameter]] '', -- [2] placeholder for [[Category:Category series navigation using testcase parameter]] '', -- [3] placeholder for [[Category:Category series navigation using unknown parameter]] '', -- [4] placeholder for [[Category:Category series navigation range not using en dash]] '', -- [5] placeholder for [[Category:Category series navigation range abbreviated (MOS)]] '', -- [6] placeholder for [[Category:Category series navigation range redirected (base change)]] '', -- [7] placeholder for [[Category:Category series navigation range redirected (var change)]] '', -- [8] placeholder for [[Category:Category series navigation range redirected (end)]] '', -- [9] placeholder for [[Category:Category series navigation range redirected (MOS)]] '', --[10] placeholder for [[Category:Category series navigation range redirected (other)]] '', --[11] placeholder for [[Category:Category series navigation range gaps]] '', --[12] placeholder for [[Category:Category series navigation range irregular]] '', --[13] placeholder for [[Category:Category series navigation range irregular, 0-length]] '', --[14] placeholder for [[Category:Category series navigation range ends (present)]] '', --[15] placeholder for [[Category:Category series navigation range ends (blank, MOS)]] '', --[16] placeholder for [[Category:Category series navigation isolated]] '', --[17] placeholder for [[Category:Category series navigation default season gap size]] '', --[18] placeholder for [[Category:Category series navigation decade redirected]] '', --[19] placeholder for [[Category:Category series navigation year redirected (base change)]] '', --[20] placeholder for [[Category:Category series navigation year redirected (var change)]] '', --[21] placeholder for [[Category:Category series navigation year redirected (other)]] '', --[22] placeholder for [[Category:Category series navigation roman numeral redirected]] '', --[23] placeholder for [[Category:Category series navigation nordinal redirected]] '', --[24] placeholder for [[Category:Category series navigation wordinal redirected]] '', --[25] placeholder for [[Category:Category series navigation TV season redirected]] '', --[26] placeholder for [[Category:Category series navigation using skip-gaps parameter]] '', --[27] placeholder for [[Category:Category series navigation year and range]] '', --[28] placeholder for [[Category:Category series navigation year and decade]] '', --[29] placeholder for [[Category:Category series navigation decade and century]] '', --[30] placeholder for [[Category:Category series navigation in mainspace]] '', --[31] placeholder for [[Category:Category series navigation redirection error]] } local avoidself = (not string.match(currtitle.text, 'Category series navigation with') and not string.match(currtitle.text, 'Category series navigation.*/doc') and not string.match(currtitle.text, 'Category series navigation.*/sandbox') and currtitle.text ~= 'Category series navigation' and currtitle.nsText:gsub('_', ' ') ~= 'User talk' and -- [[phab:T369784]] currtitle.nsText:gsub('_', ' ') ~= 'Template talk' and (currtitle.nsText ~= 'Template' or testcases)) --avoid nested transclusion errors (i.e. {{Infilmdecade}}) --[[==========================================================================]] --[[ Utility & category functions ]] --[[==========================================================================]] --Determine if a category exists (in a function for easier localization). local function catexists( title ) return mw.title.new( title, 'Category' ).exists end --Error message handling. function p.errorclass( msg ) return mw.text.tag( 'span', {class='error mw-ext-cite-error'}, '<b>Error!</b> '..string.gsub(msg, '&#', '&amp;#') ) end --Failure handling. function p.failedcat( errors, sortkey ) if avoidself then return (errors or '')..'&#42;&#42;&#42;Category series navigation failed to generate navbox***'.. '[['..testcasecolon..'Category:Category series navigation failed to generate navbox|'..(sortkey or 'O')..']]\n' end return '' end --Tracking cat handling. -- key: 15 (when reindexing ttrackingcats{}, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]') -- cat: 'Category series navigation isolated'; '' to remove --Used by main, all nav_*(), & several utility functions. local function trackcat( key, cat ) if avoidself and key and cat then if cat ~= '' then ttrackingcats[key] = '[['..testcasecolon..'Category:'..cat..']]' else ttrackingcats[key] = '' end end return end --Check for unknown parameters. --Used by main only. local function checkforunknownparams( tbl ) local knownparams = { --parameter whitelist ['min'] = 'min', ['max'] = 'max', ['cat'] = 'cat', ['show'] = 'show', ['testcase'] = 'testcase', ['testcasegap'] = 'testcasegap', ['skip-gaps'] = 'skip-gaps', ['list-all-links'] = 'list-all-links', ['follow-redirects'] = 'follow-redirects', } for k, _ in pairs (tbl) do if knownparams[k] == nil then trackcat(3, 'Category series navigation using unknown parameter') break end end end --Check for nav_*() navigational isolation (not necessarily an error). --Used by all nav_*(). local function isolatedcat() if nexistingcats == 0 then trackcat(16, 'Category series navigation isolated') end end --Similar to {{LinkCatIfExists2}}: make a piped link to a category, if it exists; --if it doesn't exist, just display the greyed link title without linking. --Follows {{Category redirect}}s. --Returns { -- ['cat'] = cat, -- ['catexists'] = true, -- ['rtarget'] = <#R target>, -- ['navelement'] = <#R target navelement>, -- ['displaytext'] = displaytext, -- } -- if #R followed; --returns { -- ['cat'] = cat, -- ['catexists'] = <true|false>, -- ['rtarget'] = nil, -- ['navelement'] = <cat navelement>, -- ['displaytext'] = displaytext, -- } -- otherwise. --Used by all nav_*(). local function catlinkfollowr( frame, cat, displaytext, displayend, listoverride ) cat = mw.text.trim(cat or '') displaytext = mw.text.trim(displaytext or '') displayend = displayend or false --bool flag to override displaytext IIF the cat/target is terminal (e.g. "2021–present" or "2021–") local disp = cat if displaytext ~= '' then --use 'displaytext' parameter if present disp = mw.ustring.gsub(displaytext, '%s+%(.+$', ''); --strip any trailing disambiguator end local link, nilorR local exists = catexists(cat) if exists then nexistingcats = nexistingcats + 1 if followRs then local R = rtarget(cat, frame) --find & follow #R if R ~= cat then --#R followed nilorR = R end if displayend then local y, hyph, ending = mw.ustring.match(R, '^.-(%d+)([–-])(.*)$') if ending == 'present' then disp = y..hyph..ending elseif ending == '' then disp = y..hyph..'<span style="visibility:hidden">'..y..'</span>' --hidden y to match spacing end end link = '[[:Category:'..R..'|'..disp..']]' else link = '[[:Category:'..cat..'|'..disp..']]' end else link = '<span class="categorySeriesNavigation-item-inactive">'..disp..'</span>' end if listall and listoverride == nil then if nilorR then --#R followed table.insert( tlistall, '[[:Category:'..cat..']] → '..'[[:Category:'..nilorR..']] ('..link..')' ) else --no #R table.insert( tlistall, '[[:Category:'..cat..']] ('..link..')' ) end end return { ['cat'] = cat, ['catexists'] = exists, ['rtarget'] = nilorR, ['navelement'] = link, ['displaytext'] = disp, } end --Returns a numbered list of all {{Category redirect}}s followed by catlinkfollowr() -> rtarget(). --For a nav_hyphen() cat, also returns a formatted list of all cats searched for & found, & all loop indices. --Used by all nav_*(). local function listalllinks() local nl = '\n# ' local out = '' if currtitle.nsText == 'Category' then errors = p.errorclass('The <b><code>|list-all-links=yes</code></b> parameter/utility '.. 'should not be saved in category space, only previewed.') out = p.failedcat(errors, 'Z') end local bwd, fwd = '', '' if tlistallbwd[1] then bwd = '\n\nbackward search:'..nl..table.concat(tlistallbwd, nl) end if tlistallfwd[1] then fwd = '\n\nforward search:'..nl..table.concat(tlistallfwd, nl) end if tlistall[1] then return out..nl..table.concat(tlistall, nl)..bwd..fwd else return out..nl..'No links found!?'..bwd..fwd end end --Returns the difference b/w 2 ints separated by endash|hyphen, nil if error. --Used by nav_hyphen() only. local function find_duration( cat ) local from, to = mw.ustring.match(cat, '(%d+)[–-](%d+)') if from and to then if to == '00' then return nil end --doesn't follow MOS:DATERANGE if (#from == 4) and (#to == 2) then --1900-01 to = string.match(from, '(%d%d)%d%d')..to --1900-1901 elseif (#from == 2) and (#to == 4) then -- 01-1902 from = string.match(to, '(%d%d)%d%d')..from --1901-1902 end return (tonumber(to) - tonumber(from)) end return 0 end --Returns the ending of a terminal cat, and sets the appropriate tracking cat, else nil. --Used by nav_hyphen() only. local function find_terminaltxt( cat ) local terminaltxt = nil if mw.ustring.match(cat, '%d+[–-]present$') then terminaltxt = 'present' trackcat(14, 'Category series navigation range ends (present)') elseif mw.ustring.match(cat, '%d+[–-]$') then terminaltxt = '' trackcat(15, 'Category series navigation range ends (blank, MOS)') end return terminaltxt end --Returns an unsigned string of the 1-4 digit decade ending in "0", else nil. --Used by nav_decade() only. local function sterilizedec( decade ) if decade == nil or decade == '' then return nil end local dec = string.match(decade, '^[-%+]?(%d?%d?%d?0)$') or string.match(decade, '^[-%+]?(%d?%d?%d?0)%D') if dec then return dec else --fix 2-4 digit decade local decade_fixed234 = string.match(decade, '^[-%+]?(%d%d?%d?)%d$') or string.match(decade, '^[-%+]?(%d%d?%d?)%d%D') if decade_fixed234 then return decade_fixed234..'0' end --fix 1-digit decade local decade_fixed1 = string.match(decade, '^[-%+]?(%d)$') or string.match(decade, '^[-%+]?(%d)%D') if decade_fixed1 then return '0' end --unfixable return nil end end --Check for nav_hyphen default gap size + isolatedcat() (not necessarily an error). --Used by nav_hyphen() only. local function defaultgapcat( bool ) if bool and nexistingcats == 0 then --using "nexistingcats > 0" isn't as useful, since the default gap size obviously worked trackcat(17, 'Category series navigation default season gap size') end end --12 -> 12th, etc. --Used by nav_nordinal() & nav_wordinal(). function p.addord( i ) if tonumber(i) then local s = tostring(i) local tens = string.match(s, '1%d$') if tens then return s..'oo' end local ones = string.match(s, '%d$') if ones == '1' then return s..'d' elseif ones == '2' then return s..'h' end return s..'oo' end return i end --Returns the properly formatted central nav element. --Expects an integer i, and a catlinkfollowr() table. --Used by nav_decade() & nav_ordinal() only. local function navcenter( i, catlink ) if i == 0 then --center nav element if navborder == true then return '<b>'..catlink.displaytext..'</b>' else return '<b>'..catlink.navelement..'</b>' end else return catlink.navelement end end --Wrap one or two navs in a <div> with ARIA attributes; add TemplateStyles --before it. This also aligns the navs in case some floating element (like a --portal box) breaks their alignment. --Used by main only. local function wrap( nav1, nav2 ) local templatestyles = require("Module:TemplateStyles")( "Module:Category series navigation/styles.css" ) local prepare = function (nav) if nav then nav = '\n'..nav else nav = '' end return nav end return templatestyles.. '<div class="categorySeriesNavigation" role="navigation" aria-label="Range">'.. prepare(nav1)..prepare(nav2).. '\n</div>' end --[[==========================================================================]] --[[ Formerly separated templates/modules ]] --[[==========================================================================]] --[[==========================={{ nav_hyphen }}=============================]] local function nav_hyphen( frame, start, hyph, finish, firstpart, lastpart, minseas, maxseas, testgap ) --Expects a PAGENAME of the form "Some sequential 2015–16 example cat", where -- start = 2015 -- hyph = – -- finish = 16 (sequential years can be abbreviated, but others should be full year, e.g. "2001–2005") -- firstpart = Some sequential -- lastpart = example cat -- minseas = 1800 ('min' starting season shown; optional; defaults to -9999) -- maxseas = 2000 ('max' starting season shown; optional; defaults to 9999; 2000 will show 2000-01) -- testgap = 0 (testcasegap parameter for easier testing; optional) --sterilize start if string.match(start or '', '^%d%d?%d?%d?$') == nil then --1-4 digits, AD only local start_fixed = mw.ustring.match(start or '', '^%s*(%d%d?%d?%d?)%D') if start_fixed then start = start_fixed else errors = p.errorclass('Function nav_hyphen can\'t recognize the number "'..(start or '')..'" '.. 'in the first part of the "season" that was passed to it. '.. 'For e.g. "2015–16", "2015" is expected via "|2015|–|16|".') return p.failedcat(errors, 'H') end end local nstart = tonumber(start) --en dash check if hyph ~= '–' then trackcat(4, 'Category series navigation range not using en dash') --nav still processable, but track end --sterilize finish & check for weird parents local tgaps = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for -3 <= j <= 3 local tgapsj4 = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for j = { -4, 4 } local ttlens = {} --table of term lengths found w/i terms { [<term length found>] = 1 } local tirregs = {} --table of ir/regular-term-length cats' "from"s & "to"s found local regularparent = true if (finish == -1) or --"Members of the Scottish Parliament 2021–present" (finish == 0) --"Members of the Scottish Parliament 2021–" then regularparent = false if maxseas == nil or maxseas == '' then maxseas = start --hide subsequent ranges end if finish == -1 then trackcat(14, 'Category series navigation range ends (present)') else trackcat(15, 'Category series navigation range ends (blank, MOS)') end elseif (start == finish) and (ttrackingcats[16] ~= '') --nav_year found isolated; check for surrounding hyphenated terms (e.g. UK MPs 1974) then trackcat(16, '') --reset for another check later trackcat(13, 'Category series navigation range irregular, 0-length') ttlens[0] = 1 --calc ttlens for std cases below regularparent = 'isolated' end if (string.match(finish or '', '^%d+$') == nil) and (string.match(finish or '', '^%-%d+$') == nil) then local finish_fixed = mw.ustring.match(finish or '', '^%s*(%d%d?%d?%d?)%D') if finish_fixed then finish = finish_fixed else errors = p.errorclass('Function nav_hyphen can\'t recognize "'..(finish or '')..'" '.. 'in the second part of the "season" that was passed to it. '.. 'For e.g. "2015–16", "16" is expected via "|2015|–|16|".') return p.failedcat(errors, 'I') end else if string.len(finish) >= 5 then errors = p.errorclass('The second part of the season passed to function nav_hyphen should only be four or fewer digits, not "'..(finish or '')..'". '.. 'See [[MOS:DATERANGE]] for details.') return p.failedcat(errors, 'J') end end local nfinish = tonumber(finish) --save sterilized parent range for easier lookup later tirregs['from0'] = nstart tirregs['to0'] = nfinish --sterilize min/max local nminseas_default = -9999 local nmaxseas_default = 9999 local nminseas = tonumber(minseas) or nminseas_default --same behavior as nav_year local nmaxseas = tonumber(maxseas) or nmaxseas_default --same behavior as nav_year if nminseas > nstart then nminseas = nstart end if nmaxseas < nstart then nmaxseas = nstart end local lspace = ' ' --assume a leading space (most common) local tspace = ' ' --assume a trailing space (most common) if string.match(firstpart, '%($') then lspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats if string.match(lastpart, '^%)') then tspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats --calculate term length/intRAseason size & finishing year local t = 1 while t <= term_limit and regularparent == true do local nish = nstart + t --use switchADBC to flip this sign to work for years BC, if/when the time comes if (nish == nfinish) or (string.match(nish, '%d?%d$') == finish) then ttlens[t] = 1 break end if t == term_limit then errors = p.errorclass('Function nav_hyphen can\'t determine a reasonable term length for "'..start..hyph..finish..'".') return p.failedcat(errors, 'K') end t = t + 1 end --apply MOS:DATERANGE to parent local lenstart = string.len(start) local lenfinish = string.len(finish) if lenstart == 4 and regularparent == true then --"2001–..." if t == 1 then --"2001–02" & "2001–2002" both allowed if lenfinish ~= 2 and lenfinish ~= 4 then errors = p.errorclass('The second part of the season passed to function nav_hyphen should be two or four digits, not "'..finish..'".') return p.failedcat(errors, 'L') end else --"2001–2005" is required for t > 1; track "2001–05"; anything else = error if lenfinish == 2 then trackcat(5, 'Category series navigation range abbreviated (MOS)') elseif lenfinish ~= 4 then errors = p.errorclass('The second part of the season passed to function nav_hyphen should be four digits, not "'..finish..'".') return p.failedcat(errors, 'M') end end if finish == '00' then --full year required regardless of term length trackcat(5, 'Category series navigation range abbreviated (MOS)') end end --calculate intERseason gap size local hgap_default = 0 --assume & start at the most common case: 2001–02 -> 2002–03, etc. local hgap_limit_reg = hgap_limit --less expensive per-increment (inc x 4) local hgap_limit_irreg = hgap_limit --more expensive per-increment (inc x 23 = inc x (k_bwd + k_fwd) = inc x (12 + 11)) local hgap_success = false local hgap = hgap_default while hgap <= hgap_limit_reg and regularparent == true do --verify local prevseason2 = firstpart..lspace..(nstart-t-hgap)..hyph..string.match(nstart-hgap, '%d?%d$') ..tspace..lastpart local nextseason2 = firstpart..lspace..(nstart+t+hgap)..hyph..string.match(nstart+2*t+hgap, '%d?%d$')..tspace..lastpart local prevseason4 = firstpart..lspace..(nstart-t-hgap)..hyph..(nstart-hgap) ..tspace..lastpart local nextseason4 = firstpart..lspace..(nstart+t+hgap)..hyph..(nstart+2*t+hgap)..tspace..lastpart if t == 1 then --test abbreviated range first, then full range, to be frugal with expensive functions if catexists(prevseason2) or --use 'or', in case we're at the edge of the cat structure, catexists(nextseason2) or --or we hit a "–00"/"–2000" situation on one side catexists(prevseason4) or catexists(nextseason4) then hgap_success = true break end elseif t > 1 then --test full range first, then abbreviated range, to be frugal with expensive functions if catexists(prevseason4) or --use 'or', in case we're at the edge of the cat structure, catexists(nextseason4) or --or we hit a "–00"/"–2000" situation on one side catexists(prevseason2) or catexists(nextseason2) then hgap_success = true break end end hgap = hgap + 1 end if hgap_success == false then hgap = tonumber(testgap) or hgap_default --tracked via defaultgapcat() end --preliminary scan to determine ir/regular spacing of nearby cats; --to limit expensive function calls, MOS:DATERANGE-violating cats are ignored; --an irregular-term-length series should follow "YYYY..hyph..YYYY" throughout local jlimit = 4 --4-a-side if all YYYY-YY, 3-a-side if all YYYY-YYYY, with some threshold in between if hgap <= hgap_limit_reg then --also to isolate temp vars --find # of nav-visible ir/regular-term-length cats local bwanchor = nstart --backward anchor/common year local fwanchor = bwanchor + t --forward anchor/common year if regularparent == 'isolated' then fwanchor = bwanchor end local spangreen = '[<span style="color:green">j, g, k = ' --used for/when debugging via list-all-links=yes local spanblue = '<span style="color:blue">' local spanred = ' (<span style="color:red">' local span = '</span>' local lastg = nil --to check for run-on searches local lastk = nil --to check for run-on searches local endfound = false --switch used to stop searching forward local iirregs = 0 --index of tirregs[] for j < 0, since search starts from parent local j = -jlimit --index of tirregs[] for j > 0 & pseudo navh position while j <= jlimit do if j < 0 then --search backward from parent local gbreak = false --switch used to break out of g-loop local g = 0 --gap size while g <= hgap_limit_irreg do local k = 0 --term length: 0 = "0-length", 1+ = normal while k <= term_limit do local from = bwanchor - k - g local to = bwanchor - g local full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart ) if k == 0 then if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise to = '0-length' full = mw.text.trim( firstpart..lspace..from..tspace..lastpart ) if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' ) full, to = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy end end end if (k >= 1) or --the normal case; only continue k = 0 if 0-length found (to == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc. then table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full ) if (k == 1) and -- (g == 0 or g == 1) and --commented to match j>0 case ("1995–96 in Federal Republic of Yugoslavia basketball") (catexists(full) == false) then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series local to2 = string.match(to, '%d%d$') if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000) to = to2 full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart ) table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full ) end end if catexists(full) then if to == '0-length' then trackcat(13, 'Category series navigation range irregular, 0-length') end tlistallbwd[#tlistallbwd] = spanblue..tlistallbwd[#tlistallbwd]..span..' (found)' ttlens[ find_duration(full) ] = 1 if j == -1 then tgapsj4[g] = 1 -- -1 since bwd search starts from parent @ -4 and ends at -1 else tgaps[g] = 1 end iirregs = iirregs + 1 tirregs['from-'..iirregs] = from tirregs['to-'..iirregs] = to bwanchor = from --ratchet down if to ~= '0-length' then gbreak = true break else g = 0 --soft-reset g, to keep stepping thru k j = j + 1 --save, but keep searching thru k if j > 0 then --(restore "> 3" if acts up) lest we keep searching bwd & finding 0-length cats ("MEPs for the Republic of Ireland 1973" & down) j = -1 --allow a normal, full search fwd after break gbreak = true break end end elseif (j >= 0) and (lastg and lastk) and ((lastg >= hgap_limit_irreg) or (lastk >= term_limit)) then --bwd search exhausted and/or done (runaway bwd search on "2018–19 FIA World Endurance Championship season") j = -1 --allow a normal, full search fwd after break gbreak = true break end end --ghetto "continue" k = k + 1 lastk = k end --while k <= term_limit do if gbreak == true then break end g = g + 1 lastg = g end --while g <= hgap_limit_irreg do end --if j < 0 if j > 0 and endfound == false then --search forward from parent local gbreak = false --switch used to break out of g-loop local g = 0 --gap size while g <= hgap_limit_irreg do local k = -2 --term length: -2 = "0-length", -1 = "2020–present", 0 = "2020–", 1+ = normal while k <= term_limit do local from = fwanchor + g local to4 = fwanchor + k + g --override carefully local to2 = nil --last 2 digits of to4, IIF exists if k == -1 then to4 = 'present' --see if end-cat exists (present) elseif k == 0 then to4 = '' end --see if end-cat exists (blank) local full = mw.text.trim( firstpart..lspace..from..hyph..to4..tspace..lastpart ) if k == -2 then if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise to4 = '0-length' --see if 0-length cat exists full = mw.text.trim( firstpart..lspace..from..tspace..lastpart ) if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' ) full, to4 = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy end end end if (k >= -1) or --only continue k = -2 if 0-length found (to4 == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc. then table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full ) if (k == 1) and -- (g == 0 or g == 1) and --commented to let "2002–03 in Scottish women's football" find "2008–09 in Scottish women's football" (catexists(full) == false) then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series to2 = string.match(to4, '%d%d$') if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000) full = mw.text.trim( firstpart..lspace..from..hyph..to2..tspace..lastpart ) table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full ) end end if catexists(full) then if to4 == '0-length' then if rtarget(full, frame) == full then --only use 0-length cats that don't #R trackcat(13, 'Category series navigation range irregular, 0-length') end end tirregs['from'..j] = from tirregs['to'..j] = (to2 or to4) if (k == -1) or (k == 0) then endfound = true --tentative else --k == { -2, > 0 } tlistallfwd[#tlistallfwd] = spanblue..tlistallfwd[#tlistallfwd]..span..' (found)' ttlens[ find_duration(full) ] = 1 if j == 4 then tgapsj4[g] = 1 else tgaps[g] = 1 end endfound = false if to4 ~= '0-length' then --k > 0 fwanchor = to4 --ratchet up gbreak = true break --only break on k > 0 b/c old end-cat #Rs still exist like "Members of the Scottish Parliament 2011–" else --k == -2 j = j + 1 --save, but keep searching k's, in case "1974" → "1974-1979" if j > jlimit then --lest we keep searching & finding 0-length cats ("2018 CONCACAF Champions League" & up) gbreak = true break elseif g == hgap_limit_irreg then --keep searching, since not a runaway, just far away ("American soccer clubs 1958–59 season") hgap_limit_irreg = hgap_limit_irreg + 1 end end end end end --ghetto "continue" k = k + 1 lastk = k end --while k <= term_limit do if gbreak == true then break end g = g + 1 lastg = g end --while g <= hgap_limit_irreg do end --if j > 0 and endfound == false then if (lastg and lastk) and (lastg > hgap_limit_irreg) and (lastk > term_limit) then --search exhausted if j < 0 then j = 0 --bwd search exhausted; continue fwd elseif j > 0 then break end --fwd search exhausted end j = j + 1 end --while j <= jlimit end --if hgap <= hgap_limit_reg --determine # of displayed navh elements based on "YYYY-YY" vs. "YYYY-YYYY" counts local Ythreshold = 3.3 --((YYYY-YY x 7) + (YYYY-YYYY x 2))/18 = 3.222; ((YYYY-YY x 6) + (YYYY-YYYY x 3))/18 = 3.333 local Ycount = 0 --"Y" count local ycount = 0 --tirregs counter; # of contiguous #s for k, v in pairs (tirregs) do local dummy, dunce = mw.ustring.gsub(tostring(v), '%d', '') --why can't gsub just return a table?? Ycount = Ycount + dunce ycount = ycount + 1 end local ycount_limit = ((jlimit * 2) + 1) * 2 --i.e. ((4 * 2) + 1) * 2 = 18 if ycount < ycount_limit then --fill in the blanks with Ycount_parent, since hidden/dne cats aren't in tirregs local dummy_finish = finish if not regularparent then dummy_finish = start end local dummy, dunce_from = mw.ustring.gsub(start, '%d', '') local dummy, dunce_to = mw.ustring.gsub(dummy_finish, '%d', '') local Ycount_parent_avg = (dunce_from + dunce_to)/2 --"YYYY-YYYY" = 4; "YYYY-YY" = 3 Ycount = Ycount + (Ycount_parent_avg * (ycount_limit - ycount)) ycount = ycount_limit end local iwidth = 3 --default to 3-a-side, 7 total local Y_per_y = Ycount / ycount --normalized range: [3-4] if Y_per_y < Ythreshold then iwidth = 4 --extend to 4-a-side, 9 total end --begin navhyphen local navh = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local terminalcat = false --switch used to hide future cats local terminaltxt = nil local i = -iwidth --nav position while i <= iwidth do local from = nstart + i*(t+hgap) --the logical, but not necessarily correct, 'from' if tirregs['from'..i] then --prefer the irregular term table from = tonumber(tirregs['from'..i]) else --fallback to lazy/naive 'from' if i > 0 and tirregs['from'..(i-1)] and tirregs['from'..(i-1)] >= from then --end of the line: avoid dups/past, and create reasonable grey'd ranges local greyto = tonumber(tirregs['to' .. (i-1)]) or -9999 local greyfrom = tonumber(tirregs['from'..(i-1)]) or -9999 local grey = greyto --prefer 'to' if greyfrom > greyto then grey = greyfrom end --'from' fallback, in case "1995–96", "1995-present", etc. if grey > -9999 then if grey ~= greyto then from = grey + t + hgap --account for missing/incomplete 'to' else from = grey + hgap end tirregs['from'..i] = from --remember tirregs['to' .. i] = from + t end elseif i < 0 then local greyfrom local ii = 0 while ii < 3 do ii = ii + 1 greyfrom = tonumber(tirregs['from'..(i+ii)]) if greyfrom then break end end from = (greyfrom or nstart) - ii*(t+hgap) tirregs['from'..i] = from --remember tirregs['to' .. i] = from + t end end local from2 = string.match(from, '%d?%d$') local to = tostring(from+t) --the logical, naive range, but if tirregs['to'..i] then --prefer irregular term table to = tirregs['to'..i] elseif regularparent == false and tirregs and i > 0 then to = tirregs['to-1'] --special treatment for parent terminal cats, since they have no natural 'to' end local to2 = string.match(to, '%d?%d$') local tofinal = (to2 or '') --assume t=1 and abbreviated 'to' (the most common case) if t > 1 or --per MOS:DATERANGE (e.g. 1999-2004) (from2 - (to2 or from2)) > 0 --century transition exception (e.g. 1999–2000) then tofinal = (to or '') --default to the MOS-correct format, in case no fallbacks found end if to == '0-length' then tofinal = to end --check existance of 4-digit, MOS-correct range, with abbreviation fallback if tofinal ~= '0-length' then if t > 1 and string.len(from) == 4 then --e.g. 1999-2004 --determine which link exists (full or abbr) local full = firstpart..lspace..from..hyph..tofinal..tspace..lastpart if not catexists(full) then local abbr = firstpart..lspace..from..hyph..to2..tspace..lastpart if catexists(abbr) then tofinal = (to2 or '') --rv to MOS-incorrect format; if full AND abbr DNE, then tofinal is still in its MOS-correct format end end elseif t == 1 then --full-year consecutive ranges are also allowed local abbr = firstpart..lspace..from..hyph..tofinal..tspace..lastpart --assume tofinal is in abbr format if not catexists(abbr) and tofinal ~= to then local full = firstpart..lspace..from..hyph..to..tspace..lastpart if catexists(full) then tofinal = (to or '') --if abbr AND full DNE, then tofinal is still in its abbr format (unless it's a century transition) end end end end --populate navh if i ~= 0 then --left/right navh local orig = firstpart..lspace..from..hyph..tofinal..tspace..lastpart local disp = from..hyph..tofinal if tofinal == '0-length' then orig = firstpart..lspace..from..tspace..lastpart disp = from end local catlink = catlinkfollowr(frame, orig, disp, true) --force terminal cat display if terminalcat == false then terminaltxt = find_terminaltxt( disp ) --also sets tracking cats terminalcat = (terminaltxt ~= nil) end if catlink.rtarget and avoidself then --a {{Category redirect}} was followed, figure out why --determine new term length & gap size ttlens[ find_duration( catlink.rtarget ) ] = 1 if i > -iwidth then local lastto = tirregs['to'..(i-1)] if lastto == nil then local lastfrom = nstart + (i-1)*(t+hgap) lastto = lastfrom+t --use last logical 'from' to calc lastto end if lastto then local gapcat = lastto..'-'..from --dummy cat to calc with local gap = find_duration(gapcat) or -1 --in case of nil, if iwidth == 4 then tgapsj4[ gap ] = 1 --tgapsj4[-1] are ignored later else tgaps[ gap ] = 1 --tgaps[-1] are ignored later end end end --display/tracking handling local base_regex = '%d+[–-]%d+' local origbase = mw.ustring.gsub(orig, base_regex, '') local rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex, '') if rtarbase_success == 0 then local base_regex_lax = '%d%d%d%d' --in case rtarget is a year cat rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex_lax, '') end local terminal_regex = '%d+[–-]'..(terminaltxt or '')..'$' --more manual ORs bc Lua regex sux if mw.ustring.match(orig, terminal_regex) then origbase = mw.ustring.gsub(orig, terminal_regex, '') end if mw.ustring.match(catlink.rtarget, terminal_regex) then --finagle/overload terminalcat type to set nmaxseas on 1st occurence only if terminalcat == false then terminalcat = 1 end local dummy = find_terminaltxt( catlink.rtarget ) --also sets tracking cats rtarbase = mw.ustring.gsub(catlink.rtarget, terminal_regex, '') end origbase = mw.text.trim(origbase) rtarbase = mw.text.trim(rtarbase) if origbase ~= rtarbase then trackcat(6, 'Category series navigation range redirected (base change)') elseif terminalcat == 1 then trackcat(8, 'Category series navigation range redirected (end)') else --origbase == rtarbase local all4s_regex = '%d%d%d%d[–-]%d%d%d%d' local orig_all4s = mw.ustring.match(orig, all4s_regex) local rtar_all4s = mw.ustring.match(catlink.rtarget, all4s_regex) if orig_all4s and rtar_all4s then trackcat(10, 'Category series navigation range redirected (other)') else local year_regex1 = '%d%d%d%d$' local year_regex2 = '%d%d%d%d[%s%)]' local year_rtar = mw.ustring.match(catlink.rtarget, year_regex1) or mw.ustring.match(catlink.rtarget, year_regex2) if orig_all4s and year_rtar then trackcat(7, 'Category series navigation range redirected (var change)') else trackcat(9, 'Category series navigation range redirected (MOS)') end end end end if terminalcat then --true or 1 if type(terminalcat) ~= 'boolean' then nmaxseas = from end --only want to do this once terminalcat = true --done finagling/overloading end if (from >= 0) and (nminseas <= from) and (from <= nmaxseas) then table.insert(navlist, catlink.navelement) if terminalcat then nmaxseas = nminseas_default end --prevent display of future ranges else local hidden = '<span style="visibility:hidden">'..disp..'</span>' table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end else --center navh if finish == -1 then finish = 'present' elseif finish == 0 then finish = '<span style="visibility:hidden">'..start..'</span>' end local disp = start..hyph..finish if regularparent == 'isolated' then disp = start end table.insert(navlist, '<b>'..disp..'</b>') end i = i + 1 end -- add the list navh = navh..horizontal(navlist)..'\n' --tracking cats & finalize if avoidself then local igaps = 0 --# of diff gap sizes > 0 found local itlens = 0 --# of diff term lengths found for s = 1, hgap_limit_reg do --must loop; #tgaps, #ttlens unreliable igaps = igaps + (tgaps[s] or 0) end if iwidth == 4 then --only count gaps if they were displayed ("Karnataka MLAs 1957–1962") for s = 1, hgap_limit_reg do igaps = igaps + (tgapsj4[s] or 0) end end for s = 0, term_limit do itlens = itlens + (ttlens[s] or 0) end if igaps > 0 then trackcat(11, 'Category series navigation range gaps') end if itlens > 1 and ttrackingcats[13] == '' then --avoid duplication in "Category series navigation range irregular, 0-length" trackcat(12, 'Category series navigation range irregular') end end isolatedcat() defaultgapcat(not hgap_success) if listall then return listalllinks() else return navh..'</div>' end end --[[=========================={{ nav_tvseason }}============================]] local function nav_tvseason( frame, firstpart, tv, lastpart, maximumtv ) --Expects a PAGENAME of the form "Futurama season 1 episodes", where -- firstpart = Futurama season -- tv = 1 -- lastpart = episodes -- maximumtv = 7 ('max' tv season parameter; optional; defaults to 9999) tv = tonumber(tv) if tv == nil then errors = p.errorclass('Function nav_tvseason can\'t recognize the TV season number sent to its 3rd parameter.') return p.failedcat(errors, 'T') end --"(season 1) episodes" -> "season 1 episodes" following March 2024 RfC: --[[Wikipedia talk:Naming conventions (television)#Follow-up RfC on TV season article titles]] -- [[Special:Permalink/1216885280#Follow-up RfC on TV season article titles]] local tspace = ' ' --"season 1 episodes" local parenth_check = string.match(lastpart, '^%)') if parenth_check then tspace = '' end --accommodate old style "(season 1) episodes" just in case local maxtv_default = 9999 local maxtv = tonumber(maximumtv) or maxtv_default --allow +/- qualifier if maxtv < tv then maxtv = tv end --input error; maxtv should be >= parent --begin navtvseason local navt = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local prepad = '' local i = -5 --nav position while i <= 5 do local t = tv + i if i ~= 0 then --left/right navt local catlink = catlinkfollowr( frame, firstpart..' '..t..tspace..lastpart, t ) if t >= 1 and t <= maxtv then --hardcode mintv if catlink.rtarget then --a {{Category redirect}} was followed trackcat(25, 'Category series navigation TV season redirected') end if catlink.catexists or (maxtv ~= maxtv_default and t <= maxtv) then table.insert(navlist, prepad..catlink.navelement) --display normally prepad = '' else local postpad = '<span style="visibility:hidden"> • '..t..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end elseif t < 1 then prepad = prepad..'<span style="visibility:hidden"> • '..'0'..'</span>' if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end else --t > maxtv local postpad = '<span style="visibility:hidden"> • '..t..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end else --center navt table.insert(navlist, prepad..'<b>'..tv..'</b>') prepad = '' end i = i + 1 end -- add the list navt = navt..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navt..'</div>' end end --[[==========================={{ nav_decade }}=============================]] local function nav_decade( frame, firstpart, decade, lastpart, mindecade, maxdecade ) --Expects a PAGENAME of the form "Some sequential 2000 example cat", where -- firstpart = Some sequential -- decade = 2000 -- lastpart = example cat -- mindecade = 1800 ('min' decade parameter; optional; defaults to -9999) -- maxdecade = 2020 ('max' decade parameter; optional; defaults to 9999) --sterilize dec local dec = sterilizedec(decade) if dec == nil then errors = p.errorclass('Function nav_decade was sent "'..(decade or '')..'" as its 2nd parameter, '.. 'but expects a 1 to 4-digit year ending in "0".') return p.failedcat(errors, 'D') end local ndec = tonumber(dec) --sterilize mindecade & determine AD/BC local mindefault = '-9999' local mindec = sterilizedec(mindecade) --returns a tostring(unsigned int), or nil if mindec then if string.match(mindecade, '-%d') or string.match(mindecade, 'BC') then mindec = '-'..mindec --better +/-0 behavior with strings (0-initialized int == "-0" string...) end elseif mindec == nil and mindecade and mindecade ~= '' then errors = p.errorclass('Function nav_decade was sent "'..(mindecade or '')..'" as its 4th parameter, '.. 'but expects a 1 to 4-digit year ending in "0", the earliest decade to be shown.') return p.failedcat(errors, 'E') else --mindec == nil mindec = mindefault --tonumber() later, after error checks end --sterilize maxdecade & determine AD/BC local maxdefault = '9999' local maxdec = sterilizedec(maxdecade) --returns a tostring(unsigned int), or nil + error if maxdec then if string.match(maxdecade, '-%d') or string.match(maxdecade, 'BC') then --better +/-0 behavior with strings (0-initialized int == "-0" string...), maxdec = '-'..maxdec --but a "-0" string -> tonumber() -> tostring() = "-0", end --and a "0" string -> tonumber() -> tostring() = "0" elseif maxdec == nil and maxdecade and maxdecade ~= '' then errors = p.errorclass('Function nav_decade was sent "'..(maxdecade or '')..'" as its 5th parameter, '.. 'but expects a 1 to 4-digit year ending in "0", the highest decade to be shown.') return p.failedcat(errors, 'F') else --maxdec == nil maxdec = maxdefault end local tspace = ' ' --assume trailing space for "1950s in X"-type cats if string.match(lastpart, '^-') then tspace = '' end --DNE for "1970s-related"-type cats --AD/BC switches & varR local parentBC = string.match(lastpart, '^RC') --following the "0s BC" convention for all years BC lastpart = mw.ustring.gsub(lastpart, '^RC%s*', '') --handle BC separately; AD never used --TODO?: handle BCE, but only if it exists in the wild local dec0to40AD = (ndec >= 0 and ndec <= 40 and not parentBC) --special behavior in this range local switchADBC = 1 -- 1=AD parent if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later local BCdisp = '' local D = -math.huge --secondary switch & iterator for AD/BC transition --check non-default min/max more carefully if mindec ~= mindefault then if tonumber(mindec) > ndec*switchADBC then mindec = tostring(ndec*switchADBC) --input error; mindec should be <= parent end end if maxdec ~= maxdefault then if tonumber(maxdec) < ndec*switchADBC then maxdec = tostring(ndec*switchADBC) --input error; maxdec should be >= parent end end local nmindec = tonumber(mindec) --similar behavior to nav_year & nav_nordinal local nmaxdec = tonumber(maxdec) --similar behavior to nav_nordinal --begin navdecade local bnb = '' --border/no border if navborder == false then --for Category series navigation year and decade bnb = 'categorySeriesNavigation-range-transparent' end local navd = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n' local navlist = {} local i = -50 --nav position x 10 while i <= 50 do local d = ndec + i*switchADBC local BC = '' BCdisp = '' if dec0to40AD then if D < -10 then d = math.abs(d + 10) --b/c 2 "0s" decades exist: "0s BC" & "0s" (AD) BC = 'RC ' if d == 0 then D = -10 --track 1st d = 0 use (BC) end elseif D >= -10 then D = D + 10 --now iterate from 0s AD d = D --2nd d = 0 use end elseif parentBC then if switchADBC == -1 then --parentBC looking at the BC side (the common case) BC = 'RC ' if d == 0 then --prepare to switch to the AD side on the next iteration switchADBC = 1 --1st d = 0 use (BC) D = -10 --prep end elseif switchADBC == 1 then --switched to the AD side D = D + 10 --now iterate from 0s AD d = D --2nd d = 0 use (on first use) end end if BC ~= '' and ndec <= 50 then BCdisp = ' BC' --show BC for all BC decades whenever a "0s" is displayed on the nav end --determine target cat local disp = d..'s'..BCdisp local catlink = catlinkfollowr( frame, firstpart..' '..d..'s'..tspace..BC..lastpart, disp ) if catlink.rtarget then --a {{Category redirect}} was followed trackcat(18, 'Category series navigation decade redirected') end --populate left/right navd local shown = navcenter(i, catlink) local hidden = '<span style="visibility:hidden">'..disp..'</span>' local dsign = d --use d for display & dsign for logic if BC ~= '' then dsign = -dsign end if (nmindec <= dsign) and (dsign <= nmaxdec) then if dsign == 0 and (nmindec == 0 or nmaxdec == 0) then --distinguish b/w -0 (BC) & 0 (AD) --"zoom in" on +/- 0 and turn dsign/min/max temporarily into +/- 1 for easier processing local zsign, zmin, zmax = 1, nmindec, nmaxdec if BC ~= '' then zsign = -1 end if mindec == '-0' then zmin = -1 elseif mindec == '0' then zmin = 1 end if maxdec == '-0' then zmax = -1 elseif maxdec == '0' then zmax = 1 end if (zmin <= zsign) and (zsign <= zmax) then table.insert(navlist, shown) hidden = nil else table.insert(navlist, hidden) end else table.insert(navlist, shown)--the common case hidden = nil end else table.insert(navlist, hidden) end if listall and hidden then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end i = i + 10 end -- add the list navd = navd..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navd..'</div>' end end --[[============================{{ nav_year }}==============================]] local function nav_year( frame, firstpart, year, lastpart, minimumyear, maximumyear ) --Expects a PAGENAME of the form "Some sequential 1760 example cat", where -- firstpart = Some sequential -- year = 1760 -- lastpart = example cat -- minimumyear = 1758 ('min' year parameter; optional) -- maximumyear = 1800 ('max' year parameter; optional) local minyear_default = -9999 local maxyear_default = 9999 year = tonumber(year) or tonumber(mw.ustring.match(year or '', '^%s*(%d*)')) local minyear = tonumber(string.match(minimumyear or '', '-?%d+')) or minyear_default --allow +/- qualifier local maxyear = tonumber(string.match(maximumyear or '', '-?%d+')) or maxyear_default --allow +/- qualifier if string.match(minimumyear or '', 'BC') then minyear = -math.abs(minyear) end --allow BC qualifier (AD otherwise assumed) if string.match(maximumyear or '', 'BC') then maxyear = -math.abs(maxyear) end --allow BC qualifier (AD otherwise assumed) if year == nil then errors = p.errorclass('Function nav_year can\'t recognize the year sent to its 3rd parameter.') return p.failedcat(errors, 'Y') end --AD/BC switches & vars local yearBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown --"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s ['example_Hebrew people_example'] = 'BCE', --example entry format; add to & adjust as needed } local parentAD = string.match(firstpart, 'BNJ$') --following the "AD 1" convention from AD 1 to AD 10 local parentBC = string.match(lastpart, '^RC?') --following the "1 BC" convention for all years BC firstpart = mw.ustring.gsub(firstpart, '%s*BNJ$', '') --handle AD/BC separately for easier & faster accounting lastpart = mw.ustring.gsub(lastpart, '^RC?%s*', '') local BCe = parentBC or yearBCElastparts[lastpart] or 'RC' --"BC" default local year1to10 = (year >= 1 and year <= 10) local year1to10ADBC = year1to10 and (parentBC or parentAD) --special behavior 1-10 for low-# non-year series local year1to15AD = (year >= 1 and year <= 15 and not parentBC) --special behavior 1-15 for AD/BC display local switchADBC = 1 -- 1=AD parent if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later local Y = 0 --secondary iterator for AD-on-a-BC-parent if minyear > year*switchADBC then minyear = year*switchADBC end --input error; minyear should be <= parent if maxyear < year*switchADBC then maxyear = year*switchADBC end --input error; maxyear should be >= parent local lspace = ' ' --leading space before year, after firstpart if string.match(firstpart, '[%-VW]$') then lspace = '' --e.g. "Straight-8 engines" end local tspace = ' ' --trailing space after year, before lastpart if string.match(lastpart, '^-') then tspace = '' --e.g. "2018-related timelines" end --determine interyear gap size to condense special category types, if possible local ygapdefault = 1 --assume/start at the most common case: 2001, 2002, etc. local ygap = ygapdefault if string.match(lastpart, 'presidential') then local ygap1, ygap2 = ygapdefault, ygapdefault --need to determine previous & next year gaps indepedently local ygap1_success, ygap2_success = false, false local prevseason = nil while ygap1 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms prevseason = firstpart..lspace..(year-ygap1)..tspace..lastpart if catexists(prevseason) then ygap1_success = true break end ygap1 = ygap1 + 1 end local nextseason = nil while ygap2 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms nextseason = firstpart..lspace..(year+ygap2)..tspace..lastpart if catexists(nextseason) then ygap2_success = true break end ygap2 = ygap2 + 1 end if ygap1_success and ygap2_success then if ygap1 == ygap2 then ygap = ygap1 end elseif ygap1_success then ygap = ygap1 elseif ygap2_success then ygap = ygap2 end end --skip non-existing years, if requested local ynogaps = {} --populate with existing years in the range, at most, [year - (skipgaps_limit * 5), year + (skipgaps_limit * 5)] if skipgaps then if minyear == minyear_default then minyear = 0 --automatically set minyear to 0, as AD/BC not supported anyway end if (year > 70) or --add support for AD/BC (<= AD 10) if/when needed (minyear >= 0 and --must be a non-year series like "AC with 0 elements" not parentAD and not parentBC) then local yskipped = {} --track skipped y's to avoid double-checking local cat, found, Yeary --populate nav element queue outwards positively from the parent local Year = year --to save/ratchet progression local i = 1 while i <= 5 do local y = 1 while y <= skipgaps_limit do found = false Yeary = Year + y if yskipped[Yeary] == nil then yskipped[Yeary] = Yeary cat = firstpart..lspace..Yeary..tspace..lastpart found = catexists(cat) if found then break end end y = y + 1 end if found then Year = Yeary else Year = Year + 1 end ynogaps[i] = Year i = i + 1 end ynogaps[0] = year --the parent --populate nav element queue outwards negatively from the parent Year = year --reset ratchet i = -1 while i >= -5 do local y = -1 while y >= -skipgaps_limit do found = false Yeary = Year + y if yskipped[Yeary] == nil then yskipped[Yeary] = Yeary cat = firstpart..lspace..Yeary..tspace..lastpart found = catexists(cat) if found then break end end y = y - 1 end if found then Year = Yeary else Year = Year - 1 end ynogaps[i] = Year i = i - 1 end else skipgaps = false --TODO: AD/BC support, then lift BC restrictions @ [[Template:Establishment category BC]] & [[Template:Year category header/core]] end end --begin navyears local navy = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local y local j = 0 --decrementor for special cases "2021 World Rugby Sevens Series" -> "2021–2022" local i = -5 --nav position while i <= 5 do if skipgaps then y = ynogaps[i] else y = year + i*ygap*switchADBC - j end local BCdisp = '' if i ~= 0 then --left/right navy local AD = '' local BC = '' if year1to15AD and not (year1to10 and not year1to10ADBC) --don't AD/BC 1-10's if parents don't contain AD/BC then if year >= 11 then --parent = AD 11-15 if y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats AD = 'AD ' end elseif year >= 1 then --parent = AD 1-10 if y <= 0 then BC = BCe..' ' y = math.abs(y - 1) --skip y = 0 (DNE) elseif y >= 1 and y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats AD = 'AD ' end end elseif parentBC then if switchADBC == -1 then --displayed y is in the BC regime if y >= 1 then --the common case BC = BCe..' ' elseif y == 0 then --switch from BC to AD regime switchADBC = 1 end end if switchADBC == 1 then --displayed y is now in the AD regime Y = Y + 1 --skip y = 0 (DNE) y = Y --easiest solution: start another iterator for these AD y's displayed on a BC year parent AD = 'AD ' end end if BC ~= '' and year <= 5 then --only show 'BC' for parent years <= 5: saves room, easier to read, BCdisp = ' '..BCe --and 6 is the first/last nav year that doesn't need a disambiguator; end --the center/parent year will always show BC, so no need to show it another 10x --populate left/right navy local ysign = y --use y for display & ysign for logic local disp = y..BCdisp if BC ~= '' then ysign = -ysign end local firsttry = firstpart..lspace..AD..y..tspace..BC..lastpart if (minyear <= ysign) and (ysign <= maxyear) then local catlinkAD = catlinkfollowr( frame, firsttry, disp ) --try AD local catlink = catlinkAD --tentative winner if AD ~= '' then --for "ACArt with 5 suppressed elements"-type cats local catlinkNoAD = catlinkfollowr( frame, firstpart..lspace..y..tspace..BC..lastpart, disp ) --try !AD if catlinkNoAD.catexists == true then catlink = catlinkNoAD --usurp elseif listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>1</sup>' end end if (AD..BC == '') and (catlink.catexists == false) and (y >= 1000) then --!ADBC & DNE; 4-digit only, to be frugal --try basic hyphenated cats: 1-year, endash, MOS-correct only, no #Rs local yHyph_4 = y..'–'..(y+1) --try 2010–2011 type cats local catlinkHyph_4 = catlinkfollowr( frame, firstpart..lspace..yHyph_4..tspace..BC..lastpart, yHyph_4 ) if catlinkHyph_4.catexists and catlinkHyph_4.rtarget == nil then --exists & no #Rs catlink = catlinkHyph_4 --usurp trackcat(27, 'Category series navigation year and range') else if listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>2</sup>' end local yHyph_2 = y..'–'..string.match(y+1, '%d%d$') --try 2010–11 type cats if i == 1 then local yHyph_2_special = (y-1)..'–'..string.match(y, '%d%d$') --try special case 2021 -> 2021–22 local catlinkHyph_2_special = catlinkfollowr( frame, firstpart..lspace..yHyph_2_special..tspace..BC..lastpart, yHyph_2_special ) if catlinkHyph_2_special.catexists and catlinkHyph_2_special.rtarget == nil then --exists & no #Rs catlink = catlinkHyph_2_special --usurp trackcat(27, 'Category series navigation year and range') j = 1 elseif listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>3</sup>' end end if not (i == 1 and j == 1) then local catlinkHyph_2 = catlinkfollowr( frame, firstpart..lspace..yHyph_2..tspace..BC..lastpart, yHyph_2 ) if catlinkHyph_2.catexists and catlinkHyph_2.rtarget == nil then --exists & no #Rs catlink = catlinkHyph_2 --usurp trackcat(27, 'Category series navigation year and range') elseif listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>4</sup>' end end end end if catlink.rtarget then --#R followed; determine why local r = catlink.rtarget local c = catlink.cat local year_regex = '%d%d%d%d[–-]?%d?%d?%d?%d?' --prioritize year/range stripping, e.g. for "2006 Super 14 season" local hyph_regex = '%d%d%d%d[–-]%d+' --stricter local num_regex = '%d+' --strip any number otherwise local final_regex = nil --best choice goes here if mw.ustring.match(r, year_regex) and mw.ustring.match(c, year_regex) then final_regex = year_regex elseif mw.ustring.match(r, num_regex) and mw.ustring.match(c, num_regex) then final_regex = num_regex end if final_regex then local r_base = mw.ustring.gsub(r, final_regex, '') local c_base = mw.ustring.gsub(c, final_regex, '') if r_base ~= c_base then trackcat(19, 'Category series navigation year redirected (base change)') --acceptable #R target elseif mw.ustring.match(r, hyph_regex) then trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "2008 in Scottish women's football" to "2008–09" else trackcat(21, 'Category series navigation year redirected (other)') --exceptions go here end else trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "V2 engines" to "V-twin engines" end end table.insert(navlist, catlink.navelement) else --OOB vs min/max local hidden = '<span style="visibility:hidden">'..disp..'</span>' table.insert(navlist, hidden) if listall then local dummy = catlinkfollowr( frame, firsttry, disp ) tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end else --center navy if parentBC then BCdisp = ' '..BCe end table.insert(navlist, '<b>'..year..BCdisp..'</b>') end i = i + 1 end --add the list navy = navy..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navy..'</div>' end end --[[==========================={{ nav_roman }}==============================]] local function nav_roman( frame, firstpart, roman, lastpart, minimumrom, maximumrom ) local toarabic = require('Module:ConvertNumeric').roman_to_numeral local toroman = require('Module:Roman').main --sterilize/convert rom/num local num = tonumber(toarabic(roman)) local rom = toroman({ [1] = num }) if num == nil or rom == nil then --out of range or some other error errors = p.errorclass('Function nav_roman can\'t recognize one or more of "'..(num or 'nil')..'" & "'.. (rom or 'nil')..'" in category "'..firstpart..' '..roman..' '..lastpart..'".') return p.failedcat(errors, 'R') end --sterilize min/max local minrom = tonumber(minimumrom or '') or tonumber(toarabic(minimumrom or '')) local maxrom = tonumber(maximumrom or '') or tonumber(toarabic(maximumrom or '')) if minrom < 1 then minrom = 1 end --toarabic() returns -1 on error if maxrom < 1 then maxrom = 9999 end --toarabic() returns -1 on error if minrom > num then minrom = num end if maxrom < num then maxrom = num end --begin navroman local navr = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local i = -5 --nav position while i <= 5 do local n = num + i if n >= 1 then local r = toroman({ [1] = n }) if i ~= 0 then --left/right navr local catlink = catlinkfollowr( frame, firstpart..' '..r..' '..lastpart, r ) if minrom <= n and n <= maxrom then if catlink.rtarget then --a {{Category redirect}} was followed trackcat(22, 'Category series navigation roman numeral redirected') end table.insert(navlist, catlink.navelement) else local hidden = '<span style="visibility:hidden">'..r..'</span>' table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end else --center navr table.insert(navlist, '<b>'..r..'</b>') end else table.insert(navlist, '<span style="visibility:hidden">I</span>') end i = i + 1 end -- add the list navr = navr..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navr..'</div>' end end --[[=========================={{ nav_nordinal }}============================]] local function nav_nordinal( frame, firstpart, ord, lastpart, minimumord, maximumord ) local nord = tonumber(ord) local minord = tonumber(string.match(minimumord or '', '(-?%d+)[snrt]?[tdh]?')) or -9999 --allow full ord & +/- qualifier local maxord = tonumber(string.match(maximumord or '', '(-?%d+)[snrt]?[tdh]?')) or 9999 --allow full ord & +/- qualifier if string.match(minimumord or '', 'BC') then minord = -math.abs(minord) end --allow BC qualifier (AD otherwise assumed) if string.match(maximumord or '', 'BC') then maxord = -math.abs(maxord) end --allow BC qualifier (AD otherwise assumed) local temporal = string.match(lastpart, 'century') or string.match(lastpart, 'millennium') local tspace = ' ' --assume a trailing space after ordinal if string.match(lastpart, '^-') then tspace = '' end --DNE for "19th-century"-type cats --AD/BC switches & vars local ordBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown --lists the lastpart of valid BCE cats --"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s ['-century Hebrew people'] = 'BCE', --WP:CFD/Log/2016 June 21#Category:11th-century BC Hebrew people ['-century Jews'] = 'BCE', --co-nominated ['-century Judaism'] = 'BCE', --co-nominated ['-century rabbis'] = 'BCE', --co-nominated ['-century High Priests of Israel'] = 'BCE', } local parentBC = mw.ustring.match(lastpart, '%s(BCE?)') --"1st-century BC" format local lastpartNoBC = mw.ustring.gsub(lastpart, '%sBCE?', '') --easier than splitting lastpart up in 2; AD never used local BCe = parentBC or ordBCElastparts[lastpartNoBC] or 'BC' --"BC" default local switchADBC = 1 -- 1=AD parent if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later local O = 0 --secondary iterator for AD-on-a-BC-parent if not temporal and minord < 1 then minord = 1 end --nothing before "1st parliament", etc. if minord > nord*switchADBC then minord = nord*switchADBC end --input error; minord should be <= parent if maxord < nord*switchADBC then maxord = nord*switchADBC end --input error; maxord should be >= parent --begin navnordinal local bnb = '' --border/no border if navborder == false then --for Category series navigation decade and century bnb = 'categorySeriesNavigation-range-transparent' end local navo = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n' local navlist = {} local i = -5 --nav position while i <= 5 do local o = nord + i*switchADBC local BC = '' local BCdisp = '' if parentBC then if switchADBC == -1 then --parentBC looking at the BC side if o >= 1 then --the common case BC = ' '..BCe elseif o == 0 then --switch to the AD side BC = '' switchADBC = 1 end end if switchADBC == 1 then --displayed o is now in the AD regime O = O + 1 --skip o = 0 (DNE) o = O --easiest solution: start another iterator for these AD o's displayed on a BC year parent end elseif o <= 0 then --parentAD looking at BC side BC = ' '..BCe o = math.abs(o - 1) --skip o = 0 (DNE) end if BC ~= '' and nord <= 5 then --only show 'BC' for parent ords <= 5: saves room, easier to read, BCdisp = ' '..BCe --and 6 is the first/last nav ord that doesn't need a disambiguator; end --the center/parent ord will always show BC, so no need to show it another 10x --populate left/right navo local oth = p.addord(o) local osign = o --use o for display & osign for logic if BC ~= '' then osign = -osign end local hidden = '<span style="visibility:hidden">'..oth..'</span>' if temporal then --e.g. "3rd-century BC" local lastpart = lastpartNoBC --lest we recursively add multiple "BC"s if BC ~= '' then lastpart = string.gsub(lastpart, temporal, temporal..BC) --replace BC if needed end local catlink = catlinkfollowr( frame, firstpart..' '..oth..tspace..lastpart, oth..BCdisp ) if (minord <= osign) and (osign <= maxord) then if catlink.rtarget then --a {{Category redirect}} was followed trackcat(23, 'Category series navigation nordinal redirected') end table.insert(navlist, navcenter(i, catlink)) else table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end elseif BC == '' and minord <= osign and osign <= maxord then --e.g. >= "1st parliament" local catlink = catlinkfollowr( frame, firstpart..' '..oth..tspace..lastpart, oth ) if catlink.rtarget then --a {{Category redirect}} was followed trackcat(23, 'Category series navigation nordinal redirected') end table.insert(navlist, navcenter(i, catlink)) else --either out-of-range (hide), or non-temporal + BC = something might be wrong (2nd X parliament BC?); handle exceptions if/as they arise table.insert(navlist, hidden) end i = i + 1 end navo = navo..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navo..'</div>' end end --[[========================={{ nav_wordinal }}=============================]] local function nav_wordinal( frame, firstpart, word, lastpart, minimumword, maximumword, ordinal, frame ) --Module:ConvertNumeric.spell_number2() args: -- ordinal == true : 'second' is output instead of 'two' -- ordinal == false: 'two' is output instead of 'second' local ord2eng = require('Module:ConvertNumeric').spell_number2 local eng2ord = require('Module:ConvertNumeric').english_to_ordinal local th = 'th' if not ordinal then th = '' eng2ord = require('Module:ConvertNumeric').english_to_numeral end local capitalize = nil ~= string.match(word, '^%u') --determine capitalization local nord = eng2ord(string.lower(word)) --operate on/with lowercase, and restore any capitalization later local lspace = ' ' --assume a leading space (most common) local tspace = ' ' --assume a trailing space (most common) if string.match(firstpart, '[%-%(]$') then lspace = '' end --DNE for "Straight-eight engines"-type cats if string.match(lastpart, '^[%-%)]' ) then tspace = '' end --DNE for "Nine-cylinder engines"-type cats --sterilize min/max local maxword_default = 99 local maxword = maxword_default local minword = 1 if minimumword then local num = tonumber(minimumword) if num and 0 < num and num < maxword then minword = num else local ord = eng2ord(minimumword) if 0 < ord and ord < maxword then minword = ord end end end if maximumword then local num = tonumber(maximumword) if num and 0 < num and num < maxword then maxword = num else local ord = eng2ord(maximumword) if 0 < ord and ord < maxword then maxword = ord end end end if minword > nord then minword = nord end if maxword < nord then maxword = nord end --determine max existing cat local listoverride = true local n_max = nord local m = 1 while m <= 5 do local n = nord + m local nth = p.addord(n) if not ordinal then nth = n end local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize } local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth, nil, listoverride ) if catlink.catexists then n_max = n end m = m + 1 end --begin navwordinal local navw = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local prepad = '' local i = -5 --nav position while i <= 5 do local n = nord + i if n >= 1 then local nth = p.addord(n) if not ordinal then nth = n end if i ~= 0 then --left/right navw local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize } local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth ) if minword <= n and n <= maxword then if catlink.rtarget then --a {{Category redirect}} was followed trackcat(24, 'Category series navigation wordinal redirected') end if n <= n_max or maxword ~= maxword_default then table.insert(navlist, prepad..catlink.navelement) --display normally prepad = '' else local postpad = '<span style="visibility:hidden"> • '..nth..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end else local postpad = '<span style="visibility:hidden"> • '..nth..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end else --center navw table.insert(navlist, prepad..'<b>'..nth..'</b>') prepad = '' end else --n < 1 prepad = prepad..'<span style="visibility:hidden"> • '..'0'..th..'</span>' if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end end i = i + 1 end -- Add the list navw = navw..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navw..'</div>' end end --[[==========================={{ find_var }}===============================]] local function find_var( pn ) --Extracts the variable text (e.g. 2015, 2015–16, 2000s, 3rd, III, etc.) from a string, --and returns { ['vtype'] = <'year'|'season'|etc.>, <v> = <2015|2015–16|etc.> } local pagename = currtitle.text if pn and pn ~= '' then pagename = pn end local cpagename = 'Ronney:'..pagename --limited-Lua-regex workaround local d_season = mw.ustring.match(cpagename, ':(%d+yn).+%(%d+[–-]%d+%)') --i.e. "1760s in the Province of Quebec (1763–1791)" local y_season = mw.ustring.match(cpagename, ':(%d+) .+%(%d+[–-]%d+%)') --i.e. "1763 establishments in the Province of Quebec (1763–1791)" local e_season = mw.ustring.match(cpagename, '%s(%d+[–-])$') or --irreg; ending unknown, e.g. "Members of the Scottish Parliament 2021–" mw.ustring.match(cpagename, '%s(%d+[–-]jiu)$') --e.g. "UK MPs 2019–present" local season = mw.ustring.match(cpagename, '[:%s%(](%d+[–-]%d+)[%)%s]') or --split in 2 b/c you can't frontier '$'/eos? mw.ustring.match(cpagename, '[:%s](%d+[–-]%d+)$') local tvseason = mw.ustring.match(cpagename, 'season (%d+)') or mw.ustring.match(cpagename, 'series (%d+)') or mw.ustring.match(cpagename, 'meetup (%d+)') local nordinal = mw.ustring.match(cpagename, '[:%s](%d+[dho][o])[-%s]') or mw.ustring.match(cpagename, '[:%s](%d+[dho][o])$') local decade = mw.ustring.match(cpagename, '[:%s](%d+yn)[%s-]') or mw.ustring.match(cpagename, '[:%s](%d+yn)$') local year = mw.ustring.match(cpagename, '[:%s](%d%d%d%d)%s') or --prioritize 4-digit years mw.ustring.match(cpagename, '[:%s](%d%d%d%d)$') or mw.ustring.match(cpagename, '[:%s](%d+)%s') or mw.ustring.match(cpagename, '[:%s](%d+)$') or --expand/combine exceptions below as needed mw.ustring.match(cpagename, '[:%s](%d+)-related') or mw.ustring.match(cpagename, '[:%s](%d+)-cylinder') or mw.ustring.match(cpagename, '[:%-VW](%d+)%s') --e.g. "Straight-8 engines" local roman = mw.ustring.match(cpagename, '%s([IVXLCDM]+)%s') local found = d_season or y_season or e_season or season or tvseason or nordinal or decade or year or roman if found then if string.match(found, '%d%d%d%d%d') == nil then --return in order of decreasing complexity/chance for duplication if nordinal and season --i.e. "18th-century establishments in the Province of Quebec (1763–1791)" then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end if d_season then return { ['vtype'] = 'decade', ['v'] = d_season } end if y_season then return { ['vtype'] = 'year', ['v'] = y_season } end if e_season then return { ['vtype'] = 'ending', ['v'] = e_season } end if season then return { ['vtype'] = 'season', ['v'] = season } end if tvseason then return { ['vtype'] = 'tvseason', ['v'] = tvseason } end if nordinal then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end if decade then return { ['vtype'] = 'decade', ['v'] = decade } end if year then return { ['vtype'] = 'year', ['v'] = year } end if roman then return { ['vtype'] = 'roman', ['v'] = roman } end end else --try wordinals ('zeroth' to 'ninety-ninth' only) local eng2ord = require('Module:ConvertNumeric').english_to_ordinal local split = mw.text.split(pagename, ' ') for i=1, #split do if eng2ord(split[i]) > -1 then return { ['vtype'] = 'wordinal', ['v'] = split[i] } end end --try English numerics ('one'/'single' to 'ninety-nine' only) local eng2num = require('Module:ConvertNumeric').english_to_numeral local split = mw.text.split(pagename, '[%s%-]') --e.g. "Nine-cylinder engines" for i=1, #split do if eng2num(split[i]) > -1 then return { ['vtype'] = 'enumeric', ['v'] = split[i] } end end end errors = p.errorclass('Function find_var can\'t find the variable text in category "'..pagename..'".') return { ['vtype'] = 'error', ['v'] = p.failedcat(errors, 'V') } end --[[==========================================================================]] --[[ Main ]] --[[==========================================================================]] function p.csn( frame ) --arg checks & handling local args = frame:getParent().args checkforunknownparams(args) --for template args checkforunknownparams(frame.args) --for #invoke'd args local cat = args['cat'] --'testcase' alias for catspace local list = args['list-all-links'] --debugging utility to output all links & followed #Rs local follow = args['follow-redirects'] --default 'yes' local testcase = args['testcase'] local testcasegap = args['testcasegap'] local minimum = args['min'] local maximum = args['max'] local skip_gaps = args['skip-gaps'] local show = args['show'] if show and show ~= '' then if show == 'skip-gaps' then return skipgaps_limit elseif show == 'term-limit' then return term_limit elseif show == 'hgap-limit' then return hgap_limit elseif show == 'ygap-limit' then return ygap_limit end end --apply args local pagename = testcase or cat or currtitle.text local testcaseindent = '' if testcasecolon == ':' then testcaseindent = '\n::' end if follow and follow == 'no' then followRs = false end if list and list == 'yes' then listall = true end if skip_gaps and skip_gaps == 'yes' then skipgaps = true trackcat(26, 'Category series navigation using skip-gaps parameter') end --ns checks if currtitle.nsText == 'Category' then if cat and cat ~= '' then trackcat(1, 'Category series navigation using cat parameter') end if testcase and testcase ~= '' then trackcat(2, 'Category series navigation using testcase parameter') end elseif currtitle.nsText == '' then trackcat(30, 'Category series navigation in mainspace') end --find the variable parts of pagename local findvar = find_var(pagename) if findvar.vtype == 'error' then --basic format error checking in find_var() return findvar.v..table.concat(ttrackingcats) end local start = string.match(findvar.v, '^%d+') --the rest is static local findvar_escaped = string.gsub( findvar.v, '%-', '%%%-') local firstpart, lastpart = string.match(pagename, '^(.-)'..findvar_escaped..'(.*)$') if findvar.vtype == 'tvseason' then --double check for cases like "30 Rock (season 3) episodes" firstpart, lastpart = string.match(pagename, '^(.-season )'..findvar_escaped..'(.*)$') if firstpart == nil then firstpart, lastpart = string.match(pagename, '^(.-series )'..findvar_escaped..'(.*)$') end if firstpart == nil then firstpart, lastpart = string.match(pagename, '^(.-meetup )'..findvar_escaped..'(.*)$') end end firstpart = mw.text.trim(firstpart or '') lastpart = mw.text.trim(lastpart or '') --call the appropriate nav function, in order of decreasing popularity if findvar.vtype == 'year' then --e.g. "500", "2001"; nav_year..nav_decade; ~75% of cats local nav1 = nav_year( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) local dec = math.floor(findvar.v/10) local decadecat = nil local firstpart_dec = firstpart if firstpart_dec ~= '' then firstpart_dec = firstpart_dec..' the' elseif firstpart_dec == 'AD' and dec <= 1 then firstpart_dec = '' if dec == 0 then dec = '' end end local decade = dec..'0s ' decadecat = mw.text.trim( firstpart_dec..' '..decade..lastpart ) local exists = catexists(decadecat) if exists then navborder = false trackcat(28, 'Category series navigation year and decade') local nav2 = nav_decade( frame, firstpart_dec, decade, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) return wrap( nav1, nav2 ) elseif ttrackingcats[16] ~= '' then --nav_year isolated; check nav_hyphen (e.g. UK MPs 1974, Moldovan MPs 2009, etc.) local hyphen = '–' local finish = start local nav2 = nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) if ttrackingcats[16] ~= '' then return wrap( nav1 ) --still isolated; rv to nav_year else return wrap( nav2 ) end else --regular nav_year return wrap( nav1 ) end elseif findvar.vtype == 'decade' then --e.g. "0s", "2010s"; nav_decade..nav_nordinal; ~12% of cats local nav1 = nav_decade( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) local decade = tonumber(string.match(findvar.v, '^(%d+)s')) local century = math.floor( ((decade-1)/100) + 1 ) --from {{CENTURY}} if century == 0 then century = 1 end --no 0th century if string.match(decade, '00$') then century = century + 1 --'2000' is in the 20th, but the rest of the 2000s is in the 21st end local clastpart = ' century '..lastpart local centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart ) local exists = catexists(centurycat) if not exists then --check for hyphenated century clastpart = '-century '..lastpart centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart ) exists = catexists(centurycat) end if exists then navborder = false trackcat(29, 'Category series navigation decade and century') local nav2 = nav_nordinal( frame, firstpart, century, clastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) return wrap( nav1, nav2 ) else return wrap( nav1 ) end elseif findvar.vtype == 'nordinal' then --e.g. "1st", "99th"; ~7.5% of cats return wrap( nav_nordinal( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'season' then --e.g. "1–4", "1999–2000", "2001–02", "2001–2002", "2005–2010", etc.; ~5.25% local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])(%d+)') --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'tvseason' then --e.g. "1", "15" but preceded with "season" or "series"; <1% of cats return wrap( nav_tvseason( frame, firstpart, start, lastpart, maximum )..testcaseindent..table.concat(ttrackingcats) ) --"minimum" defaults to 1 elseif findvar.vtype == 'wordinal' then --e.g. "first", "ninety-ninth"; <<1% of cats local ordinal = true return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'enumeric' then --e.g. "one", "ninety-nine"; <<1% of cats local ordinal = false return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'roman' then --e.g. "I", "XXVIII"; <<1% of cats return wrap( nav_roman( frame, firstpart, findvar.v, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'ending' then --e.g. "2021–" (irregular; ending unknown); <<<1% of cats local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])present$'), -1 --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd if hyphen == nil then hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])$'), 0 --0/-1 are hardcoded switches for nav_hyphen() end return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) ) else --malformed errors = p.errorclass('Failed to determine the appropriate nav function from malformed season "'..findvar.v..'". ') return p.failedcat(errors, 'N')..table.concat(ttrackingcats) end end return p lc90rt2kbwfmvdptomtwh0f3ebxc47t Ronney:Earish noa-emshiragh leah 14 37553 378278 352073 2026-04-26T02:12:01Z MacTire02 219 ronney elley 378278 wikitext text/x-wiki {{Commons cat|Early modern period|yn earish noa-emshiragh leah}} {{catmore}} [[Ronney:Lhingyn shenndeeagh|+]] [[Ronney:Earish noa-emshiragh|*]] [[Ronney:2h villey bleeaney]] [[Ronney:Cultoor yn Theihll Heear|1453]] 4uy3hxs0qa6hbk15ff0czdulqrpkv1c Ronney:Earish noa-emshiragh 14 37554 378275 352071 2026-04-26T02:10:39Z MacTire02 219 MacTire02 moved page [[Ronney:Shennaghys noa-emshiragh]] to [[Ronney:Earish noa-emshiragh]] without leaving a redirect: aght 352071 wikitext text/x-wiki {{commons category|Modern period|yn earish noa-emshiragh}} {{Catmore|Shennaghys y theihll#Shennaghys noa-emshiragh}} [[Ronney:Lhingyn shenndeeagh|+]] [[Ronney:Noa-emshiraght]] ki6je54917b6e8gdxs7ap4atn79x5sn Ronney:Earish noa-emshiragh yeianagh 14 37555 378279 352072 2026-04-26T02:12:29Z MacTire02 219 ronney elley 378279 wikitext text/x-wiki {{catmore|yn earish noa-emshiragh yeianagh}} [[Ronney:Lhingyn shenndeeagh|+]] [[Ronney:Earish noa-emshiragh|*]] [[Ronney:2h villey bleeaney]] [[Ronney:3oo milley bleeaney]] qhzj1u1n72z1fqt9nxgvyh8lyynq4em Ronney:Shennaghys co-emshiragh 14 37559 378280 349795 2026-04-26T02:12:40Z MacTire02 219 ronney elley 378280 wikitext text/x-wiki {{Commonscat|Contemporary history|shennaghys co-emshiragh}} {{Catmore|Shennaghys co-emshiragh}} [[Ronney:Earish noa-emshiragh|.]] [[Ronney:Magheryn shennaghys]] [[Ronney:Earish noa-emshiragh yeianagh|:]] rzt8dovwuaf1410u15r44byexcf068v Ronney:Shennaghys noa-emshiragh rere çheer 14 37678 378277 350034 2026-04-26T02:11:41Z MacTire02 219 ronney elley 378277 wikitext text/x-wiki [[Ronney:Earish noa-emshiragh| ]] [[Ronney:Shennaghys rere çheer|+6]] cx0yqm7ggh239p3y42ukozjmeb52dtm Ronney:Shennaghys noa-emshiragh rere mooar-rheynn 14 38388 378276 351357 2026-04-26T02:11:00Z MacTire02 219 ronney elley 378276 wikitext text/x-wiki {{see also|Ronney:Shennaghys noa-emshiragh rere çheer}} '''[[Shennaghys noa-emshiragh]] rere [[mooar-rheynn]]''', t'eh shen shennaghys haghyrt car y [[19oo eash]] as y [[20oo eash]] derrey jerrey yn [[Yn Nah Chaggey Dowanagh|Nah Chaggey Dowanagh]]. [[Ronney:Earish noa-emshiragh| ]] [[Ronney:Shennaghys rere mooar-rheynn|+6]] j3kwdtw6r923mo88fl1kq0bq59mkx0e Ronney:Reagheydyssyn eddyr-reiltyssagh 14 40039 378251 356434 2026-04-26T00:35:03Z MacTire02 219 ronney elley 378251 wikitext text/x-wiki {{Commons category|Intergovernmental organizations|Reagheydyssyn eddyr-reiltyssagh}} {{Catmore|Reagheydys eddyr-reiltyssagh}} [[Ronney:Reagheydyssyn cour polasee dowanagh]] [[Ronney:Reagheydyssyn eddyrashoonagh rere sorçh reagheydys]] [[Ronney:Sur-reagheydyssyn]] {{CategoryTOC}} fxd8cwz5l5y4nrqjw3ne69fo71f22rx Ronney:Tushtey najoor yn Oarpey rere croghane 14 42544 378224 363837 2026-04-25T15:44:00Z MacTire02 219 lettyraghey 378224 wikitext text/x-wiki {{moir-ronney}} {{Commons category|Nature of Europe|Croo dooghyssagh yn Oarpey}} [[Coadan:Europe orthographic Caucasus Urals boundary (with borders).svg|left|125x125px]] [[Coadan:WGSRPD Europe.svg|thumb|right|220x220px|Mooar-rheynn yn Oarpey rere y [[WGSRPD]]]] {{category main article|Tushtey najoor yn Oarpey}} {{Category explanation|artyn bentyn rish {{C|Tushtey najoor|tushtey najoor}} yn '''{{C|Yn Oarpey|Oarpey}}''' rere croghane}} {{CatAutoTOC}} [[Ronney:Tushtey najoor yn Oarpey| Croghane]] [[Ronney:Tushtey najoor rere croghane|°Oarpey]] [[Ronney:Çhymmyltaght yn Oarpey rere croghane| Tushtey najoor]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey rere croghane| Tushtey najoor]] fg3to1478vxufcqw5bbl1d5f7g35tcd Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey rere croghane 14 42545 378222 363838 2026-04-25T15:43:47Z MacTire02 219 MacTire02 moved page [[Ronney:Sheanse as çhaghnoaylleeagh 'syn Oarpey rere croghane]] to [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey rere croghane]]: lettyraghey 363838 wikitext text/x-wiki {{moir-ronney}} {{see also|Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey rere çheer}} [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey| Croghane]] [[Ronney:Sheanse as çhaghnoaylleeaght rere croghane|°Oarpey]] [[Ronney:Tarmaynyssyn yn Oarpey rere croghane| Sheanse]] 6i663fmx55kooj4rgwdrp7lj71hdugx Ronney:Scaaillaghyn traa creg-oaylleeagh 14 42672 378209 364114 2026-04-25T15:17:52Z MacTire02 219 ++ 378209 wikitext text/x-wiki {{Cat main|Scaailley traa creg-oaylleeagh}} {{Commons cat|Geologic time scale|Scaailley traa creg-oaylleeagh}} [[Ronney:Creg-chronoaylleeaght]] [[Ronney:Roie-hennaghys]] [[Ronney:Linnaghyn-traa bentyn rish creg-oaylleeaght]] 5a7t6t5pr4glcu4doijxq1eyqgwa830 Ronney:Linnaghyn-traa bentyn rish creg-oaylleeaght 14 42674 378206 364116 2026-04-25T15:16:48Z MacTire02 219 ronnaghyn elley 378206 wikitext text/x-wiki {{Commons cat|Geology timelines|Linnaghyn-traa bentyn rish creg-oaylleeaght}} [[Ronney:Linnaghyn-traa bentyn rish oaylleeaght|Creg-oaylleeaght]] [[Ronney:Creg-oaylleeaght|+Linnaghyn-traa]] [[Ronney:Shennaghys creg-oaylleeagh y Dowan|+]] [[Ronney:Shennaghys y chreg-oaylleeaght|Linnaghyn-traa]] ig8iuixp52e3zqaiqv8ny7obm54k72u 378207 378206 2026-04-25T15:17:03Z MacTire02 219 MacTire02 moved page [[Ronney:Linnaghyn-traa creg-oaylleeagh]] to [[Ronney:Linnaghyn-traa bentyn rish creg-oaylleeaght]]: aght 378206 wikitext text/x-wiki {{Commons cat|Geology timelines|Linnaghyn-traa bentyn rish creg-oaylleeaght}} [[Ronney:Linnaghyn-traa bentyn rish oaylleeaght|Creg-oaylleeaght]] [[Ronney:Creg-oaylleeaght|+Linnaghyn-traa]] [[Ronney:Shennaghys creg-oaylleeagh y Dowan|+]] [[Ronney:Shennaghys y chreg-oaylleeaght|Linnaghyn-traa]] ig8iuixp52e3zqaiqv8ny7obm54k72u Ronney:Conastaghyn 14 45755 378249 370982 2026-04-26T00:34:01Z MacTire02 219 ronney elley 378249 wikitext text/x-wiki {{Commons category|Federations|Conastaghyn}} [[Ronney:Sorçhyn dy steatyn bunraghtoil]] [[Ronney:Conastaghys]] [[Ronney:Sur-reagheydyssyn]] rl6yjh80fcacjynxkmud6m75j0oq641 Ronney:Sheerloayrtys er son yn oaylleeaght 14 49558 378181 2026-04-25T13:09:11Z MacTire02 219 ronney noa 378181 wikitext text/x-wiki [[Ronney:Sheerloayrtys rere feysht|Oaylleeaght]] [[Ronney:Politickaght yn oaylleeaght]] [[Ronney:Oaylleeaght 'sy çheshaght]] dn3mpugro4jcpzp3l1052h37mnin6xm Ronney:Coloinaghey ry-heet 14 49559 378182 2026-04-25T13:11:14Z MacTire02 219 ronney noa 378182 wikitext text/x-wiki [[Ronney:Coloinaghys|>]] [[Ronney:Seihll ry-heet]] [[Ronney:Clannaghey deiney]] o1k79uqcyyndm9ddwqxvmjcbf2gaxc0 Ronney:Coloinaghey rere boayl 14 49560 378183 2026-04-25T13:12:42Z MacTire02 219 ronney noa 378183 wikitext text/x-wiki [[Ronney:Ronnaghyn rere boayl]] [[Ronney:Coloinaghys]] r9sswwuskq1qew8f2j9g0e5p54ovn0t Ronney:Claare spoar y Roosh 14 49561 378184 2026-04-25T13:20:28Z MacTire02 219 ronney noa 378184 wikitext text/x-wiki :''Jeeagh er neesht: [[:Ronney:Claare spoar yn Unnaneys Soveidjagh]].'' {{Commons cat|Space program of Russia|Claare spoar y Roosh}} [[Ronney:Claareeyn spoar rere çheer}Roosh]] [[Ronney:Sheanse as çhaghnoaylleeaght 'sy Roosh|Spoar]] 3fpziz5z9zwjqob9z0n4bz4a7hhks1e 378185 378184 2026-04-25T13:20:41Z MacTire02 219 piob 378185 wikitext text/x-wiki :''Jeeagh er neesht: [[:Ronney:Claare spoar yn Unnaneys Soveidjagh]].'' {{Commons cat|Space program of Russia|Claare spoar y Roosh}} [[Ronney:Claareeyn spoar rere çheer|Roosh]] [[Ronney:Sheanse as çhaghnoaylleeaght 'sy Roosh|Spoar]] 7iw5jqwnaq9jjq8spuoqvy9c5trrs18 378190 378185 2026-04-25T13:42:10Z MacTire02 219 +ronnaghyn 378190 wikitext text/x-wiki :''Jeeagh er neesht: [[:Ronney:Claare spoar yn Unnaneys Soveidjagh]].'' {{Commons cat|Space program of Russia|Claare spoar y Roosh}} [[Ronney:Claareeyn spoar rere çheer|Roosh]] [[Ronney:Sheanse as çhaghnoaylleeaght 'sy Roosh|Spoar]] [[Ronney:Claareeyn spoar yn Aishey|Roosh]] [[Ronney:Claareeyn spoar yn Oarpey|Roosh]] 7d1axta70051udoxycuzp3tyvyqhtw5 Ronney:Sheanse as çhaghnoaylleeaght 'sy Roosh 14 49562 378186 2026-04-25T13:23:15Z MacTire02 219 ronney noa 378186 wikitext text/x-wiki {{cat main}} {{Commons category|Science and technology in Russia|Sheanse as çhaghnoaylleeaght 'sy Roosh}} [[Ronney:Tarmaynys y Roosh]] [[Ronney:Sheanse as çhaghnoaylleeaght rere çheer|Roosh]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey rere çheer|Roosh]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Aishey rere çheer|Roosh]] jkhxs356viv0hngvut5bgk1ffxoke9w Ronney:Tarmaynys y Roosh 14 49563 378187 2026-04-25T13:25:02Z MacTire02 219 ronney noa 378187 wikitext text/x-wiki {{Cat main}} {{Commons cat|Economy of Russia|Tarmaynys y Roosh}} {{DEFAULTSORT:Roosh}} [[Ronney:Yn Roosh|Tarmaynys]] [[Ronney:Tarmaynyssyn rere çheer]] [[Ronney:Tarmaynyssyn yn Aishey rere çheer]] [[Ronney:Tarmaynyssyn yn Oarpey rere çheer]] t6l7x2gf0ihzh437fmt6jdtg4wromds Ronney:Claare spoar y Çhapaan 14 49564 378188 2026-04-25T13:38:16Z MacTire02 219 ronney noa 378188 wikitext text/x-wiki {{Commonscat|Space program of Japan|Claare spoar y Çhapaan}} Obbraghyn spoar lesh [[JAXA]] as undinyssyn cochianglt. [[Ronney:Sheanse as çhaghnoaylleeaght 'sy Çhapaan|Spoar]] [[Ronney:Claareeyn spoar rere çheer|Chapaan]] [[Ronney:Claareeyn spoar yn Aishey|Chapaan]] 1uwbhe7pzdgdikxvscugb4ch31fqzzn Ronney:Claareeyn spoar yn Aishey 14 49565 378189 2026-04-25T13:39:10Z MacTire02 219 ronney noa 378189 wikitext text/x-wiki [[Ronney:Claareeyn spoar|*Aishey]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Aishey|Spoar]] l4t7fphbliog3pjn6abiy9of0yrbcwg 378192 378189 2026-04-25T13:43:41Z MacTire02 219 ++ 378192 wikitext text/x-wiki {{Commons category|Space programs of Asia|Claareeyn spoar yn Aishey}} [[Ronney:Claareeyn spoar|*Aishey]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Aishey|Spoar]] [[Ronney:Arraghey 'syn Aishey|Spoar]] j7hsvrrnygl7ntes3xzvk5guet4jqa8 Ronney:Claareeyn spoar yn Oarpey 14 49566 378193 2026-04-25T13:44:13Z MacTire02 219 ronney noa 378193 wikitext text/x-wiki {{Commons category|Space programs of Europe|Claareeyn spoar yn Oarpey}} [[Ronney:Claareeyn spoar|*Oarpey]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey|Spoar]] [[Ronney:Arraghey 'syn Oarpey|Spoar]] 4v179699f16eocz3dv06cl24jmqwjok Ronney:Etlagh spoar 'sy 20oo eash 14 49567 378195 2026-04-25T14:01:58Z MacTire02 219 ronney noa 378195 wikitext text/x-wiki {{Navseasoncats}} [[Ronney:Etlagh spoar rere eash|20]] [[Ronney:Arraghey 'sy 20oo eash|Spoar]] [[Ronney:Spoar mooar 'sy 20oo eash]] qn12rykp4ipdpjmb71u8gadkbkwggik Ronney:Etlagh spoar rere eash 14 49568 378196 2026-04-25T14:51:02Z MacTire02 219 ronney noa 378196 wikitext text/x-wiki {{moir-ronney}} {{category more|Linney-traa yn etlagh spoar}} [[Ronney:Etlagh spoar| Eash]] [[Ronney:Spoar mooar rere eash| Etlagh spoar]] [[Ronney:Arraghey rere eash| Etlagh spoar]] nb058xzx74u9pa1uueirtnpok8jcafn Ronney:Arraghey rere eash 14 49569 378197 2026-04-25T14:53:26Z MacTire02 219 ronney noa 378197 wikitext text/x-wiki {{Category see also|Arraghey rere blein|Arraghey rere jeihaght}} [[Ronney:Arraghey rere traa|.eash]] [[Ronney:Ronnaghyn rere eash]] jfh6unxg3hjxigwel3e871s9gv9ujso Ronney:Spoar mooar rere eash 14 49570 378198 2026-04-25T14:54:55Z MacTire02 219 ronney noa 378198 wikitext text/x-wiki {{moir-ronney}} [[Ronney:Spoar mooar|.Eash]] [[Ronney:Oaylleeaght rere eash]] ov9hgxj6s1atnyybd0nntgc3bt00jkl Ronney:Arraghey 'sy 20oo eash 14 49571 378199 2026-04-25T14:56:49Z MacTire02 219 ronney noa 378199 wikitext text/x-wiki {{Commons category|Transport yn the 20th century|Arraghey 'sy 20oo eash}} {{Navseasoncats}} [[Ronney:Arraghey rere eash|20]] [[Ronney:20oo eash]] [[Ronney:Arraghey 'sy 2h villey bleeaney|20]] rc2uvv673vokpjv895fnm4aiub5v756 Ronney:Arraghey 'sy 2h villey bleeaney 14 49572 378200 2026-04-25T15:10:12Z MacTire02 219 ronney noa 378200 wikitext text/x-wiki {{Navseasoncats}} {{Commons category|2nd-millennium in transport|Arraghey 'sy 2h villey bleeaney}} [[Ronney:2h villey bleeaney|Arraghey]] [[Ronney:Linnaghyn-traa bentyn rish arraghey|*2h villey bleeaney]] o5kspe01q9pafydh23rfgmfcn2uyb27 378201 378200 2026-04-25T15:12:03Z MacTire02 219 ronney noa 378201 wikitext text/x-wiki {{Commons category|2nd-millennium in transport|Arraghey 'sy 2h villey bleeaney}} [[Ronney:2h villey bleeaney|Arraghey]] [[Ronney:Linnaghyn-traa bentyn rish arraghey|*2h villey bleeaney]] 3iaqg8e0ik4s32v3t0jkkqi74cjv31f Ronney:Linnaghyn-traa bentyn rish arraghey 14 49573 378202 2026-04-25T15:13:35Z MacTire02 219 ronney noa 378202 wikitext text/x-wiki [[Ronney:Linnaghyn-traa bentyn rish çhaghnoaylleeaght|Arraghey]] [[Ronney:Shennaghys yn arraghey]] [[Ronney:Linnaghyn-traa rere bun-chooish|Arraghey]] t0chvdcstu8hxmczszk268wko0d68a7 Ronney:Linnaghyn-traa bentyn rish çhaghnoaylleeaght 14 49574 378203 2026-04-25T15:15:07Z MacTire02 219 ronney noa 378203 wikitext text/x-wiki {{cat main|Rolley linnaghyn-traa#Çhaghnoaylleeaght|Shennaghys y çhaghnoaylleeaght#Rere sorçh}} [[Ronney:Shennaghys y çhaghnoaylleeaght]] [[Ronney:Linnaghyn-traa rere bun-chooish]] 72rrhriu58y9m7hofd3ashhlmbqq33y Ronney:Linnaghyn-traa oaylleeagh 14 49575 378205 2026-04-25T15:15:53Z MacTire02 219 MacTire02 moved page [[Ronney:Linnaghyn-traa oaylleeagh]] to [[Ronney:Linnaghyn-traa bentyn rish oaylleeaght]]: aght 378205 wikitext text/x-wiki #REDIRECT [[:Ronney:Linnaghyn-traa bentyn rish oaylleeaght]] tf8213x74blqzzpy8kcvmwy01yq15n4 Ronney:Linnaghyn-traa creg-oaylleeagh 14 49576 378208 2026-04-25T15:17:03Z MacTire02 219 MacTire02 moved page [[Ronney:Linnaghyn-traa creg-oaylleeagh]] to [[Ronney:Linnaghyn-traa bentyn rish creg-oaylleeaght]]: aght 378208 wikitext text/x-wiki #REDIRECT [[:Ronney:Linnaghyn-traa bentyn rish creg-oaylleeaght]] bsrn2j7cmcxvcg78gsxu4rvzyynzdvb Ronney:Spoar mooar 'sy 20oo eash 14 49577 378211 2026-04-25T15:19:48Z MacTire02 219 ronney noa 378211 wikitext text/x-wiki {{navseasoncats}} [[Ronney:Spoar mooar rere eash|20]] [[Ronney:Oaylleeaght 'sy 20oo eash|Spoar]] bqhaj2jna3r1lt5ba3xol6zcjjkloka Ronney:Oaylleeaght 'sy 20oo eash 14 49578 378212 2026-04-25T15:21:08Z MacTire02 219 ronney noa 378212 wikitext text/x-wiki {{Cat main}} {{Navseasoncats}} [[Ronney:20oo eash]] [[Ronney:Oaylleeaght rere eash|20]] [[Ronney:Oaylleeaght 'sy 2h villey bleeaney|20]] ab4r7h6ux83u6bbbg34a8764t70khvi Ronney:Oaylleeaght 'sy 2h villey bleeaney 14 49579 378214 2026-04-25T15:22:49Z MacTire02 219 ronney noa 378214 wikitext text/x-wiki [[Ronney:2h villey bleeaney]] [[Ronney:Oaylleeaght rere milley bleeaney|2]] 4jgffs6gyuyts9ntqbpum3bplvg7me5 Ronney:Oaylleeaght rere milley bleeaney 14 49580 378216 2026-04-25T15:24:21Z MacTire02 219 ronney noa 378216 wikitext text/x-wiki {{moir-ronney}} [[Ronney:Shennaghys yn oaylleeaght rere earish| Milley bleeaney]] [[Ronney:Ronnaghyn rere milley bleeaney|Oaylleeaght]] rrqh4hcc0vjcljn7viu2ib7m889uj69 Ronney:Sheanse as çhaghnoaylleeaght 'syn Unnaneys Soveidjagh 14 49581 378217 2026-04-25T15:27:38Z MacTire02 219 ronney noa 378217 wikitext text/x-wiki {{Cat main}} {{Commonscat|Science and technology in the Soviet Union|Sheanse as çhaghnoaylleeaght 'syn Unnaneys Soveidjagh}} {{CatAutoTOC}} [[Ronney:Yn Unnaneys Soveidjagh]] [[Ronney:Sheanse as çhaghnoaylleeaght rere eear-heer|Unnaneys Soveidjagh]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Aishey rere çheer|-Unnaneys Soveidjagh]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey rere çheer|-Unnaneys Soveidjagh]] [[Ronney:Shennaghys y çheanse as y çhaghnoaylleeaght 'sy Roosh| ]] [[Ronney:Oaylleeaght 'sy 20oo eash]] [[Ronney:Çhaghnoaylleeaght 'sy 20oo eash]] rw0mteseo1znv5ut698lqjpktf63l7u Ronney:Shennaghys y çheanse as y çhaghnoaylleeaght 'sy Roosh 14 49582 378218 2026-04-25T15:29:02Z MacTire02 219 ronney noa 378218 wikitext text/x-wiki [[Ronney:Shennaghys y çheanse as y çhaghnoaylleeaght rere çheer|Roosh]] [[Ronney:Sheanse as çhaghnoaylleeaght 'sy Roosh]] [[Ronney:Shennaghys y Roosh rere bun-chooish|Cheanse as chaghnoaylleeaght]] nhzwfz7u0bh6rz74qaa1ajizbpanjaf Ronney:Shennaghys y Roosh rere bun-chooish 14 49583 378219 2026-04-25T15:36:46Z MacTire02 219 ronney noa 378219 wikitext text/x-wiki {{moir-ronney}} [[Ronney:Shennaghys y Roosh| Bun-chooish]] [[Ronney:Shennaghys rere çheer as bun-chooish|Roosh]] [[Ronney:Shennaghys yn Aishey rere bun-chooish| Roosh]] [[Ronney:Shennaghys yn Oarpey rere bun-chooish| Roosh]] 0iyg9uq0jxuprunltvd0t4jixzy1ad3 Ronney:Shennaghys y çheanse as y çhaghnoaylleeaght rere çheer 14 49584 378220 2026-04-25T15:38:18Z MacTire02 219 ronney noa 378220 wikitext text/x-wiki [[Ronney:Shennaghys y çheanse as y çhaghnoaylleeaght rere ard| Cheer]] [[Ronney:Shennaghys rere bun-chooish as çheer|Cheanse as chaghnoaylleeaght]] [[Ronney:Sheanse as çhaghnoaylleeaght rere çheer| Shennaghys]] to8h91mqwwqizcujhv6afwlcgc1i8bx Ronney:Shennaghys y çheanse as y çhaghnoaylleeaght rere ard 14 49585 378221 2026-04-25T15:42:00Z MacTire02 219 ronney noa 378221 wikitext text/x-wiki {{Commonscat|History of science and technology by region|Shennaghys y çheanse as y çhaghnoaylleeaght rere ard}} [[Ronney:Shennaghys y çheanse as y çhaghnoaylleeaght| Ard]] [[Ronney:Shennaghys rere ard| Cheanse as chaghnoaylleeaght]] [[Ronney:Sheanse as çhaghnoaylleeaght rere boayl|Ard]] m8rwejou2ws1u3kgla4nkelce4b8oix Ronney:Sheanse as çhaghnoaylleeagh 'syn Oarpey rere croghane 14 49586 378223 2026-04-25T15:43:47Z MacTire02 219 MacTire02 moved page [[Ronney:Sheanse as çhaghnoaylleeagh 'syn Oarpey rere croghane]] to [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey rere croghane]]: lettyraghey 378223 wikitext text/x-wiki #REDIRECT [[:Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey rere croghane]] nx0rsx1l6gleur3gopx84sgy8ja7fbe Ronney:Çhaghnoaylleeaght 'sy 20oo eash 14 49587 378225 2026-04-25T15:45:17Z MacTire02 219 ronney noa 378225 wikitext text/x-wiki {{Navseasoncats}} [[Ronney:20oo eash|Chaghnoaylleeaght]] [[Ronney:Çhaghnoaylleeaght rere eash|20]] 4tcaooekljp3jjf42nmnkshba088eoy Ronney:Çhaghnoaylleeaght rere eash 14 49588 378226 2026-04-25T15:47:08Z MacTire02 219 ronney noa 378226 wikitext text/x-wiki {{Commonscat|Technology by century|Çhaghnoaylleeaght rere eash}} {{moir-ronney}} {{Category see also|Çhaghnoaylleeaght rere blein|Çhaghnoaylleeaght rere jeihaght}} [[Ronney:Çhaghnoaylleeaght rere earish| 1]] [[Ronney:Ronnaghyn rere eash|Chaghnoaylleeaght]] [[Ronney:Oaylleeaght rere eash|Chaghnoaylleeaght]] hkfn1bg1skshko0c6sqbsoga1i2li7m Ronney:Sheanse as çhaghnoaylleeaght rere eear-heer 14 49589 378227 2026-04-25T15:48:50Z MacTire02 219 ronney noa 378227 wikitext text/x-wiki [[Ronney:Sheanse as çhaghnoaylleeaght rere çheer|-Eear]] [[Ronney:Tarmaynyssyn rere eear-heer| Sheanse as chaghnoaylleeaght]] [[Ronney:Shennaghys y çheanse as y çhaghnoaylleeaght rere çheer|-]] m90rqre6buqag4ff84wxz7e202vno7b Ronney:Tarmaynyssyn rere eear-heer 14 49590 378228 2026-04-25T15:49:56Z MacTire02 219 ronney noa 378228 wikitext text/x-wiki [[Ronney:Tarmaynyssyn rere çheer|*]] [[Ronney:Shennaghys tarmaynagh rere çheer|-]] [[Ronney:Ronnaghyn rere eear-heer]] gj3onppr5evqsaluhbgwr06ttpsky4n Ronney:Shennaghys tarmaynagh rere çheer 14 49591 378229 2026-04-25T15:51:23Z MacTire02 219 ronney noa 378229 wikitext text/x-wiki {{moir-ronney}} {{Commons cat|Economic history by country|Shennaghys tarmaynagh rere çheer}} [[Ronney:Shennaghys tarmaynagh| Cheer]] [[Ronney:Tarmaynyssyn rere çheer| Shennaghys]] [[Ronney:Shennaghys rere bun-chooish as çheer|Tarmaynagh]] {{CatAutoTOC}} bvnppo38xzef8ksrv5a0qoezi19s5by Ronney:Arraghey 'syn Aishey 14 49592 378230 2026-04-25T19:48:02Z MacTire02 219 ronney noa 378230 wikitext text/x-wiki {{Commons cat|Transport in Asia|Arraghey 'syn Aishey}} [[Ronney:Arraghey rere mooar-rheynn|Aishey]] [[Ronney:Çhynskylyn shirveish 'syn Aishey]] t5uxnwqhq7hvdupm96yx2dwobq2hjmb Ronney:Stashoonyn spoar NASA 14 49593 378231 2026-04-25T19:49:13Z MacTire02 219 ronney noa 378231 wikitext text/x-wiki [[Ronney:Siyn spoar NASA]] [[Ronney:Stashoonyn spoar Americaanagh|NASA]] 9xmz676m4o18aa5x5av5mhsl65ndg96 Ronney:Stashoonyn spoar Americaanagh 14 49594 378232 2026-04-25T19:50:06Z MacTire02 219 ronney noa 378232 wikitext text/x-wiki [[Ronney:Stashoonyn spoar|Americaanagh]] [[Ronney:Siyn spoar Americaanagh|-Stashoonyn]] ijazfylvyyjxny2bhb8zpaatguilzen Ronney:Siyn spoar Americaanagh 14 49595 378233 2026-04-25T19:51:43Z MacTire02 219 ronney noa 378233 wikitext text/x-wiki {{Commonscat|Spacecraft of the United States|Siyn spoar Americaanagh}} [[Ronney:Siyn spoar rere çheer|Americaanahgh]] [[Ronney:Claare spoar ny Steatyn Unnaneysit]] e4u9wyjghxsfel6q799zu8fk1tsvy9u Ronney:Siyn spoar rere çheer 14 49596 378234 2026-04-25T19:53:14Z MacTire02 219 ronney noa 378234 wikitext text/x-wiki {{Commonscat|Spacecraft by country|Siyn spoar rere çheer}} {{Moir-ronney}} [[Ronney:Siyn spoar| Cheer]] [[Ronney:Claareeyn spoar rere çheer|*]] {{CatAutoTOC}} skdpv296bupgcgxh5xc23bwjpjf0gte Ronney:Claareeyn y Jantys Spoar Oarpagh 14 49597 378235 2026-04-25T19:56:06Z MacTire02 219 ronney noa 378235 wikitext text/x-wiki [[Ronney:Yn Jantys Spoar Oarpagh]] [[Ronney:Claareeyn spoar yn Oarpey|-Jantys Spoar Oarpagh]] 58mep20t60e1lyrhzypgeit1qt6kacm Ronney:Yn Jantys Spoar Oarpagh 14 49598 378236 2026-04-25T20:07:13Z MacTire02 219 ++ 378236 wikitext text/x-wiki {{Commons category|European Space Agency|Yn Jantys Spoar Oarpagh}} {{Cat main}} {{DEFAULTSORT:Jantys Spoar Oarpagh}} [[Ronney:Çhooraght Oarpagh]] [[Ronney:Claareeyn spoar yn Oarpey|*]] [[Ronney:Reagheydyssyn oaylleeagh ooilley-Oarpagh]] [[Ronney:Reagheydyssyn bunnit ayns Paarys]] [[Ronney:Jantyssyn spoar|Oarpagh]] [[Ronney:Polasee spoar yn Unnaneys Oarpagh]] lzjbza8wnauf66npjszvnsg3j6e8ohy Ronney:Çhooraght Oarpagh 14 49599 378237 2026-04-25T20:33:29Z MacTire02 219 ronney noa 378237 wikitext text/x-wiki {{cat main}} {{Category see also|Immeeaght veih'n Unnaneys Oarpagh}} [[Ronney:Politickaght yn Oarpey|Chooraght]] la3prkqzlhm1772jj4wrhensgn7vo0o Ronney:Reagheydyssyn oaylleeagh ooilley-Oarpagh 14 49600 378238 2026-04-25T20:36:06Z MacTire02 219 ronney noa 378238 wikitext text/x-wiki [[Ronney:Reagheydyssyn oaylleeagh eddyrashoonagh bunnit 'syn oarpey|Ooilley-Oarpagh]] [[Ronney:Reagheydyssyn ooilley-Oarpagh|Oaylleeagh]] 5bb84rx7apf4middp3cp9vh8y4k0re2 378255 378238 2026-04-26T00:38:31Z MacTire02 219 lettyraghey 378255 wikitext text/x-wiki [[Ronney:Reagheydyssyn oaylleeagh eddyrashoonagh bunnit 'syn Oarpey|Ooilley-Oarpagh]] [[Ronney:Reagheydyssyn ooilley-Oarpagh|Oaylleeagh]] it250mk7ihs8mah6xoujznr15b4xntt Ronney:Reagheydyssyn ooilley-Oarpagh 14 49601 378239 2026-04-25T20:38:02Z MacTire02 219 ronney noa 378239 wikitext text/x-wiki [[Ronney:Reagheydyssyn eddyrashoonagh bunnit 'syn Oarpey|*]] [[Ronney:Ooilley-Oarpaghys]] nasj1y0ktpiltry50fgnef33app94yg Ronney:Ooilley-Oarpaghys 14 49602 378240 2026-04-25T20:44:52Z MacTire02 219 ronney noa 378240 wikitext text/x-wiki [[Ronney:Çhooraght Oarpagh]] [[Ronney:Mooar-rheynnaghys|Oarpaghys]] [[Ronney:Gleashaghtyn politickagh 'syn Oarpey|*Ooilley-Oarpaghys]] [[Ronney:Politickaght yn Unnaneys Oarpagh]] [[Ronney:Ardjynaght (mooinjerys eddyrashoonagh)]] [[Ronney:Cultoor y Theihll Heear]] 9uxse42yqzw4ko1jmcpkz6bzyoqltbe Ronney:Ardjynaght (mooinjerys eddyrashoonagh) 14 49603 378241 2026-04-25T20:47:16Z MacTire02 219 ronney noa 378241 wikitext text/x-wiki {{catmain}} {{Commons category|Regionalism (international relations)|Ardjynaght (mooinjerys eddyrashoonagh)}} [[Ronney:Mooinjerys eddyrashoonagh]] [[Ronney:Ardjynaght (politickaght)| ]] [[Ronney:Gleashaghtyn politickagh]] 2dna93ngbtszbh0voty7uz9d85n6p97 Ronney:Ardjynaght (politickaght) 14 49604 378242 2026-04-25T20:49:00Z MacTire02 219 ronney noa 378242 wikitext text/x-wiki {{Commons cat|Regionalism|Ardjynaght}} {{Cat main}} {{contrast|Ynnydaghys (politickaght)}} [[Ronney:Politickaght enney]] [[Ronney:Eie-oaylleeaghtyn politickagh]] [[Ronney:Ardjyn]] se7j8il5pzkno4p2fmazrup619gr69o Ronney:Mooar-rheynnaghys 14 49605 378243 2026-04-25T22:47:08Z MacTire02 219 ronney noa 378243 wikitext text/x-wiki [[Ronney:Unnaneyssyn mooar-rheynnagh|*]] [[Ronney:Ooilley-ashoonaghys]] 0nh0hff9p7qhdzguxbldkvq0r208nza Ronney:Ooilley-ashoonaghys 14 49606 378244 2026-04-25T23:34:28Z MacTire02 219 ronney noa 378244 wikitext text/x-wiki {{Commons category|Pan-nationalism|Ooilley-ashoonaghys}} {{Cat main}} [[Ronney:Gleashaghtyn ashooneyragh]] [[Ronney:Politickaght enney]] [[Ronney:Ashoonaghys]] [[Ronney:Mooinjerys eddyrashoonagh]] [[Ronney:Çheer-oaylleeaght chultooragh]] 29hgzcl8rg0iykuppc5sq7e6xzsidsm Ronney:Gleashaghtyn ashooneyragh 14 49607 378245 2026-04-25T23:38:16Z MacTire02 219 ronney noa 378245 wikitext text/x-wiki [[Ronney:Gleashaghtyn politickagh rere feysht|Ashooneyragh]] [[Ronney:Ashoonaghys]] nd9d4u1m8soe5nfo9tazyxx8jdvdm5w Ronney:Unnaneyssyn mooar-rheynnagh 14 49608 378246 2026-04-25T23:40:19Z MacTire02 219 ronney noa 378246 wikitext text/x-wiki {{Commonscat|Continental unions|Unnaneyssyn mooar-rheynnagh}} {{Cat main|Unnaneys mooar-rheynnagh}} [[Ronney:Unnaneyssyn sur-ashoonagh|*]] [[Ronney:Mooar-rheynnyn|/]] 2z6j6kjhj866xgeql5oh83xo2cykk7t Ronney:Unnaneyssyn sur-ashoonagh 14 49609 378247 2026-04-25T23:42:28Z MacTire02 219 ronney noa 378247 wikitext text/x-wiki {{Commonscat|Supranational unions|Unnaneyssyn sur-ashoonagh}} {{Cat main|Unnaneys sur-ashoonagh}} [[Ronney:Unnidyn thallooinagh rere sorçh]] [[Ronney:Reagheydyssyn eddyrashoonagh rere sorçh reagheydys|Surashoonagh]] [[Ronney:Sur-reagheydyssyn]] [[Ronney:Ardjynaght (mooinjerys eddyrashoonagh)]] lvxpixk03845wuozb2dop2aw20t2t2p Ronney:Sur-reagheydyssyn 14 49610 378248 2026-04-25T23:44:11Z MacTire02 219 ronney noa 378248 wikitext text/x-wiki {{Cat main|Sur-reagheydys}} {{Commonscat|supraorganizations|Sur-reagheydyssyn}} [[Ronney:Reagheydyssyn rere olteynys]] [[Ronney:Reagheydyssyn rere sorçh]] pigwfjy8jylh8183zc3n7ypmtgu8qtq Ronney:Reagheydyssyn eddyrashoonagh rere sorçh reagheydys 14 49611 378254 2026-04-26T00:37:07Z MacTire02 219 ronney noa 378254 wikitext text/x-wiki [[Ronney:Reagheydyssyn eddyrashoonagh| Sorch]] [[Ronney:Reagheydyssyn rere sorçh| Eddyrashoonagh]] 0q11huz0hes8iylfuax6dgwpcn39dhe Ronney:Reagheydyssyn oaylleeagh eddyrashoonagh bunnit 'syn Oarpey 14 49612 378256 2026-04-26T00:39:38Z MacTire02 219 ronney noa 378256 wikitext text/x-wiki {{Commonscat|International scientific organizations based in Europe|Reagheydyssyn oaylleeagh eddyrashoonagh bunnit 'syn oarpey}} [[Ronney:Reagheydyssyn eddyrashoonagh bunnit 'syn Oarpey|Oaylleeagh]] [[Ronney:Reagheydyssyn oaylleeagh eddyrashoonagh|Oarpey]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey]] [[Ronney:Reagheydyssyn oaylleeagh bunnit 'syn Oarpey|Eddyrashoonagh]] tr5ndybf9va3o15ze0yioah7xm7i8x3 Ronney:Reagheydyssyn oaylleeagh bunnit 'syn Oarpey 14 49613 378257 2026-04-26T00:41:27Z MacTire02 219 ronney noa 378257 wikitext text/x-wiki {{Commonscat|Scientific organizations of Europe|Reagheydyssyn oaylleeagh yn Oarpey}} [[Ronney:Reagheydyssyn oaylleeagh rere mooar-rheynn|Oarpey]] [[Ronney:Sheanse as çhaghnoaylleeaght 'syn Oarpey|Oaylleeagh]] [[Ronney:Reagheydyssyn bunnit 'syn Oarpey rere bun-chooish|Oaylleeagh]] li68bh0tptnycgyf2oowybo6woqgolw Ronney:Reagheydyssyn oaylleeagh rere mooar-rheynn 14 49614 378258 2026-04-26T00:43:09Z MacTire02 219 ronney noa 378258 wikitext text/x-wiki {{Commonscat|Scientific organizations by continent|Reagheydyssyn oaylleeagh rere mooar-rheynn}} {{moir-ronney}} [[Ronney:Reagheydyssyn oaylleeagh| Mooar-rheynn]] [[Ronney:Sheanse as çhaghnoaylleeaght rere mooar-rheynn| Reagheydyssyn]] [[Ronney:Reagheydyssyn rere bun-chooish as mooar-rheynn|Oaylleeagh]] k6bgzs5l6pn4rowcne6352m55eoo3rl Ronney:Reagheydyssyn oaylleeagh 14 49615 378259 2026-04-26T00:47:21Z MacTire02 219 ronney noa 378259 wikitext text/x-wiki {{Commonscat|Scientific organizations|Reagheydyssyn oaylleeagh}} {{cat main|Reagheydys oaylleeagh}} {{category see also|Sheshaghtyn studeyryssyn sheanse as çhaghnoaylleeaght}} [[Ronney:Oaylleeaght]] [[Ronney:Reagheydyssyn rere bun-chooish|Oaylleeagh]] gilzkyhk5xu6h0vr2ynk4nbwowpkmq7 Ronney:Polasee spoar yn Unnaneys Oarpagh 14 49616 378260 2026-04-26T00:49:19Z MacTire02 219 ronney noa 378260 wikitext text/x-wiki [[Ronney:Polaseeyn yn Unnaneys Oarpagh|Spoar]] [[Ronney:Polasee spoar|Unnaneys Oarpagh]] 46obue3n3ok7epdv09tcrh35g3h2c3r Ronney:Claare spoar y Chanadey 14 49617 378261 2026-04-26T00:53:55Z MacTire02 219 ronney noa 378261 wikitext text/x-wiki [[Ronney:Claareeyn spoar rere çheer|Chanadey]] [[Ronney:Sheanse as çhaghnoaylleeaght 'sy Chanadey|Spoar]] {{Cat main|Claare spoar y Chanadey}} c2wrcw9zxjc5yb6dhi070l3et8bfsgs Ronney:Co-ventyryn 14 49618 378262 2026-04-26T00:55:30Z MacTire02 219 ronney noa 378262 wikitext text/x-wiki {{Cat main|Co-ventyr}} {{commons category|Joint ventures|Co-ventyryn}} {{CatAutoTOC}} [[Ronney:Leigh ghellal]] [[Ronney:Cochaarjyssyn strateyshagh]] [[Ronney:Colughtyn rere sorçh]] 7eoqlgjff7vpr9sr317j0zgiiy14v7t Ronney:Cochaarjyssyn strateyshagh 14 49619 378263 2026-04-26T00:57:40Z MacTire02 219 ronney noa 378263 wikitext text/x-wiki {{cat main|Strategic alliance|Cochaarjys strateyshagh}} {{Commonscat|Strategic alliances|Cochaarjyssyn strateyshagh}} [[Ronney:Reireydys strateyshagh]] exx4dt39zklywk1l3378e6lxd9kr44l 378265 378263 2026-04-26T00:57:55Z MacTire02 219 ++ 378265 wikitext text/x-wiki {{cat main|Cochaarjys strateyshagh}} {{Commonscat|Strategic alliances|Cochaarjyssyn strateyshagh}} [[Ronney:Reireydys strateyshagh]] cve6qx50hm0exz9xl5mpabu5b4bo98f Ronney:Shiaulteyryn rollageagh Artemis 14 49620 378266 2026-04-26T00:59:29Z MacTire02 219 ronney noa 378266 wikitext text/x-wiki [[Ronney:Shiaulteyryn rollageagh rere claare spoar|Artemis]] [[Ronney:Claare Artemis]] [[Ronney:Feallee kianglt rish taghyrtyn 'sy 21d eash]] o6oabddusay9i5pe2a0ojwddwfbwllm Ronney:Claare Artemis 14 49621 378267 2026-04-26T01:56:30Z MacTire02 219 ronney noa 378267 wikitext text/x-wiki {{Commons category|Artemis program|Claare Artemis}} {{Cat main}} [[Ronney:Claareeyn etlagh spoar deiney|Artemis]] [[Ronney:Claareeyn NASA|Artemis]] [[Ronney:Ronsaghey magh yn Eayst|Artemis]] t777mj7t5n9bwr4igicempnpo11uzal Ronney:Feallee kianglt rish taghyrtyn 'sy 21d eash 14 49622 378268 2026-04-26T01:59:47Z MacTire02 219 ronney noa 378268 wikitext text/x-wiki {{Navseasoncats}} [[Ronney:Feallee yn 21d eash| Taghyrtyn]] [[Ronney:Feallee rere taghyrt shenndeeagh|21d eash]] {{CatAutoTOC}} {{Moir-ronney}} k6qfy749ykeu5b9w5j1530i515gahnk 378269 378268 2026-04-26T02:00:06Z MacTire02 219 -navseasoncats 378269 wikitext text/x-wiki [[Ronney:Feallee yn 21d eash| Taghyrtyn]] [[Ronney:Feallee rere taghyrt shenndeeagh|21d eash]] {{CatAutoTOC}} {{Moir-ronney}} 3isx6upigpm8xk2nosdaimr9g9hsq90 Ronney:Feallee rere taghyrt shenndeeagh 14 49623 378270 2026-04-26T02:01:32Z MacTire02 219 ronney noa 378270 wikitext text/x-wiki [[Ronney:Shennaghys]] [[Ronney:Feallee rere liehaghys| Taghyrt]] [[Ronney:Feallee rere traa|Taghyrt]] {{Moir-ronney}} ptb5doh6y6ujqil0jkiagezhd1m9wmk Ronney:Feallee yn 21d eash 14 49624 378271 2026-04-26T02:03:46Z MacTire02 219 ronney noa 378271 wikitext text/x-wiki {{Commons category|People in the 21st century|Feallee 'sy 21d eash}} {{CatAutoTOC}} [[Ronney:21d eash]] [[Ronney:Feallee noa-emshiragh|21d]] [[Ronney:Feallee rere eash|21]] [[Ronney:Feallee yn 3oo milley bleeaney|21]] nw1vf0h9hhlnis9z9f6d82rykrfuuof Ronney:Feallee yn 3oo milley bleeaney 14 49625 378272 2026-04-26T02:05:00Z MacTire02 219 ronney noa 378272 wikitext text/x-wiki {{Navseasoncats}} [[Ronney:3oo milley bleeaney]] [[Ronney:Feallee rere milley bleeaney|3]] 4g9a6nmqpja6es4svm2u57dvhcgj6bt Ronney:Feallee rere milley bleeaney 14 49626 378273 2026-04-26T02:07:25Z MacTire02 219 ronney noa 378273 wikitext text/x-wiki {{Moir-ronney}} [[Ronney:Feallee rere traa| Milley bleeaney]] [[Ronney:Ronnaghyn rere milley bleeaney]] 4hdxmedo17qbfykz8prbsg305uy1qum Ronney:Feallee rere eash 14 49627 378274 2026-04-26T02:08:42Z MacTire02 219 ronney noa 378274 wikitext text/x-wiki {{moir-ronney}} {{Commons category|People by century|Feallee rere eash}} [[Ronney:Ronnaghyn rere eash]] [[Ronney:Feallee rere traa| Eash]] eathc5fb9skpz70ekn4hngu9eenzgec Ronney:Feallee noa-emshiragh 14 49628 378281 2026-04-26T02:13:06Z MacTire02 219 ronney noa 378281 wikitext text/x-wiki [[Ronney:Feallee rere earish|Noa-emshiragh]] [[Ronney:Earish noa-emshiragh]] ebjo0ck9gw3hfoglv5u5whn7xdhiwfk Ronney:Feallee dettyl mygeayrt yn Eayst 14 49629 378282 2026-04-26T02:18:00Z MacTire02 219 ronney noa 378282 wikitext text/x-wiki [[Ronney:Feallee hie dys yn Eayst|Dettyl]] [[Ronney:Shagh-etlaghyn eaystagh|*]] qc1cx0mpgksh24gehqit01xo3su3lcs