CINXE.COM
Module:String - MediaWiki
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled 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-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Module:String - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled 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-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);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":"f94cb69f-6c8f-4c93-b072-014a26e49f30","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:String","wgTitle":"String","wgCurRevisionId":4039256,"wgRevisionId":4039256,"wgArticleId":96939,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Pages using the JsonConfig extension","Modules subject to page protection","Languages pages","Modules for general use","Modules"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:String","wgRelevantArticleId":96939,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["autoconfirmed"],"wgRestrictionMove":["sysop"],"wgNoticeProject":"mediawiki", "wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q7253814","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};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.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","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.pt%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.4"> <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:site_name" content="MediaWiki"> <meta property="og:title" content="Module:String - MediaWiki"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.mediawiki.org/wiki/Module:String"> <link rel="apple-touch-icon" href="/static/apple-touch/mediawiki.png"> <link rel="icon" href="/static/favicon/mediawiki.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="MediaWiki (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.mediawiki.org/wiki/Module:String"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki 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_String rootpage-Module_String 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/MediaWiki" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-mw-download" class="mw-list-item"><a href="/wiki/Download"><span>Get MediaWiki</span></a></li><li id="n-mw-extensions" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Category:Extensions"><span>Get extensions</span></a></li><li id="n-blog-text" class="mw-list-item"><a href="https://techblog.wikimedia.org/"><span>Tech blog</span></a></li><li id="n-mw-contribute" class="mw-list-item"><a href="/wiki/Special:MyLanguage/How_to_contribute"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support" > <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>User help</span></a></li><li id="n-mw-faq" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:FAQ"><span>FAQ</span></a></li><li id="n-mw-manual" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:Contents"><span>Technical manual</span></a></li><li id="n-mw-supportdesk" class="mw-list-item"><a href="/wiki/Project:Support_desk"><span>Support desk</span></a></li><li id="n-mw-communication" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Communication"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development" > <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://developer.wikimedia.org/"><span>Developer portal</span></a></li><li id="n-svn-statistics" class="mw-list-item"><a href="/wiki/Development_statistics"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org" > <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Project:Help" title="About the project, what you can do, where to find things"><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 in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-mw-translate" class="mw-list-item"><a href="/wiki/Special:LanguageStats"><span>Translate content</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-mw-discussion" class="mw-list-item"><a href="/wiki/Project:Village_Pump"><span>Village pump</span></a></li><li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="/wiki/Project:Sandbox"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang" > <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <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:String" title="Амодуль:String – Abkhazian" lang="ab" hreflang="ab" data-title="Амодуль:String" data-language-autonym="Аԥсшәа" data-language-local-name="Abkhazian" class="interlanguage-link-target"><span>Аԥсшәа</span></a></li><li class="interlanguage-link interwiki-ace mw-list-item"><a href="https://ace.wikipedia.org/wiki/Modul:String" title="Modul:String – Acehnese" lang="ace" hreflang="ace" data-title="Modul:String" data-language-autonym="Acèh" data-language-local-name="Acehnese" class="interlanguage-link-target"><span>Acèh</span></a></li><li class="interlanguage-link interwiki-af mw-list-item"><a href="https://af.wikipedia.org/wiki/Module:String" title="Module:String – Afrikaans" lang="af" hreflang="af" data-title="Module:String" data-language-autonym="Afrikaans" data-language-local-name="Afrikaans" class="interlanguage-link-target"><span>Afrikaans</span></a></li><li class="interlanguage-link interwiki-als mw-list-item"><a href="https://als.wikipedia.org/wiki/Modul:Str" title="Modul:Str – Alemannic" lang="gsw" hreflang="gsw" data-title="Modul:Str" data-language-autonym="Alemannisch" data-language-local-name="Alemannic" class="interlanguage-link-target"><span>Alemannisch</span></a></li><li class="interlanguage-link interwiki-alt mw-list-item"><a href="https://alt.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Southern Altai" lang="alt" hreflang="alt" data-title="Модуль:String" data-language-autonym="Алтай тил" data-language-local-name="Southern Altai" class="interlanguage-link-target"><span>Алтай тил</span></a></li><li class="interlanguage-link interwiki-am mw-list-item"><a href="https://am.wikipedia.org/wiki/Module:String" title="Module:String – Amharic" lang="am" hreflang="am" data-title="Module:String" data-language-autonym="አማርኛ" data-language-local-name="Amharic" class="interlanguage-link-target"><span>አማርኛ</span></a></li><li class="interlanguage-link interwiki-ang mw-list-item"><a href="https://ang.wikipedia.org/wiki/Module:String" title="Module:String – Old English" lang="ang" hreflang="ang" data-title="Module:String" data-language-autonym="Ænglisc" data-language-local-name="Old English" class="interlanguage-link-target"><span>Ænglisc</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:String" title="وحدة:String – Arabic" lang="ar" hreflang="ar" data-title="وحدة:String" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</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:String" title="مودول:String – Moroccan Arabic" lang="ary" hreflang="ary" data-title="مودول:String" data-language-autonym="الدارجة" data-language-local-name="Moroccan Arabic" 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:String" title="وحدة:String – Egyptian Arabic" lang="arz" hreflang="arz" data-title="وحدة:String" data-language-autonym="مصرى" data-language-local-name="Egyptian Arabic" class="interlanguage-link-target"><span>مصرى</span></a></li><li class="interlanguage-link interwiki-as mw-list-item"><a href="https://as.wikipedia.org/wiki/Module:String" title="Module:String – Assamese" lang="as" hreflang="as" data-title="Module:String" data-language-autonym="অসমীয়া" data-language-local-name="Assamese" class="interlanguage-link-target"><span>অসমীয়া</span></a></li><li class="interlanguage-link interwiki-ast mw-list-item"><a href="https://ast.wikipedia.org/wiki/M%C3%B3dulu:String" title="Módulu:String – Asturian" lang="ast" hreflang="ast" data-title="Módulu:String" data-language-autonym="Asturianu" data-language-local-name="Asturian" class="interlanguage-link-target"><span>Asturianu</span></a></li><li class="interlanguage-link interwiki-atj mw-list-item"><a href="https://atj.wikipedia.org/wiki/Aitapihikewin:String" title="Aitapihikewin:String – Atikamekw" lang="atj" hreflang="atj" data-title="Aitapihikewin:String" data-language-autonym="Atikamekw" data-language-local-name="Atikamekw" class="interlanguage-link-target"><span>Atikamekw</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:String" title="Модуль:String – Avaric" lang="av" hreflang="av" data-title="Модуль:String" data-language-autonym="Авар" data-language-local-name="Avaric" class="interlanguage-link-target"><span>Авар</span></a></li><li class="interlanguage-link interwiki-avk mw-list-item"><a href="https://avk.wikipedia.org/wiki/Siba:String" title="Siba:String – Kotava" lang="avk" hreflang="avk" data-title="Siba:String" data-language-autonym="Kotava" data-language-local-name="Kotava" class="interlanguage-link-target"><span>Kotava</span></a></li><li class="interlanguage-link interwiki-awa mw-list-item"><a href="https://awa.wikipedia.org/wiki/%E0%A4%85%E0%A4%A8%E0%A5%81%E0%A4%96%E0%A4%82%E0%A4%A1:String" title="अनुखंड:String – Awadhi" lang="awa" hreflang="awa" data-title="अनुखंड:String" data-language-autonym="अवधी" data-language-local-name="Awadhi" class="interlanguage-link-target"><span>अवधी</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Modul:String" title="Modul:String – Azerbaijani" lang="az" hreflang="az" data-title="Modul:String" 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:String" title="ماژول:String – South Azerbaijani" lang="azb" hreflang="azb" data-title="ماژول:String" data-language-autonym="تۆرکجه" data-language-local-name="South Azerbaijani" class="interlanguage-link-target"><span>تۆرکجه</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:String" title="Модуль:String – Bashkir" lang="ba" hreflang="ba" data-title="Модуль:String" data-language-autonym="Башҡортса" data-language-local-name="Bashkir" 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:String" title="Modul:String – Balinese" lang="ban" hreflang="ban" data-title="Modul:String" 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-bar mw-list-item"><a href="https://bar.wikipedia.org/wiki/Modul:Str" title="Modul:Str – Bavarian" lang="bar" hreflang="bar" data-title="Modul:Str" data-language-autonym="Boarisch" data-language-local-name="Bavarian" class="interlanguage-link-target"><span>Boarisch</span></a></li><li class="interlanguage-link interwiki-bcl mw-list-item"><a href="https://bcl.wikipedia.org/wiki/Module:String" title="Module:String – Central Bikol" lang="bcl" hreflang="bcl" data-title="Module:String" 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-be mw-list-item"><a href="https://be.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Belarusian" lang="be" hreflang="be" data-title="Модуль:String" 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:String" title="Модуль:String – Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" data-title="Модуль:String" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Belarusian (Taraškievica orthography)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</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:String" title="Модул:String – Bulgarian" lang="bg" hreflang="bg" data-title="Модул:String" data-language-autonym="Български" data-language-local-name="Bulgarian" 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:String" title="Module:String – Bhojpuri" lang="bh" hreflang="bh" data-title="Module:String" data-language-autonym="भोजपुरी" data-language-local-name="Bhojpuri" class="interlanguage-link-target"><span>भोजपुरी</span></a></li><li class="interlanguage-link interwiki-bjn mw-list-item"><a href="https://bjn.wikipedia.org/wiki/Modul:String" title="Modul:String – Banjar" lang="bjn" hreflang="bjn" data-title="Modul:String" data-language-autonym="Banjar" data-language-local-name="Banjar" class="interlanguage-link-target"><span>Banjar</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:String" title="မော်ဂျူး:String – Pa'O" lang="blk" hreflang="blk" data-title="မော်ဂျူး:String" data-language-autonym="ပအိုဝ်ႏဘာႏသာႏ" data-language-local-name="Pa'O" class="interlanguage-link-target"><span>ပအိုဝ်ႏဘာႏသာႏ</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:String" title="মডিউল:String – Bangla" lang="bn" hreflang="bn" data-title="মডিউল:String" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</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:String" title="মডিউল:String – Bishnupriya" lang="bpy" hreflang="bpy" data-title="মডিউল:String" data-language-autonym="বিষ্ণুপ্রিয়া মণিপুরী" data-language-local-name="Bishnupriya" class="interlanguage-link-target"><span>বিষ্ণুপ্রিয়া মণিপুরী</span></a></li><li class="interlanguage-link interwiki-br mw-list-item"><a href="https://br.wikipedia.org/wiki/Modulenn:String" title="Modulenn:String – Breton" lang="br" hreflang="br" data-title="Modulenn:String" data-language-autonym="Brezhoneg" data-language-local-name="Breton" class="interlanguage-link-target"><span>Brezhoneg</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Modul:String" title="Modul:String – Bosnian" lang="bs" hreflang="bs" data-title="Modul:String" data-language-autonym="Bosanski" data-language-local-name="Bosnian" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-btm mw-list-item"><a href="https://btm.wikipedia.org/wiki/Modul:String" title="Modul:String – Batak Mandailing" lang="btm" hreflang="btm" data-title="Modul:String" data-language-autonym="Batak Mandailing" data-language-local-name="Batak Mandailing" class="interlanguage-link-target"><span>Batak Mandailing</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:String" title="Модуль:String – Russia Buriat" lang="bxr" hreflang="bxr" data-title="Модуль:String" 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:String" title="Mòdul:String – Catalan" lang="ca" hreflang="ca" data-title="Mòdul:String" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cbk-zam mw-list-item"><a href="https://cbk-zam.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Chavacano" lang="cbk" hreflang="cbk" data-title="Módulo:String" data-language-autonym="Chavacano de Zamboanga" data-language-local-name="Chavacano" class="interlanguage-link-target"><span>Chavacano de Zamboanga</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:String" title="模組:String – Mindong" lang="cdo" hreflang="cdo" data-title="模組:String" 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-ce mw-list-item"><a href="https://ce.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Chechen" lang="ce" hreflang="ce" data-title="Модуль:String" data-language-autonym="Нохчийн" data-language-local-name="Chechen" 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:String" title="Module:String – Cebuano" lang="ceb" hreflang="ceb" data-title="Module:String" data-language-autonym="Cebuano" data-language-local-name="Cebuano" class="interlanguage-link-target"><span>Cebuano</span></a></li><li class="interlanguage-link interwiki-ch mw-list-item"><a href="https://ch.wikipedia.org/wiki/Module:String" title="Module:String – Chamorro" lang="ch" hreflang="ch" data-title="Module:String" data-language-autonym="Chamoru" data-language-local-name="Chamorro" class="interlanguage-link-target"><span>Chamoru</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:String" title="مۆدیوول:String – Central Kurdish" lang="ckb" hreflang="ckb" data-title="مۆدیوول:String" data-language-autonym="کوردی" data-language-local-name="Central Kurdish" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-co mw-list-item"><a href="https://co.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Corsican" lang="co" hreflang="co" data-title="Modulo:String" data-language-autonym="Corsu" data-language-local-name="Corsican" class="interlanguage-link-target"><span>Corsu</span></a></li><li class="interlanguage-link interwiki-crh mw-list-item"><a href="https://crh.wikipedia.org/wiki/Modul:String" title="Modul:String – Crimean Tatar" lang="crh" hreflang="crh" data-title="Modul:String" data-language-autonym="Qırımtatarca" data-language-local-name="Crimean Tatar" class="interlanguage-link-target"><span>Qırımtatarca</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Modul:String" title="Modul:String – Czech" lang="cs" hreflang="cs" data-title="Modul:String" 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-cv mw-list-item"><a href="https://cv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Chuvash" lang="cv" hreflang="cv" data-title="Модуль:String" data-language-autonym="Чӑвашла" data-language-local-name="Chuvash" class="interlanguage-link-target"><span>Чӑвашла</span></a></li><li class="interlanguage-link interwiki-cy mw-list-item"><a href="https://cy.wikipedia.org/wiki/Modiwl:String" title="Modiwl:String – Welsh" lang="cy" hreflang="cy" data-title="Modiwl:String" 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:String" title="Modul:String – Danish" lang="da" hreflang="da" data-title="Modul:String" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-dag mw-list-item"><a href="https://dag.wikipedia.org/wiki/Module:String" title="Module:String – Dagbani" lang="dag" hreflang="dag" data-title="Module:String" data-language-autonym="Dagbanli" data-language-local-name="Dagbani" class="interlanguage-link-target"><span>Dagbanli</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Modul:Str" title="Modul:Str – German" lang="de" hreflang="de" data-title="Modul:Str" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</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:String" title="Mukääcëtök:String – Dinka" lang="din" hreflang="din" data-title="Mukääcëtök:String" 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-diq mw-list-item"><a href="https://diq.wikipedia.org/wiki/Modul:String" title="Modul:String – Zazaki" lang="diq" hreflang="diq" data-title="Modul:String" data-language-autonym="Zazaki" data-language-local-name="Zazaki" class="interlanguage-link-target"><span>Zazaki</span></a></li><li class="interlanguage-link interwiki-dsb mw-list-item"><a href="https://dsb.wikipedia.org/wiki/Modul:String" title="Modul:String – Lower Sorbian" lang="dsb" hreflang="dsb" data-title="Modul:String" data-language-autonym="Dolnoserbski" data-language-local-name="Lower Sorbian" class="interlanguage-link-target"><span>Dolnoserbski</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:String" title="मोड्युल:String – Doteli" lang="dty" hreflang="dty" data-title="मोड्युल:String" data-language-autonym="डोटेली" data-language-local-name="Doteli" 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:String" title="މޮޑިއުލް:String – Divehi" lang="dv" hreflang="dv" data-title="މޮޑިއުލް:String" data-language-autonym="ދިވެހިބަސް" data-language-local-name="Divehi" class="interlanguage-link-target"><span>ދިވެހިބަސް</span></a></li><li class="interlanguage-link interwiki-ee mw-list-item"><a href="https://ee.wikipedia.org/wiki/Module:String" title="Module:String – Ewe" lang="ee" hreflang="ee" data-title="Module:String" data-language-autonym="Eʋegbe" data-language-local-name="Ewe" class="interlanguage-link-target"><span>Eʋegbe</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/Module:String" title="Module:String – Greek" lang="el" hreflang="el" data-title="Module:String" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-eml mw-list-item"><a href="https://eml.wikipedia.org/wiki/M%C3%B2dul:String" title="Mòdul:String – Emiliano-Romagnolo" lang="egl" hreflang="egl" data-title="Mòdul:String" data-language-autonym="Emiliàn e rumagnòl" data-language-local-name="Emiliano-Romagnolo" class="interlanguage-link-target"><span>Emiliàn e rumagnòl</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Module:String" title="Module:String – English" lang="en" hreflang="en" data-title="Module:String" data-language-autonym="English" data-language-local-name="English" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Esperanto" lang="eo" hreflang="eo" data-title="Modulo:String" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Spanish" lang="es" hreflang="es" data-title="Módulo:String" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Moodul:String" title="Moodul:String – Estonian" lang="et" hreflang="et" data-title="Moodul:String" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Modulu:String" title="Modulu:String – Basque" lang="eu" hreflang="eu" data-title="Modulu:String" 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:String" title="پودمان:String – Persian" lang="fa" hreflang="fa" data-title="پودمان:String" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fat mw-list-item"><a href="https://fat.wikipedia.org/wiki/Module:String" title="Module:String – Fanti" lang="fat" hreflang="fat" data-title="Module:String" data-language-autonym="Mfantse" data-language-local-name="Fanti" class="interlanguage-link-target"><span>Mfantse</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Moduuli:String" title="Moduuli:String – Finnish" lang="fi" hreflang="fi" data-title="Moduuli:String" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fj mw-list-item"><a href="https://fj.wikipedia.org/wiki/Module:String" title="Module:String – Fijian" lang="fj" hreflang="fj" data-title="Module:String" 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-fo mw-list-item"><a href="https://fo.wikipedia.org/wiki/Module:String" title="Module:String – Faroese" lang="fo" hreflang="fo" data-title="Module:String" 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:String" title="Module:String – French" lang="fr" hreflang="fr" data-title="Module:String" 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-frp mw-list-item"><a href="https://frp.wikipedia.org/wiki/Module:String" title="Module:String – Arpitan" lang="frp" hreflang="frp" data-title="Module:String" data-language-autonym="Arpetan" data-language-local-name="Arpitan" class="interlanguage-link-target"><span>Arpetan</span></a></li><li class="interlanguage-link interwiki-frr mw-list-item"><a href="https://frr.wikipedia.org/wiki/Modul:Str" title="Modul:Str – Northern Frisian" lang="frr" hreflang="frr" data-title="Modul:Str" data-language-autonym="Nordfriisk" data-language-local-name="Northern Frisian" class="interlanguage-link-target"><span>Nordfriisk</span></a></li><li class="interlanguage-link interwiki-fur mw-list-item"><a href="https://fur.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Friulian" lang="fur" hreflang="fur" data-title="Modulo:String" data-language-autonym="Furlan" data-language-local-name="Friulian" class="interlanguage-link-target"><span>Furlan</span></a></li><li class="interlanguage-link interwiki-fy mw-list-item"><a href="https://fy.wikipedia.org/wiki/Module:String" title="Module:String – Western Frisian" lang="fy" hreflang="fy" data-title="Module:String" data-language-autonym="Frysk" data-language-local-name="Western Frisian" class="interlanguage-link-target"><span>Frysk</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Module:String" title="Module:String – Irish" lang="ga" hreflang="ga" data-title="Module:String" data-language-autonym="Gaeilge" data-language-local-name="Irish" class="interlanguage-link-target"><span>Gaeilge</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:String" title="模組:String – Gan" lang="gan" hreflang="gan" data-title="模組:String" data-language-autonym="贛語" data-language-local-name="Gan" class="interlanguage-link-target"><span>贛語</span></a></li><li class="interlanguage-link interwiki-gd mw-list-item"><a href="https://gd.wikipedia.org/wiki/M%C3%B2ideal:String" title="Mòideal:String – Scottish Gaelic" lang="gd" hreflang="gd" data-title="Mòideal:String" 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:String" title="Módulo:String – Galician" lang="gl" hreflang="gl" data-title="Módulo:String" data-language-autonym="Galego" data-language-local-name="Galician" class="interlanguage-link-target"><span>Galego</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:String" title="ماجۊل:String – Gilaki" lang="glk" hreflang="glk" data-title="ماجۊل:String" data-language-autonym="گیلکی" data-language-local-name="Gilaki" class="interlanguage-link-target"><span>گیلکی</span></a></li><li class="interlanguage-link interwiki-gn mw-list-item"><a href="https://gn.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Guarani" lang="gn" hreflang="gn" data-title="Módulo:String" data-language-autonym="Avañe'ẽ" data-language-local-name="Guarani" class="interlanguage-link-target"><span>Avañe'ẽ</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:String" title="एकक:String – Goan Konkani" lang="gom" hreflang="gom" data-title="एकक:String" 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-gor mw-list-item"><a href="https://gor.wikipedia.org/wiki/Modul:String" title="Modul:String – Gorontalo" lang="gor" hreflang="gor" data-title="Modul:String" 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-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:String" title="વિભાગ:String – Gujarati" lang="gu" hreflang="gu" data-title="વિભાગ:String" data-language-autonym="ગુજરાતી" data-language-local-name="Gujarati" class="interlanguage-link-target"><span>ગુજરાતી</span></a></li><li class="interlanguage-link interwiki-guc mw-list-item"><a href="https://guc.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Wayuu" lang="guc" hreflang="guc" data-title="Módulo:String" data-language-autonym="Wayuunaiki" data-language-local-name="Wayuu" class="interlanguage-link-target"><span>Wayuunaiki</span></a></li><li class="interlanguage-link interwiki-ha mw-list-item"><a href="https://ha.wikipedia.org/wiki/Module:String" title="Module:String – Hausa" lang="ha" hreflang="ha" data-title="Module:String" data-language-autonym="Hausa" data-language-local-name="Hausa" class="interlanguage-link-target"><span>Hausa</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:String" title="模組:String – Hakka Chinese" lang="hak" hreflang="hak" data-title="模組:String" 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-haw mw-list-item"><a href="https://haw.wikipedia.org/wiki/Module:String" title="Module:String – Hawaiian" lang="haw" hreflang="haw" data-title="Module:String" 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-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:String" title="יחידה:String – Hebrew" lang="he" hreflang="he" data-title="יחידה:String" data-language-autonym="עברית" data-language-local-name="Hebrew" 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:String" title="मॉड्यूल:String – Hindi" lang="hi" hreflang="hi" data-title="मॉड्यूल:String" data-language-autonym="हिन्दी" data-language-local-name="Hindi" 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:String" title="Module:String – Fiji Hindi" lang="hif" hreflang="hif" data-title="Module:String" 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-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Modul:String" title="Modul:String – Croatian" lang="hr" hreflang="hr" data-title="Modul:String" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-hsb mw-list-item"><a href="https://hsb.wikipedia.org/wiki/Modul:String" title="Modul:String – Upper Sorbian" lang="hsb" hreflang="hsb" data-title="Modul:String" data-language-autonym="Hornjoserbsce" data-language-local-name="Upper Sorbian" class="interlanguage-link-target"><span>Hornjoserbsce</span></a></li><li class="interlanguage-link interwiki-ht mw-list-item"><a href="https://ht.wikipedia.org/wiki/Module:String" title="Module:String – Haitian Creole" lang="ht" hreflang="ht" data-title="Module:String" 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-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Modul:String" title="Modul:String – Hungarian" lang="hu" hreflang="hu" data-title="Modul:String" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</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:String" title="Մոդուլ:String – Armenian" lang="hy" hreflang="hy" data-title="Մոդուլ:String" data-language-autonym="Հայերեն" data-language-local-name="Armenian" 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:String" title="Մոդուլ:String – Western Armenian" lang="hyw" hreflang="hyw" data-title="Մոդուլ:String" data-language-autonym="Արեւմտահայերէն" data-language-local-name="Western Armenian" class="interlanguage-link-target"><span>Արեւմտահայերէն</span></a></li><li class="interlanguage-link interwiki-ia mw-list-item"><a href="https://ia.wikipedia.org/wiki/Module:String" title="Module:String – Interlingua" lang="ia" hreflang="ia" data-title="Module:String" data-language-autonym="Interlingua" data-language-local-name="Interlingua" class="interlanguage-link-target"><span>Interlingua</span></a></li><li class="interlanguage-link interwiki-iba mw-list-item"><a href="https://iba.wikipedia.org/wiki/Modul:String" title="Modul:String – Iban" lang="iba" hreflang="iba" data-title="Modul:String" 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-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Modul:String" title="Modul:String – Indonesian" lang="id" hreflang="id" data-title="Modul:String" 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-ig mw-list-item"><a href="https://ig.wikipedia.org/wiki/Module:String" title="Module:String – Igbo" lang="ig" hreflang="ig" data-title="Module:String" data-language-autonym="Igbo" data-language-local-name="Igbo" class="interlanguage-link-target"><span>Igbo</span></a></li><li class="interlanguage-link interwiki-ilo mw-list-item"><a href="https://ilo.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Iloko" lang="ilo" hreflang="ilo" data-title="Modulo:String" data-language-autonym="Ilokano" data-language-local-name="Iloko" class="interlanguage-link-target"><span>Ilokano</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:String" title="Модуль:String – Ingush" lang="inh" hreflang="inh" data-title="Модуль:String" data-language-autonym="ГӀалгӀай" data-language-local-name="Ingush" class="interlanguage-link-target"><span>ГӀалгӀай</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Ido" lang="io" hreflang="io" data-title="Modulo:String" data-language-autonym="Ido" data-language-local-name="Ido" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Module:Strengur" title="Module:Strengur – Icelandic" lang="is" hreflang="is" data-title="Module:Strengur" data-language-autonym="Íslenska" data-language-local-name="Icelandic" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Italian" lang="it" hreflang="it" data-title="Modulo:String" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</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:String" title="モジュール:String – Japanese" lang="ja" hreflang="ja" data-title="モジュール:String" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-jbo mw-list-item"><a href="https://jbo.wikipedia.org/wiki/Module:String" title="Module:String – Lojban" lang="jbo" hreflang="jbo" data-title="Module:String" data-language-autonym="La .lojban." data-language-local-name="Lojban" class="interlanguage-link-target"><span>La .lojban.</span></a></li><li class="interlanguage-link interwiki-jv mw-list-item"><a href="https://jv.wikipedia.org/wiki/Modhul:String" title="Modhul:String – Javanese" lang="jv" hreflang="jv" data-title="Modhul:String" data-language-autonym="Jawa" data-language-local-name="Javanese" class="interlanguage-link-target"><span>Jawa</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:String" title="მოდული:String – Georgian" lang="ka" hreflang="ka" data-title="მოდული:String" data-language-autonym="ქართული" data-language-local-name="Georgian" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-kab mw-list-item"><a href="https://kab.wikipedia.org/wiki/Module:String" title="Module:String – Kabyle" lang="kab" hreflang="kab" data-title="Module:String" data-language-autonym="Taqbaylit" data-language-local-name="Kabyle" class="interlanguage-link-target"><span>Taqbaylit</span></a></li><li class="interlanguage-link interwiki-kbd mw-list-item"><a href="https://kbd.wikipedia.org/wiki/Module:String" title="Module:String – Kabardian" lang="kbd" hreflang="kbd" data-title="Module:String" data-language-autonym="Адыгэбзэ" data-language-local-name="Kabardian" class="interlanguage-link-target"><span>Адыгэбзэ</span></a></li><li class="interlanguage-link interwiki-kg mw-list-item"><a href="https://kg.wikipedia.org/wiki/Module:String" title="Module:String – Kongo" lang="kg" hreflang="kg" data-title="Module:String" data-language-autonym="Kongo" data-language-local-name="Kongo" class="interlanguage-link-target"><span>Kongo</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/Module:String" title="Module:String – Kazakh" lang="kk" hreflang="kk" data-title="Module:String" data-language-autonym="Қазақша" data-language-local-name="Kazakh" 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:String" title="Module:String – Khmer" lang="km" hreflang="km" data-title="Module:String" data-language-autonym="ភាសាខ្មែរ" data-language-local-name="Khmer" class="interlanguage-link-target"><span>ភាសាខ្មែរ</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:String" title="ಮಾಡ್ಯೂಲ್:String – Kannada" lang="kn" hreflang="kn" data-title="ಮಾಡ್ಯೂಲ್:String" data-language-autonym="ಕನ್ನಡ" data-language-local-name="Kannada" class="interlanguage-link-target"><span>ಕನ್ನಡ</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:String" title="모듈:String – Korean" lang="ko" hreflang="ko" data-title="모듈:String" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-koi mw-list-item"><a href="https://koi.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Komi-Permyak" lang="koi" hreflang="koi" data-title="Модуль:String" data-language-autonym="Перем коми" data-language-local-name="Komi-Permyak" 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:String" title="ماڈیوٗل:String – Kashmiri" lang="ks" hreflang="ks" data-title="ماڈیوٗل:String" data-language-autonym="कॉशुर / کٲشُر" data-language-local-name="Kashmiri" class="interlanguage-link-target"><span>कॉशुर / کٲشُر</span></a></li><li class="interlanguage-link interwiki-ku mw-list-item"><a href="https://ku.wikipedia.org/wiki/Modul:String" title="Modul:String – Kurdish" lang="ku" hreflang="ku" data-title="Modul:String" data-language-autonym="Kurdî" data-language-local-name="Kurdish" class="interlanguage-link-target"><span>Kurdî</span></a></li><li class="interlanguage-link interwiki-kv mw-list-item"><a href="https://kv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Komi" lang="kv" hreflang="kv" data-title="Модуль:String" data-language-autonym="Коми" data-language-local-name="Komi" 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:String" title="Module:String – Cornish" lang="kw" hreflang="kw" data-title="Module:String" data-language-autonym="Kernowek" data-language-local-name="Cornish" class="interlanguage-link-target"><span>Kernowek</span></a></li><li class="interlanguage-link interwiki-ky mw-list-item"><a href="https://ky.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Kyrgyz" lang="ky" hreflang="ky" data-title="Модуль:String" data-language-autonym="Кыргызча" data-language-local-name="Kyrgyz" class="interlanguage-link-target"><span>Кыргызча</span></a></li><li class="interlanguage-link interwiki-la mw-list-item"><a href="https://la.wikipedia.org/wiki/Modulus:String" title="Modulus:String – Latin" lang="la" hreflang="la" data-title="Modulus:String" data-language-autonym="Latina" data-language-local-name="Latin" class="interlanguage-link-target"><span>Latina</span></a></li><li class="interlanguage-link interwiki-lad mw-list-item"><a href="https://lad.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Ladino" lang="lad" hreflang="lad" data-title="Módulo:String" data-language-autonym="Ladino" data-language-local-name="Ladino" class="interlanguage-link-target"><span>Ladino</span></a></li><li class="interlanguage-link interwiki-lb mw-list-item"><a href="https://lb.wikipedia.org/wiki/Modul:String" title="Modul:String – Luxembourgish" lang="lb" hreflang="lb" data-title="Modul:String" 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-lbe mw-list-item"><a href="https://lbe.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Lak" lang="lbe" hreflang="lbe" data-title="Модуль:String" data-language-autonym="Лакку" data-language-local-name="Lak" class="interlanguage-link-target"><span>Лакку</span></a></li><li class="interlanguage-link interwiki-lez mw-list-item"><a href="https://lez.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Lezghian" lang="lez" hreflang="lez" data-title="Модуль:String" data-language-autonym="Лезги" data-language-local-name="Lezghian" class="interlanguage-link-target"><span>Лезги</span></a></li><li class="interlanguage-link interwiki-lfn mw-list-item"><a href="https://lfn.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Lingua Franca Nova" lang="lfn" hreflang="lfn" data-title="Modulo:String" data-language-autonym="Lingua Franca Nova" data-language-local-name="Lingua Franca Nova" class="interlanguage-link-target"><span>Lingua Franca Nova</span></a></li><li class="interlanguage-link interwiki-lg mw-list-item"><a href="https://lg.wikipedia.org/wiki/Module:String" title="Module:String – Ganda" lang="lg" hreflang="lg" data-title="Module:String" data-language-autonym="Luganda" data-language-local-name="Ganda" class="interlanguage-link-target"><span>Luganda</span></a></li><li class="interlanguage-link interwiki-lij mw-list-item"><a href="https://lij.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Ligurian" lang="lij" hreflang="lij" data-title="Modulo:String" data-language-autonym="Ligure" data-language-local-name="Ligurian" class="interlanguage-link-target"><span>Ligure</span></a></li><li class="interlanguage-link interwiki-lld mw-list-item"><a href="https://lld.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Ladin" lang="lld" hreflang="lld" data-title="Modulo:String" data-language-autonym="Ladin" data-language-local-name="Ladin" class="interlanguage-link-target"><span>Ladin</span></a></li><li class="interlanguage-link interwiki-lmo mw-list-item"><a href="https://lmo.wikipedia.org/wiki/M%C3%B2dul:String" title="Mòdul:String – Lombard" lang="lmo" hreflang="lmo" data-title="Mòdul:String" data-language-autonym="Lombard" data-language-local-name="Lombard" class="interlanguage-link-target"><span>Lombard</span></a></li><li class="interlanguage-link interwiki-ln mw-list-item"><a href="https://ln.wikipedia.org/wiki/Module:String" title="Module:String – Lingala" lang="ln" hreflang="ln" data-title="Module:String" data-language-autonym="Lingála" data-language-local-name="Lingala" class="interlanguage-link-target"><span>Lingála</span></a></li><li class="interlanguage-link interwiki-lo mw-list-item"><a href="https://lo.wikipedia.org/wiki/Module:String" title="Module:String – Lao" lang="lo" hreflang="lo" data-title="Module:String" data-language-autonym="ລາວ" data-language-local-name="Lao" class="interlanguage-link-target"><span>ລາວ</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Module:String" title="Module:String – Lithuanian" lang="lt" hreflang="lt" data-title="Module:String" data-language-autonym="Lietuvių" data-language-local-name="Lithuanian" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-ltg mw-list-item"><a href="https://ltg.wikipedia.org/wiki/Modulis:String" title="Modulis:String – Latgalian" lang="ltg" hreflang="ltg" data-title="Modulis:String" 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:String" title="Modulis:String – Latvian" lang="lv" hreflang="lv" data-title="Modulis:String" 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-mad mw-list-item"><a href="https://mad.wikipedia.org/wiki/Modul:String" title="Modul:String – Madurese" lang="mad" hreflang="mad" data-title="Modul:String" 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:String" title="मोड्युल:String – Maithili" lang="mai" hreflang="mai" data-title="मोड्युल:String" data-language-autonym="मैथिली" data-language-local-name="Maithili" class="interlanguage-link-target"><span>मैथिली</span></a></li><li class="interlanguage-link interwiki-map-bms mw-list-item"><a href="https://map-bms.wikipedia.org/wiki/Modhul:String" title="Modhul:String – Banyumasan" lang="jv-x-bms" hreflang="jv-x-bms" data-title="Modhul:String" data-language-autonym="Basa Banyumasan" data-language-local-name="Banyumasan" class="interlanguage-link-target"><span>Basa Banyumasan</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:String" title="Модуль:String – Moksha" lang="mdf" hreflang="mdf" data-title="Модуль:String" data-language-autonym="Мокшень" data-language-local-name="Moksha" 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:String" title="Module:String – Malagasy" lang="mg" hreflang="mg" data-title="Module:String" data-language-autonym="Malagasy" data-language-local-name="Malagasy" class="interlanguage-link-target"><span>Malagasy</span></a></li><li class="interlanguage-link interwiki-mhr mw-list-item"><a href="https://mhr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Eastern Mari" lang="mhr" hreflang="mhr" data-title="Модуль:String" data-language-autonym="Олык марий" data-language-local-name="Eastern Mari" 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:String" title="Module:String – Māori" lang="mi" hreflang="mi" data-title="Module:String" 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-min mw-list-item"><a href="https://min.wikipedia.org/wiki/Modul:String" title="Modul:String – Minangkabau" lang="min" hreflang="min" data-title="Modul:String" data-language-autonym="Minangkabau" data-language-local-name="Minangkabau" class="interlanguage-link-target"><span>Minangkabau</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:String" title="Модул:String – Macedonian" lang="mk" hreflang="mk" data-title="Модул:String" data-language-autonym="Македонски" data-language-local-name="Macedonian" class="interlanguage-link-target"><span>Македонски</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:String" title="ഘടകം:String – Malayalam" lang="ml" hreflang="ml" data-title="ഘടകം:String" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" 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:String" title="Module:String – Mongolian" lang="mn" hreflang="mn" data-title="Module:String" data-language-autonym="Монгол" data-language-local-name="Mongolian" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-mni mw-list-item"><a href="https://mni.wikipedia.org/wiki/Module:String" title="Module:String – Manipuri" lang="mni" hreflang="mni" data-title="Module:String" data-language-autonym="ꯃꯤꯇꯩ ꯂꯣꯟ" data-language-local-name="Manipuri" 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:String" title="မဝ်ဂျူ:String – Mon" lang="mnw" hreflang="mnw" data-title="မဝ်ဂျူ:String" data-language-autonym="ဘာသာမန်" data-language-local-name="Mon" class="interlanguage-link-target"><span>ဘာသာမန်</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:String" title="विभाग:String – Marathi" lang="mr" hreflang="mr" data-title="विभाग:String" data-language-autonym="मराठी" data-language-local-name="Marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-mrj mw-list-item"><a href="https://mrj.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Western Mari" lang="mrj" hreflang="mrj" data-title="Модуль:String" data-language-autonym="Кырык мары" data-language-local-name="Western Mari" 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:String" title="Modul:String – Malay" lang="ms" hreflang="ms" data-title="Modul:String" 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-mt mw-list-item"><a href="https://mt.wikipedia.org/wiki/Module:String" title="Module:String – Maltese" lang="mt" hreflang="mt" data-title="Module:String" data-language-autonym="Malti" data-language-local-name="Maltese" class="interlanguage-link-target"><span>Malti</span></a></li><li class="interlanguage-link interwiki-mwl mw-list-item"><a href="https://mwl.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Mirandese" lang="mwl" hreflang="mwl" data-title="Módulo:String" 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-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:String" title="မော်ဂျူး:String – Burmese" lang="my" hreflang="my" data-title="မော်ဂျူး:String" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="Burmese" 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:String" title="Модуль:String – Erzya" lang="myv" hreflang="myv" data-title="Модуль:String" data-language-autonym="Эрзянь" data-language-local-name="Erzya" 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:String" title="ماژول:String – Mazanderani" lang="mzn" hreflang="mzn" data-title="ماژول:String" data-language-autonym="مازِرونی" data-language-local-name="Mazanderani" 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:String" title="Módulo:String – Nahuatl" lang="nah" hreflang="nah" data-title="Módulo:String" 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-nap mw-list-item"><a href="https://nap.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Neapolitan" lang="nap" hreflang="nap" data-title="Modulo:String" data-language-autonym="Napulitano" data-language-local-name="Neapolitan" class="interlanguage-link-target"><span>Napulitano</span></a></li><li class="interlanguage-link interwiki-nds-nl mw-list-item"><a href="https://nds-nl.wikipedia.org/wiki/Module:String" title="Module:String – Low Saxon" lang="nds-NL" hreflang="nds-NL" data-title="Module:String" 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:String" title="मोड्युल:String – Nepali" lang="ne" hreflang="ne" data-title="मोड्युल:String" data-language-autonym="नेपाली" data-language-local-name="Nepali" class="interlanguage-link-target"><span>नेपाली</span></a></li><li class="interlanguage-link interwiki-nia mw-list-item"><a href="https://nia.wikipedia.org/wiki/Modul:String" title="Modul:String – Nias" lang="nia" hreflang="nia" data-title="Modul:String" data-language-autonym="Li Niha" data-language-local-name="Nias" class="interlanguage-link-target"><span>Li Niha</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Module:String" title="Module:String – Dutch" lang="nl" hreflang="nl" data-title="Module:String" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Modul:String" title="Modul:String – Norwegian Nynorsk" lang="nn" hreflang="nn" data-title="Modul:String" 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-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Modul:String" title="Modul:String – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Modul:String" 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-nov mw-list-item"><a href="https://nov.wikipedia.org/wiki/Module:String" title="Module:String – Novial" lang="nov" hreflang="nov" data-title="Module:String" data-language-autonym="Novial" data-language-local-name="Novial" class="interlanguage-link-target"><span>Novial</span></a></li><li class="interlanguage-link interwiki-nso mw-list-item"><a href="https://nso.wikipedia.org/wiki/Module:String" title="Module:String – Northern Sotho" lang="nso" hreflang="nso" data-title="Module:String" data-language-autonym="Sesotho sa Leboa" data-language-local-name="Northern Sotho" class="interlanguage-link-target"><span>Sesotho sa Leboa</span></a></li><li class="interlanguage-link interwiki-ny mw-list-item"><a href="https://ny.wikipedia.org/wiki/Module:String" title="Module:String – Nyanja" lang="ny" hreflang="ny" data-title="Module:String" data-language-autonym="Chi-Chewa" data-language-local-name="Nyanja" class="interlanguage-link-target"><span>Chi-Chewa</span></a></li><li class="interlanguage-link interwiki-oc mw-list-item"><a href="https://oc.wikipedia.org/wiki/M%C3%B2dul:String" title="Mòdul:String – Occitan" lang="oc" hreflang="oc" data-title="Mòdul:String" data-language-autonym="Occitan" data-language-local-name="Occitan" class="interlanguage-link-target"><span>Occitan</span></a></li><li class="interlanguage-link interwiki-olo mw-list-item"><a href="https://olo.wikipedia.org/wiki/Moduuli:String" title="Moduuli:String – Livvi-Karelian" lang="olo" hreflang="olo" data-title="Moduuli:String" data-language-autonym="Livvinkarjala" data-language-local-name="Livvi-Karelian" class="interlanguage-link-target"><span>Livvinkarjala</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:String" title="ମଡ୍ୟୁଲ:String – Odia" lang="or" hreflang="or" data-title="ମଡ୍ୟୁଲ:String" data-language-autonym="ଓଡ଼ିଆ" data-language-local-name="Odia" class="interlanguage-link-target"><span>ଓଡ଼ିଆ</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:String" title="Модуль:String – Ossetic" lang="os" hreflang="os" data-title="Модуль:String" data-language-autonym="Ирон" data-language-local-name="Ossetic" class="interlanguage-link-target"><span>Ирон</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:String" title="ਮੌਡਿਊਲ:String – Punjabi" lang="pa" hreflang="pa" data-title="ਮੌਡਿਊਲ:String" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Punjabi" 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:String" title="Module:String – Pangasinan" lang="pag" hreflang="pag" data-title="Module:String" data-language-autonym="Pangasinan" data-language-local-name="Pangasinan" class="interlanguage-link-target"><span>Pangasinan</span></a></li><li class="interlanguage-link interwiki-pam mw-list-item"><a href="https://pam.wikipedia.org/wiki/Module:String" title="Module:String – Pampanga" lang="pam" hreflang="pam" data-title="Module:String" data-language-autonym="Kapampangan" data-language-local-name="Pampanga" class="interlanguage-link-target"><span>Kapampangan</span></a></li><li class="interlanguage-link interwiki-pap mw-list-item"><a href="https://pap.wikipedia.org/wiki/Module:String" title="Module:String – Papiamento" lang="pap" hreflang="pap" data-title="Module:String" data-language-autonym="Papiamentu" data-language-local-name="Papiamento" class="interlanguage-link-target"><span>Papiamentu</span></a></li><li class="interlanguage-link interwiki-pcd mw-list-item"><a href="https://pcd.wikipedia.org/wiki/Module:String" title="Module:String – Picard" lang="pcd" hreflang="pcd" data-title="Module:String" data-language-autonym="Picard" data-language-local-name="Picard" class="interlanguage-link-target"><span>Picard</span></a></li><li class="interlanguage-link interwiki-pi mw-list-item"><a href="https://pi.wikipedia.org/wiki/Module:String" title="Module:String – Pali" lang="pi" hreflang="pi" data-title="Module:String" data-language-autonym="पालि" data-language-local-name="Pali" class="interlanguage-link-target"><span>पालि</span></a></li><li class="interlanguage-link interwiki-pih mw-list-item"><a href="https://pih.wikipedia.org/wiki/Module:String" title="Module:String – Norfuk / Pitkern" lang="pih" hreflang="pih" data-title="Module:String" 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-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Modu%C5%82:String" title="Moduł:String – Polish" lang="pl" hreflang="pl" data-title="Moduł:String" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pms mw-list-item"><a href="https://pms.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Piedmontese" lang="pms" hreflang="pms" data-title="Modulo:String" data-language-autonym="Piemontèis" data-language-local-name="Piedmontese" class="interlanguage-link-target"><span>Piemontèis</span></a></li><li class="interlanguage-link interwiki-pnb mw-list-item"><a href="https://pnb.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:String" title="ماڈیول:String – Western Punjabi" lang="pnb" hreflang="pnb" data-title="ماڈیول:String" data-language-autonym="پنجابی" data-language-local-name="Western Punjabi" 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:String" title="Module:String – Pashto" lang="ps" hreflang="ps" data-title="Module:String" data-language-autonym="پښتو" data-language-local-name="Pashto" 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:String" title="Módulo:String – Portuguese" lang="pt" hreflang="pt" data-title="Módulo:String" 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-qu mw-list-item"><a href="https://qu.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Quechua" lang="qu" hreflang="qu" data-title="Módulo:String" data-language-autonym="Runa Simi" data-language-local-name="Quechua" class="interlanguage-link-target"><span>Runa Simi</span></a></li><li class="interlanguage-link interwiki-rm mw-list-item"><a href="https://rm.wikipedia.org/wiki/Modul:Str" title="Modul:Str – Romansh" lang="rm" hreflang="rm" data-title="Modul:Str" data-language-autonym="Rumantsch" data-language-local-name="Romansh" class="interlanguage-link-target"><span>Rumantsch</span></a></li><li class="interlanguage-link interwiki-rn mw-list-item"><a href="https://rn.wikipedia.org/wiki/Module:String" title="Module:String – Rundi" lang="rn" hreflang="rn" data-title="Module:String" data-language-autonym="Ikirundi" data-language-local-name="Rundi" class="interlanguage-link-target"><span>Ikirundi</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Modul:String" title="Modul:String – Romanian" lang="ro" hreflang="ro" data-title="Modul:String" 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-roa-tara mw-list-item"><a href="https://roa-tara.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Tarantino" lang="nap-x-tara" hreflang="nap-x-tara" data-title="Modulo:String" data-language-autonym="Tarandíne" data-language-local-name="Tarantino" class="interlanguage-link-target"><span>Tarandíne</span></a></li><li class="interlanguage-link interwiki-rsk mw-list-item"><a href="https://rsk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:String" title="Модул:String – Pannonian Rusyn" lang="rsk" hreflang="rsk" data-title="Модул:String" data-language-autonym="Руски" data-language-local-name="Pannonian 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:String" title="Модуль:String – Russian" lang="ru" hreflang="ru" data-title="Модуль:String" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</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:String" title="Модуль:String – Rusyn" lang="rue" hreflang="rue" data-title="Модуль:String" data-language-autonym="Русиньскый" data-language-local-name="Rusyn" class="interlanguage-link-target"><span>Русиньскый</span></a></li><li class="interlanguage-link interwiki-rw mw-list-item"><a href="https://rw.wikipedia.org/wiki/Module:String" title="Module:String – Kinyarwanda" lang="rw" hreflang="rw" data-title="Module:String" data-language-autonym="Ikinyarwanda" data-language-local-name="Kinyarwanda" class="interlanguage-link-target"><span>Ikinyarwanda</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:String" title="पटलम्:String – Sanskrit" lang="sa" hreflang="sa" data-title="पटलम्:String" data-language-autonym="संस्कृतम्" data-language-local-name="Sanskrit" class="interlanguage-link-target"><span>संस्कृतम्</span></a></li><li class="interlanguage-link interwiki-sah mw-list-item"><a href="https://sah.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Yakut" lang="sah" hreflang="sah" data-title="Модуль:String" data-language-autonym="Саха тыла" data-language-local-name="Yakut" 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:String" title="ᱢᱳᱰᱩᱞ:String – Santali" lang="sat" hreflang="sat" data-title="ᱢᱳᱰᱩᱞ:String" data-language-autonym="ᱥᱟᱱᱛᱟᱲᱤ" data-language-local-name="Santali" class="interlanguage-link-target"><span>ᱥᱟᱱᱛᱟᱲᱤ</span></a></li><li class="interlanguage-link interwiki-sc mw-list-item"><a href="https://sc.wikipedia.org/wiki/Module:String" title="Module:String – Sardinian" lang="sc" hreflang="sc" data-title="Module:String" data-language-autonym="Sardu" data-language-local-name="Sardinian" class="interlanguage-link-target"><span>Sardu</span></a></li><li class="interlanguage-link interwiki-scn mw-list-item"><a href="https://scn.wikipedia.org/wiki/M%C3%B2dulu:String" title="Mòdulu:String – Sicilian" lang="scn" hreflang="scn" data-title="Mòdulu:String" data-language-autonym="Sicilianu" data-language-local-name="Sicilian" class="interlanguage-link-target"><span>Sicilianu</span></a></li><li class="interlanguage-link interwiki-sco mw-list-item"><a href="https://sco.wikipedia.org/wiki/Module:String" title="Module:String – Scots" lang="sco" hreflang="sco" data-title="Module:String" data-language-autonym="Scots" data-language-local-name="Scots" class="interlanguage-link-target"><span>Scots</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:String" title="ماڊيول:String – Sindhi" lang="sd" hreflang="sd" data-title="ماڊيول:String" data-language-autonym="سنڌي" data-language-local-name="Sindhi" class="interlanguage-link-target"><span>سنڌي</span></a></li><li class="interlanguage-link interwiki-se mw-list-item"><a href="https://se.wikipedia.org/wiki/Modula:String" title="Modula:String – Northern Sami" lang="se" hreflang="se" data-title="Modula:String" data-language-autonym="Davvisámegiella" data-language-local-name="Northern Sami" class="interlanguage-link-target"><span>Davvisámegiella</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Modul:String" title="Modul:String – Serbo-Croatian" lang="sh" hreflang="sh" data-title="Modul:String" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="Serbo-Croatian" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-shi mw-list-item"><a href="https://shi.wikipedia.org/wiki/Module:String" title="Module:String – Tachelhit" lang="shi" hreflang="shi" data-title="Module:String" data-language-autonym="Taclḥit" data-language-local-name="Tachelhit" class="interlanguage-link-target"><span>Taclḥit</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:String" title="မေႃႇၵျူး:String – Shan" lang="shn" hreflang="shn" data-title="မေႃႇၵျူး:String" data-language-autonym="ၽႃႇသႃႇတႆး " data-language-local-name="Shan" class="interlanguage-link-target"><span>ၽႃႇသႃႇတႆး </span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/Module:String" title="Module:String – Sinhala" lang="si" hreflang="si" data-title="Module:String" 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:String" title="Module:String – Simple English" lang="en-simple" hreflang="en-simple" data-title="Module:String" 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-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Modul:String" title="Modul:String – Slovak" lang="sk" hreflang="sk" data-title="Modul:String" data-language-autonym="Slovenčina" data-language-local-name="Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-skr mw-list-item"><a href="https://skr.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:String" title="ماڈیول:String – Saraiki" lang="skr" hreflang="skr" data-title="ماڈیول:String" data-language-autonym="سرائیکی" data-language-local-name="Saraiki" 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:Niz" title="Modul:Niz – Slovenian" lang="sl" hreflang="sl" data-title="Modul:Niz" 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-sm mw-list-item"><a href="https://sm.wikipedia.org/wiki/Module:String" title="Module:String – Samoan" lang="sm" hreflang="sm" data-title="Module:String" data-language-autonym="Gagana Samoa" data-language-local-name="Samoan" class="interlanguage-link-target"><span>Gagana Samoa</span></a></li><li class="interlanguage-link interwiki-smn mw-list-item"><a href="https://smn.wikipedia.org/wiki/Mooduul:String" title="Mooduul:String – Inari Sami" lang="smn" hreflang="smn" data-title="Mooduul:String" 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-sn mw-list-item"><a href="https://sn.wikipedia.org/wiki/Module:String" title="Module:String – Shona" lang="sn" hreflang="sn" data-title="Module:String" data-language-autonym="ChiShona" data-language-local-name="Shona" class="interlanguage-link-target"><span>ChiShona</span></a></li><li class="interlanguage-link interwiki-so mw-list-item"><a href="https://so.wikipedia.org/wiki/Module:String" title="Module:String – Somali" lang="so" hreflang="so" data-title="Module:String" data-language-autonym="Soomaaliga" data-language-local-name="Somali" class="interlanguage-link-target"><span>Soomaaliga</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Moduli:String" title="Moduli:String – Albanian" lang="sq" hreflang="sq" data-title="Moduli:String" data-language-autonym="Shqip" data-language-local-name="Albanian" class="interlanguage-link-target"><span>Shqip</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:String" title="Модул:String – Serbian" lang="sr" hreflang="sr" data-title="Модул:String" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-ss mw-list-item"><a href="https://ss.wikipedia.org/wiki/Module:String" title="Module:String – Swati" lang="ss" hreflang="ss" data-title="Module:String" data-language-autonym="SiSwati" data-language-local-name="Swati" class="interlanguage-link-target"><span>SiSwati</span></a></li><li class="interlanguage-link interwiki-su mw-list-item"><a href="https://su.wikipedia.org/wiki/Modul:String" title="Modul:String – Sundanese" lang="su" hreflang="su" data-title="Modul:String" data-language-autonym="Sunda" data-language-local-name="Sundanese" class="interlanguage-link-target"><span>Sunda</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Modul:String" title="Modul:String – Swedish" lang="sv" hreflang="sv" data-title="Modul:String" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-sw mw-list-item"><a href="https://sw.wikipedia.org/wiki/Module:String" title="Module:String – Swahili" lang="sw" hreflang="sw" data-title="Module:String" data-language-autonym="Kiswahili" data-language-local-name="Swahili" class="interlanguage-link-target"><span>Kiswahili</span></a></li><li class="interlanguage-link interwiki-szl mw-list-item"><a href="https://szl.wikipedia.org/wiki/Modu%C5%82:String" title="Moduł:String – Silesian" lang="szl" hreflang="szl" data-title="Moduł:String" data-language-autonym="Ślůnski" data-language-local-name="Silesian" class="interlanguage-link-target"><span>Ślůnski</span></a></li><li class="interlanguage-link interwiki-szy mw-list-item"><a href="https://szy.wikipedia.org/wiki/bacu-saupu:String" title="bacu-saupu:String – Sakizaya" lang="szy" hreflang="szy" data-title="bacu-saupu:String" data-language-autonym="Sakizaya" data-language-local-name="Sakizaya" class="interlanguage-link-target"><span>Sakizaya</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/Module:String" title="Module:String – Tamil" lang="ta" hreflang="ta" data-title="Module:String" data-language-autonym="தமிழ்" data-language-local-name="Tamil" 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:String" title="ಮೋಡ್ಯೂಲ್:String – Tulu" lang="tcy" hreflang="tcy" data-title="ಮೋಡ್ಯೂಲ್:String" data-language-autonym="ತುಳು" data-language-local-name="Tulu" class="interlanguage-link-target"><span>ತುಳು</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:String" title="ᥛᥨᥝᥱ ᥓᥧᥰ:String – Tai Nuea" lang="tdd" hreflang="tdd" data-title="ᥛᥨᥝᥱ ᥓᥧᥰ:String" data-language-autonym="ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ" data-language-local-name="Tai Nuea" 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:String" title="మాడ్యూల్:String – Telugu" lang="te" hreflang="te" data-title="మాడ్యూల్:String" data-language-autonym="తెలుగు" data-language-local-name="Telugu" 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:String" title="Модул:String – Tajik" lang="tg" hreflang="tg" data-title="Модул:String" data-language-autonym="Тоҷикӣ" data-language-local-name="Tajik" class="interlanguage-link-target"><span>Тоҷикӣ</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:String" title="มอดูล:String – Thai" lang="th" hreflang="th" data-title="มอดูล:String" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</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:String" title="ሞድዩል:String – Tigrinya" lang="ti" hreflang="ti" data-title="ሞድዩል:String" data-language-autonym="ትግርኛ" data-language-local-name="Tigrinya" class="interlanguage-link-target"><span>ትግርኛ</span></a></li><li class="interlanguage-link interwiki-tk mw-list-item"><a href="https://tk.wikipedia.org/wiki/Module:String" title="Module:String – Turkmen" lang="tk" hreflang="tk" data-title="Module:String" 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-tl mw-list-item"><a href="https://tl.wikipedia.org/wiki/Module:String" title="Module:String – Tagalog" lang="tl" hreflang="tl" data-title="Module:String" data-language-autonym="Tagalog" data-language-local-name="Tagalog" class="interlanguage-link-target"><span>Tagalog</span></a></li><li class="interlanguage-link interwiki-tn mw-list-item"><a href="https://tn.wikipedia.org/wiki/Module:String" title="Module:String – Tswana" lang="tn" hreflang="tn" data-title="Module:String" data-language-autonym="Setswana" data-language-local-name="Tswana" class="interlanguage-link-target"><span>Setswana</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Mod%C3%BCl:Dizgi" title="Modül:Dizgi – Turkish" lang="tr" hreflang="tr" data-title="Modül:Dizgi" 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-ts mw-list-item"><a href="https://ts.wikipedia.org/wiki/Module:String" title="Module:String – Tsonga" lang="ts" hreflang="ts" data-title="Module:String" data-language-autonym="Xitsonga" data-language-local-name="Tsonga" class="interlanguage-link-target"><span>Xitsonga</span></a></li><li class="interlanguage-link interwiki-tt mw-list-item"><a href="https://tt.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tatar" lang="tt" hreflang="tt" data-title="Модуль:String" data-language-autonym="Татарча / tatarça" data-language-local-name="Tatar" class="interlanguage-link-target"><span>Татарча / tatarça</span></a></li><li class="interlanguage-link interwiki-tum mw-list-item"><a href="https://tum.wikipedia.org/wiki/Module:String" title="Module:String – Tumbuka" lang="tum" hreflang="tum" data-title="Module:String" data-language-autonym="ChiTumbuka" data-language-local-name="Tumbuka" class="interlanguage-link-target"><span>ChiTumbuka</span></a></li><li class="interlanguage-link interwiki-tyv mw-list-item"><a href="https://tyv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tuvinian" lang="tyv" hreflang="tyv" data-title="Модуль:String" data-language-autonym="Тыва дыл" data-language-local-name="Tuvinian" class="interlanguage-link-target"><span>Тыва дыл</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:String" title="Модуль:String – Udmurt" lang="udm" hreflang="udm" data-title="Модуль:String" data-language-autonym="Удмурт" data-language-local-name="Udmurt" class="interlanguage-link-target"><span>Удмурт</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:String" title="Модуль:String – Ukrainian" lang="uk" hreflang="uk" data-title="Модуль:String" 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:String" title="ماڈیول:String – Urdu" lang="ur" hreflang="ur" data-title="ماڈیول:String" data-language-autonym="اردو" data-language-local-name="Urdu" 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:String" title="Modul:String – Uzbek" lang="uz" hreflang="uz" data-title="Modul:String" 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-ve mw-list-item"><a href="https://ve.wikipedia.org/wiki/Module:String" title="Module:String – Venda" lang="ve" hreflang="ve" data-title="Module:String" data-language-autonym="Tshivenda" data-language-local-name="Venda" class="interlanguage-link-target"><span>Tshivenda</span></a></li><li class="interlanguage-link interwiki-vec mw-list-item"><a href="https://vec.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Venetian" lang="vec" hreflang="vec" data-title="Modulo:String" 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-vep mw-list-item"><a href="https://vep.wikipedia.org/wiki/Moodul:String" title="Moodul:String – Veps" lang="vep" hreflang="vep" data-title="Moodul:String" data-language-autonym="Vepsän kel’" data-language-local-name="Veps" class="interlanguage-link-target"><span>Vepsän kel’</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/M%C3%B4_%C4%91un:String" title="Mô đun:String – Vietnamese" lang="vi" hreflang="vi" data-title="Mô đun:String" 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:String" title="Module:String – Volapük" lang="vo" hreflang="vo" data-title="Module:String" 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-war mw-list-item"><a href="https://war.wikipedia.org/wiki/Module:String" title="Module:String – Waray" lang="war" hreflang="war" data-title="Module:String" data-language-autonym="Winaray" data-language-local-name="Waray" class="interlanguage-link-target"><span>Winaray</span></a></li><li class="interlanguage-link interwiki-wo mw-list-item"><a href="https://wo.wikipedia.org/wiki/Module:String" title="Module:String – Wolof" lang="wo" hreflang="wo" data-title="Module:String" data-language-autonym="Wolof" data-language-local-name="Wolof" class="interlanguage-link-target"><span>Wolof</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:String" title="模块:String – Wu" lang="wuu" hreflang="wuu" data-title="模块:String" data-language-autonym="吴语" data-language-local-name="Wu" 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:String" title="Module:String – Xhosa" lang="xh" hreflang="xh" data-title="Module:String" data-language-autonym="IsiXhosa" data-language-local-name="Xhosa" class="interlanguage-link-target"><span>IsiXhosa</span></a></li><li class="interlanguage-link interwiki-xmf mw-list-item"><a href="https://xmf.wikipedia.org/wiki/%E1%83%9B%E1%83%9D%E1%83%93%E1%83%A3%E1%83%9A%E1%83%98:String" title="მოდული:String – Mingrelian" lang="xmf" hreflang="xmf" data-title="მოდული:String" data-language-autonym="მარგალური" data-language-local-name="Mingrelian" class="interlanguage-link-target"><span>მარგალური</span></a></li><li class="interlanguage-link interwiki-yi mw-list-item"><a href="https://yi.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:String" title="יחידה:String – Yiddish" lang="yi" hreflang="yi" data-title="יחידה:String" data-language-autonym="ייִדיש" data-language-local-name="Yiddish" 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:String" title="Module:String – Yoruba" lang="yo" hreflang="yo" data-title="Module:String" 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-za mw-list-item"><a href="https://za.wikipedia.org/wiki/%E6%A8%A1%E5%9D%97:String" title="模块:String – Zhuang" lang="za" hreflang="za" data-title="模块:String" data-language-autonym="Vahcuengh" data-language-local-name="Zhuang" class="interlanguage-link-target"><span>Vahcuengh</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Module:String" title="Module:String – Chinese" lang="zh" hreflang="zh" data-title="Module:String" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</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:String" title="模組:String – Literary Chinese" lang="lzh" hreflang="lzh" data-title="模組:String" data-language-autonym="文言" data-language-local-name="Literary Chinese" 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:String" title="模組:String – Minnan" lang="nan" hreflang="nan" data-title="模組:String" 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-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:String" title="模組:String – Cantonese" lang="yue" hreflang="yue" data-title="模組:String" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zu mw-list-item"><a href="https://zu.wikipedia.org/wiki/Module:String" title="Module:String – Zulu" lang="zu" hreflang="zu" data-title="Module:String" data-language-autonym="IsiZulu" data-language-local-name="Zulu" class="interlanguage-link-target"><span>IsiZulu</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/Q7253814#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/MediaWiki" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </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 MediaWiki [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 MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [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" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a> </li> </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/?utm_source=donate&utm_medium=sidebar&utm_campaign=spontaneous&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%3AString" 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%3AString" title="You are encouraged to log in; however, it is 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="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/?utm_source=donate&utm_medium=sidebar&utm_campaign=spontaneous&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%3AString" 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%3AString" title="You are encouraged to log in; however, it is 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">Beginning</div> </a> </li> <li id="toc-Global_options" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Global_options"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Global options</span> </div> </a> <ul id="toc-Global_options-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-len" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#len"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>len</span> </div> </a> <ul id="toc-len-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-sub" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#sub"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>sub</span> </div> </a> <ul id="toc-sub-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-match" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#match"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>match</span> </div> </a> <ul id="toc-match-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-pos" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#pos"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>pos</span> </div> </a> <ul id="toc-pos-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-find" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#find"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>find</span> </div> </a> <ul id="toc-find-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-replace" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#replace"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>replace</span> </div> </a> <ul id="toc-replace-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-rep" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#rep"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>rep</span> </div> </a> <ul id="toc-rep-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">String</span></h1> <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/Project:Protected_page" title="This high-risk module is permanently protected to prevent vandalism"><img alt="Permanently protected module" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Full-protection-shackle-keyhole.svg/20px-Full-protection-shackle-keyhole.svg.png" decoding="async" width="20" height="20" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Full-protection-shackle-keyhole.svg/30px-Full-protection-shackle-keyhole.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Full-protection-shackle-keyhole.svg/40px-Full-protection-shackle-keyhole.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></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:String" 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:String" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</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:String"><span>Read</span></a></li><li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:String&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:String&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:String"><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:String&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:String&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:String" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Module:String" 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="//commons.wikimedia.org/wiki/Special:UploadWizard" 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:String&oldid=4039256" 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:String&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%2Fwww.mediawiki.org%2Fwiki%2FModule%3AString"><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%2Fwww.mediawiki.org%2Fwiki%2FModule%3AString"><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%3AString&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:String" 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:String" hreflang="en"><span>Wikimedia Foundation</span></a></li><li class="wb-otherproject-link wb-otherproject-meta mw-list-item"><a href="https://meta.wikimedia.org/wiki/Module:String" 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:String" 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:String" 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:String" 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:String" 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:String" 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:String" 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:String" hreflang="en"><span>Wikimania</span></a></li><li class="wb-otherproject-link wb-otherproject-wikipedia mw-list-item"><a href="https://en.wikipedia.org/wiki/Module:String" hreflang="en"><span>Wikipedia</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://en.wikiquote.org/wiki/Module:String" 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:String" 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:String" hreflang="en"><span>Wikiversity</span></a></li><li class="wb-otherproject-link wb-otherproject-wikivoyage mw-list-item"><a href="https://en.wikivoyage.org/wiki/Module:String" hreflang="en"><span>Wikivoyage</span></a></li><li class="wb-otherproject-link wb-otherproject-wiktionary mw-list-item"><a href="https://en.wiktionary.org/wiki/Module:string" 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/Q7253814" title="Link to connected data repository item [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 id="siteSub" class="noprint">From mediawiki.org</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:r6698398">.mw-parser-output .ts-doc-sandbox .mbox-image{padding:.75em 0 .75em .75em}.mw-parser-output .ts-doc-doc{clear:both;background-color:#eaf3ff;color:var(--color-fixed,#333);border:1px solid #a3caff;margin-top:1em;border-top-left-radius:2px;border-top-right-radius:2px}.mw-parser-output .ts-doc-header{background-color:#c2dcff;color:var(--color-fixed,#333);padding:.642857em 1em .5em;border-top-left-radius:2px;border-top-right-radius:2px}.mw-parser-output .ts-doc-heading{display:inline-block;padding-left:30px;background:center left/24px 24px no-repeat;background-image:url("//upload.wikimedia.org/wikipedia/commons/f/fb/OOjs_UI_icon_puzzle-ltr.svg");height:24px;line-height:24px;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.mw-parser-output .ts-doc-header .ts-tlinks-tlinks{line-height:24px;margin-left:0}.mw-parser-output .ts-doc-header .ts-tlinks-tlinks a.external{color:#0645ad}.mw-parser-output .ts-doc-header .ts-tlinks-tlinks a.external:visited{color:#0b0080}.mw-parser-output .ts-doc-header .ts-tlinks-tlinks a.external:active{color:#faa700}.mw-parser-output .ts-doc-content{padding:.214286em 1em}.mw-parser-output .ts-doc-content:after{content:"";clear:both;display:block}.mw-parser-output .ts-doc-content>:first-child{margin-top:.5em}.mw-parser-output .ts-doc-content>:last-child{margin-bottom:.5em}.mw-parser-output .ts-doc-footer{background-color:#eaf3ff;color:var(--color-fixed,#333);border:1px solid #a3caff;padding:.214286em 1em;margin-top:.214286em;font-style:italic;border-bottom-left-radius:2px;border-bottom-right-radius:2px}@media all and (min-width:720px){.mw-parser-output .ts-doc-header .ts-tlinks-tlinks{float:right}}.mw-parser-output .ts-doc-content .mw-heading{color:var(--color-fixed,#222)}.mw-parser-output .mw-templatedata-caption,.mw-parser-output .mw-templatedata-format{color:var(--color-fixed,#222)}.mw-parser-output .mw-templatedata-doc-params .oo-ui-widget{filter:unset!important}</style><div id="template-documentation" class="ts-doc-doc"><div class="ts-doc-header"><div class="ts-doc-heading">Module documentation</div><div class="ts-tlinks-tlinks mw-editsection-like plainlinks" id="doc_editlinks">[<a href="/wiki/Module:String/doc" title="Module:String/doc">view</a>] [<a class="external text" href="https://www.mediawiki.org/w/index.php?title=Module:String/doc&action=edit">edit</a>] [<a class="external text" href="https://www.mediawiki.org/w/index.php?title=Module:String/doc&action=history">history</a>] [<a class="external text" href="https://www.mediawiki.org/w/index.php?title=Module:String&action=purge">purge</a>]</div></div><div class="ts-doc-content"> <style data-mw-deduplicate="TemplateStyles:r6651103">.mw-parser-output .nmbox{background:#f8f9fa;border:1px solid #AAA;box-sizing:border-box;margin:2px 0;padding:0}.mw-parser-output .nmbox *{box-sizing:border-box}.mw-parser-output .nmbox-header{background:#eaecf0;padding:4px 0.5em;font-weight:bold;text-align:center;white-space:nowrap}.mw-parser-output .nmbox .mbox-image{display:inline-block;padding-right:1em}.mw-parser-output .nmbox-text{border-top:1px solid #AAA;width:100%;padding:4px 0.5em}@media screen and (min-width:768px){.mw-parser-output .nmbox-header{display:table-cell;border-right:1px solid #AAA;width:1%}.mw-parser-output .nmbox-text{border-top:none;display:table-cell}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .nmbox-header,html.skin-theme-clientpref-night .mw-parser-output .nmbox{background:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .nmbox-header,html.skin-theme-clientpref-os .mw-parser-output .nmbox{background:transparent;color:inherit}}</style> <div class="nmbox noprint mw-content-ltr"><div class="nmbox-header"><a href="/wiki/Special:MyLanguage/Project:Language_policy" title="Special:MyLanguage/Project:Language policy">Languages:</a><span style="display:none"><a href="/wiki/Project:Language_policy" title="Project:Language policy"> </a></span> </div> <div class="nmbox-text mbox-text"><b><a href="/wiki/Module:String/doc" title="Module:String/doc">English</a></b>  • <bdi lang="cs"><span class="plainlinks"><a class="external text" href="https://www.mediawiki.org/wiki/Module:String/doc/cs">čeština</a></span></bdi> • <bdi lang="de"><span class="plainlinks"><a class="external text" href="https://www.mediawiki.org/wiki/Module:String/doc/de">Deutsch</a></span></bdi> • <bdi lang="ja"><span class="plainlinks"><a class="external text" href="https://www.mediawiki.org/wiki/Module:String/doc/ja">日本語</a></span></bdi><span class="autonym"></span><span class="autonym"></span> • <bdi lang="tr"><span class="plainlinks"><a class="external text" href="https://www.mediawiki.org/wiki/Module:String/doc/tr">Türkçe</a></span></bdi> • <bdi lang="vi"><span class="plainlinks"><a class="external text" href="https://www.mediawiki.org/wiki/Module:String/doc/vi">Tiếng Việt</a></span></bdi></div> </div> <table style="background:#fee7e6; margin:0.5em 10%; border:1px solid #a2a9b1; border-collapse: collapse;"><tbody><tr><td style="border:none; padding:2px 0 2px 0.9em; text-align:center"><span typeof="mw:File"><span title="warning"><img alt="warning" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/20px-OOjs_UI_icon_notice-destructive.svg.png" decoding="async" width="20" height="20" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/30px-OOjs_UI_icon_notice-destructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/40px-OOjs_UI_icon_notice-destructive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span> <span style="white-space:nowrap"><b>Warning:</b></span></td><td style="border: none; padding: 0.25em 0.9em ;width: 100%"><b>This page is shared between multiple wikis</b>.<br />All changes to this page will be <a href="/wiki/WP:TNT" class="mw-redirect" title="WP:TNT">automatically copied</a> to all wikis listed in the left side bar.<br />To avoid unnecessary page regeneration and server load, changes should be tested on the page's sandbox.</td></tr></tbody></table> <style data-mw-deduplicate="TemplateStyles:r6651108">.mw-parser-output table.ombox{margin:4px 10%;border-collapse:collapse;border:1px solid #a2a9b1;background-color:#f8f9fa;color:#333;box-sizing:border-box}.mw-parser-output .ombox td.mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox th.mbox-text,.mw-parser-output .ombox td.mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox td.mbox-image{border:none;text-align:center;padding:2px 0 2px 0.9em}.mw-parser-output .ombox td.mbox-imageright{border:none;text-align:center;padding:2px 0.9em 2px 0}.mw-parser-output table.ombox-notice{border-color:#a2a9b1}.mw-parser-output table.ombox-speedy{background-color:#fee7e6;color:#333}.mw-parser-output table.ombox-speedy,.mw-parser-output table.ombox-delete{border-color:#b32424;border-width:2px}.mw-parser-output table.ombox-content{border-color:#f28500}.mw-parser-output table.ombox-style{border-color:#fc3}.mw-parser-output table.ombox-move{border-color:#9932cc}.mw-parser-output table.ombox-protection{border-color:#a2a9b1;border-width:2px}html body.mediawiki .mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;box-sizing:border-box;width:238px;font-size:88%;line-height:1.25em}@media screen{html.skin-theme-clientpref-night .mw-parser-output table.ombox{background-color:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output table.ombox{background-color:transparent;color:inherit}}</style><table class="ombox ombox-notice plainlinks" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/40px-OOjs_UI_icon_check-constructive.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/60px-OOjs_UI_icon_check-constructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/80px-OOjs_UI_icon_check-constructive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span></td><td class="mbox-text">This module is rated as <a href="/wiki/Special:MyLanguage/Category:Modules_for_general_use" title="Special:MyLanguage/Category:Modules for general use">ready for general use</a>. It has reached a mature form and is thought to be bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other resources as an option for new users to learn. To reduce server load and bad output, it should be improved by <a href="https://en.wikipedia.org/wiki/WP:TESTCASES" class="extiw" title="w:WP:TESTCASES">sandbox testing</a> rather than repeated trial-and-error editing.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r6651108"><table class="ombox ombox-notice plainlinks" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img src="//upload.wikimedia.org/wikipedia/commons/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/commons/thumb/0/0f/Cascade-protection-shackle.svg/60px-Cascade-protection-shackle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/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 is <a href="/wiki/Special:MyLanguage/Category:Modules_subject_to_page_protection" title="Special:MyLanguage/Category:Modules subject to page protection">subject to cascading protection</a>. It is a highly visible module in use by a very large number of pages. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is <a href="/wiki/Special:MyLanguage/Project:Protected_page" title="Special:MyLanguage/Project:Protected page">protected</a> from editing.</td></tr></tbody></table> <p>This module is intended to provide access to basic string functions. </p><p>Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, MediaWiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Global_options">Global options</h2></div> <dl><dt><code>ignore_errors</code></dt> <dd>If set to <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code> or 1, any error condition will result in an empty string being returned rather than an error message.</dd> <dt><code>error_category</code></dt> <dd>If an error occurs, specifies the name of a category to include with the error message. The default category is <a href="/wiki/Special:MyLanguage/Category:Errors_reported_by_Module_String" title="Special:MyLanguage/Category:Errors reported by Module String">Category:Errors reported by Module String</a><span style="display:none"><a href="/wiki/Category:Errors_reported_by_Module_String" title="Category:Errors reported by Module String"> </a></span>.</dd> <dt><code>no_category</code></dt> <dd>If set to <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code> or 1, no category will be added if an error is generated.</dd></dl> <p>Unit tests for this module are available at <a href="/wiki/Module:String/testcases" title="Module:String/testcases">Module:String/testcases</a>. </p> <div class="mw-heading mw-heading2"><h2 id="len"><code>len</code></h2></div> <p>This function returns the length of the target string. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|len|<i>target_string</i>}}</code></dd></dl> <p>or </p> <dl><dd><code>{{#invoke:String|len|s= <i>target_string</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt><code>s</code></dt> <dd>The string whose length to report</dd></dl> <div class="mw-heading mw-heading2"><h2 id="sub"><code>sub</code></h2></div> <dl><dd>This function returns a substring of the target string at specified indices.</dd></dl> <p>Usage: </p> <dl><dd><code>{{#invoke:String|sub|<i>target_string</i>|<i>start_index</i>|<i>end_index</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|sub<wbr />|s= <i>target_string</i> |i= <i>start_index</i> |j= <i>end_index</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt><code>s</code></dt> <dd>The string to return a subset of</dd> <dt><code>i</code></dt> <dd>The first index of the substring to return, defaults to 1.</dd> <dt><code>j</code></dt> <dd>The last index of the string to return, defaults to the last character.</dd></dl> <p>The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. </p><p>If the requested indices are out of range for the given string, an error is reported. </p> <div class="mw-heading mw-heading2"><h2 id="match"><code>match</code></h2></div> <p>This function returns a substring from the source string that matches a specified pattern. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|match|<i>source_string</i>|<i>pattern_string</i>|<i>start_index</i>|<i>match_number</i>|<i>plain_flag</i>|<i>nomatch_output</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|match|s= <i>source_string</i> |pattern= <i>pattern_string</i> |start= <i>start_index</i> |match= <i>match_number</i> |plain= <i>plain_flag</i> |nomatch= <i>nomatch_output</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt><code>s</code></dt> <dd>The string to search</dd> <dt><code>pattern</code></dt> <dd>The pattern or string to find within the string</dd> <dt><code>start</code></dt> <dd>The index within the source string to start the search. The first character of the string has index 1. Defaults to 1.</dd> <dt><code>match</code></dt> <dd>In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is <code>match = 1</code>. If a negative number is specified then a match is returned counting from the last match. Hence <code>match = -1</code> is the same as requesting the last match. Defaults to 1.</dd> <dt><code>plain</code></dt> <dd>Boolean flag indicating that pattern should be understood as plain text and not as a <a href="https://en.wikipedia.org/wiki/Lua_(programming_language)" class="extiw" title="w:Lua (programming language)">Lua</a>-style <a href="https://en.wikipedia.org/wiki/Regular_expression" class="extiw" title="w:Regular expression">regular expression</a>. Defaults to <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code>.</dd> <dt><code>nomatch</code></dt> <dd>If no match is found, output the "nomatch" value rather than an error.</dd></dl> <p>If the <code>match</code> or <code>start</code> are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter <code>ignore_errors=true</code>, then the error will be suppressed and an empty string will be returned on any failure. </p><p>For information on constructing <a href="https://en.wikipedia.org/wiki/Lua_(programming_language)" class="extiw" title="w:Lua (programming language)">Lua</a> patterns, a form of <a href="https://en.wikipedia.org/wiki/Regular_expression" class="extiw" title="w:Regular expression">regular expression</a>, see: </p> <ul><li><a rel="nofollow" class="external text" href="https://www.lua.org/manual/5.1/manual.html#5.4.1">Lua reference: Patterns</a> - as of version 5.1</li> <li><a href="/wiki/Special:MyLanguage/Extension:Scribunto/Lua_reference_manual#Patterns" title="Special:MyLanguage/Extension:Scribunto/Lua reference manual">Scribunto patterns</a><span style="display:none"><a href="/wiki/Extension:Scribunto/Lua_reference_manual#Patterns" title="Extension:Scribunto/Lua reference manual"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Extension:Scribunto/Lua_reference_manual#Ustring_patterns" title="Special:MyLanguage/Extension:Scribunto/Lua reference manual">Scribunto Unicode string patterns</a><span style="display:none"><a href="/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns" title="Extension:Scribunto/Lua reference manual"> </a></span></li></ul> <div class="mw-heading mw-heading2"><h2 id="pos"><code>pos</code></h2></div> <p>This function returns a single character from the target string at position pos. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|pos|<i>target_string</i>|<i>index_value</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|pos|target= <i>target_string</i> |pos= <i>index_value</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt><code>target</code></dt> <dd>The string to search</dd> <dt><code>pos</code></dt> <dd>The index for the character to return</dd></dl> <p>The first character has an index value of 1. </p><p>If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words <code>pos = -1</code> is the same as asking for the last character. </p><p>A requested value of zero, or a value greater than the length of the string returns an error. </p> <div class="mw-heading mw-heading2"><h2 id="find"><code>find</code></h2></div> <p>This function allows one to search for a target string or pattern within another string. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|find|<i>source_str</i>|<i>target_string</i>|<i>start_index</i>|<i>plain_flag</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|find|source= <i>source_str</i> |target= <i>target_str</i> |start= <i>start_index</i> |plain= <i>plain_flag</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt><code>source</code></dt> <dd>The string to search</dd> <dt><code>target</code></dt> <dd>The string or pattern to find within source</dd> <dt><code>start</code></dt> <dd>The index within the source string to start the search, defaults to 1</dd> <dt><code>plain</code></dt> <dd>Boolean flag indicating that target should be understood as plain text and not as a <a href="https://en.wikipedia.org/wiki/Lua_(programming_language)" class="extiw" title="w:Lua (programming language)">Lua</a>-style <a href="https://en.wikipedia.org/wiki/Regular_expression" class="extiw" title="w:Regular expression">regular expression</a>, defaults to <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code></dd></dl> <p>This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. </p><p>This function should be safe for UTF-8 strings. </p> <div class="mw-heading mw-heading2"><h2 id="replace"><code>replace</code></h2></div> <p>This function allows one to replace a target string or pattern within another string. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|replace|<i>source_str</i>|<i>pattern_string</i>|<i>replace_string</i>|<i>replacement_count</i>|<i>plain_flag</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|replace|source= <i>source_string</i> |pattern= <i>pattern_string</i> |replace= <i>replace_string</i> |count= <i>replacement_count</i> |plain= <i>plain_flag</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt><code>source</code></dt> <dd>The string to search</dd> <dt><code>pattern</code></dt> <dd>The string or pattern to find within source</dd> <dt><code>replace</code></dt> <dd>The replacement text</dd> <dt><code>count</code></dt> <dd>The number of occurrences to replace; defaults to all</dd> <dt><code>plain</code></dt> <dd>Boolean flag indicating that pattern should be understood as plain text and not as a <a href="/wiki/Special:MyLanguage/Extension:Scribunto/Lua_reference_manual#Ustring_patterns" title="Special:MyLanguage/Extension:Scribunto/Lua reference manual">Scribunto ustring pattern</a> (a unicode-friendly <a href="https://en.wikipedia.org/wiki/Lua_(programming_language)" class="extiw" title="w:Lua (programming language)">Lua</a>-style <a href="https://en.wikipedia.org/wiki/Regular_expression" class="extiw" title="w:Regular expression">regular expression</a>); defaults to <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code></dd></dl> <div class="mw-heading mw-heading2"><h2 id="rep"><code>rep</code></h2></div> <p>Repeats a string <i>n</i> times. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|rep|<i>source</i>|<i>count</i>}}</code></dd></dl> <p>Parameters: </p> <dl><dt><code>source</code></dt> <dd>The string to repeat</dd> <dt><code>count</code></dt> <dd>The number of repetitions.</dd></dl> <p>Example <code>{{#invoke:String|rep|hello|3}}</code> gives hellohellohello </p> </div></div><div class="ts-doc-footer plainlinks">The above <a href="https://en.wikipedia.org/wiki/Wikipedia:Template_documentation" class="extiw" title="wikipedia:Wikipedia:Template documentation">documentation</a> is <a href="https://en.wikipedia.org/wiki/Wikipedia:Transclusion" class="extiw" title="wikipedia:Wikipedia:Transclusion">transcluded</a> from <a href="/wiki/Module:String/doc" title="Module:String/doc">Module:String/doc</a>. <small style="font-style: normal;">(<a class="external text" href="https://www.mediawiki.org/w/index.php?title=Module:String/doc&action=edit">edit</a> | <a class="external text" href="https://www.mediawiki.org/w/index.php?title=Module:String/doc&action=history">history</a>)</small><br />Editors can experiment in this module’s <a href="/wiki/Module:String/sandbox" title="Module:String/sandbox">sandbox</a> <small style="font-style: normal;">(<a class="external text" href="https://www.mediawiki.org/w/index.php?title=Module:String/sandbox&action=edit">edit</a> | <a class="external text" href="https://www.mediawiki.org/w/index.php?title=Special%3AComparePages&page1=Module%3AString&page2=Module%3AString%2Fsandbox">diff</a>)</small> and <a href="/wiki/Module:String/testcases" title="Module:String/testcases">testcases</a> <small style="font-style: normal;">(<a class="external text" href="https://www.mediawiki.org/w/index.php?title=Module:String/testcases&action=edit">edit</a>)</small> pages.<br /> <a href="/wiki/Special:PrefixIndex/Module:String/" title="Special:PrefixIndex/Module:String/">Subpages of this module</a>.</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="cm">--[[</span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a><span class="cm">This module is intended to provide access to basic string functions.</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a><span class="cm">Most of the functions provided here can be invoked with named parameters,</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="cm">unnamed parameters, or a mixture. If named parameters are used, Mediawiki will</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a><span class="cm">automatically remove any leading or trailing whitespace from the parameter.</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a><span class="cm">Depending on the intended use, it may be advantageous to either preserve or</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="cm">remove such whitespace.</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="cm">Global options</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a><span class="cm"> ignore_errors: If set to 'true' or 1, any error condition will result in</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a><span class="cm"> an empty string being returned rather than an error message.</span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a><span class="cm"> error_category: If an error occurs, specifies the name of a category to</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a><span class="cm"> include with the error message. The default category is</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a><span class="cm"> [Category:Errors reported by Module String].</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a><span class="cm"> no_category: If set to 'true' or 1, no category will be added if an error</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a><span class="cm"> is generated.</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="cm">Unit tests for this module are available at Module:String/tests.</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a><span class="cm">]]</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a><span class="kd">local</span> <span class="n">str</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a><span class="cm">--[[</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a><span class="cm">len</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a><span class="cm">This function returns the length of the target string.</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a><span class="cm">Usage:</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a><span class="cm">{{#invoke:String|len|target_string|}}</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a><span class="cm">OR</span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a><span class="cm">{{#invoke:String|len|s=target_string}}</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a><span class="cm">Parameters</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a><span class="cm"> s: The string whose length to report</span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a><span class="cm">If invoked using named parameters, Mediawiki will automatically remove any leading or</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a><span class="cm">trailing whitespace from the target string.</span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a><span class="cm">]]</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">len</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'s'</span><span class="p">}</span> <span class="p">);</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a> <span class="kd">local</span> <span class="n">s</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'s'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">len</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a><span class="kr">end</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a><span class="cm">--[[</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a><span class="cm">sub</span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a><span class="cm">This function returns a substring of the target string at specified indices.</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a><span class="cm">Usage:</span> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a><span class="cm">{{#invoke:String|sub|target_string|start_index|end_index}}</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a><span class="cm">OR</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a><span class="cm">{{#invoke:String|sub|s=target_string|i=start_index|j=end_index}}</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a><span class="cm">Parameters</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a><span class="cm"> s: The string to return a subset of</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a><span class="cm"> i: The fist index of the substring to return, defaults to 1.</span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a><span class="cm"> j: The last index of the string to return, defaults to the last character.</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a><span class="cm">The first character of the string is assigned an index of 1. If either i or j</span> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a><span class="cm">is a negative value, it is interpreted the same as selecting a character by</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a><span class="cm">counting from the end of the string. Hence, a value of -1 is the same as</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a><span class="cm">selecting the last character of the string.</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a><span class="cm">If the requested indices are out of range for the given string, an error is</span> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a><span class="cm">reported.</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a><span class="cm">]]</span> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">sub</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span> <span class="s1">'s'</span><span class="p">,</span> <span class="s1">'i'</span><span class="p">,</span> <span class="s1">'j'</span> <span class="p">}</span> <span class="p">);</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a> <span class="kd">local</span> <span class="n">s</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'s'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a> <span class="kd">local</span> <span class="n">i</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'i'</span><span class="p">]</span> <span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a> <span class="kd">local</span> <span class="n">j</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'j'</span><span class="p">]</span> <span class="p">)</span> <span class="ow">or</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a> <span class="kd">local</span> <span class="n">len</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">len</span><span class="p">(</span> <span class="n">s</span> <span class="p">);</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a> <span class="c1">-- Convert negatives for range checking</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> <span class="kr">if</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a> <span class="n">i</span> <span class="o">=</span> <span class="n">len</span> <span class="o">+</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a> <span class="kr">end</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> <span class="kr">if</span> <span class="n">j</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a> <span class="n">j</span> <span class="o">=</span> <span class="n">len</span> <span class="o">+</span> <span class="n">j</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a> <span class="kr">end</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a> <span class="kr">if</span> <span class="n">i</span> <span class="o">></span> <span class="n">len</span> <span class="ow">or</span> <span class="n">j</span> <span class="o">></span> <span class="n">len</span> <span class="ow">or</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">j</span> <span class="o"><</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'String subset index out of range'</span> <span class="p">);</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a> <span class="kr">end</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">j</span> <span class="o"><</span> <span class="n">i</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="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'String subset indices out of order'</span> <span class="p">);</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a> <span class="kr">end</span> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="p">)</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><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a><span class="cm">--[[</span> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a><span class="cm">This function implements that features of {{str sub old}} and is kept in order</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a><span class="cm">to maintain these older templates.</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a><span class="cm">]]</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">sublength</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="kd">local</span> <span class="n">i</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">i</span> <span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> <span class="kd">local</span> <span class="n">len</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">len</span> <span class="p">)</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">s</span><span class="p">,</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">len</span> <span class="ow">and</span> <span class="p">(</span> <span class="n">i</span> <span class="o">+</span> <span class="n">len</span> <span class="p">)</span> <span class="p">)</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><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a><span class="cm">--[[</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a><span class="cm">match</span> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a><span class="cm">This function returns a substring from the source string that matches a</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a><span class="cm">specified pattern.</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="cm">Usage:</span> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a><span class="cm">{{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch}}</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a><span class="cm">OR</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a><span class="cm">{{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index</span> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a><span class="cm"> |match=match_number|plain=plain_flag|nomatch=nomatch_output}}</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="cm">Parameters</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a><span class="cm"> s: The string to search</span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a><span class="cm"> pattern: The pattern or string to find within the string</span> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a><span class="cm"> start: The index within the source string to start the search. The first</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a><span class="cm"> character of the string has index 1. Defaults to 1.</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a><span class="cm"> match: In some cases it may be possible to make multiple matches on a single</span> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a><span class="cm"> string. This specifies which match to return, where the first match is</span> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a><span class="cm"> match= 1. If a negative number is specified then a match is returned</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a><span class="cm"> counting from the last match. Hence match = -1 is the same as requesting</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a><span class="cm"> the last match. Defaults to 1.</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a><span class="cm"> plain: A flag indicating that the pattern should be understood as plain</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a><span class="cm"> text. Defaults to false.</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a><span class="cm"> nomatch: If no match is found, output the "nomatch" value rather than an error.</span> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a><span class="cm">If invoked using named parameters, Mediawiki will automatically remove any leading or</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a><span class="cm">trailing whitespace from each string. In some circumstances this is desirable, in</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a><span class="cm">other cases one may want to preserve the whitespace.</span> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a><span class="cm">If the match_number or start_index are out of range for the string being queried, then</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a><span class="cm">this function generates an error. An error is also generated if no match is found.</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a><span class="cm">If one adds the parameter ignore_errors=true, then the error will be suppressed and</span> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a><span class="cm">an empty string will be returned on any failure.</span> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a><span class="cm">For information on constructing Lua patterns, a form of [regular expression], see:</span> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a><span class="cm">* https://www.lua.org/manual/5.1/manual.html#5.4.1</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a><span class="cm">* https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a><span class="cm">* https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns</span> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a> </span><span id="L-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a><span class="cm">]]</span> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a><span class="c1">-- This sub-routine is exported for use in other modules</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_match</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">match_index</span><span class="p">,</span> <span class="n">plain</span><span class="p">,</span> <span class="n">nomatch</span> <span class="p">)</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a> <span class="kr">if</span> <span class="n">s</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Target string is empty'</span> <span class="p">);</span> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a> <span class="kr">end</span> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a> <span class="kr">if</span> <span class="n">pattern</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Pattern string is empty'</span> <span class="p">);</span> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a> <span class="kr">end</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a> <span class="n">start</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">start</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-159"><a href="#L-159"><span class="linenos" data-line="159"></span></a> <span class="kr">if</span> <span class="nb">math.abs</span><span class="p">(</span><span class="n">start</span><span class="p">)</span> <span class="o"><</span> <span class="mi">1</span> <span class="ow">or</span> <span class="nb">math.abs</span><span class="p">(</span><span class="n">start</span><span class="p">)</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">len</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Requested start is out of range'</span> <span class="p">);</span> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a> <span class="kr">end</span> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a> <span class="kr">if</span> <span class="n">match_index</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-163"><a href="#L-163"><span class="linenos" data-line="163"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Match index is out of range'</span> <span class="p">);</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a> <span class="kr">end</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a> <span class="kr">if</span> <span class="n">plain_flag</span> <span class="kr">then</span> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_escapePattern</span><span class="p">(</span> <span class="n">pattern</span> <span class="p">);</span> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a> <span class="kr">end</span> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></span></a> <span class="kd">local</span> <span class="n">result</span> </span><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a> <span class="kr">if</span> <span class="n">match_index</span> <span class="o">==</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a> <span class="c1">-- Find first match is simple case</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a> <span class="n">result</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="n">s</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">start</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">else</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">start</span> <span class="o">></span> <span class="mi">1</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">s</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">sub</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="n">start</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><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a> <span class="kd">local</span> <span class="n">iterator</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">gmatch</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">pattern</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">if</span> <span class="n">match_index</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a> <span class="c1">-- Forward search</span> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a> <span class="kr">for</span> <span class="n">w</span> <span class="kr">in</span> <span class="n">iterator</span> <span class="kr">do</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a> <span class="n">match_index</span> <span class="o">=</span> <span class="n">match_index</span> <span class="o">-</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a> <span class="kr">if</span> <span class="n">match_index</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">w</span><span class="p">;</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></span></a> <span class="kr">break</span><span class="p">;</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a> <span class="kr">end</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a> <span class="kr">end</span> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a> <span class="kr">else</span> </span><span id="L-189"><a href="#L-189"><span class="linenos" data-line="189"></span></a> <span class="c1">-- Reverse search</span> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a> <span class="kd">local</span> <span class="n">result_table</span> <span class="o">=</span> <span class="p">{};</span> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> <span class="kd">local</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-192"><a href="#L-192"><span class="linenos" data-line="192"></span></a> <span class="kr">for</span> <span class="n">w</span> <span class="kr">in</span> <span class="n">iterator</span> <span class="kr">do</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a> <span class="n">result_table</span><span class="p">[</span><span class="n">count</span><span class="p">]</span> <span class="o">=</span> <span class="n">w</span><span class="p">;</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></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 class="p">;</span> </span><span id="L-195"><a href="#L-195"><span class="linenos" data-line="195"></span></a> <span class="kr">end</span> </span><span id="L-196"><a href="#L-196"><span class="linenos" data-line="196"></span></a> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">result_table</span><span class="p">[</span> <span class="n">count</span> <span class="o">+</span> <span class="n">match_index</span> <span class="p">];</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a> <span class="kr">end</span> </span><span id="L-199"><a href="#L-199"><span class="linenos" data-line="199"></span></a> <span class="kr">end</span> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a> <span class="kr">if</span> <span class="n">result</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a> <span class="kr">if</span> <span class="n">nomatch</span> <span class="o">==</span> <span class="kc">nil</span> <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">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Match not found'</span> <span class="p">);</span> </span><span id="L-204"><a href="#L-204"><span class="linenos" data-line="204"></span></a> <span class="kr">else</span> </span><span id="L-205"><a href="#L-205"><span class="linenos" data-line="205"></span></a> <span class="kr">return</span> <span class="n">nomatch</span><span class="p">;</span> </span><span id="L-206"><a href="#L-206"><span class="linenos" data-line="206"></span></a> <span class="kr">end</span> </span><span id="L-207"><a href="#L-207"><span class="linenos" data-line="207"></span></a> <span class="kr">else</span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a> <span class="kr">return</span> <span class="n">result</span><span class="p">;</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> <span class="kr">end</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="c1">-- This is the entry point for #invoke:String|match</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">match</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'s'</span><span class="p">,</span> <span class="s1">'pattern'</span><span class="p">,</span> <span class="s1">'start'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'plain'</span><span class="p">,</span> <span class="s1">'nomatch'</span><span class="p">}</span> <span class="p">);</span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a> <span class="kd">local</span> <span class="n">s</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'s'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a> <span class="kd">local</span> <span class="n">start</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> <span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a> <span class="kd">local</span> <span class="n">plain_flag</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'plain'</span><span class="p">]</span> <span class="ow">or</span> <span class="kc">false</span> <span class="p">);</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'pattern'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a> <span class="kd">local</span> <span class="n">match_index</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">new_args</span><span class="p">[</span><span class="s1">'match'</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">1</span> <span class="p">);</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="kd">local</span> <span class="n">nomatch</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'nomatch'</span><span class="p">];</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a> </span><span id="L-221"><a href="#L-221"><span class="linenos" data-line="221"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_match</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">match_index</span><span class="p">,</span> <span class="n">plain</span><span class="p">,</span> <span class="n">nomatch</span> <span class="p">)</span> </span><span id="L-222"><a href="#L-222"><span class="linenos" data-line="222"></span></a><span class="kr">end</span> </span><span id="L-223"><a href="#L-223"><span class="linenos" data-line="223"></span></a> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a><span class="cm">--[[</span> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a><span class="cm">pos</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a><span class="cm">This function returns a single character from the target string at position pos.</span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a><span class="cm">Usage:</span> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a><span class="cm">{{#invoke:String|pos|target_string|index_value}}</span> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a><span class="cm">OR</span> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a><span class="cm">{{#invoke:String|pos|target=target_string|pos=index_value}}</span> </span><span id="L-233"><a href="#L-233"><span class="linenos" data-line="233"></span></a> </span><span id="L-234"><a href="#L-234"><span class="linenos" data-line="234"></span></a><span class="cm">Parameters</span> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a><span class="cm"> target: The string to search</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a><span class="cm"> pos: The index for the character to return</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a><span class="cm">If invoked using named parameters, Mediawiki will automatically remove any leading or</span> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a><span class="cm">trailing whitespace from the target string. In some circumstances this is desirable, in</span> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a><span class="cm">other cases one may want to preserve the whitespace.</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a> </span><span id="L-242"><a href="#L-242"><span class="linenos" data-line="242"></span></a><span class="cm">The first character has an index value of 1.</span> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a><span class="cm">If one requests a negative value, this function will select a character by counting backwards</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a><span class="cm">from the end of the string. In other words pos = -1 is the same as asking for the last character.</span> </span><span id="L-246"><a href="#L-246"><span class="linenos" data-line="246"></span></a> </span><span id="L-247"><a href="#L-247"><span class="linenos" data-line="247"></span></a><span class="cm">A requested value of zero, or a value greater than the length of the string returns an error.</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a><span class="cm">]]</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">pos</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'target'</span><span class="p">,</span> <span class="s1">'pos'</span><span class="p">}</span> <span class="p">);</span> </span><span id="L-251"><a href="#L-251"><span class="linenos" data-line="251"></span></a> <span class="kd">local</span> <span class="n">target_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'target'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-252"><a href="#L-252"><span class="linenos" data-line="252"></span></a> <span class="kd">local</span> <span class="n">pos</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'pos'</span><span class="p">]</span> <span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span><span class="p">;</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a> </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">pos</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">or</span> <span class="nb">math.abs</span><span class="p">(</span><span class="n">pos</span><span class="p">)</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">len</span><span class="p">(</span> <span class="n">target_str</span> <span class="p">)</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="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'String index out of range'</span> <span class="p">);</span> </span><span id="L-256"><a href="#L-256"><span class="linenos" data-line="256"></span></a> <span class="kr">end</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span> <span class="n">target_str</span><span class="p">,</span> <span class="n">pos</span><span class="p">,</span> <span class="n">pos</span> <span class="p">);</span> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a><span class="kr">end</span> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a><span class="cm">--[[</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a><span class="cm">str_find</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a><span class="cm">This function duplicates the behavior of {{str_find}}, including all of its quirks.</span> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a><span class="cm">This is provided in order to support existing templates, but is NOT RECOMMENDED for</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a><span class="cm">new code and templates. New code is recommended to use the "find" function instead.</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a><span class="cm">Returns the first index in "source" that is a match to "target". Indexing is 1-based,</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a><span class="cm">and the function returns -1 if the "target" string is not present in "source".</span> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a><span class="cm">Important Note: If the "target" string is empty / missing, this function returns a</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a><span class="cm">value of "1", which is generally unexpected behavior, and must be accounted for</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a><span class="cm">separatetly.</span> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a><span class="cm">]]</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">str_find</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'source'</span><span class="p">,</span> <span class="s1">'target'</span><span class="p">}</span> <span class="p">);</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a> <span class="kd">local</span> <span class="n">source_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'source'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a> <span class="kd">local</span> <span class="n">target_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'target'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a> <span class="kr">if</span> <span class="n">target_str</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a> <span class="kr">return</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a> <span class="kr">end</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a> <span class="kd">local</span> <span class="n">start</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">find</span><span class="p">(</span> <span class="n">source_str</span><span class="p">,</span> <span class="n">target_str</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="kc">true</span> <span class="p">)</span> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a> <span class="kr">if</span> <span class="n">start</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a> <span class="n">start</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a> <span class="kr">end</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a> <span class="kr">return</span> <span class="n">start</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a><span class="kr">end</span> </span><span id="L-291"><a href="#L-291"><span class="linenos" data-line="291"></span></a> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a><span class="cm">--[[</span> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a><span class="cm">find</span> </span><span id="L-294"><a href="#L-294"><span class="linenos" data-line="294"></span></a> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a><span class="cm">This function allows one to search for a target string or pattern within another</span> </span><span id="L-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a><span class="cm">string.</span> </span><span id="L-297"><a href="#L-297"><span class="linenos" data-line="297"></span></a> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a><span class="cm">Usage:</span> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a><span class="cm">{{#invoke:String|find|source_str|target_string|start_index|plain_flag}}</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a><span class="cm">OR</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a><span class="cm">{{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}}</span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a><span class="cm">Parameters</span> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a><span class="cm"> source: The string to search</span> </span><span id="L-305"><a href="#L-305"><span class="linenos" data-line="305"></span></a><span class="cm"> target: The string or pattern to find within source</span> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a><span class="cm"> start: The index within the source string to start the search, defaults to 1</span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a><span class="cm"> plain: Boolean flag indicating that target should be understood as plain</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a><span class="cm"> text and not as a Lua style regular expression, defaults to true</span> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a><span class="cm">If invoked using named parameters, Mediawiki will automatically remove any leading or</span> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a><span class="cm">trailing whitespace from the parameter. In some circumstances this is desirable, in</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a><span class="cm">other cases one may want to preserve the whitespace.</span> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a><span class="cm">This function returns the first index >= "start" where "target" can be found</span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a><span class="cm">within "source". Indices are 1-based. If "target" is not found, then this</span> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a><span class="cm">function returns 0. If either "source" or "target" are missing / empty, this</span> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a><span class="cm">function also returns 0.</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="cm">This function should be safe for UTF-8 strings.</span> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a><span class="cm">]]</span> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">find</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'source'</span><span class="p">,</span> <span class="s1">'target'</span><span class="p">,</span> <span class="s1">'start'</span><span class="p">,</span> <span class="s1">'plain'</span> <span class="p">}</span> <span class="p">);</span> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a> <span class="kd">local</span> <span class="n">source_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'source'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a> <span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'target'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a> <span class="kd">local</span> <span class="n">start_pos</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">new_args</span><span class="p">[</span><span class="s1">'start'</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a> <span class="kd">local</span> <span class="n">plain</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'plain'</span><span class="p">]</span> <span class="ow">or</span> <span class="kc">true</span><span class="p">;</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a> </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">source_str</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">or</span> <span class="n">pattern</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a> <span class="kr">return</span> <span class="mi">0</span><span class="p">;</span> </span><span id="L-330"><a href="#L-330"><span class="linenos" data-line="330"></span></a> <span class="kr">end</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> <span class="n">plain</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span> <span class="n">plain</span> <span class="p">);</span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> <span class="kd">local</span> <span class="n">start</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">find</span><span class="p">(</span> <span class="n">source_str</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">start_pos</span><span class="p">,</span> <span class="n">plain</span> <span class="p">)</span> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a> <span class="kr">if</span> <span class="n">start</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a> <span class="n">start</span> <span class="o">=</span> <span class="mi">0</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a> <span class="kr">end</span> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a> <span class="kr">return</span> <span class="n">start</span> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a><span class="kr">end</span> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a><span class="cm">--[[</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a><span class="cm">replace</span> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a> </span><span id="L-345"><a href="#L-345"><span class="linenos" data-line="345"></span></a><span class="cm">This function allows one to replace a target string or pattern within another</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a><span class="cm">string.</span> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a><span class="cm">Usage:</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></span></a><span class="cm">{{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}}</span> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></span></a><span class="cm">OR</span> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a><span class="cm">{{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string|</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a><span class="cm"> count=replacement_count|plain=plain_flag}}</span> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a><span class="cm">Parameters</span> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a><span class="cm"> source: The string to search</span> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a><span class="cm"> pattern: The string or pattern to find within source</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a><span class="cm"> replace: The replacement text</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a><span class="cm"> count: The number of occurences to replace, defaults to all.</span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a><span class="cm"> plain: Boolean flag indicating that pattern should be understood as plain</span> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></span></a><span class="cm"> text and not as a Lua style regular expression, defaults to true</span> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a><span class="cm">]]</span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">replace</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'source'</span><span class="p">,</span> <span class="s1">'pattern'</span><span class="p">,</span> <span class="s1">'replace'</span><span class="p">,</span> <span class="s1">'count'</span><span class="p">,</span> <span class="s1">'plain'</span> <span class="p">}</span> <span class="p">);</span> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a> <span class="kd">local</span> <span class="n">source_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'source'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a> <span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'pattern'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a> <span class="kd">local</span> <span class="n">replace</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'replace'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">;</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">count</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'count'</span><span class="p">]</span> <span class="p">);</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a> <span class="kd">local</span> <span class="n">plain</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'plain'</span><span class="p">]</span> <span class="ow">or</span> <span class="kc">true</span><span class="p">;</span> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></span></a> <span class="kr">if</span> <span class="n">source_str</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">or</span> <span class="n">pattern</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a> <span class="kr">return</span> <span class="n">source_str</span><span class="p">;</span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a> <span class="kr">end</span> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a> <span class="n">plain</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span> <span class="n">plain</span> <span class="p">);</span> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a> <span class="kr">if</span> <span class="n">plain</span> <span class="kr">then</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_escapePattern</span><span class="p">(</span> <span class="n">pattern</span> <span class="p">);</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a> <span class="n">replace</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">gsub</span><span class="p">(</span> <span class="n">replace</span><span class="p">,</span> <span class="s2">"%%"</span><span class="p">,</span> <span class="s2">"%%%%"</span> <span class="p">);</span> <span class="c1">--Only need to escape replacement sequences.</span> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></span></a> <span class="kr">end</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a> <span class="kd">local</span> <span class="n">result</span><span class="p">;</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a> <span class="kr">if</span> <span class="n">count</span> <span class="o">~=</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a> <span class="n">result</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">gsub</span><span class="p">(</span> <span class="n">source_str</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">replace</span><span class="p">,</span> <span class="n">count</span> <span class="p">);</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a> <span class="kr">else</span> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a> <span class="n">result</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">gsub</span><span class="p">(</span> <span class="n">source_str</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">replace</span> <span class="p">);</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a> <span class="kr">end</span> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></span></a> </span><span id="L-388"><a href="#L-388"><span class="linenos" data-line="388"></span></a> <span class="kr">return</span> <span class="n">result</span><span class="p">;</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><span id="L-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a><span class="cm">--[[</span> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a><span class="cm"> simple function to pipe string.rep to templates.</span> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a><span class="cm">]]</span> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a> </span><span id="L-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">rep</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a> <span class="kd">local</span> <span class="n">repetitions</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="p">)</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="ow">not</span> <span class="n">repetitions</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">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'function rep expects a number as second parameter, received "'</span> <span class="o">..</span> <span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> <span class="p">)</span> <span class="o">..</span> <span class="s1">'"'</span> <span class="p">)</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a> <span class="kr">end</span> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></span></a> <span class="kr">return</span> <span class="nb">string.rep</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">,</span> <span class="n">repetitions</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><span id="L-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a><span class="cm">--[[</span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a><span class="cm">escapePattern</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a> </span><span id="L-406"><a href="#L-406"><span class="linenos" data-line="406"></span></a><span class="cm">This function escapes special characters from a Lua string pattern. See [1]</span> </span><span id="L-407"><a href="#L-407"><span class="linenos" data-line="407"></span></a><span class="cm">for details on how patterns work.</span> </span><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></span></a><span class="cm">[1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns</span> </span><span id="L-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a><span class="cm">Usage:</span> </span><span id="L-412"><a href="#L-412"><span class="linenos" data-line="412"></span></a><span class="cm">{{#invoke:String|escapePattern|pattern_string}}</span> </span><span id="L-413"><a href="#L-413"><span class="linenos" data-line="413"></span></a> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a><span class="cm">Parameters</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a><span class="cm"> pattern_string: The pattern string to escape.</span> </span><span id="L-416"><a href="#L-416"><span class="linenos" data-line="416"></span></a><span class="cm">]]</span> </span><span id="L-417"><a href="#L-417"><span class="linenos" data-line="417"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">escapePattern</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-418"><a href="#L-418"><span class="linenos" data-line="418"></span></a> <span class="kd">local</span> <span class="n">pattern_str</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> </span><span id="L-419"><a href="#L-419"><span class="linenos" data-line="419"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">pattern_str</span> <span class="kr">then</span> </span><span id="L-420"><a href="#L-420"><span class="linenos" data-line="420"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'No pattern string specified'</span> <span class="p">);</span> </span><span id="L-421"><a href="#L-421"><span class="linenos" data-line="421"></span></a> <span class="kr">end</span> </span><span id="L-422"><a href="#L-422"><span class="linenos" data-line="422"></span></a> <span class="kd">local</span> <span class="n">result</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_escapePattern</span><span class="p">(</span> <span class="n">pattern_str</span> <span class="p">)</span> </span><span id="L-423"><a href="#L-423"><span class="linenos" data-line="423"></span></a> <span class="kr">return</span> <span class="n">result</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><span id="L-426"><a href="#L-426"><span class="linenos" data-line="426"></span></a><span class="cm">--[[</span> </span><span id="L-427"><a href="#L-427"><span class="linenos" data-line="427"></span></a><span class="cm">Helper function that populates the argument list given that user may need to use a mix of</span> </span><span id="L-428"><a href="#L-428"><span class="linenos" data-line="428"></span></a><span class="cm">named and unnamed parameters. This is relevant because named parameters are not</span> </span><span id="L-429"><a href="#L-429"><span class="linenos" data-line="429"></span></a><span class="cm">identical to unnamed parameters due to string trimming, and when dealing with strings</span> </span><span id="L-430"><a href="#L-430"><span class="linenos" data-line="430"></span></a><span class="cm">we sometimes want to either preserve or remove that whitespace depending on the application.</span> </span><span id="L-431"><a href="#L-431"><span class="linenos" data-line="431"></span></a><span class="cm">]]</span> </span><span id="L-432"><a href="#L-432"><span class="linenos" data-line="432"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_getParameters</span><span class="p">(</span> <span class="n">frame_args</span><span class="p">,</span> <span class="n">arg_list</span> <span class="p">)</span> </span><span id="L-433"><a href="#L-433"><span class="linenos" data-line="433"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="p">{};</span> </span><span id="L-434"><a href="#L-434"><span class="linenos" data-line="434"></span></a> <span class="kd">local</span> <span class="n">index</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-435"><a href="#L-435"><span class="linenos" data-line="435"></span></a> <span class="kd">local</span> <span class="n">value</span><span class="p">;</span> </span><span id="L-436"><a href="#L-436"><span class="linenos" data-line="436"></span></a> </span><span id="L-437"><a href="#L-437"><span class="linenos" data-line="437"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span><span class="n">arg</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span> <span class="n">arg_list</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-438"><a href="#L-438"><span class="linenos" data-line="438"></span></a> <span class="n">value</span> <span class="o">=</span> <span class="n">frame_args</span><span class="p">[</span><span class="n">arg</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">if</span> <span class="n">value</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-440"><a href="#L-440"><span class="linenos" data-line="440"></span></a> <span class="n">value</span> <span class="o">=</span> <span class="n">frame_args</span><span class="p">[</span><span class="n">index</span><span class="p">];</span> </span><span id="L-441"><a href="#L-441"><span class="linenos" data-line="441"></span></a> <span class="n">index</span> <span class="o">=</span> <span class="n">index</span> <span class="o">+</span> <span class="mi">1</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="n">new_args</span><span class="p">[</span><span class="n">arg</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span> </span><span id="L-444"><a href="#L-444"><span class="linenos" data-line="444"></span></a> <span class="kr">end</span> </span><span id="L-445"><a href="#L-445"><span class="linenos" data-line="445"></span></a> </span><span id="L-446"><a href="#L-446"><span class="linenos" data-line="446"></span></a> <span class="kr">return</span> <span class="n">new_args</span><span class="p">;</span> </span><span id="L-447"><a href="#L-447"><span class="linenos" data-line="447"></span></a><span class="kr">end</span> </span><span id="L-448"><a href="#L-448"><span class="linenos" data-line="448"></span></a> </span><span id="L-449"><a href="#L-449"><span class="linenos" data-line="449"></span></a><span class="cm">--[[</span> </span><span id="L-450"><a href="#L-450"><span class="linenos" data-line="450"></span></a><span class="cm">Helper function to handle error messages.</span> </span><span id="L-451"><a href="#L-451"><span class="linenos" data-line="451"></span></a><span class="cm">]]</span> </span><span id="L-452"><a href="#L-452"><span class="linenos" data-line="452"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_error</span><span class="p">(</span> <span class="n">error_str</span> <span class="p">)</span> </span><span id="L-453"><a href="#L-453"><span class="linenos" data-line="453"></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-454"><a href="#L-454"><span class="linenos" data-line="454"></span></a> <span class="kd">local</span> <span class="n">error_category</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">error_category</span> <span class="ow">or</span> <span class="s1">'Errors reported by Module String'</span><span class="p">;</span> </span><span id="L-455"><a href="#L-455"><span class="linenos" data-line="455"></span></a> <span class="kd">local</span> <span class="n">ignore_errors</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">ignore_errors</span> <span class="ow">or</span> <span class="kc">false</span><span class="p">;</span> </span><span id="L-456"><a href="#L-456"><span class="linenos" data-line="456"></span></a> <span class="kd">local</span> <span class="n">no_category</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">no_category</span> <span class="ow">or</span> <span class="kc">false</span><span class="p">;</span> </span><span id="L-457"><a href="#L-457"><span class="linenos" data-line="457"></span></a> </span><span id="L-458"><a href="#L-458"><span class="linenos" data-line="458"></span></a> <span class="kr">if</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span><span class="n">ignore_errors</span><span class="p">)</span> <span class="kr">then</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="s1">''</span><span class="p">;</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><span id="L-462"><a href="#L-462"><span class="linenos" data-line="462"></span></a> <span class="kd">local</span> <span class="n">error_str</span> <span class="o">=</span> <span class="s1">'<strong class="error">String Module Error: '</span> <span class="o">..</span> <span class="n">error_str</span> <span class="o">..</span> <span class="s1">'</strong>'</span><span class="p">;</span> </span><span id="L-463"><a href="#L-463"><span class="linenos" data-line="463"></span></a> <span class="kr">if</span> <span class="n">error_category</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span> <span class="n">no_category</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-464"><a href="#L-464"><span class="linenos" data-line="464"></span></a> <span class="n">error_str</span> <span class="o">=</span> <span class="s1">'[[Category:'</span> <span class="o">..</span> <span class="n">error_category</span> <span class="o">..</span> <span class="s1">']]'</span> <span class="o">..</span> <span class="n">error_str</span><span class="p">;</span> </span><span id="L-465"><a href="#L-465"><span class="linenos" data-line="465"></span></a> <span class="kr">end</span> </span><span id="L-466"><a href="#L-466"><span class="linenos" data-line="466"></span></a> </span><span id="L-467"><a href="#L-467"><span class="linenos" data-line="467"></span></a> <span class="kr">return</span> <span class="n">error_str</span><span class="p">;</span> </span><span id="L-468"><a href="#L-468"><span class="linenos" data-line="468"></span></a><span class="kr">end</span> </span><span id="L-469"><a href="#L-469"><span class="linenos" data-line="469"></span></a> </span><span id="L-470"><a href="#L-470"><span class="linenos" data-line="470"></span></a><span class="cm">--[[</span> </span><span id="L-471"><a href="#L-471"><span class="linenos" data-line="471"></span></a><span class="cm">Helper Function to interpret boolean strings</span> </span><span id="L-472"><a href="#L-472"><span class="linenos" data-line="472"></span></a><span class="cm">]]</span> </span><span id="L-473"><a href="#L-473"><span class="linenos" data-line="473"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_getBoolean</span><span class="p">(</span> <span class="n">boolean_str</span> <span class="p">)</span> </span><span id="L-474"><a href="#L-474"><span class="linenos" data-line="474"></span></a> <span class="kd">local</span> <span class="n">boolean_value</span><span class="p">;</span> </span><span id="L-475"><a href="#L-475"><span class="linenos" data-line="475"></span></a> </span><span id="L-476"><a href="#L-476"><span class="linenos" data-line="476"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">boolean_str</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</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">boolean_str</span> <span class="o">=</span> <span class="n">boolean_str</span><span class="p">:</span><span class="n">lower</span><span class="p">();</span> </span><span id="L-478"><a href="#L-478"><span class="linenos" data-line="478"></span></a> <span class="kr">if</span> <span class="n">boolean_str</span> <span class="o">==</span> <span class="s1">'false'</span> <span class="ow">or</span> <span class="n">boolean_str</span> <span class="o">==</span> <span class="s1">'no'</span> <span class="ow">or</span> <span class="n">boolean_str</span> <span class="o">==</span> <span class="s1">'0'</span> </span><span id="L-479"><a href="#L-479"><span class="linenos" data-line="479"></span></a> <span class="ow">or</span> <span class="n">boolean_str</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-480"><a href="#L-480"><span class="linenos" data-line="480"></span></a> <span class="n">boolean_value</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span> </span><span id="L-481"><a href="#L-481"><span class="linenos" data-line="481"></span></a> <span class="kr">else</span> </span><span id="L-482"><a href="#L-482"><span class="linenos" data-line="482"></span></a> <span class="n">boolean_value</span> <span class="o">=</span> <span class="kc">true</span><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 class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span> <span class="n">boolean_str</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'boolean'</span> <span class="kr">then</span> </span><span id="L-485"><a href="#L-485"><span class="linenos" data-line="485"></span></a> <span class="n">boolean_value</span> <span class="o">=</span> <span class="n">boolean_str</span><span class="p">;</span> </span><span id="L-486"><a href="#L-486"><span class="linenos" data-line="486"></span></a> <span class="kr">else</span> </span><span id="L-487"><a href="#L-487"><span class="linenos" data-line="487"></span></a> <span class="nb">error</span><span class="p">(</span> <span class="s1">'No boolean value found'</span> <span class="p">);</span> </span><span id="L-488"><a href="#L-488"><span class="linenos" data-line="488"></span></a> <span class="kr">end</span> </span><span id="L-489"><a href="#L-489"><span class="linenos" data-line="489"></span></a> <span class="kr">return</span> <span class="n">boolean_value</span> </span><span id="L-490"><a href="#L-490"><span class="linenos" data-line="490"></span></a><span class="kr">end</span> </span><span id="L-491"><a href="#L-491"><span class="linenos" data-line="491"></span></a> </span><span id="L-492"><a href="#L-492"><span class="linenos" data-line="492"></span></a><span class="cm">--[[</span> </span><span id="L-493"><a href="#L-493"><span class="linenos" data-line="493"></span></a><span class="cm">Helper function that escapes all pattern characters so that they will be treated</span> </span><span id="L-494"><a href="#L-494"><span class="linenos" data-line="494"></span></a><span class="cm">as plain text.</span> </span><span id="L-495"><a href="#L-495"><span class="linenos" data-line="495"></span></a><span class="cm">]]</span> </span><span id="L-496"><a href="#L-496"><span class="linenos" data-line="496"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_escapePattern</span><span class="p">(</span> <span class="n">pattern_str</span> <span class="p">)</span> </span><span id="L-497"><a href="#L-497"><span class="linenos" data-line="497"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">gsub</span><span class="p">(</span> <span class="n">pattern_str</span><span class="p">,</span> <span class="s2">"([%(%)%.%%%+%-%*%?%[%^%$%]])"</span><span class="p">,</span> <span class="s2">"%%%1"</span> <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="kr">return</span> <span class="n">str</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐lwkv4 Cached time: 20241123111316 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.255 seconds Real time usage: 0.408 seconds Preprocessor visited node count: 3086/1000000 Post‐expand include size: 90048/2097152 bytes Template argument size: 13087/2097152 bytes Highest expansion depth: 21/100 Expensive parser function count: 93/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 7060/5000000 bytes Lua time usage: 0.219/10.000 seconds Lua memory usage: 2255731/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 379.284 1 -total 100.00% 379.284 1 Template:Documentation 42.05% 159.484 1 Template:Languages 37.33% 141.572 1 Template:Nmbox 28.35% 107.538 157 Template:Languages/Lang 9.70% 36.805 2 Template:Module_rating 7.88% 29.870 5 Template:Module_other 7.04% 26.685 2 Template:Ombox 6.83% 25.886 4 Template:Ll 4.45% 16.888 8 Template:Translatable --> </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://www.mediawiki.org/w/index.php?title=Module:String&oldid=4039256">https://www.mediawiki.org/w/index.php?title=Module:String&oldid=4039256</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Category</a>: <ul><li><a href="/wiki/Category:Modules" title="Category:Modules">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:Pages_using_the_JsonConfig_extension" title="Category:Pages using the JsonConfig extension">Pages using the JsonConfig extension</a></li><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:Languages_pages" title="Category:Languages pages">Languages pages</a></li><li><a href="/wiki/Category:Modules_for_general_use" title="Category:Modules for general use">Modules for general use</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 17 August 2020, at 07:56.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</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/Project:About">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Project:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/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/#/www.mediawiki.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="//m.mediawiki.org/w/index.php?title=Module:String&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-f69cdc8f6-lwkv4","wgBackendResponseTime":583,"wgPageParseReport":{"limitreport":{"cputime":"0.255","walltime":"0.408","ppvisitednodes":{"value":3086,"limit":1000000},"postexpandincludesize":{"value":90048,"limit":2097152},"templateargumentsize":{"value":13087,"limit":2097152},"expansiondepth":{"value":21,"limit":100},"expensivefunctioncount":{"value":93,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":7060,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 379.284 1 -total","100.00% 379.284 1 Template:Documentation"," 42.05% 159.484 1 Template:Languages"," 37.33% 141.572 1 Template:Nmbox"," 28.35% 107.538 157 Template:Languages/Lang"," 9.70% 36.805 2 Template:Module_rating"," 7.88% 29.870 5 Template:Module_other"," 7.04% 26.685 2 Template:Ombox"," 6.83% 25.886 4 Template:Ll"," 4.45% 16.888 8 Template:Translatable"]},"scribunto":{"limitreport-timeusage":{"value":"0.219","limit":"10.000"},"limitreport-memusage":{"value":2255731,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-lwkv4","timestamp":"20241123111316","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>