CINXE.COM
Module:Message box - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Module:Message box - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"cdf2388e-b312-4da3-8466-32737a48e3cf","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:Message_box","wgTitle":"Message box","wgCurRevisionId":1248332152,"wgRevisionId":1248332152,"wgArticleId":40574910,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Wikipedia fully protected modules","Templates using TemplateStyles","Modules subject to page protection","Wikipedia modules"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:Message_box","wgRelevantArticleId":40574910,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgNoticeProject":"wikipedia", "wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q15116966","wgCheckUserClientHintsHeadersJsApi":["architecture","bitness","brands","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false, "wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface", "ext.cx.eventlogging.campaigns","wikibase.client.vector-2022","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.3"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Module:Message box - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Module:Message_box"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Module:Message_box"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject page-Module_Message_box rootpage-Module_Message_box skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AMessage+box" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Module%3AMessage+box" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AMessage+box" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Module%3AMessage+box" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Usage" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Usage"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Usage</span> </div> </a> <ul id="toc-Usage-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Usage_from_#invoke" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Usage_from_#invoke"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Usage from #invoke</span> </div> </a> <ul id="toc-Usage_from_#invoke-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Technical_details" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Technical_details"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Technical details</span> </div> </a> <ul id="toc-Technical_details-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Module</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Message box</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 184 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-184" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">184 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-kbd mw-list-item"><a href="https://kbd.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Kabardian" lang="kbd" hreflang="kbd" data-title="Module:Message box" data-language-autonym="Адыгэбзэ" data-language-local-name="Kabardian" class="interlanguage-link-target"><span>Адыгэбзэ</span></a></li><li class="interlanguage-link interwiki-ady mw-list-item"><a href="https://ady.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Adyghe" lang="ady" hreflang="ady" data-title="Module:Message box" data-language-autonym="Адыгабзэ" data-language-local-name="Adyghe" class="interlanguage-link-target"><span>Адыгабзэ</span></a></li><li class="interlanguage-link interwiki-af mw-list-item"><a href="https://af.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Afrikaans" lang="af" hreflang="af" data-title="Module:Message box" data-language-autonym="Afrikaans" data-language-local-name="Afrikaans" class="interlanguage-link-target"><span>Afrikaans</span></a></li><li class="interlanguage-link interwiki-am mw-list-item"><a href="https://am.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Amharic" lang="am" hreflang="am" data-title="Module:Message box" data-language-autonym="አማርኛ" data-language-local-name="Amharic" class="interlanguage-link-target"><span>አማርኛ</span></a></li><li class="interlanguage-link interwiki-smn mw-list-item"><a href="https://smn.wikipedia.org/wiki/Mooduul:Message_box" title="Mooduul:Message box – Inari Sami" lang="smn" hreflang="smn" data-title="Mooduul:Message box" data-language-autonym="Anarâškielâ" data-language-local-name="Inari Sami" class="interlanguage-link-target"><span>Anarâškielâ</span></a></li><li class="interlanguage-link interwiki-ab mw-list-item"><a href="https://ab.wikipedia.org/wiki/%D0%90%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Амодуль:Message box – Abkhazian" lang="ab" hreflang="ab" data-title="Амодуль:Message box" data-language-autonym="Аԥсшәа" data-language-local-name="Abkhazian" class="interlanguage-link-target"><span>Аԥсшәа</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Message_box" title="وحدة:Message box – Arabic" lang="ar" hreflang="ar" data-title="وحدة:Message box" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-hyw mw-list-item"><a href="https://hyw.wikipedia.org/wiki/%D5%84%D5%B8%D5%A4%D5%B8%D6%82%D5%AC:Message_box" title="Մոդուլ:Message box – Western Armenian" lang="hyw" hreflang="hyw" data-title="Մոդուլ:Message box" data-language-autonym="Արեւմտահայերէն" data-language-local-name="Western Armenian" class="interlanguage-link-target"><span>Արեւմտահայերէն</span></a></li><li class="interlanguage-link interwiki-frp mw-list-item"><a href="https://frp.wikipedia.org/wiki/Module:Benda" title="Module:Benda – Arpitan" lang="frp" hreflang="frp" data-title="Module:Benda" data-language-autonym="Arpetan" data-language-local-name="Arpitan" class="interlanguage-link-target"><span>Arpetan</span></a></li><li class="interlanguage-link interwiki-ast mw-list-item"><a href="https://ast.wikipedia.org/wiki/M%C3%B3dulu:Message_box" title="Módulu:Message box – Asturian" lang="ast" hreflang="ast" data-title="Módulu:Message box" data-language-autonym="Asturianu" data-language-local-name="Asturian" class="interlanguage-link-target"><span>Asturianu</span></a></li><li class="interlanguage-link interwiki-av mw-list-item"><a href="https://av.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Avaric" lang="av" hreflang="av" data-title="Модуль:Message box" data-language-autonym="Авар" data-language-local-name="Avaric" class="interlanguage-link-target"><span>Авар</span></a></li><li class="interlanguage-link interwiki-ay mw-list-item"><a href="https://ay.wikipedia.org/wiki/M%C3%B3dulo:Message_box" title="Módulo:Message box – Aymara" lang="ay" hreflang="ay" data-title="Módulo:Message box" data-language-autonym="Aymar aru" data-language-local-name="Aymara" class="interlanguage-link-target"><span>Aymar aru</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Azerbaijani" lang="az" hreflang="az" data-title="Modul:Message box" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-azb mw-list-item"><a href="https://azb.wikipedia.org/wiki/%D9%85%D8%A7%DA%98%D9%88%D9%84:Message_box" title="ماژول:Message box – South Azerbaijani" lang="azb" hreflang="azb" data-title="ماژول:Message box" data-language-autonym="تۆرکجه" data-language-local-name="South Azerbaijani" class="interlanguage-link-target"><span>تۆرکجه</span></a></li><li class="interlanguage-link interwiki-ban mw-list-item"><a href="https://ban.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Balinese" lang="ban" hreflang="ban" data-title="Modul:Message box" data-language-autonym="Basa Bali" data-language-local-name="Balinese" class="interlanguage-link-target"><span>Basa Bali</span></a></li><li class="interlanguage-link interwiki-bm mw-list-item"><a href="https://bm.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Bambara" lang="bm" hreflang="bm" data-title="Module:Message box" data-language-autonym="Bamanankan" data-language-local-name="Bambara" class="interlanguage-link-target"><span>Bamanankan</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:%E0%A6%AC%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%A4%E0%A6%BE%E0%A6%B0_%E0%A6%AC%E0%A6%BE%E0%A6%95%E0%A7%8D%E0%A6%B8" title="মডিউল:বার্তার বাক্স – Bangla" lang="bn" hreflang="bn" data-title="মডিউল:বার্তার বাক্স" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Message_box" title="模組:Message box – Minnan" lang="nan" hreflang="nan" data-title="模組:Message box" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="Minnan" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-ba mw-list-item"><a href="https://ba.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Bashkir" lang="ba" hreflang="ba" data-title="Модуль:Message box" data-language-autonym="Башҡортса" data-language-local-name="Bashkir" class="interlanguage-link-target"><span>Башҡортса</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Belarusian" lang="be" hreflang="be" data-title="Модуль:Message box" data-language-autonym="Беларуская" data-language-local-name="Belarusian" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%92%D0%B0%D0%BA%D0%BD%D0%BE_%D0%BF%D0%B0%D0%B2%D0%B5%D0%B4%D0%B0%D0%BC%D0%BB%D0%B5%D0%BD%D1%8C%D0%BD%D1%8F%D1%9E" title="Модуль:Вакно паведамленьняў – Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" data-title="Модуль:Вакно паведамленьняў" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Belarusian (Taraškievica orthography)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bh mw-list-item"><a href="https://bh.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Bhojpuri" lang="bh" hreflang="bh" data-title="Module:Message box" data-language-autonym="भोजपुरी" data-language-local-name="Bhojpuri" class="interlanguage-link-target"><span>भोजपुरी</span></a></li><li class="interlanguage-link interwiki-bcl mw-list-item"><a href="https://bcl.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Central Bikol" lang="bcl" hreflang="bcl" data-title="Module:Message box" data-language-autonym="Bikol Central" data-language-local-name="Central Bikol" class="interlanguage-link-target"><span>Bikol Central</span></a></li><li class="interlanguage-link interwiki-bi mw-list-item"><a href="https://bi.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Bislama" lang="bi" hreflang="bi" data-title="Module:Message box" data-language-autonym="Bislama" data-language-local-name="Bislama" class="interlanguage-link-target"><span>Bislama</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Message_box" title="Модул:Message box – Bulgarian" lang="bg" hreflang="bg" data-title="Модул:Message box" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Bosnian" lang="bs" hreflang="bs" data-title="Modul:Message box" data-language-autonym="Bosanski" data-language-local-name="Bosnian" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-br mw-list-item"><a href="https://br.wikipedia.org/wiki/Modulenn:Message_box" title="Modulenn:Message box – Breton" lang="br" hreflang="br" data-title="Modulenn:Message box" data-language-autonym="Brezhoneg" data-language-local-name="Breton" class="interlanguage-link-target"><span>Brezhoneg</span></a></li><li class="interlanguage-link interwiki-bxr mw-list-item"><a href="https://bxr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Russia Buriat" lang="bxr" hreflang="bxr" data-title="Модуль:Message box" data-language-autonym="Буряад" data-language-local-name="Russia Buriat" class="interlanguage-link-target"><span>Буряад</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/M%C3%B2dul:Message_box" title="Mòdul:Message box – Catalan" lang="ca" hreflang="ca" data-title="Mòdul:Message box" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cv mw-list-item"><a href="https://cv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Chuvash" lang="cv" hreflang="cv" data-title="Модуль:Message box" data-language-autonym="Чӑвашла" data-language-local-name="Chuvash" class="interlanguage-link-target"><span>Чӑвашла</span></a></li><li class="interlanguage-link interwiki-ceb mw-list-item"><a href="https://ceb.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Cebuano" lang="ceb" hreflang="ceb" data-title="Module:Message box" data-language-autonym="Cebuano" data-language-local-name="Cebuano" class="interlanguage-link-target"><span>Cebuano</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Czech" lang="cs" hreflang="cs" data-title="Modul:Message box" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-ch mw-list-item"><a href="https://ch.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Chamorro" lang="ch" hreflang="ch" data-title="Module:Message box" data-language-autonym="Chamoru" data-language-local-name="Chamorro" class="interlanguage-link-target"><span>Chamoru</span></a></li><li class="interlanguage-link interwiki-sn mw-list-item"><a href="https://sn.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Shona" lang="sn" hreflang="sn" data-title="Module:Message box" data-language-autonym="ChiShona" data-language-local-name="Shona" class="interlanguage-link-target"><span>ChiShona</span></a></li><li class="interlanguage-link interwiki-tum mw-list-item"><a href="https://tum.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Tumbuka" lang="tum" hreflang="tum" data-title="Module:Message box" data-language-autonym="ChiTumbuka" data-language-local-name="Tumbuka" class="interlanguage-link-target"><span>ChiTumbuka</span></a></li><li class="interlanguage-link interwiki-co mw-list-item"><a href="https://co.wikipedia.org/wiki/Modulo:Message_box" title="Modulo:Message box – Corsican" lang="co" hreflang="co" data-title="Modulo:Message box" data-language-autonym="Corsu" data-language-local-name="Corsican" class="interlanguage-link-target"><span>Corsu</span></a></li><li class="interlanguage-link interwiki-cy mw-list-item"><a href="https://cy.wikipedia.org/wiki/Modiwl:Message_box" title="Modiwl:Message box – Welsh" lang="cy" hreflang="cy" data-title="Modiwl:Message box" data-language-autonym="Cymraeg" data-language-local-name="Welsh" class="interlanguage-link-target"><span>Cymraeg</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Danish" lang="da" hreflang="da" data-title="Modul:Message box" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-ary mw-list-item"><a href="https://ary.wikipedia.org/wiki/%D9%85%D9%88%D8%AF%D9%88%D9%84:Message_box" title="مودول:Message box – Moroccan Arabic" lang="ary" hreflang="ary" data-title="مودول:Message box" data-language-autonym="الدارجة" data-language-local-name="Moroccan Arabic" class="interlanguage-link-target"><span>الدارجة</span></a></li><li class="interlanguage-link interwiki-dv mw-list-item"><a href="https://dv.wikipedia.org/wiki/%DE%89%DE%AE%DE%91%DE%A8%DE%87%DE%AA%DE%8D%DE%B0:Message_box" title="މޮޑިއުލް:Message box – Divehi" lang="dv" hreflang="dv" data-title="މޮޑިއުލް:Message box" data-language-autonym="ދިވެހިބަސް" data-language-local-name="Divehi" class="interlanguage-link-target"><span>ދިވެހިބަސް</span></a></li><li class="interlanguage-link interwiki-dty mw-list-item"><a href="https://dty.wikipedia.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%81%E0%A4%B2:Message_box" title="मोड्युल:Message box – Doteli" lang="dty" hreflang="dty" data-title="मोड्युल:Message box" data-language-autonym="डोटेली" data-language-local-name="Doteli" class="interlanguage-link-target"><span>डोटेली</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Moodul:Message_box" title="Moodul:Message box – Estonian" lang="et" hreflang="et" data-title="Moodul:Message box" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Greek" lang="el" hreflang="el" data-title="Module:Message box" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-myv mw-list-item"><a href="https://myv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Erzya" lang="myv" hreflang="myv" data-title="Модуль:Message box" data-language-autonym="Эрзянь" data-language-local-name="Erzya" class="interlanguage-link-target"><span>Эрзянь</span></a></li><li class="interlanguage-link interwiki-ext mw-list-item"><a href="https://ext.wikipedia.org/wiki/M%C3%B3dulo:Message_box" title="Módulo:Message box – Extremaduran" lang="ext" hreflang="ext" data-title="Módulo:Message box" data-language-autonym="Estremeñu" data-language-local-name="Extremaduran" class="interlanguage-link-target"><span>Estremeñu</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Modulu:Message_box" title="Modulu:Message box – Basque" lang="eu" hreflang="eu" data-title="Modulu:Message box" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Message_box" title="پودمان:Message box – Persian" lang="fa" hreflang="fa" data-title="پودمان:Message box" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-hif mw-list-item"><a href="https://hif.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Fiji Hindi" lang="hif" hreflang="hif" data-title="Module:Message box" data-language-autonym="Fiji Hindi" data-language-local-name="Fiji Hindi" class="interlanguage-link-target"><span>Fiji Hindi</span></a></li><li class="interlanguage-link interwiki-fo mw-list-item"><a href="https://fo.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Faroese" lang="fo" hreflang="fo" data-title="Module:Message box" data-language-autonym="Føroyskt" data-language-local-name="Faroese" class="interlanguage-link-target"><span>Føroyskt</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Module:Bandeau" title="Module:Bandeau – French" lang="fr" hreflang="fr" data-title="Module:Bandeau" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ff mw-list-item"><a href="https://ff.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Fula" lang="ff" hreflang="ff" data-title="Module:Message box" data-language-autonym="Fulfulde" data-language-local-name="Fula" class="interlanguage-link-target"><span>Fulfulde</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Irish" lang="ga" hreflang="ga" data-title="Module:Message box" data-language-autonym="Gaeilge" data-language-local-name="Irish" class="interlanguage-link-target"><span>Gaeilge</span></a></li><li class="interlanguage-link interwiki-gd mw-list-item"><a href="https://gd.wikipedia.org/wiki/M%C3%B2ideal:Message_box" title="Mòideal:Message box – Scottish Gaelic" lang="gd" hreflang="gd" data-title="Mòideal:Message box" data-language-autonym="Gàidhlig" data-language-local-name="Scottish Gaelic" class="interlanguage-link-target"><span>Gàidhlig</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/M%C3%B3dulo:Message_box" title="Módulo:Message box – Galician" lang="gl" hreflang="gl" data-title="Módulo:Message box" data-language-autonym="Galego" data-language-local-name="Galician" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-inh mw-list-item"><a href="https://inh.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Ingush" lang="inh" hreflang="inh" data-title="Модуль:Message box" data-language-autonym="ГӀалгӀай" data-language-local-name="Ingush" class="interlanguage-link-target"><span>ГӀалгӀай</span></a></li><li class="interlanguage-link interwiki-gan mw-list-item"><a href="https://gan.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Message_box" title="模組:Message box – Gan" lang="gan" hreflang="gan" data-title="模組:Message box" data-language-autonym="贛語" data-language-local-name="Gan" class="interlanguage-link-target"><span>贛語</span></a></li><li class="interlanguage-link interwiki-glk mw-list-item"><a href="https://glk.wikipedia.org/wiki/%D9%85%D8%A7%D8%AC%DB%8A%D9%84:Message_box" title="ماجۊل:Message box – Gilaki" lang="glk" hreflang="glk" data-title="ماجۊل:Message box" data-language-autonym="گیلکی" data-language-local-name="Gilaki" class="interlanguage-link-target"><span>گیلکی</span></a></li><li class="interlanguage-link interwiki-gu mw-list-item"><a href="https://gu.wikipedia.org/wiki/%E0%AA%B5%E0%AA%BF%E0%AA%AD%E0%AA%BE%E0%AA%97:Message_box" title="વિભાગ:Message box – Gujarati" lang="gu" hreflang="gu" data-title="વિભાગ:Message box" data-language-autonym="ગુજરાતી" data-language-local-name="Gujarati" class="interlanguage-link-target"><span>ગુજરાતી</span></a></li><li class="interlanguage-link interwiki-gom mw-list-item"><a href="https://gom.wikipedia.org/wiki/%E0%A4%8F%E0%A4%95%E0%A4%95:Message_box" title="एकक:Message box – Goan Konkani" lang="gom" hreflang="gom" data-title="एकक:Message box" data-language-autonym="गोंयची कोंकणी / Gõychi Konknni" data-language-local-name="Goan Konkani" class="interlanguage-link-target"><span>गोंयची कोंकणी / Gõychi Konknni</span></a></li><li class="interlanguage-link interwiki-hak mw-list-item"><a href="https://hak.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Message_box" title="模組:Message box – Hakka Chinese" lang="hak" hreflang="hak" data-title="模組:Message box" data-language-autonym="客家語 / Hak-kâ-ngî" data-language-local-name="Hakka Chinese" class="interlanguage-link-target"><span>客家語 / Hak-kâ-ngî</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%93%88:Message_box" title="모듈:Message box – Korean" lang="ko" hreflang="ko" data-title="모듈:Message box" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ha mw-list-item"><a href="https://ha.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Hausa" lang="ha" hreflang="ha" data-title="Module:Message box" data-language-autonym="Hausa" data-language-local-name="Hausa" class="interlanguage-link-target"><span>Hausa</span></a></li><li class="interlanguage-link interwiki-haw mw-list-item"><a href="https://haw.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Hawaiian" lang="haw" hreflang="haw" data-title="Module:Message box" data-language-autonym="Hawaiʻi" data-language-local-name="Hawaiian" class="interlanguage-link-target"><span>Hawaiʻi</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/%D5%84%D5%B8%D5%A4%D5%B8%D6%82%D5%AC:Message_box" title="Մոդուլ:Message box – Armenian" lang="hy" hreflang="hy" data-title="Մոդուլ:Message box" data-language-autonym="Հայերեն" data-language-local-name="Armenian" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%AE%E0%A5%89%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%B2:Message_box" title="मॉड्यूल:Message box – Hindi" lang="hi" hreflang="hi" data-title="मॉड्यूल:Message box" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Croatian" lang="hr" hreflang="hr" data-title="Modul:Message box" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-gor mw-list-item"><a href="https://gor.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Gorontalo" lang="gor" hreflang="gor" data-title="Modul:Message box" data-language-autonym="Bahasa Hulontalo" data-language-local-name="Gorontalo" class="interlanguage-link-target"><span>Bahasa Hulontalo</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/Modulo:Message_box" title="Modulo:Message box – Ido" lang="io" hreflang="io" data-title="Modulo:Message box" data-language-autonym="Ido" data-language-local-name="Ido" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-ilo mw-list-item"><a href="https://ilo.wikipedia.org/wiki/Modulo:Kahon_ti_mensahe" title="Modulo:Kahon ti mensahe – Iloko" lang="ilo" hreflang="ilo" data-title="Modulo:Kahon ti mensahe" data-language-autonym="Ilokano" data-language-local-name="Iloko" class="interlanguage-link-target"><span>Ilokano</span></a></li><li class="interlanguage-link interwiki-bpy mw-list-item"><a href="https://bpy.wikipedia.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:%E0%A6%AC%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%A4%E0%A6%BE%E0%A6%B0_%E0%A6%AC%E0%A6%BE%E0%A6%95%E0%A7%8D%E0%A6%B8" title="মডিউল:বার্তার বাক্স – Bishnupriya" lang="bpy" hreflang="bpy" data-title="মডিউল:বার্তার বাক্স" data-language-autonym="বিষ্ণুপ্রিয়া মণিপুরী" data-language-local-name="Bishnupriya" class="interlanguage-link-target"><span>বিষ্ণুপ্রিয়া মণিপুরী</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Indonesian" lang="id" hreflang="id" data-title="Modul:Message box" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-os mw-list-item"><a href="https://os.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Ossetic" lang="os" hreflang="os" data-title="Модуль:Message box" data-language-autonym="Ирон" data-language-local-name="Ossetic" class="interlanguage-link-target"><span>Ирон</span></a></li><li class="interlanguage-link interwiki-xh mw-list-item"><a href="https://xh.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Xhosa" lang="xh" hreflang="xh" data-title="Module:Message box" data-language-autonym="IsiXhosa" data-language-local-name="Xhosa" class="interlanguage-link-target"><span>IsiXhosa</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Icelandic" lang="is" hreflang="is" data-title="Module:Message box" data-language-autonym="Íslenska" data-language-local-name="Icelandic" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-jv mw-list-item"><a href="https://jv.wikipedia.org/wiki/Modhul:Message_box" title="Modhul:Message box – Javanese" lang="jv" hreflang="jv" data-title="Modhul:Message box" data-language-autonym="Jawa" data-language-local-name="Javanese" class="interlanguage-link-target"><span>Jawa</span></a></li><li class="interlanguage-link interwiki-kbp mw-list-item"><a href="https://kbp.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Kabiye" lang="kbp" hreflang="kbp" data-title="Module:Message box" data-language-autonym="Kabɩyɛ" data-language-local-name="Kabiye" class="interlanguage-link-target"><span>Kabɩyɛ</span></a></li><li class="interlanguage-link interwiki-kn mw-list-item"><a href="https://kn.wikipedia.org/wiki/%E0%B2%AE%E0%B2%BE%E0%B2%A1%E0%B3%8D%E0%B2%AF%E0%B3%82%E0%B2%B2%E0%B3%8D:Message_box" title="ಮಾಡ್ಯೂಲ್:Message box – Kannada" lang="kn" hreflang="kn" data-title="ಮಾಡ್ಯೂಲ್:Message box" data-language-autonym="ಕನ್ನಡ" data-language-local-name="Kannada" class="interlanguage-link-target"><span>ಕನ್ನಡ</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://ka.wikipedia.org/wiki/%E1%83%9B%E1%83%9D%E1%83%93%E1%83%A3%E1%83%9A%E1%83%98:Message_box" title="მოდული:Message box – Georgian" lang="ka" hreflang="ka" data-title="მოდული:Message box" data-language-autonym="ქართული" data-language-local-name="Georgian" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-ks mw-list-item"><a href="https://ks.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%97%D9%84:Message_box" title="ماڈیوٗل:Message box – Kashmiri" lang="ks" hreflang="ks" data-title="ماڈیوٗل:Message box" data-language-autonym="कॉशुर / کٲشُر" data-language-local-name="Kashmiri" class="interlanguage-link-target"><span>कॉशुर / کٲشُر</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Kazakh" lang="kk" hreflang="kk" data-title="Module:Message box" data-language-autonym="Қазақша" data-language-local-name="Kazakh" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-kw mw-list-item"><a href="https://kw.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Cornish" lang="kw" hreflang="kw" data-title="Module:Message box" data-language-autonym="Kernowek" data-language-local-name="Cornish" class="interlanguage-link-target"><span>Kernowek</span></a></li><li class="interlanguage-link interwiki-rw mw-list-item"><a href="https://rw.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Kinyarwanda" lang="rw" hreflang="rw" data-title="Module:Message box" data-language-autonym="Ikinyarwanda" data-language-local-name="Kinyarwanda" class="interlanguage-link-target"><span>Ikinyarwanda</span></a></li><li class="interlanguage-link interwiki-rn mw-list-item"><a href="https://rn.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Rundi" lang="rn" hreflang="rn" data-title="Module:Message box" data-language-autonym="Ikirundi" data-language-local-name="Rundi" class="interlanguage-link-target"><span>Ikirundi</span></a></li><li class="interlanguage-link interwiki-kg mw-list-item"><a href="https://kg.wikipedia.org/wiki/Module:Bandeau" title="Module:Bandeau – Kongo" lang="kg" hreflang="kg" data-title="Module:Bandeau" data-language-autonym="Kongo" data-language-local-name="Kongo" class="interlanguage-link-target"><span>Kongo</span></a></li><li class="interlanguage-link interwiki-ht mw-list-item"><a href="https://ht.wikipedia.org/wiki/Module:Bandeau" title="Module:Bandeau – Haitian Creole" lang="ht" hreflang="ht" data-title="Module:Bandeau" data-language-autonym="Kreyòl ayisyen" data-language-local-name="Haitian Creole" class="interlanguage-link-target"><span>Kreyòl ayisyen</span></a></li><li class="interlanguage-link interwiki-ku mw-list-item"><a href="https://ku.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Kurdish" lang="ku" hreflang="ku" data-title="Modul:Message box" data-language-autonym="Kurdî" data-language-local-name="Kurdish" class="interlanguage-link-target"><span>Kurdî</span></a></li><li class="interlanguage-link interwiki-lld mw-list-item"><a href="https://lld.wikipedia.org/wiki/Modulo:Message_box" title="Modulo:Message box – Ladin" lang="lld" hreflang="lld" data-title="Modulo:Message box" data-language-autonym="Ladin" data-language-local-name="Ladin" class="interlanguage-link-target"><span>Ladin</span></a></li><li class="interlanguage-link interwiki-lo mw-list-item"><a href="https://lo.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Lao" lang="lo" hreflang="lo" data-title="Module:Message box" data-language-autonym="ລາວ" data-language-local-name="Lao" class="interlanguage-link-target"><span>ລາວ</span></a></li><li class="interlanguage-link interwiki-ltg mw-list-item"><a href="https://ltg.wikipedia.org/wiki/Modulis:Message_box" title="Modulis:Message box – Latgalian" lang="ltg" hreflang="ltg" data-title="Modulis:Message box" data-language-autonym="Latgaļu" data-language-local-name="Latgalian" class="interlanguage-link-target"><span>Latgaļu</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Modulis:Message_box" title="Modulis:Message box – Latvian" lang="lv" hreflang="lv" data-title="Modulis:Message box" data-language-autonym="Latviešu" data-language-local-name="Latvian" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-lb mw-list-item"><a href="https://lb.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Luxembourgish" lang="lb" hreflang="lb" data-title="Modul:Message box" data-language-autonym="Lëtzebuergesch" data-language-local-name="Luxembourgish" class="interlanguage-link-target"><span>Lëtzebuergesch</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Lithuanian" lang="lt" hreflang="lt" data-title="Module:Message box" data-language-autonym="Lietuvių" data-language-local-name="Lithuanian" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Hungarian" lang="hu" hreflang="hu" data-title="Modul:Message box" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-mad mw-list-item"><a href="https://mad.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Madurese" lang="mad" hreflang="mad" data-title="Modul:Message box" data-language-autonym="Madhurâ" data-language-local-name="Madurese" class="interlanguage-link-target"><span>Madhurâ</span></a></li><li class="interlanguage-link interwiki-mai mw-list-item"><a href="https://mai.wikipedia.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%81%E0%A4%B2:Message_box" title="मोड्युल:Message box – Maithili" lang="mai" hreflang="mai" data-title="मोड्युल:Message box" data-language-autonym="मैथिली" data-language-local-name="Maithili" class="interlanguage-link-target"><span>मैथिली</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Message_box" title="Модул:Message box – Macedonian" lang="mk" hreflang="mk" data-title="Модул:Message box" data-language-autonym="Македонски" data-language-local-name="Macedonian" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-mg mw-list-item"><a href="https://mg.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Malagasy" lang="mg" hreflang="mg" data-title="Module:Message box" data-language-autonym="Malagasy" data-language-local-name="Malagasy" class="interlanguage-link-target"><span>Malagasy</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%98%E0%B4%9F%E0%B4%95%E0%B4%82:Message_box" title="ഘടകം:Message box – Malayalam" lang="ml" hreflang="ml" data-title="ഘടകം:Message box" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mi mw-list-item"><a href="https://mi.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Māori" lang="mi" hreflang="mi" data-title="Module:Message box" data-language-autonym="Māori" data-language-local-name="Māori" class="interlanguage-link-target"><span>Māori</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://mr.wikipedia.org/wiki/%E0%A4%B5%E0%A4%BF%E0%A4%AD%E0%A4%BE%E0%A4%97:Message_box" title="विभाग:Message box – Marathi" lang="mr" hreflang="mr" data-title="विभाग:Message box" data-language-autonym="मराठी" data-language-local-name="Marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-arz mw-list-item"><a href="https://arz.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Message_box" title="وحدة:Message box – Egyptian Arabic" lang="arz" hreflang="arz" data-title="وحدة:Message box" data-language-autonym="مصرى" data-language-local-name="Egyptian Arabic" class="interlanguage-link-target"><span>مصرى</span></a></li><li class="interlanguage-link interwiki-mnw mw-list-item"><a href="https://mnw.wikipedia.org/wiki/%E1%80%99%E1%80%9D%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0:Message_box" title="မဝ်ဂျူ:Message box – Mon" lang="mnw" hreflang="mnw" data-title="မဝ်ဂျူ:Message box" data-language-autonym="ဘာသာမန်" data-language-local-name="Mon" class="interlanguage-link-target"><span>ဘာသာမန်</span></a></li><li class="interlanguage-link interwiki-mzn mw-list-item"><a href="https://mzn.wikipedia.org/wiki/%D9%85%D8%A7%DA%98%D9%88%D9%84:Message_box" title="ماژول:Message box – Mazanderani" lang="mzn" hreflang="mzn" data-title="ماژول:Message box" data-language-autonym="مازِرونی" data-language-local-name="Mazanderani" class="interlanguage-link-target"><span>مازِرونی</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Malay" lang="ms" hreflang="ms" data-title="Modul:Message box" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-fat mw-list-item"><a href="https://fat.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Fanti" lang="fat" hreflang="fat" data-title="Module:Message box" data-language-autonym="Mfantse" data-language-local-name="Fanti" class="interlanguage-link-target"><span>Mfantse</span></a></li><li class="interlanguage-link interwiki-min mw-list-item"><a href="https://min.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Minangkabau" lang="min" hreflang="min" data-title="Modul:Message box" data-language-autonym="Minangkabau" data-language-local-name="Minangkabau" class="interlanguage-link-target"><span>Minangkabau</span></a></li><li class="interlanguage-link interwiki-cdo mw-list-item"><a href="https://cdo.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Message_box" title="模組:Message box – Mindong" lang="cdo" hreflang="cdo" data-title="模組:Message box" data-language-autonym="閩東語 / Mìng-dĕ̤ng-ngṳ̄" data-language-local-name="Mindong" class="interlanguage-link-target"><span>閩東語 / Mìng-dĕ̤ng-ngṳ̄</span></a></li><li class="interlanguage-link interwiki-mwl mw-list-item"><a href="https://mwl.wikipedia.org/wiki/M%C3%B3dulo:Message_box" title="Módulo:Message box – Mirandese" lang="mwl" hreflang="mwl" data-title="Módulo:Message box" data-language-autonym="Mirandés" data-language-local-name="Mirandese" class="interlanguage-link-target"><span>Mirandés</span></a></li><li class="interlanguage-link interwiki-mdf mw-list-item"><a href="https://mdf.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Moksha" lang="mdf" hreflang="mdf" data-title="Модуль:Message box" data-language-autonym="Мокшень" data-language-local-name="Moksha" class="interlanguage-link-target"><span>Мокшень</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Mongolian" lang="mn" hreflang="mn" data-title="Module:Message box" data-language-autonym="Монгол" data-language-local-name="Mongolian" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-my mw-list-item"><a href="https://my.wikipedia.org/wiki/%E1%80%99%E1%80%B1%E1%80%AC%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0%E1%80%B8:Message_box" title="မော်ဂျူး:Message box – Burmese" lang="my" hreflang="my" data-title="မော်ဂျူး:Message box" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="Burmese" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li class="interlanguage-link interwiki-nah mw-list-item"><a href="https://nah.wikipedia.org/wiki/M%C3%B3dulo:Message_box" title="Módulo:Message box – Nahuatl" lang="nah" hreflang="nah" data-title="Módulo:Message box" data-language-autonym="Nāhuatl" data-language-local-name="Nahuatl" class="interlanguage-link-target"><span>Nāhuatl</span></a></li><li class="interlanguage-link interwiki-fj mw-list-item"><a href="https://fj.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Fijian" lang="fj" hreflang="fj" data-title="Module:Message box" data-language-autonym="Na Vosa Vakaviti" data-language-local-name="Fijian" class="interlanguage-link-target"><span>Na Vosa Vakaviti</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Dutch" lang="nl" hreflang="nl" data-title="Module:Message box" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-nds-nl mw-list-item"><a href="https://nds-nl.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Low Saxon" lang="nds-NL" hreflang="nds-NL" data-title="Module:Message box" data-language-autonym="Nedersaksies" data-language-local-name="Low Saxon" class="interlanguage-link-target"><span>Nedersaksies</span></a></li><li class="interlanguage-link interwiki-ne mw-list-item"><a href="https://ne.wikipedia.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%81%E0%A4%B2:Message_box" title="मोड्युल:Message box – Nepali" lang="ne" hreflang="ne" data-title="मोड्युल:Message box" data-language-autonym="नेपाली" data-language-local-name="Nepali" class="interlanguage-link-target"><span>नेपाली</span></a></li><li class="interlanguage-link interwiki-new mw-list-item"><a href="https://new.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Newari" lang="new" hreflang="new" data-title="Module:Message box" data-language-autonym="नेपाल भाषा" data-language-local-name="Newari" class="interlanguage-link-target"><span>नेपाल भाषा</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Message_box" title="モジュール:Message box – Japanese" lang="ja" hreflang="ja" data-title="モジュール:Message box" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-nqo mw-list-item"><a href="https://nqo.wikipedia.org/wiki/%DF%97%DF%8B%DF%AC%DF%9E%DF%99%DF%8A%DF%9E%DF%8F:Message_box" title="ߗߋ߬ߞߙߊߞߏ:Message box – N’Ko" lang="nqo" hreflang="nqo" data-title="ߗߋ߬ߞߙߊߞߏ:Message box" data-language-autonym="ߒߞߏ" data-language-local-name="N’Ko" class="interlanguage-link-target"><span>ߒߞߏ</span></a></li><li class="interlanguage-link interwiki-ce mw-list-item"><a href="https://ce.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Chechen" lang="ce" hreflang="ce" data-title="Модуль:Message box" data-language-autonym="Нохчийн" data-language-local-name="Chechen" class="interlanguage-link-target"><span>Нохчийн</span></a></li><li class="interlanguage-link interwiki-frr mw-list-item"><a href="https://frr.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Northern Frisian" lang="frr" hreflang="frr" data-title="Modul:Message box" data-language-autonym="Nordfriisk" data-language-local-name="Northern Frisian" class="interlanguage-link-target"><span>Nordfriisk</span></a></li><li class="interlanguage-link interwiki-pih mw-list-item"><a href="https://pih.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Norfuk / Pitkern" lang="pih" hreflang="pih" data-title="Module:Message box" data-language-autonym="Norfuk / Pitkern" data-language-local-name="Norfuk / Pitkern" class="interlanguage-link-target"><span>Norfuk / Pitkern</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Modul:Message box" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Norwegian Nynorsk" lang="nn" hreflang="nn" data-title="Modul:Message box" data-language-autonym="Norsk nynorsk" data-language-local-name="Norwegian Nynorsk" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-oc mw-list-item"><a href="https://oc.wikipedia.org/wiki/M%C3%B2dul:Message_box" title="Mòdul:Message box – Occitan" lang="oc" hreflang="oc" data-title="Mòdul:Message box" data-language-autonym="Occitan" data-language-local-name="Occitan" class="interlanguage-link-target"><span>Occitan</span></a></li><li class="interlanguage-link interwiki-or mw-list-item"><a href="https://or.wikipedia.org/wiki/%E0%AC%AE%E0%AC%A1%E0%AD%8D%E0%AD%9F%E0%AD%81%E0%AC%B2:Message_box" title="ମଡ୍ୟୁଲ:Message box – Odia" lang="or" hreflang="or" data-title="ମଡ୍ୟୁଲ:Message box" data-language-autonym="ଓଡ଼ିଆ" data-language-local-name="Odia" class="interlanguage-link-target"><span>ଓଡ଼ିଆ</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Uzbek" lang="uz" hreflang="uz" data-title="Modul:Message box" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="Uzbek" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://pa.wikipedia.org/wiki/%E0%A8%AE%E0%A9%8C%E0%A8%A1%E0%A8%BF%E0%A8%8A%E0%A8%B2:Message_box" title="ਮੌਡਿਊਲ:Message box – Punjabi" lang="pa" hreflang="pa" data-title="ਮੌਡਿਊਲ:Message box" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Punjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-pi mw-list-item"><a href="https://pi.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Pali" lang="pi" hreflang="pi" data-title="Module:Message box" data-language-autonym="पालि" data-language-local-name="Pali" class="interlanguage-link-target"><span>पालि</span></a></li><li class="interlanguage-link interwiki-pag mw-list-item"><a href="https://pag.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Pangasinan" lang="pag" hreflang="pag" data-title="Module:Message box" data-language-autonym="Pangasinan" data-language-local-name="Pangasinan" class="interlanguage-link-target"><span>Pangasinan</span></a></li><li class="interlanguage-link interwiki-ami mw-list-item"><a href="https://ami.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Message_box" title="模組:Message box – Amis" lang="ami" hreflang="ami" data-title="模組:Message box" data-language-autonym="Pangcah" data-language-local-name="Amis" class="interlanguage-link-target"><span>Pangcah</span></a></li><li class="interlanguage-link interwiki-blk mw-list-item"><a href="https://blk.wikipedia.org/wiki/%E1%80%99%E1%80%B1%E1%80%AC%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0%E1%80%B8:Message_box" title="မော်ဂျူး:Message box – Pa'O" lang="blk" hreflang="blk" data-title="မော်ဂျူး:Message box" data-language-autonym="ပအိုဝ်ႏဘာႏသာႏ" data-language-local-name="Pa'O" class="interlanguage-link-target"><span>ပအိုဝ်ႏဘာႏသာႏ</span></a></li><li class="interlanguage-link interwiki-ps mw-list-item"><a href="https://ps.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Pashto" lang="ps" hreflang="ps" data-title="Module:Message box" data-language-autonym="پښتو" data-language-local-name="Pashto" class="interlanguage-link-target"><span>پښتو</span></a></li><li class="interlanguage-link interwiki-km mw-list-item"><a href="https://km.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Khmer" lang="km" hreflang="km" data-title="Module:Message box" data-language-autonym="ភាសាខ្មែរ" data-language-local-name="Khmer" class="interlanguage-link-target"><span>ភាសាខ្មែរ</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/M%C3%B3dulo:Message_box" title="Módulo:Message box – Portuguese" lang="pt" hreflang="pt" data-title="Módulo:Message box" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-kaa mw-list-item"><a href="https://kaa.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Kara-Kalpak" lang="kaa" hreflang="kaa" data-title="Module:Message box" data-language-autonym="Qaraqalpaqsha" data-language-local-name="Kara-Kalpak" class="interlanguage-link-target"><span>Qaraqalpaqsha</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Romanian" lang="ro" hreflang="ro" data-title="Modul:Message box" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-rue mw-list-item"><a href="https://rue.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Rusyn" lang="rue" hreflang="rue" data-title="Модуль:Message box" data-language-autonym="Русиньскый" data-language-local-name="Rusyn" class="interlanguage-link-target"><span>Русиньскый</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Russian" lang="ru" hreflang="ru" data-title="Модуль:Message box" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-szy mw-list-item"><a href="https://szy.wikipedia.org/wiki/bacu-saupu:Message_box" title="bacu-saupu:Message box – Sakizaya" lang="szy" hreflang="szy" data-title="bacu-saupu:Message box" data-language-autonym="Sakizaya" data-language-local-name="Sakizaya" class="interlanguage-link-target"><span>Sakizaya</span></a></li><li class="interlanguage-link interwiki-sa mw-list-item"><a href="https://sa.wikipedia.org/wiki/%E0%A4%AA%E0%A4%9F%E0%A4%B2%E0%A4%AE%E0%A5%8D:Message_box" title="पटलम्:Message box – Sanskrit" lang="sa" hreflang="sa" data-title="पटलम्:Message box" data-language-autonym="संस्कृतम्" data-language-local-name="Sanskrit" class="interlanguage-link-target"><span>संस्कृतम्</span></a></li><li class="interlanguage-link interwiki-sat mw-list-item"><a href="https://sat.wikipedia.org/wiki/%E1%B1%A2%E1%B1%B3%E1%B1%B0%E1%B1%A9%E1%B1%9E:Message_box" title="ᱢᱳᱰᱩᱞ:Message box – Santali" lang="sat" hreflang="sat" data-title="ᱢᱳᱰᱩᱞ:Message box" data-language-autonym="ᱥᱟᱱᱛᱟᱲᱤ" data-language-local-name="Santali" class="interlanguage-link-target"><span>ᱥᱟᱱᱛᱟᱲᱤ</span></a></li><li class="interlanguage-link interwiki-sco mw-list-item"><a href="https://sco.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Scots" lang="sco" hreflang="sco" data-title="Module:Message box" data-language-autonym="Scots" data-language-local-name="Scots" class="interlanguage-link-target"><span>Scots</span></a></li><li class="interlanguage-link interwiki-tn mw-list-item"><a href="https://tn.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Tswana" lang="tn" hreflang="tn" data-title="Module:Message box" data-language-autonym="Setswana" data-language-local-name="Tswana" class="interlanguage-link-target"><span>Setswana</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Moduli:Message_box" title="Moduli:Message box – Albanian" lang="sq" hreflang="sq" data-title="Moduli:Message box" data-language-autonym="Shqip" data-language-local-name="Albanian" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Sinhala" lang="si" hreflang="si" data-title="Module:Message box" data-language-autonym="සිංහල" data-language-local-name="Sinhala" class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Simple English" lang="en-simple" hreflang="en-simple" data-title="Module:Message box" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sd mw-list-item"><a href="https://sd.wikipedia.org/wiki/%D9%85%D8%A7%DA%8A%D9%8A%D9%88%D9%84:Message_box" title="ماڊيول:Message box – Sindhi" lang="sd" hreflang="sd" data-title="ماڊيول:Message box" data-language-autonym="سنڌي" data-language-local-name="Sindhi" class="interlanguage-link-target"><span>سنڌي</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Slovenian" lang="sl" hreflang="sl" data-title="Modul:Message box" data-language-autonym="Slovenščina" data-language-local-name="Slovenian" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wikipedia.org/wiki/%D9%85%DB%86%D8%AF%DB%8C%D9%88%D9%88%D9%84:Message_box" title="مۆدیوول:Message box – Central Kurdish" lang="ckb" hreflang="ckb" data-title="مۆدیوول:Message box" data-language-autonym="کوردی" data-language-local-name="Central Kurdish" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Message_box" title="Модул:Message box – Serbian" lang="sr" hreflang="sr" data-title="Модул:Message box" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Serbo-Croatian" lang="sh" hreflang="sh" data-title="Modul:Message box" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="Serbo-Croatian" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-su mw-list-item"><a href="https://su.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Sundanese" lang="su" hreflang="su" data-title="Modul:Message box" data-language-autonym="Sunda" data-language-local-name="Sundanese" class="interlanguage-link-target"><span>Sunda</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Moduuli:Message_box" title="Moduuli:Message box – Finnish" lang="fi" hreflang="fi" data-title="Moduuli:Message box" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-tl mw-list-item"><a href="https://tl.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Tagalog" lang="tl" hreflang="tl" data-title="Module:Message box" data-language-autonym="Tagalog" data-language-local-name="Tagalog" class="interlanguage-link-target"><span>Tagalog</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Tamil" lang="ta" hreflang="ta" data-title="Module:Message box" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-shn mw-list-item"><a href="https://shn.wikipedia.org/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box" title="မေႃႇၵျူး:Message box – Shan" lang="shn" hreflang="shn" data-title="မေႃႇၵျူး:Message box" data-language-autonym="ၽႃႇသႃႇတႆး " data-language-local-name="Shan" class="interlanguage-link-target"><span>ၽႃႇသႃႇတႆး </span></a></li><li class="interlanguage-link interwiki-te mw-list-item"><a href="https://te.wikipedia.org/wiki/%E0%B0%AE%E0%B0%BE%E0%B0%A1%E0%B1%8D%E0%B0%AF%E0%B1%82%E0%B0%B2%E0%B1%8D:Message_box" title="మాడ్యూల్:Message box – Telugu" lang="te" hreflang="te" data-title="మాడ్యూల్:Message box" data-language-autonym="తెలుగు" data-language-local-name="Telugu" class="interlanguage-link-target"><span>తెలుగు</span></a></li><li class="interlanguage-link interwiki-tet mw-list-item"><a href="https://tet.wikipedia.org/wiki/M%C3%B3dulo:Message_box" title="Módulo:Message box – Tetum" lang="tet" hreflang="tet" data-title="Módulo:Message box" data-language-autonym="Tetun" data-language-local-name="Tetum" class="interlanguage-link-target"><span>Tetun</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A1%E0%B8%AD%E0%B8%94%E0%B8%B9%E0%B8%A5:Message_box" title="มอดูล:Message box – Thai" lang="th" hreflang="th" data-title="มอดูล:Message box" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-din mw-list-item"><a href="https://din.wikipedia.org/wiki/Muk%C3%A4%C3%A4c%C3%ABt%C3%B6k:Message_box" title="Mukääcëtök:Message box – Dinka" lang="din" hreflang="din" data-title="Mukääcëtök:Message box" data-language-autonym="Thuɔŋjäŋ" data-language-local-name="Dinka" class="interlanguage-link-target"><span>Thuɔŋjäŋ</span></a></li><li class="interlanguage-link interwiki-ti mw-list-item"><a href="https://ti.wikipedia.org/wiki/%E1%88%9E%E1%8B%B5%E1%8B%A9%E1%88%8D:Message_box" title="ሞድዩል:Message box – Tigrinya" lang="ti" hreflang="ti" data-title="ሞድዩል:Message box" data-language-autonym="ትግርኛ" data-language-local-name="Tigrinya" class="interlanguage-link-target"><span>ትግርኛ</span></a></li><li class="interlanguage-link interwiki-tg mw-list-item"><a href="https://tg.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Message_box" title="Модул:Message box – Tajik" lang="tg" hreflang="tg" data-title="Модул:Message box" data-language-autonym="Тоҷикӣ" data-language-local-name="Tajik" class="interlanguage-link-target"><span>Тоҷикӣ</span></a></li><li class="interlanguage-link interwiki-tcy mw-list-item"><a href="https://tcy.wikipedia.org/wiki/%E0%B2%AE%E0%B3%8B%E0%B2%A1%E0%B3%8D%E0%B2%AF%E0%B3%82%E0%B2%B2%E0%B3%8D:Message_box" title="ಮೋಡ್ಯೂಲ್:Message box – Tulu" lang="tcy" hreflang="tcy" data-title="ಮೋಡ್ಯೂಲ್:Message box" data-language-autonym="ತುಳು" data-language-local-name="Tulu" class="interlanguage-link-target"><span>ತುಳು</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Mod%C3%BCl:%C4%B0leti_kutusu" title="Modül:İleti kutusu – Turkish" lang="tr" hreflang="tr" data-title="Modül:İleti kutusu" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-tk mw-list-item"><a href="https://tk.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Turkmen" lang="tk" hreflang="tk" data-title="Module:Message box" data-language-autonym="Türkmençe" data-language-local-name="Turkmen" class="interlanguage-link-target"><span>Türkmençe</span></a></li><li class="interlanguage-link interwiki-udm mw-list-item"><a href="https://udm.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Udmurt" lang="udm" hreflang="udm" data-title="Модуль:Message box" data-language-autonym="Удмурт" data-language-local-name="Udmurt" class="interlanguage-link-target"><span>Удмурт</span></a></li><li class="interlanguage-link interwiki-bug mw-list-item"><a href="https://bug.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Buginese" lang="bug" hreflang="bug" data-title="Modul:Message box" data-language-autonym="Basa Ugi" data-language-local-name="Buginese" class="interlanguage-link-target"><span>Basa Ugi</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Ukrainian" lang="uk" hreflang="uk" data-title="Модуль:Message box" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:Message_box" title="ماڈیول:Message box – Urdu" lang="ur" hreflang="ur" data-title="ماڈیول:Message box" data-language-autonym="اردو" data-language-local-name="Urdu" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-vec mw-list-item"><a href="https://vec.wikipedia.org/wiki/Modulo:Avixo" title="Modulo:Avixo – Venetian" lang="vec" hreflang="vec" data-title="Modulo:Avixo" data-language-autonym="Vèneto" data-language-local-name="Venetian" class="interlanguage-link-target"><span>Vèneto</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/M%C3%B4_%C4%91un:Message_box" title="Mô đun:Message box – Vietnamese" lang="vi" hreflang="vi" data-title="Mô đun:Message box" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-vo mw-list-item"><a href="https://vo.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Volapük" lang="vo" hreflang="vo" data-title="Module:Message box" data-language-autonym="Volapük" data-language-local-name="Volapük" class="interlanguage-link-target"><span>Volapük</span></a></li><li class="interlanguage-link interwiki-zh-classical mw-list-item"><a href="https://zh-classical.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Message_box" title="模組:Message box – Literary Chinese" lang="lzh" hreflang="lzh" data-title="模組:Message box" data-language-autonym="文言" data-language-local-name="Literary Chinese" class="interlanguage-link-target"><span>文言</span></a></li><li class="interlanguage-link interwiki-war mw-list-item"><a href="https://war.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Waray" lang="war" hreflang="war" data-title="Module:Message box" data-language-autonym="Winaray" data-language-local-name="Waray" class="interlanguage-link-target"><span>Winaray</span></a></li><li class="interlanguage-link interwiki-wuu mw-list-item"><a href="https://wuu.wikipedia.org/wiki/%E6%A8%A1%E5%9D%97:Message_box" title="模块:Message box – Wu" lang="wuu" hreflang="wuu" data-title="模块:Message box" data-language-autonym="吴语" data-language-local-name="Wu" class="interlanguage-link-target"><span>吴语</span></a></li><li class="interlanguage-link interwiki-yo mw-list-item"><a href="https://yo.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Yoruba" lang="yo" hreflang="yo" data-title="Module:Message box" data-language-autonym="Yorùbá" data-language-local-name="Yoruba" class="interlanguage-link-target"><span>Yorùbá</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Message_box" title="模組:Message box – Cantonese" lang="yue" hreflang="yue" data-title="模組:Message box" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-diq mw-list-item"><a href="https://diq.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Zazaki" lang="diq" hreflang="diq" data-title="Modul:Message box" data-language-autonym="Zazaki" data-language-local-name="Zazaki" class="interlanguage-link-target"><span>Zazaki</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Chinese" lang="zh" hreflang="zh" data-title="Module:Message box" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-bbc mw-list-item"><a href="https://bbc.wikipedia.org/wiki/Module:Message_box" title="Module:Message box – Batak Toba" lang="bbc" hreflang="bbc" data-title="Module:Message box" data-language-autonym="Batak Toba" data-language-local-name="Batak Toba" class="interlanguage-link-target"><span>Batak Toba</span></a></li><li class="interlanguage-link interwiki-dtp mw-list-item"><a href="https://dtp.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Central Dusun" lang="dtp" hreflang="dtp" data-title="Modul:Message box" data-language-autonym="Kadazandusun" data-language-local-name="Central Dusun" class="interlanguage-link-target"><span>Kadazandusun</span></a></li><li class="interlanguage-link interwiki-iba mw-list-item"><a href="https://iba.wikipedia.org/wiki/Modul:Message_box" title="Modul:Message box – Iban" lang="iba" hreflang="iba" data-title="Modul:Message box" data-language-autonym="Jaku Iban" data-language-local-name="Iban" class="interlanguage-link-target"><span>Jaku Iban</span></a></li><li class="interlanguage-link interwiki-tdd mw-list-item"><a href="https://tdd.wikipedia.org/wiki/%E1%A5%9B%E1%A5%A8%E1%A5%9D%E1%A5%B1_%E1%A5%93%E1%A5%A7%E1%A5%B0:Message_box" title="ᥛᥨᥝᥱ ᥓᥧᥰ:Message box – Tai Nuea" lang="tdd" hreflang="tdd" data-title="ᥛᥨᥝᥱ ᥓᥧᥰ:Message box" data-language-autonym="ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ" data-language-local-name="Tai Nuea" class="interlanguage-link-target"><span>ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q15116966#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:Message_box" title="View the module page [c]" accesskey="c"><span>Module</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Module_talk:Message_box" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:Message_box"><span>Read</span></a></li><li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Message_box&action=edit" title="This page is protected. You can view its source [e]" accesskey="e"><span>View source</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Message_box&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Module:Message_box"><span>Read</span></a></li><li id="ca-more-viewsource" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Message_box&action=edit"><span>View source</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Message_box&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Module:Message_box" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Module:Message_box" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Module:Message_box&oldid=1248332152" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Module:Message_box&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FModule%3AMessage_box"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FModule%3AMessage_box"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-electronpdfservice-sidebar-portlet-heading" class="vector-menu mw-portlet mw-portlet-electronpdfservice-sidebar-portlet-heading" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="electron-print_pdf" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Module%3AMessage_box&action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-foundation mw-list-item"><a href="https://foundation.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikimedia Foundation</span></a></li><li class="wb-otherproject-link wb-otherproject-mediawiki mw-list-item"><a href="https://www.mediawiki.org/wiki/Module:Message_box" hreflang="en"><span>MediaWiki</span></a></li><li class="wb-otherproject-link wb-otherproject-meta mw-list-item"><a href="https://meta.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Meta-Wiki</span></a></li><li class="wb-otherproject-link wb-otherproject-outreach mw-list-item"><a href="https://outreach.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikimedia Outreach</span></a></li><li class="wb-otherproject-link wb-otherproject-sources mw-list-item"><a href="https://wikisource.org/wiki/Module:Message_box" hreflang="en"><span>Multilingual Wikisource</span></a></li><li class="wb-otherproject-link wb-otherproject-species mw-list-item"><a href="https://species.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikispecies</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://en.wikibooks.org/wiki/Module:Message_box" hreflang="en"><span>Wikibooks</span></a></li><li class="wb-otherproject-link wb-otherproject-wikidata mw-list-item"><a href="https://www.wikidata.org/wiki/Module:Message_box" hreflang="en"><span>Wikidata</span></a></li><li class="wb-otherproject-link wb-otherproject-wikifunctions mw-list-item"><a href="https://www.wikifunctions.org/wiki/Module:Message_box" hreflang="en"><span>Wikifunctions</span></a></li><li class="wb-otherproject-link wb-otherproject-wikimania mw-list-item"><a href="https://wikimania.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikimania</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://en.wikiquote.org/wiki/Module:Message_box" hreflang="en"><span>Wikiquote</span></a></li><li class="wb-otherproject-link wb-otherproject-wikisource mw-list-item"><a href="https://en.wikisource.org/wiki/Module:Message_box" hreflang="en"><span>Wikisource</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiversity mw-list-item"><a href="https://en.wikiversity.org/wiki/Module:Message_box" hreflang="en"><span>Wikiversity</span></a></li><li class="wb-otherproject-link wb-otherproject-wiktionary mw-list-item"><a href="https://en.wiktionary.org/wiki/Module:message_box" hreflang="en"><span>Wiktionary</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q15116966" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> <div id="mw-indicator-pp-default" class="mw-indicator"><div class="mw-parser-output"><span typeof="mw:File"><a href="/wiki/Wikipedia:Protection_policy#full" title="This high-risk module is permanently protected to prevent vandalism"><img alt="Permanently protected module" src="//upload.wikimedia.org/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/20px-Full-protection-shackle.svg.png" decoding="async" width="20" height="20" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/30px-Full-protection-shackle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/40px-Full-protection-shackle.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></div></div> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1237875617">.mw-parser-output .documentation,.mw-parser-output .documentation-metadata{border:1px solid #a2a9b1;background-color:#ecfcf4;clear:both}.mw-parser-output .documentation{margin:1em 0 0 0;padding:1em}.mw-parser-output .documentation-metadata{margin:0.2em 0;font-style:italic;padding:0.4em 1em}.mw-parser-output .documentation-startbox{padding-bottom:3px;border-bottom:1px solid #aaa;margin-bottom:1ex}.mw-parser-output .documentation-heading{font-weight:bold;font-size:125%}.mw-parser-output .documentation-clear{clear:both}.mw-parser-output .documentation-toolbar{font-style:normal;font-size:85%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .documentation,html.skin-theme-clientpref-night .mw-parser-output .documentation-metadata{background-color:#0b1e1c}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .documentation,html.skin-theme-clientpref-os .mw-parser-output .documentation-metadata{background-color:#0b1e1c}}</style><div class="documentation-container" role="complementary" aria-labelledby="documentation-heading"> <div class="documentation"> <div class="documentation-startbox"> <span class="documentation-heading" id="documentation-heading"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/50px-Test_Template_Info-Icon_-_Version_%282%29.svg.png" decoding="async" width="50" height="22" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/75px-Test_Template_Info-Icon_-_Version_%282%29.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/100px-Test_Template_Info-Icon_-_Version_%282%29.svg.png 2x" data-file-width="1792" data-file-height="800" /></span></span> Module documentation</span><span class="mw-editsection-like plainlinks">[<a href="/wiki/Module:Message_box/doc" title="Module:Message box/doc">view</a>] [<a href="/wiki/Special:EditPage/Module:Message_box/doc" title="Special:EditPage/Module:Message box/doc">edit</a>] [<a href="/wiki/Special:PageHistory/Module:Message_box/doc" title="Special:PageHistory/Module:Message box/doc">history</a>] [<a href="/wiki/Special:Purge/Module:Message_box" title="Special:Purge/Module:Message box">purge</a>]</span></div> <style data-mw-deduplicate="TemplateStyles:r1238436933">.mw-parser-output .ombox{margin:4px 0;border-collapse:collapse;border:1px solid #a2a9b1;background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .ombox.mbox-small{font-size:88%;line-height:1.25em}.mw-parser-output .ombox-speedy{border:2px solid #b32424;background-color:#fee7e6}.mw-parser-output .ombox-delete{border:2px solid #b32424}.mw-parser-output .ombox-content{border:1px solid #f28500}.mw-parser-output .ombox-style{border:1px solid #fc3}.mw-parser-output .ombox-move{border:1px solid #9932cc}.mw-parser-output .ombox-protection{border:2px solid #a2a9b1}.mw-parser-output .ombox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .ombox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .ombox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox .mbox-invalid-type{text-align:center}@media(min-width:720px){.mw-parser-output .ombox{margin:4px 10%}.mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;width:238px}}body.skin--responsive .mw-parser-output table.ombox img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .ombox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .ombox-speedy{background-color:#310402}}</style><table class="plainlinks ombox ombox-content" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="Warning" src="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></span></span></td><td class="mbox-text"><b>This Lua module is used in system messages</b>, and on <a class="external text" href="https://linkcount.toolforge.org/?project=en.wikipedia.org&page=Module%3AMessage+box#transclusions">approximately 19,300,000 pages, or roughly 31% of all pages</a>.<br />Changes to it can cause immediate changes to the Wikipedia user interface.<br /> To avoid major disruption and server load, any changes should be tested in the module's <a href="/wiki/Module:Message_box/sandbox" title="Module:Message box/sandbox">/sandbox</a> or <a href="/wiki/Module:Message_box/testcases" title="Module:Message box/testcases">/testcases</a> subpages, or in your own <a href="/wiki/Module:Sandbox" title="Module:Sandbox">module sandbox</a>. The tested changes can be added to this page in a single edit. Please discuss changes on the <a href="/wiki/Module_talk:Message_box" title="Module talk:Message box">talk page</a> before implementing them.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="Protected" src="//upload.wikimedia.org/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/40px-Full-protection-shackle.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/60px-Full-protection-shackle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/80px-Full-protection-shackle.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text">This module is <a href="/wiki/Category:Modules_subject_to_page_protection" title="Category:Modules subject to page protection">subject to page protection</a>. It is a <a href="/wiki/Wikipedia:High-risk_templates" title="Wikipedia:High-risk templates">highly visible module</a> in use by a very large number of pages, or is <a href="/wiki/Wikipedia:Substitution" title="Wikipedia:Substitution">substituted</a> very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is <a href="/wiki/Wikipedia:Protection_policy" title="Wikipedia:Protection policy">protected</a> from editing.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox ombox-protection" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/0/0f/Cascade-protection-shackle.svg/40px-Cascade-protection-shackle.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/0/0f/Cascade-protection-shackle.svg/60px-Cascade-protection-shackle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/0/0f/Cascade-protection-shackle.svg/80px-Cascade-protection-shackle.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text">This module can only be edited by <a href="/wiki/Wikipedia:Administrators" title="Wikipedia:Administrators">administrators</a> because it is <a href="/wiki/Wikipedia:Transclusion" class="mw-redirect" title="Wikipedia:Transclusion">transcluded</a> onto one or more <a href="/wiki/Wikipedia:Protection_policy#Cascading_protection" title="Wikipedia:Protection policy">cascade-protected</a> pages.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox mbox-small ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/30px-Lua-Logo.svg.png" decoding="async" width="30" height="30" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/45px-Lua-Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/60px-Lua-Logo.svg.png 2x" data-file-width="947" data-file-height="947" /></span></span></td><td class="mbox-text">This module depends on the following other modules:<div><ul><li><a href="/wiki/Module:Message_box/configuration" title="Module:Message box/configuration">Module:Message box/configuration</a> (<a href="/wiki/Module:Message_box/configuration/sandbox" title="Module:Message box/configuration/sandbox">sandbox</a>)</li><li><a href="/wiki/Module:Yesno" title="Module:Yesno">Module:Yesno</a> (<a href="/wiki/Module:Yesno/sandbox" title="Module:Yesno/sandbox">sandbox</a>)</li><li><a href="/wiki/Module:Arguments" title="Module:Arguments">Module:Arguments</a> (<a href="/wiki/Module:Arguments/sandbox" title="Module:Arguments/sandbox">sandbox</a>)</li><li><a href="/wiki/Module:Category_handler" title="Module:Category handler">Module:Category handler</a> (<a href="/wiki/Module:Category_handler/sandbox" title="Module:Category handler/sandbox">sandbox</a>)</li></ul></div></td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox mbox-small ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><a href="/wiki/File:Farm-Fresh_css_add.svg" class="mw-file-description"><img alt="CSS" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Farm-Fresh_css_add.svg/32px-Farm-Fresh_css_add.svg.png" decoding="async" width="32" height="27" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Farm-Fresh_css_add.svg/48px-Farm-Fresh_css_add.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Farm-Fresh_css_add.svg/64px-Farm-Fresh_css_add.svg.png 2x" data-file-width="142" data-file-height="121" /></a></span></td><td class="mbox-text">This module uses <a href="https://www.mediawiki.org/wiki/Help:TemplateStyles" class="extiw" title="mw:Help:TemplateStyles">TemplateStyles</a>: <div><ul><li><a href="/wiki/Module:Message_box/ambox.css" title="Module:Message box/ambox.css">Module:Message box/ambox.css</a> (<a href="/wiki/Module:Message_box/sandbox/ambox.css" title="Module:Message box/sandbox/ambox.css">sandbox</a>)</li><li><a href="/wiki/Module:Message_box/cmbox.css" title="Module:Message box/cmbox.css">Module:Message box/cmbox.css</a></li><li><a href="/wiki/Module:Message_box/fmbox.css" title="Module:Message box/fmbox.css">Module:Message box/fmbox.css</a></li><li><a href="/wiki/Module:Message_box/imbox.css" title="Module:Message box/imbox.css">Module:Message box/imbox.css</a></li><li><a href="/wiki/Module:Message_box/ombox.css" title="Module:Message box/ombox.css">Module:Message box/ombox.css</a> (<a href="/wiki/Module:Message_box/sandbox/ombox.css" title="Module:Message box/sandbox/ombox.css">sandbox</a>)</li><li><a href="/wiki/Module:Message_box/tmbox.css" title="Module:Message box/tmbox.css">Module:Message box/tmbox.css</a> (<a href="/wiki/Module:Message_box/sandbox/tmbox.css" title="Module:Message box/sandbox/tmbox.css">sandbox</a>)</li></ul></div></td></tr></tbody></table> <p>This is a meta-module that implements the message box templates <span class="nowrap">{{</span><a href="/wiki/Template:Mbox" title="Template:Mbox">mbox</a><span class="nowrap">}}</span>, <span class="nowrap">{{</span><a href="/wiki/Template:Ambox" title="Template:Ambox">ambox</a><span class="nowrap">}}</span>, <span class="nowrap">{{</span><a href="/wiki/Template:Cmbox" title="Template:Cmbox">cmbox</a><span class="nowrap">}}</span>, <span class="nowrap">{{</span><a href="/wiki/Template:Fmbox" title="Template:Fmbox">fmbox</a><span class="nowrap">}}</span>, <span class="nowrap">{{</span><a href="/wiki/Template:Imbox" title="Template:Imbox">imbox</a><span class="nowrap">}}</span>, <span class="nowrap">{{</span><a href="/wiki/Template:Ombox" title="Template:Ombox">ombox</a><span class="nowrap">}}</span>, and <span class="nowrap">{{</span><a href="/wiki/Template:Tmbox" title="Template:Tmbox">tmbox</a><span class="nowrap">}}</span>. It is intended to be used from Lua modules, and should not be used directly from wiki pages. If you want to use this module's functionality from a wiki page, please use the individual message box templates instead. </p> <div class="mw-heading mw-heading2"><h2 id="Usage">Usage</h2></div> <p>To use this module from another Lua module, first you need to load it. </p> <div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span> <span class="n">messageBox</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">'Module:Message box'</span><span class="p">)</span> </pre></div> <p>To create a message box, use the <code>main</code> function. It takes two parameters: the first is the box type (as a string), and the second is a table containing the message box parameters. </p> <div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span> <span class="n">box</span> <span class="o">=</span> <span class="n">messageBox</span><span class="p">.</span><span class="n">main</span><span class="p">(</span> <span class="n">boxType</span><span class="p">,</span> <span class="p">{</span> <span class="n">param1</span> <span class="o">=</span> <span class="n">param1</span><span class="p">,</span> <span class="n">param2</span> <span class="o">=</span> <span class="n">param2</span><span class="p">,</span> <span class="c1">-- More parameters...</span> <span class="p">})</span> </pre></div> <p>There are seven available box types: </p> <table class="wikitable"> <tbody><tr> <th>Box type</th> <th>Template</th> <th>Purpose </th></tr> <tr> <td><code>mbox</code></td> <td><span class="nowrap">{{</span><a href="/wiki/Template:Mbox" title="Template:Mbox">mbox</a><span class="nowrap">}}</span></td> <td>For message boxes to be used in multiple namespaces </td></tr> <tr> <td><code>ambox</code></td> <td><span class="nowrap">{{</span><a href="/wiki/Template:Ambox" title="Template:Ambox">ambox</a><span class="nowrap">}}</span></td> <td>For article message boxes </td></tr> <tr> <td><code>cmbox</code></td> <td><span class="nowrap">{{</span><a href="/wiki/Template:Cmbox" title="Template:Cmbox">cmbox</a><span class="nowrap">}}</span></td> <td>For category message boxes </td></tr> <tr> <td><code>fmbox</code></td> <td><span class="nowrap">{{</span><a href="/wiki/Template:Fmbox" title="Template:Fmbox">fmbox</a><span class="nowrap">}}</span></td> <td>For interface message boxes </td></tr> <tr> <td><code>imbox</code></td> <td><span class="nowrap">{{</span><a href="/wiki/Template:Imbox" title="Template:Imbox">imbox</a><span class="nowrap">}}</span></td> <td>For file namespace message boxes </td></tr> <tr> <td><code>tmbox</code></td> <td><span class="nowrap">{{</span><a href="/wiki/Template:Tmbox" title="Template:Tmbox">tmbox</a><span class="nowrap">}}</span></td> <td>For talk page message boxes </td></tr> <tr> <td><code>ombox</code></td> <td><span class="nowrap">{{</span><a href="/wiki/Template:Ombox" title="Template:Ombox">ombox</a><span class="nowrap">}}</span></td> <td>For message boxes in other namespaces </td></tr></tbody></table> <p>See the template page of each box type for the available parameters. </p> <div class="mw-heading mw-heading2"><h2 id="Usage_from_#invoke"><span id="Usage_from_.23invoke"></span>Usage from #invoke</h2></div> <p>As well as the <code>main</code> function, this module has separate functions for each box type. They are accessed using the code <code>{{#invoke:Message box|mbox|...}}</code>, <code>{{#invoke:Message box|ambox|...}}</code>, etc. These will work when called from other modules, but they access code used to process arguments passed from #invoke, and so calling them will be less efficient than calling <code>main</code>. </p> <div class="mw-heading mw-heading2"><h2 id="Technical_details">Technical details</h2></div> <p>The module uses the same basic code for each of the templates listed above; the differences between each of them are configured using the data at <a href="/wiki/Module:Message_box/configuration" title="Module:Message box/configuration">Module:Message box/configuration</a>. Here are the various configuration options and what they mean: </p> <ul><li><code>types</code> – a table containing data used by the type parameter of the message box. The table keys are the values that can be passed to the type parameter, and the table values are tables containing the class and the image used by that type.</li> <li><code>default</code> – the type to use if no value was passed to the type parameter, or if an invalid value was specified.</li> <li><code>showInvalidTypeError</code> – whether to show an error if the value passed to the type parameter was invalid.</li> <li><code>allowBlankParams</code> – usually blank values are stripped from parameters passed to the module. However, whitespace is preserved for the parameters included in the allowBlankParams table.</li> <li><code>allowSmall</code> – whether a small version of the message box can be produced with "small=yes".</li> <li><code>smallParam</code> – a custom name for the small parameter. For example, if set to "left" you can produce a small message box using "small=left".</li> <li><code>smallClass</code> – the class to use for small message boxes.</li> <li><code>substCheck</code> – whether to perform a subst check or not.</li> <li><code>classes</code> – an array of classes to use with the message box.</li> <li><code>imageEmptyCell</code> – whether to use an empty <code class="nowrap" style=""><td>...</td></code> cell if there is no image set. This is used to preserve spacing for message boxes with a width of less than 100% of the screen.</li> <li><code>imageEmptyCellStyle</code> – whether empty image cells should be styled.</li> <li><code>imageCheckBlank</code> – whether "image=blank" results in no image being displayed.</li> <li><code>imageSmallSize</code> – usually, images used in small message boxes are set to 30x30px. This sets a custom size.</li> <li><code>imageCellDiv</code> – whether to enclose the image in a div enforcing a maximum image size.</li> <li><code>useCollapsibleTextFields</code> – whether to use text fields that can be collapsed, i.e. "issue", "fix", "talk", etc. Currently only used in ambox.</li> <li><code>imageRightNone</code> – whether imageright=none results in no image being displayed on the right-hand side of the message box.</li> <li><code>sectionDefault</code> – the default name for the "section" parameter. Depends on <code>useCollapsibleTextFields</code>.</li> <li><code>allowMainspaceCategories</code> – allow categorisation in the main namespace.</li> <li><code>templateCategory</code> – the name of a category to be placed on the template page.</li> <li><code>templateCategoryRequireName</code> – whether the <code>name</code> parameter is required to display the template category.</li> <li><code>templateErrorCategory</code> – the name of the error category to be used on the template page.</li> <li><code>templateErrorParamsToCheck</code> – an array of parameter names to check. If any are absent, the <code>templateErrorCategory</code> is applied to the template page.</li></ul> <div class="documentation-clear"></div> </div> <div role="note" class="documentation-metadata plainlinks">The above <a href="/wiki/Wikipedia:Template_documentation" title="Wikipedia:Template documentation">documentation</a> is <a href="/wiki/Help:Transclusion" title="Help:Transclusion">transcluded</a> from <a href="/wiki/Module:Message_box/doc" title="Module:Message box/doc">Module:Message box/doc</a>. <span class="documentation-toolbar">(<a href="/wiki/Special:EditPage/Module:Message_box/doc" title="Special:EditPage/Module:Message box/doc">edit</a> | <a href="/wiki/Special:PageHistory/Module:Message_box/doc" title="Special:PageHistory/Module:Message box/doc">history</a>)</span><br />Editors can experiment in this module's <a href="/wiki/Module:Message_box/sandbox" title="Module:Message box/sandbox">sandbox</a> <span class="documentation-toolbar">(<a href="/wiki/Special:EditPage/Module:Message_box/sandbox" title="Special:EditPage/Module:Message box/sandbox">edit</a> | <a class="external text" href="https://en.wikipedia.org/w/index.php?title=Special%3AComparePages&page1=Module%3AMessage+box&page2=Module%3AMessage+box%2Fsandbox">diff</a>)</span> and <a href="/wiki/Module:Message_box/testcases" title="Module:Message box/testcases">testcases</a> <span class="documentation-toolbar">(<a href="/wiki/Special:EditPage/Module:Message_box/testcases" title="Special:EditPage/Module:Message box/testcases">edit</a>)</span> pages.<br /> <a href="/wiki/Special:PrefixIndex/Module:Message_box/" title="Special:PrefixIndex/Module:Message box/">Subpages of this module</a>.</div></div> <p><span id="code"></span> </p><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="nb">require</span><span class="p">(</span><span class="s1">'strict'</span><span class="p">)</span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a><span class="kd">local</span> <span class="n">getArgs</span> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a><span class="kd">local</span> <span class="n">yesno</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">'Module:Yesno'</span><span class="p">)</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a><span class="kd">local</span> <span class="n">lang</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">getContentLanguage</span><span class="p">()</span> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="kd">local</span> <span class="n">CONFIG_MODULE</span> <span class="o">=</span> <span class="s1">'Module:Message box/configuration'</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a><span class="kd">local</span> <span class="n">DEMOSPACES</span> <span class="o">=</span> <span class="p">{</span><span class="n">talk</span> <span class="o">=</span> <span class="s1">'tmbox'</span><span class="p">,</span> <span class="n">image</span> <span class="o">=</span> <span class="s1">'imbox'</span><span class="p">,</span> <span class="n">file</span> <span class="o">=</span> <span class="s1">'imbox'</span><span class="p">,</span> <span class="n">category</span> <span class="o">=</span> <span class="s1">'cmbox'</span><span class="p">,</span> <span class="n">article</span> <span class="o">=</span> <span class="s1">'ambox'</span><span class="p">,</span> <span class="n">main</span> <span class="o">=</span> <span class="s1">'ambox'</span><span class="p">}</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a><span class="c1">-- Helper functions</span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">getTitleObject</span><span class="p">(...)</span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a> <span class="c1">-- Get the title object, passing the function through pcall</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a> <span class="c1">-- in case we are over the expensive function count limit.</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a> <span class="kd">local</span> <span class="n">success</span><span class="p">,</span> <span class="n">title</span> <span class="o">=</span> <span class="nb">pcall</span><span class="p">(</span><span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">new</span><span class="p">,</span> <span class="p">...)</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a> <span class="kr">if</span> <span class="n">success</span> <span class="kr">then</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a> <span class="kr">return</span> <span class="n">title</span> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a> <span class="kr">end</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a><span class="kr">end</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">union</span><span class="p">(</span><span class="n">t1</span><span class="p">,</span> <span class="n">t2</span><span class="p">)</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a> <span class="c1">-- Returns the union of two arrays.</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a> <span class="kd">local</span> <span class="n">vals</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">t1</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a> <span class="n">vals</span><span class="p">[</span><span class="n">v</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a> <span class="kr">end</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">t2</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a> <span class="n">vals</span><span class="p">[</span><span class="n">v</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a> <span class="kr">end</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a> <span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a> <span class="kr">for</span> <span class="n">k</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">vals</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a> <span class="kr">end</span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a> <span class="nb">table.sort</span><span class="p">(</span><span class="n">ret</span><span class="p">)</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a> <span class="kr">return</span> <span class="n">ret</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a><span class="kr">end</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">getArgNums</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">prefix</span><span class="p">)</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a> <span class="kd">local</span> <span class="n">nums</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a> <span class="kr">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a> <span class="kd">local</span> <span class="n">num</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span><span class="nb">tostring</span><span class="p">(</span><span class="n">k</span><span class="p">),</span> <span class="s1">'^'</span> <span class="o">..</span> <span class="n">prefix</span> <span class="o">..</span> <span class="s1">'([1-9]%d*)$'</span><span class="p">)</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a> <span class="kr">if</span> <span class="n">num</span> <span class="kr">then</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">nums</span><span class="p">,</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">num</span><span class="p">))</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a> <span class="kr">end</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a> <span class="kr">end</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a> <span class="nb">table.sort</span><span class="p">(</span><span class="n">nums</span><span class="p">)</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a> <span class="kr">return</span> <span class="n">nums</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a><span class="kr">end</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a><span class="c1">-- Box class definition</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a><span class="kd">local</span> <span class="n">MessageBox</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a><span class="n">MessageBox</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">MessageBox</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="n">boxType</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">cfg</span><span class="p">)</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a> <span class="n">args</span> <span class="o">=</span> <span class="n">args</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a> <span class="kd">local</span> <span class="n">obj</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a> <span class="c1">-- Set the title object and the namespace.</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">title</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">page</span><span class="p">)</span> <span class="ow">or</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">getCurrentTitle</span><span class="p">()</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a> <span class="c1">-- Set the config for our box type.</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">[</span><span class="n">boxType</span><span class="p">]</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="kr">then</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a> <span class="kd">local</span> <span class="n">ns</span> <span class="o">=</span> <span class="n">obj</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a> <span class="c1">-- boxType is "mbox" or invalid input</span> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">demospace</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">demospace</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a> <span class="c1">-- implement demospace parameter of mbox</span> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a> <span class="kd">local</span> <span class="n">demospace</span> <span class="o">=</span> <span class="nb">string.lower</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">demospace</span><span class="p">)</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a> <span class="kr">if</span> <span class="n">DEMOSPACES</span><span class="p">[</span><span class="n">demospace</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a> <span class="c1">-- use template from DEMOSPACES</span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">[</span><span class="n">DEMOSPACES</span><span class="p">[</span><span class="n">demospace</span><span class="p">]]</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a> <span class="kr">elseif</span> <span class="nb">string.find</span><span class="p">(</span> <span class="n">demospace</span><span class="p">,</span> <span class="s1">'talk'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a> <span class="c1">-- demo as a talk page</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">tmbox</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a> <span class="kr">else</span> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a> <span class="c1">-- default to ombox</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">ombox</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a> <span class="kr">end</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a> <span class="kr">elseif</span> <span class="n">ns</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">ambox</span> <span class="c1">-- main namespace</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a> <span class="kr">elseif</span> <span class="n">ns</span> <span class="o">==</span> <span class="mi">6</span> <span class="kr">then</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imbox</span> <span class="c1">-- file namespace</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a> <span class="kr">elseif</span> <span class="n">ns</span> <span class="o">==</span> <span class="mi">14</span> <span class="kr">then</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">cmbox</span> <span class="c1">-- category namespace</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a> <span class="kr">else</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a> <span class="kd">local</span> <span class="n">nsTable</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">site</span><span class="p">.</span><span class="n">namespaces</span><span class="p">[</span><span class="n">ns</span><span class="p">]</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a> <span class="kr">if</span> <span class="n">nsTable</span> <span class="ow">and</span> <span class="n">nsTable</span><span class="p">.</span><span class="n">isTalk</span> <span class="kr">then</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">tmbox</span> <span class="c1">-- any talk namespace</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a> <span class="kr">else</span> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">ombox</span> <span class="c1">-- other namespaces or invalid input</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a> <span class="kr">end</span> </span><span id="L-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a> <span class="kr">end</span> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> <span class="kr">end</span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a> <span class="c1">-- Set the arguments, and remove all blank arguments except for the ones</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> <span class="c1">-- listed in cfg.allowBlankParams.</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a> <span class="kr">do</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a> <span class="kd">local</span> <span class="n">newArgs</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="kr">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> <span class="kr">if</span> <span class="n">v</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="n">newArgs</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a> <span class="kr">end</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a> <span class="kr">end</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">param</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">obj</span><span class="p">.</span><span class="n">cfg</span><span class="p">.</span><span class="n">allowBlankParams</span> <span class="ow">or</span> <span class="p">{})</span> <span class="kr">do</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a> <span class="n">newArgs</span><span class="p">[</span><span class="n">param</span><span class="p">]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">param</span><span class="p">]</span> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> <span class="kr">end</span> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">args</span> <span class="o">=</span> <span class="n">newArgs</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a> <span class="kr">end</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> <span class="c1">-- Define internal data structure.</span> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">categories</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">classes</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> <span class="c1">-- For lazy loading of [[Module:Category handler]].</span> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">hasCategories</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a> <span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">MessageBox</span><span class="p">)</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a><span class="kr">end</span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">addCat</span><span class="p">(</span><span class="n">ns</span><span class="p">,</span> <span class="n">cat</span><span class="p">,</span> <span class="n">sort</span><span class="p">)</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">cat</span> <span class="kr">then</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a> <span class="kr">end</span> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a> <span class="kr">if</span> <span class="n">sort</span> <span class="kr">then</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a> <span class="n">cat</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'[[Category:%s|%s]]'</span><span class="p">,</span> <span class="n">cat</span><span class="p">,</span> <span class="n">sort</span><span class="p">)</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a> <span class="kr">else</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a> <span class="n">cat</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'[[Category:%s]]'</span><span class="p">,</span> <span class="n">cat</span><span class="p">)</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a> <span class="kr">end</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">hasCategories</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="n">ns</span><span class="p">]</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="n">ns</span><span class="p">]</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="n">ns</span><span class="p">],</span> <span class="n">cat</span><span class="p">)</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a><span class="kr">end</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">addClass</span><span class="p">(</span><span class="n">class</span><span class="p">)</span> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">class</span> <span class="kr">then</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a> <span class="kr">end</span> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">classes</span><span class="p">,</span> <span class="n">class</span><span class="p">)</span> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a><span class="kr">end</span> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setParameters</span><span class="p">()</span> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a> <span class="kd">local</span> <span class="n">cfg</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">cfg</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a> <span class="c1">-- Get type data.</span> </span><span id="L-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">type</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">type</span> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a> <span class="kd">local</span> <span class="n">typeData</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">types</span><span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">type</span><span class="p">]</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">invalidTypeError</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">showInvalidTypeError</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">type</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a> <span class="ow">and</span> <span class="ow">not</span> <span class="n">typeData</span> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a> <span class="n">typeData</span> <span class="o">=</span> <span class="n">typeData</span> <span class="ow">or</span> <span class="n">cfg</span><span class="p">.</span><span class="n">types</span><span class="p">[</span><span class="n">cfg</span><span class="p">.</span><span class="n">default</span><span class="p">]</span> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">typeClass</span> <span class="o">=</span> <span class="n">typeData</span><span class="p">.</span><span class="n">class</span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">typeImage</span> <span class="o">=</span> <span class="n">typeData</span><span class="p">.</span><span class="n">image</span> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">typeImageNeedsLink</span> <span class="o">=</span> <span class="n">typeData</span><span class="p">.</span><span class="n">imageNeedsLink</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a> </span><span id="L-159"><a href="#L-159"><span class="linenos" data-line="159"></span></a> <span class="c1">-- Find if the box has been wrongly substituted.</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">isSubstituted</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">substCheck</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">subst</span> <span class="o">==</span> <span class="s1">'SUBST'</span> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a> <span class="c1">-- Find whether we are using a small message box.</span> </span><span id="L-163"><a href="#L-163"><span class="linenos" data-line="163"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">allowSmall</span> <span class="ow">and</span> <span class="p">(</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a> <span class="n">cfg</span><span class="p">.</span><span class="n">smallParam</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">small</span> <span class="o">==</span> <span class="n">cfg</span><span class="p">.</span><span class="n">smallParam</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a> <span class="ow">or</span> <span class="ow">not</span> <span class="n">cfg</span><span class="p">.</span><span class="n">smallParam</span> <span class="ow">and</span> <span class="n">yesno</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">small</span><span class="p">)</span> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a> <span class="p">)</span> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a> <span class="c1">-- Add attributes, classes and styles.</span> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">id</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">id</span> </span><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">name</span> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="kr">then</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'box-'</span> <span class="o">..</span> <span class="nb">string.gsub</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span><span class="s1">' '</span><span class="p">,</span><span class="s1">'_'</span><span class="p">))</span> </span><span id="L-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a> <span class="kr">end</span> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a> <span class="kr">if</span> <span class="n">yesno</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">plainlinks</span><span class="p">)</span> <span class="o">~=</span> <span class="kc">false</span> <span class="kr">then</span> </span><span id="L-175"><a href="#L-175"><span class="linenos" data-line="175"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'plainlinks'</span><span class="p">)</span> </span><span id="L-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a> <span class="kr">end</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">class</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">classes</span> <span class="ow">or</span> <span class="p">{})</span> <span class="kr">do</span> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">class</span><span class="p">)</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></span></a> <span class="kr">end</span> </span><span id="L-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="kr">then</span> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">smallClass</span> <span class="ow">or</span> <span class="s1">'mbox-small'</span><span class="p">)</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a> <span class="kr">end</span> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">typeClass</span><span class="p">)</span> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">class</span><span class="p">)</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">style</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">attrs</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">attrs</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a> <span class="c1">-- Set text style.</span> </span><span id="L-189"><a href="#L-189"><span class="linenos" data-line="189"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">textstyle</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">textstyle</span> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> <span class="c1">-- Set image classes.</span> </span><span id="L-192"><a href="#L-192"><span class="linenos" data-line="192"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageRightClass</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">imagerightclass</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">imageclass</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageLeftClass</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">imageleftclass</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">imageclass</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></span></a> </span><span id="L-195"><a href="#L-195"><span class="linenos" data-line="195"></span></a> <span class="c1">-- Find if we are on the template page or not. This functionality is only</span> </span><span id="L-196"><a href="#L-196"><span class="linenos" data-line="196"></span></a> <span class="c1">-- used if useCollapsibleTextFields is set, or if both cfg.templateCategory</span> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a> <span class="c1">-- and cfg.templateCategoryRequireName are set.</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> </span><span id="L-199"><a href="#L-199"><span class="linenos" data-line="199"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a> <span class="ow">or</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategory</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a> <span class="ow">and</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategoryRequireName</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a> <span class="kr">then</span> </span><span id="L-203"><a href="#L-203"><span class="linenos" data-line="203"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="kr">then</span> </span><span id="L-204"><a href="#L-204"><span class="linenos" data-line="204"></span></a> <span class="kd">local</span> <span class="n">templateName</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span> </span><span id="L-205"><a href="#L-205"><span class="linenos" data-line="205"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> </span><span id="L-206"><a href="#L-206"><span class="linenos" data-line="206"></span></a> <span class="s1">'^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$'</span> </span><span id="L-207"><a href="#L-207"><span class="linenos" data-line="207"></span></a> <span class="p">)</span> <span class="ow">or</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a> <span class="n">templateName</span> <span class="o">=</span> <span class="s1">'Template:'</span> <span class="o">..</span> <span class="n">templateName</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span><span class="n">templateName</span><span class="p">)</span> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></span></a> <span class="kr">end</span> </span><span id="L-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">isTemplatePage</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a> <span class="ow">and</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span><span class="p">)</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> <span class="kr">end</span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a> <span class="c1">-- Process data for collapsible text fields. At the moment these are only</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a> <span class="c1">-- used in {{ambox}}.</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> <span class="kr">then</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a> <span class="c1">-- Get the self.issue value.</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">smalltext</span> <span class="kr">then</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">issue</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">smalltext</span> </span><span id="L-221"><a href="#L-221"><span class="linenos" data-line="221"></span></a> <span class="kr">else</span> </span><span id="L-222"><a href="#L-222"><span class="linenos" data-line="222"></span></a> <span class="kd">local</span> <span class="n">sect</span> </span><span id="L-223"><a href="#L-223"><span class="linenos" data-line="223"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">sect</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a> <span class="n">sect</span> <span class="o">=</span> <span class="s1">'This '</span> <span class="o">..</span> <span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">sectionDefault</span> <span class="ow">or</span> <span class="s1">'page'</span><span class="p">)</span> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a> <span class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">sect</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a> <span class="n">sect</span> <span class="o">=</span> <span class="s1">'This '</span> <span class="o">..</span> <span class="n">args</span><span class="p">.</span><span class="n">sect</span> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a> <span class="kr">end</span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a> <span class="kd">local</span> <span class="n">issue</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">issue</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a> <span class="n">issue</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">issue</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">issue</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</span> <span class="n">issue</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a> <span class="kd">local</span> <span class="n">text</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">text</span> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a> <span class="n">text</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">text</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a> <span class="kd">local</span> <span class="n">issues</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-233"><a href="#L-233"><span class="linenos" data-line="233"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">issues</span><span class="p">,</span> <span class="n">sect</span><span class="p">)</span> </span><span id="L-234"><a href="#L-234"><span class="linenos" data-line="234"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">issues</span><span class="p">,</span> <span class="n">issue</span><span class="p">)</span> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">issues</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">issue</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">issues</span><span class="p">,</span> <span class="s1">' '</span><span class="p">)</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a> <span class="kr">end</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a> <span class="c1">-- Get the self.talk value.</span> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a> <span class="kd">local</span> <span class="n">talk</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">talk</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a> <span class="c1">-- Show talk links on the template page or template subpages if the talk</span> </span><span id="L-242"><a href="#L-242"><span class="linenos" data-line="242"></span></a> <span class="c1">-- parameter is blank.</span> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a> <span class="kr">if</span> <span class="n">talk</span> <span class="o">==</span> <span class="s1">''</span> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a> <span class="ow">and</span> <span class="p">(</span> </span><span id="L-246"><a href="#L-246"><span class="linenos" data-line="246"></span></a> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">)</span> </span><span id="L-247"><a href="#L-247"><span class="linenos" data-line="247"></span></a> <span class="ow">or</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">:</span><span class="n">isSubpageOf</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span><span class="p">)</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a> <span class="p">)</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a> <span class="kr">then</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a> <span class="n">talk</span> <span class="o">=</span> <span class="s1">'#'</span> </span><span id="L-251"><a href="#L-251"><span class="linenos" data-line="251"></span></a> <span class="kr">elseif</span> <span class="n">talk</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-252"><a href="#L-252"><span class="linenos" data-line="252"></span></a> <span class="n">talk</span> <span class="o">=</span> <span class="kc">nil</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a> <span class="kr">end</span> </span><span id="L-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a> <span class="kr">if</span> <span class="n">talk</span> <span class="kr">then</span> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></span></a> <span class="c1">-- If the talk value is a talk page, make a link to that page. Else</span> </span><span id="L-256"><a href="#L-256"><span class="linenos" data-line="256"></span></a> <span class="c1">-- assume that it's a section heading, and make a link to the talk</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a> <span class="c1">-- page of the current page with that section heading.</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a> <span class="kd">local</span> <span class="n">talkTitle</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span><span class="n">talk</span><span class="p">)</span> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a> <span class="kd">local</span> <span class="n">talkArgIsTalkPage</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">talkTitle</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">talkTitle</span><span class="p">.</span><span class="n">isTalkPage</span> <span class="kr">then</span> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a> <span class="n">talkArgIsTalkPage</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a> <span class="n">talkTitle</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">text</span><span class="p">,</span> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a> <span class="n">mw</span><span class="p">.</span><span class="n">site</span><span class="p">.</span><span class="n">namespaces</span><span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span><span class="p">].</span><span class="n">talk</span><span class="p">.</span><span class="n">id</span> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a> <span class="p">)</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a> <span class="kr">end</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a> <span class="kr">if</span> <span class="n">talkTitle</span> <span class="ow">and</span> <span class="n">talkTitle</span><span class="p">.</span><span class="n">exists</span> <span class="kr">then</span> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a> <span class="kd">local</span> <span class="n">talkText</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="kr">then</span> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a> <span class="kd">local</span> <span class="n">talkLink</span> <span class="o">=</span> <span class="n">talkArgIsTalkPage</span> <span class="ow">and</span> <span class="n">talk</span> <span class="ow">or</span> <span class="p">(</span><span class="n">talkTitle</span><span class="p">.</span><span class="n">prefixedText</span> <span class="o">..</span> <span class="s1">'#'</span> <span class="o">..</span> <span class="n">talk</span><span class="p">)</span> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a> <span class="n">talkText</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'([[%s|talk]])'</span><span class="p">,</span> <span class="n">talkLink</span><span class="p">)</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a> <span class="kr">else</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a> <span class="n">talkText</span> <span class="o">=</span> <span class="s1">'Relevant discussion may be found on'</span> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a> <span class="kr">if</span> <span class="n">talkArgIsTalkPage</span> <span class="kr">then</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a> <span class="n">talkText</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a> <span class="s1">'%s [[%s|%s]].'</span><span class="p">,</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a> <span class="n">talkText</span><span class="p">,</span> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a> <span class="n">talk</span><span class="p">,</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a> <span class="n">talkTitle</span><span class="p">.</span><span class="n">prefixedText</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a> <span class="p">)</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a> <span class="kr">else</span> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a> <span class="n">talkText</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a> <span class="s1">'%s the [[%s#%s|talk page]].'</span><span class="p">,</span> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a> <span class="n">talkText</span><span class="p">,</span> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a> <span class="n">talkTitle</span><span class="p">.</span><span class="n">prefixedText</span><span class="p">,</span> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a> <span class="n">talk</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a> <span class="p">)</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a> <span class="kr">end</span> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a> <span class="kr">end</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">talk</span> <span class="o">=</span> <span class="n">talkText</span> </span><span id="L-291"><a href="#L-291"><span class="linenos" data-line="291"></span></a> <span class="kr">end</span> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a> <span class="kr">end</span> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a> </span><span id="L-294"><a href="#L-294"><span class="linenos" data-line="294"></span></a> <span class="c1">-- Get other values.</span> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">fix</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">fix</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">fix</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a> <span class="kd">local</span> <span class="n">date</span> </span><span id="L-297"><a href="#L-297"><span class="linenos" data-line="297"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a> <span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">isTemplatePage</span> <span class="kr">then</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="n">lang</span><span class="p">:</span><span class="n">formatDate</span><span class="p">(</span><span class="s1">'F Y'</span><span class="p">)</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a> <span class="kr">end</span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a> <span class="kr">if</span> <span class="n">date</span> <span class="kr">then</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">date</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s2">" <span class='date-container'><i>(<span class='date'>%s</span>)</i></span>"</span><span class="p">,</span> <span class="n">date</span><span class="p">)</span> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a> <span class="kr">end</span> </span><span id="L-305"><a href="#L-305"><span class="linenos" data-line="305"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">info</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">info</span> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a> <span class="kr">if</span> <span class="n">yesno</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">removalnotice</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">removalNotice</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">removalNotice</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a> <span class="kr">end</span> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a> <span class="kr">end</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a> <span class="c1">-- Set the non-collapsible text field. At the moment this is used by all box</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a> <span class="c1">-- types other than ambox, and also by ambox when small=yes.</span> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="kr">then</span> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">smalltext</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">text</span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a> <span class="kr">else</span> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">text</span> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a> <span class="kr">end</span> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></span></a> </span><span id="L-319"><a href="#L-319"><span class="linenos" data-line="319"></span></a> <span class="c1">-- Set the below row.</span> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">below</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">below</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">below</span> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a> <span class="c1">-- General image settings.</span> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageCellDiv</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="ow">and</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imageCellDiv</span> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageEmptyCell</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imageEmptyCell</span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a> <span class="c1">-- Left image settings.</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a> <span class="kd">local</span> <span class="n">imageLeft</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">smallimage</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">image</span> </span><span id="L-328"><a href="#L-328"><span class="linenos" data-line="328"></span></a> <span class="kr">if</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imageCheckBlank</span> <span class="ow">and</span> <span class="n">imageLeft</span> <span class="o">~=</span> <span class="s1">'blank'</span> <span class="ow">and</span> <span class="n">imageLeft</span> <span class="o">~=</span> <span class="s1">'none'</span> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a> <span class="ow">or</span> <span class="ow">not</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imageCheckBlank</span> <span class="ow">and</span> <span class="n">imageLeft</span> <span class="o">~=</span> <span class="s1">'none'</span> </span><span id="L-330"><a href="#L-330"><span class="linenos" data-line="330"></span></a> <span class="kr">then</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageLeft</span> <span class="o">=</span> <span class="n">imageLeft</span> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">imageLeft</span> <span class="kr">then</span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a> <span class="kd">local</span> <span class="n">imageSize</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> <span class="ow">and</span> <span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">imageSmallSize</span> <span class="ow">or</span> <span class="s1">'30x30px'</span><span class="p">)</span> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a> <span class="ow">or</span> <span class="s1">'40x40px'</span> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageLeft</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'[[File:%s|%s%s|alt=]]'</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">typeImage</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a> <span class="ow">or</span> <span class="s1">'Information icon4.svg'</span><span class="p">,</span> <span class="n">imageSize</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">typeImageNeedsLink</span> <span class="ow">and</span> <span class="s2">""</span> <span class="ow">or</span> <span class="s2">"|link="</span> <span class="p">)</span> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a> <span class="kr">end</span> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a> <span class="kr">end</span> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a> <span class="c1">-- Right image settings.</span> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a> <span class="kd">local</span> <span class="n">imageRight</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">smallimageright</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">imageright</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">imageRightNone</span> <span class="ow">and</span> <span class="n">imageRight</span> <span class="o">==</span> <span class="s1">'none'</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageRight</span> <span class="o">=</span> <span class="n">imageRight</span> </span><span id="L-345"><a href="#L-345"><span class="linenos" data-line="345"></span></a> <span class="kr">end</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a> <span class="c1">-- set templatestyles</span> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">base_templatestyles</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templatestyles</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">templatestyles</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">templatestyles</span> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></span></a><span class="kr">end</span> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setMainspaceCategories</span><span class="p">()</span> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a> <span class="kd">local</span> <span class="n">cfg</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">cfg</span> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">cfg</span><span class="p">.</span><span class="n">allowMainspaceCategories</span> <span class="kr">then</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a> <span class="kr">end</span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></span></a> <span class="kd">local</span> <span class="n">nums</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">prefix</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">{</span><span class="s1">'cat'</span><span class="p">,</span> <span class="s1">'category'</span><span class="p">,</span> <span class="s1">'all'</span><span class="p">}</span> <span class="kr">do</span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a> <span class="n">args</span><span class="p">[</span><span class="n">prefix</span> <span class="o">..</span> <span class="s1">'1'</span><span class="p">]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">prefix</span><span class="p">]</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a> <span class="n">nums</span> <span class="o">=</span> <span class="n">union</span><span class="p">(</span><span class="n">nums</span><span class="p">,</span> <span class="n">getArgNums</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">prefix</span><span class="p">))</span> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a> <span class="kr">end</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a> <span class="c1">-- The following is roughly equivalent to the old {{Ambox/category}}.</span> </span><span id="L-367"><a href="#L-367"><span class="linenos" data-line="367"></span></a> <span class="kd">local</span> <span class="n">date</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">date</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">date</span> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a> <span class="kd">local</span> <span class="n">preposition</span> <span class="o">=</span> <span class="s1">'from'</span> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">num</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">nums</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a> <span class="kd">local</span> <span class="n">mainCat</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="s1">'cat'</span> <span class="o">..</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">num</span><span class="p">)]</span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'category'</span> <span class="o">..</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">num</span><span class="p">)]</span> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a> <span class="kd">local</span> <span class="n">allCat</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="s1">'all'</span> <span class="o">..</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">num</span><span class="p">)]</span> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a> <span class="n">mainCat</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">mainCat</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">mainCat</span> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a> <span class="n">allCat</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">allCat</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">allCat</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a> <span class="kr">if</span> <span class="n">mainCat</span> <span class="ow">and</span> <span class="n">date</span> <span class="ow">and</span> <span class="n">date</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a> <span class="kd">local</span> <span class="n">catTitle</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'%s %s %s'</span><span class="p">,</span> <span class="n">mainCat</span><span class="p">,</span> <span class="n">preposition</span><span class="p">,</span> <span class="n">date</span><span class="p">)</span> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">catTitle</span><span class="p">)</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a> <span class="n">catTitle</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span><span class="s1">'Category:'</span> <span class="o">..</span> <span class="n">catTitle</span><span class="p">)</span> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">catTitle</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">catTitle</span><span class="p">.</span><span class="n">exists</span> <span class="kr">then</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s1">'Articles with invalid date parameter in template'</span><span class="p">)</span> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a> <span class="kr">end</span> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a> <span class="kr">elseif</span> <span class="n">mainCat</span> <span class="ow">and</span> <span class="p">(</span><span class="ow">not</span> <span class="n">date</span> <span class="ow">or</span> <span class="n">date</span> <span class="o">==</span> <span class="s1">''</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">mainCat</span><span class="p">)</span> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a> <span class="kr">end</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a> <span class="kr">if</span> <span class="n">allCat</span> <span class="kr">then</span> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">allCat</span><span class="p">)</span> </span><span id="L-388"><a href="#L-388"><span class="linenos" data-line="388"></span></a> <span class="kr">end</span> </span><span id="L-389"><a href="#L-389"><span class="linenos" data-line="389"></span></a> <span class="kr">end</span> </span><span id="L-390"><a href="#L-390"><span class="linenos" data-line="390"></span></a><span class="kr">end</span> </span><span id="L-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setTemplateCategories</span><span class="p">()</span> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a> <span class="kd">local</span> <span class="n">cfg</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">cfg</span> </span><span id="L-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a> <span class="c1">-- Add template categories.</span> </span><span id="L-397"><a href="#L-397"><span class="linenos" data-line="397"></span></a> <span class="kr">if</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategory</span> <span class="kr">then</span> </span><span id="L-398"><a href="#L-398"><span class="linenos" data-line="398"></span></a> <span class="kr">if</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategoryRequireName</span> <span class="kr">then</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isTemplatePage</span> <span class="kr">then</span> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategory</span><span class="p">)</span> </span><span id="L-401"><a href="#L-401"><span class="linenos" data-line="401"></span></a> <span class="kr">end</span> </span><span id="L-402"><a href="#L-402"><span class="linenos" data-line="402"></span></a> <span class="kr">elseif</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">isSubpage</span> <span class="kr">then</span> </span><span id="L-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategory</span><span class="p">)</span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a> <span class="kr">end</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a> <span class="kr">end</span> </span><span id="L-406"><a href="#L-406"><span class="linenos" data-line="406"></span></a> </span><span id="L-407"><a href="#L-407"><span class="linenos" data-line="407"></span></a> <span class="c1">-- Add template error categories.</span> </span><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a> <span class="kr">if</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateErrorCategory</span> <span class="kr">then</span> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></span></a> <span class="kd">local</span> <span class="n">templateErrorCategory</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateErrorCategory</span> </span><span id="L-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a> <span class="kd">local</span> <span class="n">templateCat</span><span class="p">,</span> <span class="n">templateSort</span> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">isSubpage</span> <span class="kr">then</span> </span><span id="L-412"><a href="#L-412"><span class="linenos" data-line="412"></span></a> <span class="n">templateCat</span> <span class="o">=</span> <span class="n">templateErrorCategory</span> </span><span id="L-413"><a href="#L-413"><span class="linenos" data-line="413"></span></a> <span class="kr">elseif</span> <span class="n">self</span><span class="p">.</span><span class="n">isTemplatePage</span> <span class="kr">then</span> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a> <span class="kd">local</span> <span class="n">paramsToCheck</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateErrorParamsToCheck</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a> <span class="kd">local</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span> </span><span id="L-416"><a href="#L-416"><span class="linenos" data-line="416"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">param</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">paramsToCheck</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-417"><a href="#L-417"><span class="linenos" data-line="417"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">[</span><span class="n">param</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-418"><a href="#L-418"><span class="linenos" data-line="418"></span></a> <span class="n">count</span> <span class="o">=</span> <span class="n">count</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-419"><a href="#L-419"><span class="linenos" data-line="419"></span></a> <span class="kr">end</span> </span><span id="L-420"><a href="#L-420"><span class="linenos" data-line="420"></span></a> <span class="kr">end</span> </span><span id="L-421"><a href="#L-421"><span class="linenos" data-line="421"></span></a> <span class="kr">if</span> <span class="n">count</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-422"><a href="#L-422"><span class="linenos" data-line="422"></span></a> <span class="n">templateCat</span> <span class="o">=</span> <span class="n">templateErrorCategory</span> </span><span id="L-423"><a href="#L-423"><span class="linenos" data-line="423"></span></a> <span class="n">templateSort</span> <span class="o">=</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">count</span><span class="p">)</span> </span><span id="L-424"><a href="#L-424"><span class="linenos" data-line="424"></span></a> <span class="kr">end</span> </span><span id="L-425"><a href="#L-425"><span class="linenos" data-line="425"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">categoryNums</span> <span class="ow">and</span> <span class="o">#</span><span class="n">self</span><span class="p">.</span><span class="n">categoryNums</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-426"><a href="#L-426"><span class="linenos" data-line="426"></span></a> <span class="n">templateCat</span> <span class="o">=</span> <span class="n">templateErrorCategory</span> </span><span id="L-427"><a href="#L-427"><span class="linenos" data-line="427"></span></a> <span class="n">templateSort</span> <span class="o">=</span> <span class="s1">'C'</span> </span><span id="L-428"><a href="#L-428"><span class="linenos" data-line="428"></span></a> <span class="kr">end</span> </span><span id="L-429"><a href="#L-429"><span class="linenos" data-line="429"></span></a> <span class="kr">end</span> </span><span id="L-430"><a href="#L-430"><span class="linenos" data-line="430"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="n">templateCat</span><span class="p">,</span> <span class="n">templateSort</span><span class="p">)</span> </span><span id="L-431"><a href="#L-431"><span class="linenos" data-line="431"></span></a> <span class="kr">end</span> </span><span id="L-432"><a href="#L-432"><span class="linenos" data-line="432"></span></a><span class="kr">end</span> </span><span id="L-433"><a href="#L-433"><span class="linenos" data-line="433"></span></a> </span><span id="L-434"><a href="#L-434"><span class="linenos" data-line="434"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setAllNamespaceCategories</span><span class="p">()</span> </span><span id="L-435"><a href="#L-435"><span class="linenos" data-line="435"></span></a> <span class="c1">-- Set categories for all namespaces.</span> </span><span id="L-436"><a href="#L-436"><span class="linenos" data-line="436"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">invalidTypeError</span> <span class="kr">then</span> </span><span id="L-437"><a href="#L-437"><span class="linenos" data-line="437"></span></a> <span class="kd">local</span> <span class="n">allSort</span> <span class="o">=</span> <span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="s1">'Main:'</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">)</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">prefixedText</span> </span><span id="L-438"><a href="#L-438"><span class="linenos" data-line="438"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="s1">'all'</span><span class="p">,</span> <span class="s1">'Wikipedia message box parameter needs fixing'</span><span class="p">,</span> <span class="n">allSort</span><span class="p">)</span> </span><span id="L-439"><a href="#L-439"><span class="linenos" data-line="439"></span></a> <span class="kr">end</span> </span><span id="L-440"><a href="#L-440"><span class="linenos" data-line="440"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSubstituted</span> <span class="kr">then</span> </span><span id="L-441"><a href="#L-441"><span class="linenos" data-line="441"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="s1">'all'</span><span class="p">,</span> <span class="s1">'Pages with incorrectly substituted templates'</span><span class="p">)</span> </span><span id="L-442"><a href="#L-442"><span class="linenos" data-line="442"></span></a> <span class="kr">end</span> </span><span id="L-443"><a href="#L-443"><span class="linenos" data-line="443"></span></a><span class="kr">end</span> </span><span id="L-444"><a href="#L-444"><span class="linenos" data-line="444"></span></a> </span><span id="L-445"><a href="#L-445"><span class="linenos" data-line="445"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setCategories</span><span class="p">()</span> </span><span id="L-446"><a href="#L-446"><span class="linenos" data-line="446"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-447"><a href="#L-447"><span class="linenos" data-line="447"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">setMainspaceCategories</span><span class="p">()</span> </span><span id="L-448"><a href="#L-448"><span class="linenos" data-line="448"></span></a> <span class="kr">elseif</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span> <span class="o">==</span> <span class="mi">10</span> <span class="kr">then</span> </span><span id="L-449"><a href="#L-449"><span class="linenos" data-line="449"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">setTemplateCategories</span><span class="p">()</span> </span><span id="L-450"><a href="#L-450"><span class="linenos" data-line="450"></span></a> <span class="kr">end</span> </span><span id="L-451"><a href="#L-451"><span class="linenos" data-line="451"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">setAllNamespaceCategories</span><span class="p">()</span> </span><span id="L-452"><a href="#L-452"><span class="linenos" data-line="452"></span></a><span class="kr">end</span> </span><span id="L-453"><a href="#L-453"><span class="linenos" data-line="453"></span></a> </span><span id="L-454"><a href="#L-454"><span class="linenos" data-line="454"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">renderCategories</span><span class="p">()</span> </span><span id="L-455"><a href="#L-455"><span class="linenos" data-line="455"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">hasCategories</span> <span class="kr">then</span> </span><span id="L-456"><a href="#L-456"><span class="linenos" data-line="456"></span></a> <span class="c1">-- No categories added, no need to pass them to Category handler so,</span> </span><span id="L-457"><a href="#L-457"><span class="linenos" data-line="457"></span></a> <span class="c1">-- if it was invoked, it would return the empty string.</span> </span><span id="L-458"><a href="#L-458"><span class="linenos" data-line="458"></span></a> <span class="c1">-- So we shortcut and return the empty string.</span> </span><span id="L-459"><a href="#L-459"><span class="linenos" data-line="459"></span></a> <span class="kr">return</span> <span class="s2">""</span> </span><span id="L-460"><a href="#L-460"><span class="linenos" data-line="460"></span></a> <span class="kr">end</span> </span><span id="L-461"><a href="#L-461"><span class="linenos" data-line="461"></span></a> <span class="c1">-- Convert category tables to strings and pass them through</span> </span><span id="L-462"><a href="#L-462"><span class="linenos" data-line="462"></span></a> <span class="c1">-- [[Module:Category handler]].</span> </span><span id="L-463"><a href="#L-463"><span class="linenos" data-line="463"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="s1">'Module:Category handler'</span><span class="p">).</span><span class="n">_main</span><span class="p">{</span> </span><span id="L-464"><a href="#L-464"><span class="linenos" data-line="464"></span></a> <span class="n">main</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">or</span> <span class="p">{}),</span> </span><span id="L-465"><a href="#L-465"><span class="linenos" data-line="465"></span></a> <span class="n">template</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span> <span class="ow">or</span> <span class="p">{}),</span> </span><span id="L-466"><a href="#L-466"><span class="linenos" data-line="466"></span></a> <span class="n">all</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">.</span><span class="n">all</span> <span class="ow">or</span> <span class="p">{}),</span> </span><span id="L-467"><a href="#L-467"><span class="linenos" data-line="467"></span></a> <span class="n">nocat</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">nocat</span><span class="p">,</span> </span><span id="L-468"><a href="#L-468"><span class="linenos" data-line="468"></span></a> <span class="n">page</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">page</span> </span><span id="L-469"><a href="#L-469"><span class="linenos" data-line="469"></span></a> <span class="p">}</span> </span><span id="L-470"><a href="#L-470"><span class="linenos" data-line="470"></span></a><span class="kr">end</span> </span><span id="L-471"><a href="#L-471"><span class="linenos" data-line="471"></span></a> </span><span id="L-472"><a href="#L-472"><span class="linenos" data-line="472"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">export</span><span class="p">()</span> </span><span id="L-473"><a href="#L-473"><span class="linenos" data-line="473"></span></a> <span class="kd">local</span> <span class="n">root</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">html</span><span class="p">.</span><span class="n">create</span><span class="p">()</span> </span><span id="L-474"><a href="#L-474"><span class="linenos" data-line="474"></span></a> </span><span id="L-475"><a href="#L-475"><span class="linenos" data-line="475"></span></a> <span class="c1">-- Add the subst check error.</span> </span><span id="L-476"><a href="#L-476"><span class="linenos" data-line="476"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSubstituted</span> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="kr">then</span> </span><span id="L-477"><a href="#L-477"><span class="linenos" data-line="477"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'b'</span><span class="p">)</span> </span><span id="L-478"><a href="#L-478"><span class="linenos" data-line="478"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'error'</span><span class="p">)</span> </span><span id="L-479"><a href="#L-479"><span class="linenos" data-line="479"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="nb">string.format</span><span class="p">(</span> </span><span id="L-480"><a href="#L-480"><span class="linenos" data-line="480"></span></a> <span class="s1">'Template <code>%s[[Template:%s|%s]]%s</code> has been incorrectly substituted.'</span><span class="p">,</span> </span><span id="L-481"><a href="#L-481"><span class="linenos" data-line="481"></span></a> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">nowiki</span><span class="p">(</span><span class="s1">'{{'</span><span class="p">),</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">nowiki</span><span class="p">(</span><span class="s1">'}}'</span><span class="p">)</span> </span><span id="L-482"><a href="#L-482"><span class="linenos" data-line="482"></span></a> <span class="p">))</span> </span><span id="L-483"><a href="#L-483"><span class="linenos" data-line="483"></span></a> <span class="kr">end</span> </span><span id="L-484"><a href="#L-484"><span class="linenos" data-line="484"></span></a> </span><span id="L-485"><a href="#L-485"><span class="linenos" data-line="485"></span></a> <span class="kd">local</span> <span class="n">frame</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">getCurrentFrame</span><span class="p">()</span> </span><span id="L-486"><a href="#L-486"><span class="linenos" data-line="486"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">frame</span><span class="p">:</span><span class="n">extensionTag</span><span class="p">{</span> </span><span id="L-487"><a href="#L-487"><span class="linenos" data-line="487"></span></a> <span class="n">name</span> <span class="o">=</span> <span class="s1">'templatestyles'</span><span class="p">,</span> </span><span id="L-488"><a href="#L-488"><span class="linenos" data-line="488"></span></a> <span class="n">args</span> <span class="o">=</span> <span class="p">{</span> <span class="n">src</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">base_templatestyles</span> <span class="p">},</span> </span><span id="L-489"><a href="#L-489"><span class="linenos" data-line="489"></span></a> <span class="p">})</span> </span><span id="L-490"><a href="#L-490"><span class="linenos" data-line="490"></span></a> <span class="c1">-- Add support for a single custom templatestyles sheet. Undocumented as</span> </span><span id="L-491"><a href="#L-491"><span class="linenos" data-line="491"></span></a> <span class="c1">-- need should be limited and many templates using mbox are substed; we</span> </span><span id="L-492"><a href="#L-492"><span class="linenos" data-line="492"></span></a> <span class="c1">-- don't want to spread templatestyles sheets around to arbitrary places</span> </span><span id="L-493"><a href="#L-493"><span class="linenos" data-line="493"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">templatestyles</span> <span class="kr">then</span> </span><span id="L-494"><a href="#L-494"><span class="linenos" data-line="494"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">frame</span><span class="p">:</span><span class="n">extensionTag</span><span class="p">{</span> </span><span id="L-495"><a href="#L-495"><span class="linenos" data-line="495"></span></a> <span class="n">name</span> <span class="o">=</span> <span class="s1">'templatestyles'</span><span class="p">,</span> </span><span id="L-496"><a href="#L-496"><span class="linenos" data-line="496"></span></a> <span class="n">args</span> <span class="o">=</span> <span class="p">{</span> <span class="n">src</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">templatestyles</span> <span class="p">},</span> </span><span id="L-497"><a href="#L-497"><span class="linenos" data-line="497"></span></a> <span class="p">})</span> </span><span id="L-498"><a href="#L-498"><span class="linenos" data-line="498"></span></a> <span class="kr">end</span> </span><span id="L-499"><a href="#L-499"><span class="linenos" data-line="499"></span></a> </span><span id="L-500"><a href="#L-500"><span class="linenos" data-line="500"></span></a> <span class="c1">-- Create the box table.</span> </span><span id="L-501"><a href="#L-501"><span class="linenos" data-line="501"></span></a> <span class="kd">local</span> <span class="n">boxTable</span> <span class="o">=</span> <span class="n">root</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'table'</span><span class="p">)</span> </span><span id="L-502"><a href="#L-502"><span class="linenos" data-line="502"></span></a> <span class="n">boxTable</span><span class="p">:</span><span class="n">attr</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">id</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-503"><a href="#L-503"><span class="linenos" data-line="503"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">class</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">classes</span> <span class="ow">or</span> <span class="p">{})</span> <span class="kr">do</span> </span><span id="L-504"><a href="#L-504"><span class="linenos" data-line="504"></span></a> <span class="n">boxTable</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">class</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-505"><a href="#L-505"><span class="linenos" data-line="505"></span></a> <span class="kr">end</span> </span><span id="L-506"><a href="#L-506"><span class="linenos" data-line="506"></span></a> <span class="n">boxTable</span> </span><span id="L-507"><a href="#L-507"><span class="linenos" data-line="507"></span></a> <span class="p">:</span><span class="n">cssText</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">style</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-508"><a href="#L-508"><span class="linenos" data-line="508"></span></a> <span class="p">:</span><span class="n">attr</span><span class="p">(</span><span class="s1">'role'</span><span class="p">,</span> <span class="s1">'presentation'</span><span class="p">)</span> </span><span id="L-509"><a href="#L-509"><span class="linenos" data-line="509"></span></a> </span><span id="L-510"><a href="#L-510"><span class="linenos" data-line="510"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">attrs</span> <span class="kr">then</span> </span><span id="L-511"><a href="#L-511"><span class="linenos" data-line="511"></span></a> <span class="n">boxTable</span><span class="p">:</span><span class="n">attr</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">attrs</span><span class="p">)</span> </span><span id="L-512"><a href="#L-512"><span class="linenos" data-line="512"></span></a> <span class="kr">end</span> </span><span id="L-513"><a href="#L-513"><span class="linenos" data-line="513"></span></a> </span><span id="L-514"><a href="#L-514"><span class="linenos" data-line="514"></span></a> <span class="c1">-- Add the left-hand image.</span> </span><span id="L-515"><a href="#L-515"><span class="linenos" data-line="515"></span></a> <span class="kd">local</span> <span class="n">row</span> <span class="o">=</span> <span class="n">boxTable</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'tr'</span><span class="p">)</span> </span><span id="L-516"><a href="#L-516"><span class="linenos" data-line="516"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">imageLeft</span> <span class="kr">then</span> </span><span id="L-517"><a href="#L-517"><span class="linenos" data-line="517"></span></a> <span class="kd">local</span> <span class="n">imageLeftCell</span> <span class="o">=</span> <span class="n">row</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-image'</span><span class="p">)</span> </span><span id="L-518"><a href="#L-518"><span class="linenos" data-line="518"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">imageCellDiv</span> <span class="kr">then</span> </span><span id="L-519"><a href="#L-519"><span class="linenos" data-line="519"></span></a> <span class="c1">-- If we are using a div, redefine imageLeftCell so that the image</span> </span><span id="L-520"><a href="#L-520"><span class="linenos" data-line="520"></span></a> <span class="c1">-- is inside it. Divs use style="width: 52px;", which limits the</span> </span><span id="L-521"><a href="#L-521"><span class="linenos" data-line="521"></span></a> <span class="c1">-- image width to 52px. If any images in a div are wider than that,</span> </span><span id="L-522"><a href="#L-522"><span class="linenos" data-line="522"></span></a> <span class="c1">-- they may overlap with the text or cause other display problems.</span> </span><span id="L-523"><a href="#L-523"><span class="linenos" data-line="523"></span></a> <span class="n">imageLeftCell</span> <span class="o">=</span> <span class="n">imageLeftCell</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'div'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-image-div'</span><span class="p">)</span> </span><span id="L-524"><a href="#L-524"><span class="linenos" data-line="524"></span></a> <span class="kr">end</span> </span><span id="L-525"><a href="#L-525"><span class="linenos" data-line="525"></span></a> <span class="n">imageLeftCell</span> </span><span id="L-526"><a href="#L-526"><span class="linenos" data-line="526"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">imageLeftClass</span><span class="p">)</span> </span><span id="L-527"><a href="#L-527"><span class="linenos" data-line="527"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">imageLeft</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-528"><a href="#L-528"><span class="linenos" data-line="528"></span></a> <span class="kr">elseif</span> <span class="n">self</span><span class="p">.</span><span class="n">imageEmptyCell</span> <span class="kr">then</span> </span><span id="L-529"><a href="#L-529"><span class="linenos" data-line="529"></span></a> <span class="c1">-- Some message boxes define an empty cell if no image is specified, and</span> </span><span id="L-530"><a href="#L-530"><span class="linenos" data-line="530"></span></a> <span class="c1">-- some don't. The old template code in templates where empty cells are</span> </span><span id="L-531"><a href="#L-531"><span class="linenos" data-line="531"></span></a> <span class="c1">-- specified gives the following hint: "No image. Cell with some width</span> </span><span id="L-532"><a href="#L-532"><span class="linenos" data-line="532"></span></a> <span class="c1">-- or padding necessary for text cell to have 100% width."</span> </span><span id="L-533"><a href="#L-533"><span class="linenos" data-line="533"></span></a> <span class="n">row</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">)</span> </span><span id="L-534"><a href="#L-534"><span class="linenos" data-line="534"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-empty-cell'</span><span class="p">)</span> </span><span id="L-535"><a href="#L-535"><span class="linenos" data-line="535"></span></a> <span class="kr">end</span> </span><span id="L-536"><a href="#L-536"><span class="linenos" data-line="536"></span></a> </span><span id="L-537"><a href="#L-537"><span class="linenos" data-line="537"></span></a> <span class="c1">-- Add the text.</span> </span><span id="L-538"><a href="#L-538"><span class="linenos" data-line="538"></span></a> <span class="kd">local</span> <span class="n">textCell</span> <span class="o">=</span> <span class="n">row</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-text'</span><span class="p">)</span> </span><span id="L-539"><a href="#L-539"><span class="linenos" data-line="539"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> <span class="kr">then</span> </span><span id="L-540"><a href="#L-540"><span class="linenos" data-line="540"></span></a> <span class="c1">-- The message box uses advanced text parameters that allow things to be</span> </span><span id="L-541"><a href="#L-541"><span class="linenos" data-line="541"></span></a> <span class="c1">-- collapsible. At the moment, only ambox uses this.</span> </span><span id="L-542"><a href="#L-542"><span class="linenos" data-line="542"></span></a> <span class="n">textCell</span><span class="p">:</span><span class="n">cssText</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">textstyle</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-543"><a href="#L-543"><span class="linenos" data-line="543"></span></a> <span class="kd">local</span> <span class="n">textCellDiv</span> <span class="o">=</span> <span class="n">textCell</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'div'</span><span class="p">)</span> </span><span id="L-544"><a href="#L-544"><span class="linenos" data-line="544"></span></a> <span class="n">textCellDiv</span> </span><span id="L-545"><a href="#L-545"><span class="linenos" data-line="545"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-text-span'</span><span class="p">)</span> </span><span id="L-546"><a href="#L-546"><span class="linenos" data-line="546"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">issue</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-547"><a href="#L-547"><span class="linenos" data-line="547"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">talk</span> <span class="ow">or</span> <span class="n">self</span><span class="p">.</span><span class="n">fix</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-548"><a href="#L-548"><span class="linenos" data-line="548"></span></a> <span class="n">textCellDiv</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'span'</span><span class="p">)</span> </span><span id="L-549"><a href="#L-549"><span class="linenos" data-line="549"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'hide-when-compact'</span><span class="p">)</span> </span><span id="L-550"><a href="#L-550"><span class="linenos" data-line="550"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">talk</span> <span class="ow">and</span> <span class="p">(</span><span class="s1">' '</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">talk</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-551"><a href="#L-551"><span class="linenos" data-line="551"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">fix</span> <span class="ow">and</span> <span class="p">(</span><span class="s1">' '</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">fix</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-552"><a href="#L-552"><span class="linenos" data-line="552"></span></a> <span class="kr">end</span> </span><span id="L-553"><a href="#L-553"><span class="linenos" data-line="553"></span></a> <span class="n">textCellDiv</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">date</span> <span class="ow">and</span> <span class="p">(</span><span class="s1">' '</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">date</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-554"><a href="#L-554"><span class="linenos" data-line="554"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">info</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="kr">then</span> </span><span id="L-555"><a href="#L-555"><span class="linenos" data-line="555"></span></a> <span class="n">textCellDiv</span> </span><span id="L-556"><a href="#L-556"><span class="linenos" data-line="556"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'span'</span><span class="p">)</span> </span><span id="L-557"><a href="#L-557"><span class="linenos" data-line="557"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'hide-when-compact'</span><span class="p">)</span> </span><span id="L-558"><a href="#L-558"><span class="linenos" data-line="558"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">info</span> <span class="ow">and</span> <span class="p">(</span><span class="s1">' '</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">info</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-559"><a href="#L-559"><span class="linenos" data-line="559"></span></a> <span class="kr">end</span> </span><span id="L-560"><a href="#L-560"><span class="linenos" data-line="560"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">removalNotice</span> <span class="kr">then</span> </span><span id="L-561"><a href="#L-561"><span class="linenos" data-line="561"></span></a> <span class="n">textCellDiv</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'span'</span><span class="p">)</span> </span><span id="L-562"><a href="#L-562"><span class="linenos" data-line="562"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'hide-when-compact'</span><span class="p">)</span> </span><span id="L-563"><a href="#L-563"><span class="linenos" data-line="563"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'i'</span><span class="p">)</span> </span><span id="L-564"><a href="#L-564"><span class="linenos" data-line="564"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="nb">string.format</span><span class="p">(</span><span class="s2">" (%s)"</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">removalNotice</span><span class="p">))</span> </span><span id="L-565"><a href="#L-565"><span class="linenos" data-line="565"></span></a> <span class="kr">end</span> </span><span id="L-566"><a href="#L-566"><span class="linenos" data-line="566"></span></a> <span class="kr">else</span> </span><span id="L-567"><a href="#L-567"><span class="linenos" data-line="567"></span></a> <span class="c1">-- Default text formatting - anything goes.</span> </span><span id="L-568"><a href="#L-568"><span class="linenos" data-line="568"></span></a> <span class="n">textCell</span> </span><span id="L-569"><a href="#L-569"><span class="linenos" data-line="569"></span></a> <span class="p">:</span><span class="n">cssText</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">textstyle</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-570"><a href="#L-570"><span class="linenos" data-line="570"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">text</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-571"><a href="#L-571"><span class="linenos" data-line="571"></span></a> <span class="kr">end</span> </span><span id="L-572"><a href="#L-572"><span class="linenos" data-line="572"></span></a> </span><span id="L-573"><a href="#L-573"><span class="linenos" data-line="573"></span></a> <span class="c1">-- Add the right-hand image.</span> </span><span id="L-574"><a href="#L-574"><span class="linenos" data-line="574"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">imageRight</span> <span class="kr">then</span> </span><span id="L-575"><a href="#L-575"><span class="linenos" data-line="575"></span></a> <span class="kd">local</span> <span class="n">imageRightCell</span> <span class="o">=</span> <span class="n">row</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-imageright'</span><span class="p">)</span> </span><span id="L-576"><a href="#L-576"><span class="linenos" data-line="576"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">imageCellDiv</span> <span class="kr">then</span> </span><span id="L-577"><a href="#L-577"><span class="linenos" data-line="577"></span></a> <span class="c1">-- If we are using a div, redefine imageRightCell so that the image</span> </span><span id="L-578"><a href="#L-578"><span class="linenos" data-line="578"></span></a> <span class="c1">-- is inside it.</span> </span><span id="L-579"><a href="#L-579"><span class="linenos" data-line="579"></span></a> <span class="n">imageRightCell</span> <span class="o">=</span> <span class="n">imageRightCell</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'div'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-image-div'</span><span class="p">)</span> </span><span id="L-580"><a href="#L-580"><span class="linenos" data-line="580"></span></a> <span class="kr">end</span> </span><span id="L-581"><a href="#L-581"><span class="linenos" data-line="581"></span></a> <span class="n">imageRightCell</span> </span><span id="L-582"><a href="#L-582"><span class="linenos" data-line="582"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">imageRightClass</span><span class="p">)</span> </span><span id="L-583"><a href="#L-583"><span class="linenos" data-line="583"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">imageRight</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-584"><a href="#L-584"><span class="linenos" data-line="584"></span></a> <span class="kr">end</span> </span><span id="L-585"><a href="#L-585"><span class="linenos" data-line="585"></span></a> </span><span id="L-586"><a href="#L-586"><span class="linenos" data-line="586"></span></a> <span class="c1">-- Add the below row.</span> </span><span id="L-587"><a href="#L-587"><span class="linenos" data-line="587"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">below</span> <span class="kr">then</span> </span><span id="L-588"><a href="#L-588"><span class="linenos" data-line="588"></span></a> <span class="n">boxTable</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'tr'</span><span class="p">)</span> </span><span id="L-589"><a href="#L-589"><span class="linenos" data-line="589"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">)</span> </span><span id="L-590"><a href="#L-590"><span class="linenos" data-line="590"></span></a> <span class="p">:</span><span class="n">attr</span><span class="p">(</span><span class="s1">'colspan'</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">imageRight</span> <span class="ow">and</span> <span class="s1">'3'</span> <span class="ow">or</span> <span class="s1">'2'</span><span class="p">)</span> </span><span id="L-591"><a href="#L-591"><span class="linenos" data-line="591"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-text'</span><span class="p">)</span> </span><span id="L-592"><a href="#L-592"><span class="linenos" data-line="592"></span></a> <span class="p">:</span><span class="n">cssText</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">textstyle</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-593"><a href="#L-593"><span class="linenos" data-line="593"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">below</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-594"><a href="#L-594"><span class="linenos" data-line="594"></span></a> <span class="kr">end</span> </span><span id="L-595"><a href="#L-595"><span class="linenos" data-line="595"></span></a> </span><span id="L-596"><a href="#L-596"><span class="linenos" data-line="596"></span></a> <span class="c1">-- Add error message for invalid type parameters.</span> </span><span id="L-597"><a href="#L-597"><span class="linenos" data-line="597"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">invalidTypeError</span> <span class="kr">then</span> </span><span id="L-598"><a href="#L-598"><span class="linenos" data-line="598"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'div'</span><span class="p">)</span> </span><span id="L-599"><a href="#L-599"><span class="linenos" data-line="599"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-invalid-type'</span><span class="p">)</span> </span><span id="L-600"><a href="#L-600"><span class="linenos" data-line="600"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="nb">string.format</span><span class="p">(</span> </span><span id="L-601"><a href="#L-601"><span class="linenos" data-line="601"></span></a> <span class="s1">'This message box is using an invalid "type=%s" parameter and needs fixing.'</span><span class="p">,</span> </span><span id="L-602"><a href="#L-602"><span class="linenos" data-line="602"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">type</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-603"><a href="#L-603"><span class="linenos" data-line="603"></span></a> <span class="p">))</span> </span><span id="L-604"><a href="#L-604"><span class="linenos" data-line="604"></span></a> <span class="kr">end</span> </span><span id="L-605"><a href="#L-605"><span class="linenos" data-line="605"></span></a> </span><span id="L-606"><a href="#L-606"><span class="linenos" data-line="606"></span></a> <span class="c1">-- Add categories.</span> </span><span id="L-607"><a href="#L-607"><span class="linenos" data-line="607"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">:</span><span class="n">renderCategories</span><span class="p">()</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-608"><a href="#L-608"><span class="linenos" data-line="608"></span></a> </span><span id="L-609"><a href="#L-609"><span class="linenos" data-line="609"></span></a> <span class="kr">return</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">root</span><span class="p">)</span> </span><span id="L-610"><a href="#L-610"><span class="linenos" data-line="610"></span></a><span class="kr">end</span> </span><span id="L-611"><a href="#L-611"><span class="linenos" data-line="611"></span></a> </span><span id="L-612"><a href="#L-612"><span class="linenos" data-line="612"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-613"><a href="#L-613"><span class="linenos" data-line="613"></span></a><span class="c1">-- Exports</span> </span><span id="L-614"><a href="#L-614"><span class="linenos" data-line="614"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-615"><a href="#L-615"><span class="linenos" data-line="615"></span></a> </span><span id="L-616"><a href="#L-616"><span class="linenos" data-line="616"></span></a><span class="kd">local</span> <span class="n">p</span><span class="p">,</span> <span class="n">mt</span> <span class="o">=</span> <span class="p">{},</span> <span class="p">{}</span> </span><span id="L-617"><a href="#L-617"><span class="linenos" data-line="617"></span></a> </span><span id="L-618"><a href="#L-618"><span class="linenos" data-line="618"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_exportClasses</span><span class="p">()</span> </span><span id="L-619"><a href="#L-619"><span class="linenos" data-line="619"></span></a> <span class="c1">-- For testing.</span> </span><span id="L-620"><a href="#L-620"><span class="linenos" data-line="620"></span></a> <span class="kr">return</span> <span class="p">{</span> </span><span id="L-621"><a href="#L-621"><span class="linenos" data-line="621"></span></a> <span class="n">MessageBox</span> <span class="o">=</span> <span class="n">MessageBox</span> </span><span id="L-622"><a href="#L-622"><span class="linenos" data-line="622"></span></a> <span class="p">}</span> </span><span id="L-623"><a href="#L-623"><span class="linenos" data-line="623"></span></a><span class="kr">end</span> </span><span id="L-624"><a href="#L-624"><span class="linenos" data-line="624"></span></a> </span><span id="L-625"><a href="#L-625"><span class="linenos" data-line="625"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">main</span><span class="p">(</span><span class="n">boxType</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">cfgTables</span><span class="p">)</span> </span><span id="L-626"><a href="#L-626"><span class="linenos" data-line="626"></span></a> <span class="kd">local</span> <span class="n">box</span> <span class="o">=</span> <span class="n">MessageBox</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">boxType</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">cfgTables</span> <span class="ow">or</span> <span class="n">mw</span><span class="p">.</span><span class="n">loadData</span><span class="p">(</span><span class="n">CONFIG_MODULE</span><span class="p">))</span> </span><span id="L-627"><a href="#L-627"><span class="linenos" data-line="627"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">setParameters</span><span class="p">()</span> </span><span id="L-628"><a href="#L-628"><span class="linenos" data-line="628"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">setCategories</span><span class="p">()</span> </span><span id="L-629"><a href="#L-629"><span class="linenos" data-line="629"></span></a> <span class="kr">return</span> <span class="n">box</span><span class="p">:</span><span class="n">export</span><span class="p">()</span> </span><span id="L-630"><a href="#L-630"><span class="linenos" data-line="630"></span></a><span class="kr">end</span> </span><span id="L-631"><a href="#L-631"><span class="linenos" data-line="631"></span></a> </span><span id="L-632"><a href="#L-632"><span class="linenos" data-line="632"></span></a><span class="kr">function</span> <span class="nc">mt</span><span class="p">.</span><span class="nf">__index</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span> </span><span id="L-633"><a href="#L-633"><span class="linenos" data-line="633"></span></a> <span class="kr">return</span> <span class="kr">function</span> <span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-634"><a href="#L-634"><span class="linenos" data-line="634"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">getArgs</span> <span class="kr">then</span> </span><span id="L-635"><a href="#L-635"><span class="linenos" data-line="635"></span></a> <span class="n">getArgs</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">'Module:Arguments'</span><span class="p">).</span><span class="n">getArgs</span> </span><span id="L-636"><a href="#L-636"><span class="linenos" data-line="636"></span></a> <span class="kr">end</span> </span><span id="L-637"><a href="#L-637"><span class="linenos" data-line="637"></span></a> <span class="kr">return</span> <span class="n">t</span><span class="p">.</span><span class="n">main</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span><span class="n">trim</span> <span class="o">=</span> <span class="kc">false</span><span class="p">,</span> <span class="n">removeBlanks</span> <span class="o">=</span> <span class="kc">false</span><span class="p">}))</span> </span><span id="L-638"><a href="#L-638"><span class="linenos" data-line="638"></span></a> <span class="kr">end</span> </span><span id="L-639"><a href="#L-639"><span class="linenos" data-line="639"></span></a><span class="kr">end</span> </span><span id="L-640"><a href="#L-640"><span class="linenos" data-line="640"></span></a> </span><span id="L-641"><a href="#L-641"><span class="linenos" data-line="641"></span></a><span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">mt</span><span class="p">)</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐78fc6dc798‐nfzc8 Cached time: 20241121060457 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, vary‐page‐id] CPU time usage: 0.154 seconds Real time usage: 0.221 seconds Preprocessor visited node count: 613/1000000 Post‐expand include size: 35843/2097152 bytes Template argument size: 1267/2097152 bytes Highest expansion depth: 15/100 Expensive parser function count: 26/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 10390/5000000 bytes Lua time usage: 0.090/10.000 seconds Lua memory usage: 2224126/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 131.446 1 Module:Message_box/doc 100.00% 131.446 1 -total 31.11% 40.896 1 Template:Used_in_system 30.37% 39.920 1 Template:Uses_TemplateStyles 12.78% 16.798 1 Template:Lua 8.90% 11.693 1 Template:Module_rating 5.92% 7.780 2 Template:Sandbox_other 5.86% 7.702 1 Template:Module_other 5.09% 6.691 14 Template:Tl 4.47% 5.879 1 Template:Cascade-protected_template --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Module:Message_box&oldid=1248332152">https://en.wikipedia.org/w/index.php?title=Module:Message_box&oldid=1248332152</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Modules_subject_to_page_protection" title="Category:Modules subject to page protection">Modules subject to page protection</a></li><li><a href="/wiki/Category:Wikipedia_modules" title="Category:Wikipedia modules">Wikipedia modules</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Wikipedia_fully_protected_modules" title="Category:Wikipedia fully protected modules">Wikipedia fully protected modules</a></li><li><a href="/wiki/Category:Templates_using_TemplateStyles" title="Category:Templates using TemplateStyles">Templates using TemplateStyles</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 28 September 2024, at 23:04<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Module:Message_box&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-78fc6dc798-nfzc8","wgBackendResponseTime":399,"wgPageParseReport":{"limitreport":{"cputime":"0.154","walltime":"0.221","ppvisitednodes":{"value":613,"limit":1000000},"postexpandincludesize":{"value":35843,"limit":2097152},"templateargumentsize":{"value":1267,"limit":2097152},"expansiondepth":{"value":15,"limit":100},"expensivefunctioncount":{"value":26,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":10390,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 131.446 1 Module:Message_box/doc","100.00% 131.446 1 -total"," 31.11% 40.896 1 Template:Used_in_system"," 30.37% 39.920 1 Template:Uses_TemplateStyles"," 12.78% 16.798 1 Template:Lua"," 8.90% 11.693 1 Template:Module_rating"," 5.92% 7.780 2 Template:Sandbox_other"," 5.86% 7.702 1 Template:Module_other"," 5.09% 6.691 14 Template:Tl"," 4.47% 5.879 1 Template:Cascade-protected_template"]},"scribunto":{"limitreport-timeusage":{"value":"0.090","limit":"10.000"},"limitreport-memusage":{"value":2224126,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-78fc6dc798-nfzc8","timestamp":"20241121060457","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>