CINXE.COM
Modulo:String - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="it" dir="ltr"> <head> <meta charset="UTF-8"> <title>Modulo:String - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )itwikimwclientpreferences=([^;]+)/);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":[",\t."," \t,"],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],"wgRequestId":"8d67538e-e260-4de3-9a32-fd20fd4f9ecc","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Modulo:String","wgTitle":"String","wgCurRevisionId":126762187,"wgRevisionId":126762187,"wgArticleId":4470159,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Moduli protetti","Moduli"],"wgPageViewLanguage":"it","wgPageContentLanguage":"it","wgPageContentModel":"Scribunto","wgRelevantPageName":"Modulo:String","wgRelevantArticleId":4470159,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true, "wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q7253814","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready", "user.options":"loading","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.stru-commonsupload","ext.gadget.HiddenCat","ext.gadget.ReferenceTooltips","ext.gadget.TitoloErrato","ext.gadget.NewSection","ext.gadget.RichiediRevisioneBozza","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns", "wikibase.client.vector-2022","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=it&modules=ext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=it&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=it&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:title" content="Modulo:String - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//it.m.wikipedia.org/wiki/Modulo:String"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (it)"> <link rel="EditURI" type="application/rsd+xml" href="//it.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://it.wikipedia.org/wiki/Modulo:String"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.it"> <link rel="alternate" type="application/atom+xml" title="Feed Atom di Wikipedia" href="/w/index.php?title=Speciale:UltimeModifiche&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-Modulo_String rootpage-Modulo_String skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Vai al contenuto</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="Sito"> <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="Menu principale" > <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">Menu principale</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">Menu principale</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">sposta nella barra laterale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">nascondi</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigazione </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Pagina_principale" title="Visita la pagina principale [z]" accesskey="z"><span>Pagina principale</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Speciale:UltimeModifiche" title="Elenco delle ultime modifiche del sito [r]" accesskey="r"><span>Ultime modifiche</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Speciale:PaginaCasuale" title="Mostra una pagina a caso [x]" accesskey="x"><span>Una voce a caso</span></a></li><li id="n-nearby-pages-title" class="mw-list-item"><a href="/wiki/Speciale:NelleVicinanze"><span>Nelle vicinanze</span></a></li><li id="n-vetrina" class="mw-list-item"><a href="/wiki/Wikipedia:Vetrina"><span>Vetrina</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Aiuto:Aiuto" title="Pagine di aiuto"><span>Aiuto</span></a></li><li id="n-Sportello-informazioni" class="mw-list-item"><a href="/wiki/Aiuto:Sportello_informazioni"><span>Sportello informazioni</span></a></li> </ul> </div> </div> <div id="p-Comunità" class="vector-menu mw-portlet mw-portlet-Comunità" > <div class="vector-menu-heading"> Comunità </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Portale:Comunit%C3%A0" title="Descrizione del progetto, cosa puoi fare, dove trovare le cose"><span>Portale Comunità</span></a></li><li id="n-villagepump" class="mw-list-item"><a href="/wiki/Wikipedia:Bar"><span>Bar</span></a></li><li id="n-wikipediano" class="mw-list-item"><a href="/wiki/Wikipedia:Wikipediano"><span>Il Wikipediano</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="/wiki/Wikipedia:Contatti"><span>Contatti</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Pagina_principale" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="L'enciclopedia libera" src="/static/images/mobile/copyright/wikipedia-tagline-it.svg" width="120" height="13" style="width: 7.5em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Speciale:Ricerca" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Cerca in Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Ricerca</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="Cerca in Wikipedia" aria-label="Cerca in Wikipedia" autocapitalize="sentences" title="Cerca in Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Speciale:Ricerca"> </div> <button class="cdx-button cdx-search-input__end-button">Ricerca</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Strumenti personali"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Aspetto"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Modifica la dimensione, la larghezza e il colore del testo" > <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="Aspetto" > <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">Aspetto</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="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_it.wikipedia.org&uselang=it" class=""><span>Fai una donazione</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=Speciale:CreaUtenza&returnto=Modulo%3AString" title="Si consiglia di registrarsi e di effettuare l'accesso, anche se non è obbligatorio" class=""><span>registrati</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=Speciale:Entra&returnto=Modulo%3AString" title="Si consiglia di effettuare l'accesso, anche se non è obbligatorio [o]" accesskey="o" class=""><span>entra</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="Altre opzioni" > <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="Strumenti personali" > <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">Strumenti personali</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="Menu utente" > <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="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_it.wikipedia.org&uselang=it"><span>Fai una donazione</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Speciale:CreaUtenza&returnto=Modulo%3AString" title="Si consiglia di registrarsi e di effettuare l'accesso, anche se non è obbligatorio"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>registrati</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Speciale:Entra&returnto=Modulo%3AString" title="Si consiglia di effettuare l'accesso, anche se non è obbligatorio [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>entra</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"> Pagine per utenti anonimi <a href="/wiki/Aiuto:Benvenuto" aria-label="Ulteriori informazioni sulla contribuzione"><span>ulteriori informazioni</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/Speciale:MieiContributi" title="Un elenco delle modifiche fatte da questo indirizzo IP [y]" accesskey="y"><span>contributi</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Speciale:MieDiscussioni" title="Discussioni sulle modifiche fatte da questo indirizzo IP [n]" accesskey="n"><span>discussioni</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="Sito"> <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="Indice" 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">Indice</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">sposta nella barra laterale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">nascondi</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">Inizio</div> </a> </li> <li id="toc-Chiamata_delle_funzioni" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Chiamata_delle_funzioni"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Chiamata delle funzioni</span> </div> </a> <button aria-controls="toc-Chiamata_delle_funzioni-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Attiva/disattiva la sottosezione Chiamata delle funzioni</span> </button> <ul id="toc-Chiamata_delle_funzioni-sublist" class="vector-toc-list"> <li id="toc-Opzioni_globali" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Opzioni_globali"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Opzioni globali</span> </div> </a> <ul id="toc-Opzioni_globali-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Funzioni" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Funzioni"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Funzioni</span> </div> </a> <button aria-controls="toc-Funzioni-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Attiva/disattiva la sottosezione Funzioni</span> </button> <ul id="toc-Funzioni-sublist" class="vector-toc-list"> <li id="toc-len" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#len"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</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-2"> <a class="vector-toc-link" href="#sub"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</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-2"> <a class="vector-toc-link" href="#match"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</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-2"> <a class="vector-toc-link" href="#pos"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4</span> <span>pos</span> </div> </a> <ul id="toc-pos-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-str_find" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#str_find"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.5</span> <span>str_find</span> </div> </a> <ul id="toc-str_find-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-find" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#find"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.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-2"> <a class="vector-toc-link" href="#replace"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.7</span> <span>replace</span> </div> </a> <ul id="toc-replace-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-arraytostring" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#arraytostring"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.8</span> <span>arraytostring</span> </div> </a> <ul id="toc-arraytostring-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-collate" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#collate"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.9</span> <span>collate</span> </div> </a> <ul id="toc-collate-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-decode" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#decode"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.10</span> <span>decode</span> </div> </a> <ul id="toc-decode-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-titolo_alfa" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#titolo_alfa"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.11</span> <span>titolo_alfa</span> </div> </a> <ul id="toc-titolo_alfa-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Unit_test" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Unit_test"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Unit test</span> </div> </a> <ul id="toc-Unit_test-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Documentazione_sui_pattern_Lua" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Documentazione_sui_pattern_Lua"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Documentazione sui pattern Lua</span> </div> </a> <ul id="toc-Documentazione_sui_pattern_Lua-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="Indice" 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="Mostra/Nascondi l'indice" > <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">Mostra/Nascondi l'indice</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">Modulo</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">String</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Vai a una voce in un'altra lingua. Disponibile in 256 lingue" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-256" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">256 lingue</span> </label> <div class="vector-dropdown-content"> <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 - abcaso" lang="ab" hreflang="ab" data-title="Амодуль:String" data-language-autonym="Аԥсшәа" data-language-local-name="abcaso" 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 - accinese" lang="ace" hreflang="ace" data-title="Modul:String" data-language-autonym="Acèh" data-language-local-name="accinese" 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 - tedesco svizzero" lang="gsw" hreflang="gsw" data-title="Modul:Str" data-language-autonym="Alemannisch" data-language-local-name="tedesco svizzero" 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 - altai meridionale" lang="alt" hreflang="alt" data-title="Модуль:String" data-language-autonym="Алтай тил" data-language-local-name="altai meridionale" 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 - amarico" lang="am" hreflang="am" data-title="Module:String" data-language-autonym="አማርኛ" data-language-local-name="amarico" 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 - inglese antico" lang="ang" hreflang="ang" data-title="Module:String" data-language-autonym="Ænglisc" data-language-local-name="inglese antico" 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 - arabo" lang="ar" hreflang="ar" data-title="وحدة:String" data-language-autonym="العربية" data-language-local-name="arabo" 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 - arabo marocchino" lang="ary" hreflang="ary" data-title="مودول:String" data-language-autonym="الدارجة" data-language-local-name="arabo marocchino" 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 - arabo egiziano" lang="arz" hreflang="arz" data-title="وحدة:String" data-language-autonym="مصرى" data-language-local-name="arabo egiziano" 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 - asturiano" lang="ast" hreflang="ast" data-title="Módulu:String" data-language-autonym="Asturianu" data-language-local-name="asturiano" 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 - avaro" lang="av" hreflang="av" data-title="Модуль:String" data-language-autonym="Авар" data-language-local-name="avaro" 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 - azerbaigiano" lang="az" hreflang="az" data-title="Modul:String" data-language-autonym="Azərbaycanca" data-language-local-name="azerbaigiano" 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 - baschiro" lang="ba" hreflang="ba" data-title="Модуль:String" data-language-autonym="Башҡортса" data-language-local-name="baschiro" 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 - bavarese" lang="bar" hreflang="bar" data-title="Modul:Str" data-language-autonym="Boarisch" data-language-local-name="bavarese" 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 - bielorusso" lang="be" hreflang="be" data-title="Модуль:String" data-language-autonym="Беларуская" data-language-local-name="bielorusso" 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 - bulgaro" lang="bg" hreflang="bg" data-title="Модул:String" data-language-autonym="Български" data-language-local-name="bulgaro" 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 - bengalese" lang="bn" hreflang="bn" data-title="মডিউল:String" data-language-autonym="বাংলা" data-language-local-name="bengalese" 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 - bretone" lang="br" hreflang="br" data-title="Modulenn:String" data-language-autonym="Brezhoneg" data-language-local-name="bretone" 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 - bosniaco" lang="bs" hreflang="bs" data-title="Modul:String" data-language-autonym="Bosanski" data-language-local-name="bosniaco" 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 - catalano" lang="ca" hreflang="ca" data-title="Mòdul:String" data-language-autonym="Català" data-language-local-name="catalano" 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 - ceceno" lang="ce" hreflang="ce" data-title="Модуль:String" data-language-autonym="Нохчийн" data-language-local-name="ceceno" 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 - curdo centrale" lang="ckb" hreflang="ckb" data-title="مۆدیوول:String" data-language-autonym="کوردی" data-language-local-name="curdo centrale" 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 - corso" lang="co" hreflang="co" data-title="Modulo:String" data-language-autonym="Corsu" data-language-local-name="corso" 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 - turco crimeo" lang="crh" hreflang="crh" data-title="Modul:String" data-language-autonym="Qırımtatarca" data-language-local-name="turco crimeo" 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 - ceco" lang="cs" hreflang="cs" data-title="Modul:String" data-language-autonym="Čeština" data-language-local-name="ceco" 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 - ciuvascio" lang="cv" hreflang="cv" data-title="Модуль:String" data-language-autonym="Чӑвашла" data-language-local-name="ciuvascio" 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 - gallese" lang="cy" hreflang="cy" data-title="Modiwl:String" data-language-autonym="Cymraeg" data-language-local-name="gallese" 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 - danese" lang="da" hreflang="da" data-title="Modul:String" data-language-autonym="Dansk" data-language-local-name="danese" 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 - tedesco" lang="de" hreflang="de" data-title="Modul:Str" data-language-autonym="Deutsch" data-language-local-name="tedesco" 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 - dinca" lang="din" hreflang="din" data-title="Mukääcëtök:String" data-language-autonym="Thuɔŋjäŋ" data-language-local-name="dinca" 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 - basso sorabo" lang="dsb" hreflang="dsb" data-title="Modul:String" data-language-autonym="Dolnoserbski" data-language-local-name="basso sorabo" 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 - greco" lang="el" hreflang="el" data-title="Module:String" data-language-autonym="Ελληνικά" data-language-local-name="greco" 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 - inglese" lang="en" hreflang="en" data-title="Module:String" data-language-autonym="English" data-language-local-name="inglese" 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 - spagnolo" lang="es" hreflang="es" data-title="Módulo:String" data-language-autonym="Español" data-language-local-name="spagnolo" 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 - estone" lang="et" hreflang="et" data-title="Moodul:String" data-language-autonym="Eesti" data-language-local-name="estone" 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 - basco" lang="eu" hreflang="eu" data-title="Modulu:String" data-language-autonym="Euskara" data-language-local-name="basco" 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 - persiano" lang="fa" hreflang="fa" data-title="پودمان:String" data-language-autonym="فارسی" data-language-local-name="persiano" 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 - finlandese" lang="fi" hreflang="fi" data-title="Moduuli:String" data-language-autonym="Suomi" data-language-local-name="finlandese" 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 - figiano" lang="fj" hreflang="fj" data-title="Module:String" data-language-autonym="Na Vosa Vakaviti" data-language-local-name="figiano" 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 - francese" lang="fr" hreflang="fr" data-title="Module:String" data-language-autonym="Français" data-language-local-name="francese" 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 - francoprovenzale" lang="frp" hreflang="frp" data-title="Module:String" data-language-autonym="Arpetan" data-language-local-name="francoprovenzale" 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 - frisone settentrionale" lang="frr" hreflang="frr" data-title="Modul:Str" data-language-autonym="Nordfriisk" data-language-local-name="frisone settentrionale" 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 - friulano" lang="fur" hreflang="fur" data-title="Modulo:String" data-language-autonym="Furlan" data-language-local-name="friulano" 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 - frisone occidentale" lang="fy" hreflang="fy" data-title="Module:String" data-language-autonym="Frysk" data-language-local-name="frisone occidentale" 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 - irlandese" lang="ga" hreflang="ga" data-title="Module:String" data-language-autonym="Gaeilge" data-language-local-name="irlandese" 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 - gaelico scozzese" lang="gd" hreflang="gd" data-title="Mòideal:String" data-language-autonym="Gàidhlig" data-language-local-name="gaelico scozzese" 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 - galiziano" lang="gl" hreflang="gl" data-title="Módulo:String" data-language-autonym="Galego" data-language-local-name="galiziano" 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 - guaraní" lang="gn" hreflang="gn" data-title="Módulo:String" data-language-autonym="Avañe'ẽ" data-language-local-name="guaraní" 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 - konkani goano" lang="gom" hreflang="gom" data-title="एकक:String" data-language-autonym="गोंयची कोंकणी / Gõychi Konknni" data-language-local-name="konkani goano" 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" lang="hak" hreflang="hak" data-title="模組:String" data-language-autonym="客家語 / Hak-kâ-ngî" data-language-local-name="hakka" 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 - hawaiano" lang="haw" hreflang="haw" data-title="Module:String" data-language-autonym="Hawaiʻi" data-language-local-name="hawaiano" 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 - ebraico" lang="he" hreflang="he" data-title="יחידה:String" data-language-autonym="עברית" data-language-local-name="ebraico" 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 - hindi figiano" lang="hif" hreflang="hif" data-title="Module:String" data-language-autonym="Fiji Hindi" data-language-local-name="hindi figiano" 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 - croato" lang="hr" hreflang="hr" data-title="Modul:String" data-language-autonym="Hrvatski" data-language-local-name="croato" 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 - alto sorabo" lang="hsb" hreflang="hsb" data-title="Modul:String" data-language-autonym="Hornjoserbsce" data-language-local-name="alto sorabo" 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 - creolo haitiano" lang="ht" hreflang="ht" data-title="Module:String" data-language-autonym="Kreyòl ayisyen" data-language-local-name="creolo haitiano" 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 - ungherese" lang="hu" hreflang="hu" data-title="Modul:String" data-language-autonym="Magyar" data-language-local-name="ungherese" 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 - armeno" lang="hy" hreflang="hy" data-title="Մոդուլ:String" data-language-autonym="Հայերեն" data-language-local-name="armeno" 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 - indonesiano" lang="id" hreflang="id" data-title="Modul:String" data-language-autonym="Bahasa Indonesia" data-language-local-name="indonesiano" 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 - ilocano" lang="ilo" hreflang="ilo" data-title="Modulo:String" data-language-autonym="Ilokano" data-language-local-name="ilocano" 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 - islandese" lang="is" hreflang="is" data-title="Module:Strengur" data-language-autonym="Íslenska" data-language-local-name="islandese" class="interlanguage-link-target"><span>Íslenska</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 - giapponese" lang="ja" hreflang="ja" data-title="モジュール:String" data-language-autonym="日本語" data-language-local-name="giapponese" 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 - giavanese" lang="jv" hreflang="jv" data-title="Modhul:String" data-language-autonym="Jawa" data-language-local-name="giavanese" 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 - georgiano" lang="ka" hreflang="ka" data-title="მოდული:String" data-language-autonym="ქართული" data-language-local-name="georgiano" 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 - cabilo" lang="kab" hreflang="kab" data-title="Module:String" data-language-autonym="Taqbaylit" data-language-local-name="cabilo" 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 - cabardino" lang="kbd" hreflang="kbd" data-title="Module:String" data-language-autonym="Адыгэбзэ" data-language-local-name="cabardino" 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 - kazako" lang="kk" hreflang="kk" data-title="Module:String" data-language-autonym="Қазақша" data-language-local-name="kazako" 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 - coreano" lang="ko" hreflang="ko" data-title="모듈:String" data-language-autonym="한국어" data-language-local-name="coreano" 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 - permiaco" lang="koi" hreflang="koi" data-title="Модуль:String" data-language-autonym="Перем коми" data-language-local-name="permiaco" 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 - curdo" lang="ku" hreflang="ku" data-title="Modul:String" data-language-autonym="Kurdî" data-language-local-name="curdo" 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 - cornico" lang="kw" hreflang="kw" data-title="Module:String" data-language-autonym="Kernowek" data-language-local-name="cornico" 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 - kirghiso" lang="ky" hreflang="ky" data-title="Модуль:String" data-language-autonym="Кыргызча" data-language-local-name="kirghiso" 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 - latino" lang="la" hreflang="la" data-title="Modulus:String" data-language-autonym="Latina" data-language-local-name="latino" 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 - giudeo-spagnolo" lang="lad" hreflang="lad" data-title="Módulo:String" data-language-autonym="Ladino" data-language-local-name="giudeo-spagnolo" 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 - lussemburghese" lang="lb" hreflang="lb" data-title="Modul:String" data-language-autonym="Lëtzebuergesch" data-language-local-name="lussemburghese" 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 - lesgo" lang="lez" hreflang="lez" data-title="Модуль:String" data-language-autonym="Лезги" data-language-local-name="lesgo" 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 - ligure" lang="lij" hreflang="lij" data-title="Modulo:String" data-language-autonym="Ligure" data-language-local-name="ligure" 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 - lombardo" lang="lmo" hreflang="lmo" data-title="Mòdul:String" data-language-autonym="Lombard" data-language-local-name="lombardo" 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 - lituano" lang="lt" hreflang="lt" data-title="Module:String" data-language-autonym="Lietuvių" data-language-local-name="lituano" 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 - letgallo" lang="ltg" hreflang="ltg" data-title="Modulis:String" data-language-autonym="Latgaļu" data-language-local-name="letgallo" 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 - lettone" lang="lv" hreflang="lv" data-title="Modulis:String" data-language-autonym="Latviešu" data-language-local-name="lettone" 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 - malgascio" lang="mg" hreflang="mg" data-title="Module:String" data-language-autonym="Malagasy" data-language-local-name="malgascio" 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 - maori" lang="mi" hreflang="mi" data-title="Module:String" data-language-autonym="Māori" data-language-local-name="maori" 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 - menangkabau" lang="min" hreflang="min" data-title="Modul:String" data-language-autonym="Minangkabau" data-language-local-name="menangkabau" 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 - macedone" lang="mk" hreflang="mk" data-title="Модул:String" data-language-autonym="Македонски" data-language-local-name="macedone" 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 - mongolo" lang="mn" hreflang="mn" data-title="Module:String" data-language-autonym="Монгол" data-language-local-name="mongolo" 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 - mari occidentale" lang="mrj" hreflang="mrj" data-title="Модуль:String" data-language-autonym="Кырык мары" data-language-local-name="mari occidentale" 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 - malese" lang="ms" hreflang="ms" data-title="Modul:String" data-language-autonym="Bahasa Melayu" data-language-local-name="malese" 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 - birmano" lang="my" hreflang="my" data-title="မော်ဂျူး:String" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="birmano" 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 - mazandarani" lang="mzn" hreflang="mzn" data-title="ماژول:String" data-language-autonym="مازِرونی" data-language-local-name="mazandarani" 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 - napoletano" lang="nap" hreflang="nap" data-title="Modulo:String" data-language-autonym="Napulitano" data-language-local-name="napoletano" 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 - basso tedesco olandese" lang="nds-NL" hreflang="nds-NL" data-title="Module:String" data-language-autonym="Nedersaksies" data-language-local-name="basso tedesco olandese" 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 - nepalese" lang="ne" hreflang="ne" data-title="मोड्युल:String" data-language-autonym="नेपाली" data-language-local-name="nepalese" 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 - olandese" lang="nl" hreflang="nl" data-title="Module:String" data-language-autonym="Nederlands" data-language-local-name="olandese" 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 - norvegese nynorsk" lang="nn" hreflang="nn" data-title="Modul:String" data-language-autonym="Norsk nynorsk" data-language-local-name="norvegese 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 - norvegese bokmål" lang="nb" hreflang="nb" data-title="Modul:String" data-language-autonym="Norsk bokmål" data-language-local-name="norvegese 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 - sotho del nord" lang="nso" hreflang="nso" data-title="Module:String" data-language-autonym="Sesotho sa Leboa" data-language-local-name="sotho del nord" 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 - occitano" lang="oc" hreflang="oc" data-title="Mòdul:String" data-language-autonym="Occitan" data-language-local-name="occitano" 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 - ossetico" lang="os" hreflang="os" data-title="Модуль:String" data-language-autonym="Ирон" data-language-local-name="ossetico" 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 - piccardo" lang="pcd" hreflang="pcd" data-title="Module:String" data-language-autonym="Picard" data-language-local-name="piccardo" 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 - polacco" lang="pl" hreflang="pl" data-title="Moduł:String" data-language-autonym="Polski" data-language-local-name="polacco" 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 - piemontese" lang="pms" hreflang="pms" data-title="Modulo:String" data-language-autonym="Piemontèis" data-language-local-name="piemontese" 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 - portoghese" lang="pt" hreflang="pt" data-title="Módulo:String" data-language-autonym="Português" data-language-local-name="portoghese" 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 - romancio" lang="rm" hreflang="rm" data-title="Modul:Str" data-language-autonym="Rumantsch" data-language-local-name="romancio" 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 - rumeno" lang="ro" hreflang="ro" data-title="Modul:String" data-language-autonym="Română" data-language-local-name="rumeno" 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 - russo" lang="ru" hreflang="ru" data-title="Модуль:String" data-language-autonym="Русский" data-language-local-name="russo" 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 - ruteno" lang="rue" hreflang="rue" data-title="Модуль:String" data-language-autonym="Русиньскый" data-language-local-name="ruteno" 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 - sanscrito" lang="sa" hreflang="sa" data-title="पटलम्:String" data-language-autonym="संस्कृतम्" data-language-local-name="sanscrito" 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 - sacha" lang="sah" hreflang="sah" data-title="Модуль:String" data-language-autonym="Саха тыла" data-language-local-name="sacha" 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 - sardo" lang="sc" hreflang="sc" data-title="Module:String" data-language-autonym="Sardu" data-language-local-name="sardo" 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 - siciliano" lang="scn" hreflang="scn" data-title="Mòdulu:String" data-language-autonym="Sicilianu" data-language-local-name="siciliano" 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 - scozzese" lang="sco" hreflang="sco" data-title="Module:String" data-language-autonym="Scots" data-language-local-name="scozzese" 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 - sami del nord" lang="se" hreflang="se" data-title="Modula:String" data-language-autonym="Davvisámegiella" data-language-local-name="sami del nord" 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-croato" lang="sh" hreflang="sh" data-title="Modul:String" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="serbo-croato" 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 - tashelhit" lang="shi" hreflang="shi" data-title="Module:String" data-language-autonym="Taclḥit" data-language-local-name="tashelhit" 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 - singalese" lang="si" hreflang="si" data-title="Module:String" data-language-autonym="සිංහල" data-language-local-name="singalese" 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 - slovacco" lang="sk" hreflang="sk" data-title="Modul:String" data-language-autonym="Slovenčina" data-language-local-name="slovacco" 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 - sloveno" lang="sl" hreflang="sl" data-title="Modul:Niz" data-language-autonym="Slovenščina" data-language-local-name="sloveno" 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 - samoano" lang="sm" hreflang="sm" data-title="Module:String" data-language-autonym="Gagana Samoa" data-language-local-name="samoano" 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 - sami di Inari" lang="smn" hreflang="smn" data-title="Mooduul:String" data-language-autonym="Anarâškielâ" data-language-local-name="sami di Inari" 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 - somalo" lang="so" hreflang="so" data-title="Module:String" data-language-autonym="Soomaaliga" data-language-local-name="somalo" 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 - albanese" lang="sq" hreflang="sq" data-title="Moduli:String" data-language-autonym="Shqip" data-language-local-name="albanese" 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 - serbo" lang="sr" hreflang="sr" data-title="Модул:String" data-language-autonym="Српски / srpski" data-language-local-name="serbo" 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 - svedese" lang="sv" hreflang="sv" data-title="Modul:String" data-language-autonym="Svenska" data-language-local-name="svedese" 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 - slesiano" lang="szl" hreflang="szl" data-title="Moduł:String" data-language-autonym="Ślůnski" data-language-local-name="slesiano" 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 - tagico" lang="tg" hreflang="tg" data-title="Модул:String" data-language-autonym="Тоҷикӣ" data-language-local-name="tagico" 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 - thailandese" lang="th" hreflang="th" data-title="มอดูล:String" data-language-autonym="ไทย" data-language-local-name="thailandese" 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 - tigrino" lang="ti" hreflang="ti" data-title="ሞድዩል:String" data-language-autonym="ትግርኛ" data-language-local-name="tigrino" 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 - turcomanno" lang="tk" hreflang="tk" data-title="Module:String" data-language-autonym="Türkmençe" data-language-local-name="turcomanno" 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 - turco" lang="tr" hreflang="tr" data-title="Modül:Dizgi" data-language-autonym="Türkçe" data-language-local-name="turco" 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 - tataro" lang="tt" hreflang="tt" data-title="Модуль:String" data-language-autonym="Татарча / tatarça" data-language-local-name="tataro" 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 - ucraino" lang="uk" hreflang="uk" data-title="Модуль:String" data-language-autonym="Українська" data-language-local-name="ucraino" 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 - uzbeco" lang="uz" hreflang="uz" data-title="Modul:String" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="uzbeco" 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 - veneto" lang="vec" hreflang="vec" data-title="Modulo:String" data-language-autonym="Vèneto" data-language-local-name="veneto" 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 - vepso" lang="vep" hreflang="vep" data-title="Moodul:String" data-language-autonym="Vepsän kel’" data-language-local-name="vepso" 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 - vietnamita" lang="vi" hreflang="vi" data-title="Mô đun:String" data-language-autonym="Tiếng Việt" data-language-local-name="vietnamita" 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 - mengrelio" lang="xmf" hreflang="xmf" data-title="მოდული:String" data-language-autonym="მარგალური" data-language-local-name="mengrelio" 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 - cinese" lang="zh" hreflang="zh" data-title="Module:String" data-language-autonym="中文" data-language-local-name="cinese" 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 - cinese classico" lang="lzh" hreflang="lzh" data-title="模組:String" data-language-autonym="文言" data-language-local-name="cinese classico" 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 - min nan" lang="nan" hreflang="nan" data-title="模組:String" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="min nan" 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="Modifica collegamenti interlinguistici" class="wbc-editpage">Modifica collegamenti</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespace"> <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/Modulo:String" title="Vedi la pagina del modulo [c]" accesskey="c"><span>Modulo</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Discussioni_modulo:String" rel="discussion" title="Vedi le discussioni relative a questa pagina [t]" accesskey="t"><span>Discussione</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="Cambia versione linguistica" > <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="Visite"> <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/Modulo:String"><span>Leggi</span></a></li><li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Modulo:String&action=edit" title="Questa pagina è protetta, ma puoi vedere il suo codice sorgente [e]" accesskey="e"><span>Visualizza sorgente</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Modulo:String&action=history" title="Versioni precedenti di questa pagina [h]" accesskey="h"><span>Cronologia</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Strumenti pagine"> <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="Strumenti" > <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">Strumenti</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">Strumenti</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">sposta nella barra laterale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">nascondi</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="Altre opzioni" > <div class="vector-menu-heading"> Azioni </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/Modulo:String"><span>Leggi</span></a></li><li id="ca-more-viewsource" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Modulo:String&action=edit"><span>Visualizza sorgente</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Modulo:String&action=history"><span>Cronologia</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Generale </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Speciale:PuntanoQui/Modulo:String" title="Elenco di tutte le pagine che sono collegate a questa [j]" accesskey="j"><span>Puntano qui</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Speciale:ModificheCorrelate/Modulo:String" rel="nofollow" title="Elenco delle ultime modifiche alle pagine collegate a questa [k]" accesskey="k"><span>Modifiche correlate</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Speciale:PagineSpeciali" title="Elenco di tutte le pagine speciali [q]" accesskey="q"><span>Pagine speciali</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Modulo:String&oldid=126762187" title="Collegamento permanente a questa versione di questa pagina"><span>Link permanente</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Modulo:String&action=info" title="Ulteriori informazioni su questa pagina"><span>Informazioni pagina</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Speciale:UrlShortener&url=https%3A%2F%2Fit.wikipedia.org%2Fwiki%2FModulo%3AString"><span>Ottieni URL breve</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Speciale:QrCode&url=https%3A%2F%2Fit.wikipedia.org%2Fwiki%2FModulo%3AString"><span>Scarica codice QR</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"> Stampa/esporta </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=Speciale:DownloadAsPdf&page=Modulo%3AString&action=show-download-screen"><span>Scarica in formato PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Versione stampabile di questa pagina [p]" accesskey="p"><span>Versione stampabile</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 altri progetti </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-mediawiki mw-list-item"><a href="https://www.mediawiki.org/wiki/Module:String" hreflang="en"><span>MediaWiki</span></a></li><li class="wb-otherproject-link wb-otherproject-meta mw-list-item"><a href="https://meta.wikimedia.org/wiki/Module: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://it.wikibooks.org/wiki/Modulo:String" hreflang="it"><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-wikinews mw-list-item"><a href="https://it.wikinews.org/wiki/Modulo:String" hreflang="it"><span>Wikinotizie</span></a></li><li class="wb-otherproject-link wb-otherproject-wikisource mw-list-item"><a href="https://it.wikisource.org/wiki/Modulo:String" hreflang="it"><span>Wikisource</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiversity mw-list-item"><a href="https://it.wikiversity.org/wiki/Modulo:String" hreflang="it"><span>Wikiversità</span></a></li><li class="wb-otherproject-link wb-otherproject-wikivoyage mw-list-item"><a href="https://it.wikivoyage.org/wiki/Modulo:String" hreflang="it"><span>Wikivoyage</span></a></li><li class="wb-otherproject-link wb-otherproject-wiktionary mw-list-item"><a href="https://it.wiktionary.org/wiki/Modulo:String" hreflang="it"><span>Wikizionario</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="Collegamento all'elemento connesso dell'archivio dati [g]" accesskey="g"><span>Elemento Wikidata</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="Strumenti pagine"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Aspetto"> <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">Aspetto</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">sposta nella barra laterale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">nascondi</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> <div id="mw-indicator-prot_move" class="mw-indicator"><div class="mw-parser-output"><span typeof="mw:File"><a href="/wiki/Wikipedia:Politica_di_protezione_delle_pagine#Protezione_dagli_spostamenti" title="Questa pagina è protetta dallo spostamento"><img alt="Questa pagina è protetta dallo spostamento" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/20/Move-protection-shackle-itwiki.svg/30px-Move-protection-shackle-itwiki.svg.png" decoding="async" width="30" height="30" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/20/Move-protection-shackle-itwiki.svg/45px-Move-protection-shackle-itwiki.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/20/Move-protection-shackle-itwiki.svg/60px-Move-protection-shackle-itwiki.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></div></div> <div id="mw-indicator-protedit" class="mw-indicator"><div class="mw-parser-output"><span typeof="mw:File"><a href="/wiki/Wikipedia:Politica_di_protezione_delle_pagine#Protezione_completa" title="Questa pagina è protetta"><img alt="Questa pagina è protetta" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/35/Total-protection-shackle-itwiki.svg/30px-Total-protection-shackle-itwiki.svg.png" decoding="async" width="30" height="30" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/35/Total-protection-shackle-itwiki.svg/45px-Total-protection-shackle-itwiki.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/35/Total-protection-shackle-itwiki.svg/60px-Total-protection-shackle-itwiki.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></div></div> </div> <div id="siteSub" class="noprint">Da Wikipedia, l'enciclopedia libera.</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="it" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r119428182">.mw-parser-output .avviso-man{margin:0.5em 0;text-align:center}</style><div class="toccolours plainlinks avviso-man"> <span typeof="mw:File"><a href="/wiki/File:Lua-Logo.svg" class="mw-file-description" title="Info"><img alt="Info" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/30px-Lua-Logo.svg.png" decoding="async" width="30" height="30" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/45px-Lua-Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/60px-Lua-Logo.svg.png 2x" data-file-width="947" data-file-height="947" /></a></span> <span style="font-size:larger"><b>Istruzioni per l'uso</b></span><br /><small>Questo è un <a href="/wiki/Wikipedia:Modulo" class="mw-redirect" title="Wikipedia:Modulo">modulo</a> scritto in <a href="/wiki/Lua" title="Lua">Lua</a>. Le istruzioni che seguono sono contenute nella <a href="/wiki/Aiuto:Sottopagina" title="Aiuto:Sottopagina">sottopagina</a> <a href="/wiki/Modulo:String/man" title="Modulo:String/man">Modulo:String/man</a> (<a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:String/man&action=edit">modifica</a><b> ·</b> <a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:String/man&action=history">cronologia</a>) <br /> Sandbox: <a href="/wiki/Modulo:String/sandbox" title="Modulo:String/sandbox">Modulo:String/sandbox</a> (<a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:String/sandbox&action=edit">modifica</a><b> ·</b> <a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:String/sandbox&action=history">cronologia</a>)<b> ·</b> Sottopagine: <a href="/wiki/Speciale:Prefissi/Modulo:String/" title="Speciale:Prefissi/Modulo:String/">lista</a><b> ·</b> Test: <a href="/wiki/Modulo:String/test" title="Modulo:String/test">Modulo:String/test</a> (<a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:String/test&action=edit">modifica</a><b> ·</b> <a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:String/test&action=history">cronologia</a><b> ·</b> <a href="/wiki/Discussioni_modulo:String/test" title="Discussioni modulo:String/test">Esegui</a>)</small></div> <p>Modulo <a href="/wiki/Lua" title="Lua">Lua</a> per la manipolazione di <a href="/wiki/Stringa_(informatica)" title="Stringa (informatica)">stringhe</a>. </p><p>La maggior parte delle funzioni di questo modulo possono essere invocate con parametri con nome, senza nome o con un misto di entrambi. Il software di <a href="/wiki/MediaWiki" title="MediaWiki">MediaWiki</a>, quando vengono usati parametri con nome, rimuoverà ogni spazio iniziale o finale dal parametro. A seconda dell'uso che si vuole fare della funzione può essere vantaggioso conservare oppure rimuovere questi spazi. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Chiamata_delle_funzioni">Chiamata delle funzioni</h2></div> <p>Questo modulo è pensato per essere richiamato da <a href="/wiki/Wikipedia:Template" class="mw-redirect" title="Wikipedia:Template">template</a>, non direttamente da una voce. Il modulo è richiamabile anche da un altro modulo Lua, ma in questo caso è meglio usare direttamente le funzioni Lua di manipolazione delle stringhe: </p><p>Per richiamare il modulo da un template usare la sintassi: <code>{{{{{|safesubst:}}}#invoke:String|<i>nome della funzione</i>|<i>parametro 1</i>|<i>parametro 2</i>|...|<i>parametro n</i>|}}</code>. Per esempio d'uso vedi il template {{<a href="/wiki/Template:Str_len" title="Template:Str len">Str len</a>}} </p> <div class="mw-heading mw-heading3"><h3 id="Opzioni_globali">Opzioni globali</h3></div> <p>Alcune funzioni possono dare un messaggio di errore o impostare una categoria di errori, la generazione di questo messaggio e/o la creazione di questa categoria possono essere controllate dalle seguenti opzioni. </p> <dl><dd><i>ignore_errors</i>: se impostato a 1 o "true" ogni condizione di errore darà una stringa vuota piuttosto che un messaggio di errore.</dd> <dd><i>error_category</i>: nel caso si verifichi un errore è il nome di una categoria da includere insieme al messaggio di errore. La categoria di default è <a href="/wiki/Categoria:Errori_riportati_dal_modulo_String" title="Categoria:Errori riportati dal modulo String">Categoria:Errori riportati dal modulo String</a>.</dd> <dd><i>no_category</i>: Se settato a 1 o "true", non verranno aggiunte categorie in caso di errore.</dd></dl> <div class="mw-heading mw-heading2"><h2 id="Funzioni">Funzioni</h2></div> <div class="mw-heading mw-heading3"><h3 id="len">len</h3></div> <p>Questa funzione restituisce la lunghezza di una stringa. </p> <dl><dt>Uso</dt></dl> <ul><li><code>{{#invoke:String|len|stringa}}</code></li></ul> <p>O </p> <ul><li><code>{{#invoke:String|len|s= stringa }}</code></li></ul> <dl><dt>Parametri</dt></dl> <ul><li><i>s</i>: La stringa di cui restituire la lunghezza</li></ul> <p>Se invocata usando parametri nominati, Mediawiki rimuoverà automaticamente ogni spazio iniziale o finale dalla stringa. </p> <div class="mw-heading mw-heading3"><h3 id="sub">sub</h3></div> <p>Questa funzione restituisce la sottostringa di una stringa bersaglio, come indicato dagli indici </p> <dl><dt>Uso</dt></dl> <ul><li><code>{{#invoke:String|sub|stringa_bersaglio|indice_iniziale|indice_finale}}</code></li></ul> <p>O </p> <ul><li><code>{{#invoke:String|sub|s= stringa_bersaglio |i= indice_iniziale |j= indice_finale }}</code></li></ul> <dl><dt>Parametri</dt></dl> <ul><li><i>s</i>: La stringa da cui estrarre una sottostringa</li> <li><i>i</i>: La posizione iniziale del primo carattere della sottostringa da restituire, se non specificato è 1.</li> <li><i>j</i>: La posizione finale dell'ultimo carattere della sottostringa da restituire, se non specificato corrisponde alla lunghezza della stringa_bersaglio (l'ultimo carattere).</li></ul> <p>I caratteri della stringa sono numerati a partire da 1. Se <i>i</i> o <i>j</i> hanno un valore negativo allora contano la posizione contando dalla fine della stringa, -1 è l'ultimo carattere della stringa, -2 il penultimo, ecc... </p><p>Se le posizioni sono al di fuori degli estremi della stringa viene restituito un messaggio di errore. </p> <div class="mw-heading mw-heading3"><h3 id="match">match</h3></div> <p>Questa funzione restituisce una sottostringa della stringa bersaglio corrispondente a un <a href="#Documentazione_sui_pattern_Lua">pattern</a> specificato. </p> <dl><dt>Uso</dt></dl> <ul><li><code>{{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}}</code></li></ul> <p>O </p> <ul><li><code>{{#invoke:String|match|s= source_string |pattern= pattern_string |start= start_index |match= match_number |plain= plain_flag |nomatch= nomatch_output }}</code></li></ul> <dl><dt>Parametri</dt></dl> <ul><li><i>s</i>: la stringa da cercare</li> <li><i>pattern</i>: il pattern da cercare nella stringa <i>s</i></li> <li><i>start</i>: la posizione iniziale da cui iniziare la ricerca, se non specificato è 1.</li> <li><i>match</i>: se ci sono corrispondenze multiple, quale restituire: 1 per la prima corrispondenza, 2 per la seconda, ecc... Un valore negativo indica di contare all'indietro a partire dall'ultima corrispondenza, quindi <i>match</i> = -1 significa chiedere l'ultima corrispondenza. Se non specificato è 1</li> <li><i>plain</i>: se vero specifica che il pattern deve essere considerato come una stringa normale, piuttosto che un pattern Lua. Se non specificata è falso.</li> <li><i>nomatch</i>: il valore da restituire se non ci sono corrispondenze, invece di un errore.</li></ul> <p>Se richiamata usando parametri nominati Mediawiki rimuoverà automaticamente tutti gli spazi iniziali e finali. In alcune circostanze questo può essere il comportamento desiderato, in altre si potrebbe volerli conservare. </p><p>Se <i>match</i> o <i>start</i> sono al di fuori degli estremi della stringa <i>s</i>, allora la funzione restituisce un errore. Viene generato un errore anche se il non vengono trovate corrispondenze. Per sopprimere gli errori si può aggiungere il parametro <i>ignore_errors</i>=true, in questo caso in caso di errore verrà restituita una stringa vuota. </p> <div class="mw-heading mw-heading3"><h3 id="pos">pos</h3></div> <p>Questa funzione restituisce il carattere della stringa in posizione pos. </p> <dl><dt>Uso</dt></dl> <ul><li><code>{{#invoke:String|pos|stringa_bersaglio|indice}}</code></li></ul> <p>O </p> <ul><li><code>{{#invoke:String|pos|target= stringa_bersaglio |pos= indice }}</code></li></ul> <dl><dt>Parametri</dt></dl> <ul><li><i>target</i>: la stringa in cui cercare</li> <li><i>pos</i>: la posizione del carattere da restituire</li></ul> <p>Se richiamata usando parametri nominati Mediawiki rimuoverà automaticamente tutti gli spazi iniziali e finali. In alcune circostanze questo può essere il comportamento desiderato, in altre si potrebbe volerli conservare. </p><p>I caratteri della stringa sono numerati a partire da 1. Se <i>pos</i> è un valore negativo allora conta la posizione partendo dalla fine della stringa, -1 è l'ultimo carattere della stringa, -2 il penultimo, ecc... </p><p>Se la posizione richiesta è 0 o al di fuori degli estremi della stringa viene restituito un errore. </p> <div class="mw-heading mw-heading3"><h3 id="str_find">str_find</h3></div> <p>Questa funzione duplica il comportamento di {{<a href="/wiki/Template:Str_find" title="Template:Str find">str_find</a>}}, inclusi i casi particolari. Questa funzione è fornita per motivi di compatibilità con i vecchi template, ma SI RACCOMANDA di non utilizzarla in nuovi template. Nello sviluppo di nuovo codice si raccomanda di usare la funzione <a href="#find">find</a>. </p> <dl><dt>Parametri</dt></dl> <ul><li><i>source</i>: la stringa in cui cercare</li> <li><i>target</i>: la stringa da cercare</li></ul> <p>Restituisce la posizione nella stringa <i>source</i> del primo carattere in cui è stata trovata la stringa <i>target</i>. I caratteri della stringa sono numerati a partire da 1. La funzione restituisce -1 se la stringa <i>target</i> non è contenuta in <i>source</i>. </p><p>Nota importante: Per compatibilità con il vecchio template, se la stringa <i>target</i> è vuota o manca, la funzione restituisce il valore "1" </p> <div class="mw-heading mw-heading3"><h3 id="find">find</h3></div> <p>Questa funzione permette di cercare una stringa bersaglio o un pattern Lua all'interno di un'altra stringa. </p> <dl><dt>Uso</dt></dl> <ul><li><code>{{#invoke:String|find|stringa_sorgente|stringa_bersaglio|indice_iniziale|plain_flag}}</code></li></ul> <p>O </p> <ul><li><code>{{#invoke:String|find|source= stringa_sorgente |target= stringa_bersaglio |start= indice_iniziale |plain= plain_flag }}</code></li></ul> <dl><dt>Parametri</dt></dl> <ul><li><i>source</i>: la stringa in cui cercare</li> <li><i>target</i>: la stringa o pattern Lua da cercare</li> <li><i>start</i>: la posizione da cui iniziare la ricerca, se non specificato è 1</li> <li><i>plain</i>: Se è vero indica che la stringa <i>target</i> deve essere considerata come un testo normale e non come un pattern Lua, se non specificata è vera</li></ul> <p>Se richiamata usando parametri nominati Mediawiki rimuoverà automaticamente tutti gli spazi iniziali e finali. In alcune circostanze questo può essere il comportamento desiderato, in altre si potrebbe volerli conservare. </p><p>Questa funzione restituisce la prima posizione maggiore o uguale a <i>start</i> a partire dalla quale <i>target</i> si trova in <i>source</i>. I caratteri della stringa sono numerati a partire da 1. Se <i>target</i> non viene trovato dà 0. Se <i>source</i> o <i>target</i> sono mancanti o vuoti dà 0. </p><p>Questa funzione dovrebbe essere sicura per stringhe UTF-8. </p> <div class="mw-heading mw-heading3"><h3 id="replace">replace</h3></div> <p>Questa funzione permette di rimpiazzare una stringa o pattern bersaglio con un'altra stringa. </p> <dl><dt>Uso</dt></dl> <ul><li><code>{{#invoke:String|replace|stringa_sorgente|stringa_pattern|nuova_stringa|numero_di_sostituzioni|plain_flag}}</code></li></ul> <p>O </p> <ul><li><code>{{#invoke:String|replace|source= stringa_sorgente |pattern= stringa_pattern |replace= nuova_stringa | count= numero_di_sostituzioni |plain= plain_flag }}</code></li></ul> <dl><dt>Parametri</dt></dl> <ul><li><i>source</i>: la stringa in cui cercare</li> <li><i>pattern</i>: la stringa o pattern Lua da trovare in <i>source</i></li> <li><i>replace</i>: il testo di sostituzione</li> <li><i>count</i>: il numero di volte in cui rimpiazzare la stringa, se non specificato tutte.</li> <li><i>plain</i>: se vero indica che il pattern deve essere considerato come testo normale e non come pattern Lua, il valore di default è vero</li></ul> <div class="mw-heading mw-heading3"><h3 id="arraytostring">arraytostring</h3></div> <p>Formatta una o più liste di valori in una singola stringa </p> <dl><dt>Uso</dt> <dd></dd></dl> <ul><li><code>{{#invoke:String|arraytostring|par1|formato|separatore|congiunzione}}</code></li></ul> <dl><dt>Parametri</dt> <dd></dd></dl> <ul><li><i>par1</i> ... <i>par</i>n: il nome base delle variabili da unire, deve contenere il carattere "#" che precisa la posizione in cui inserire l'indice. Ad esempio se par1 è "Param#", la funzione unirà i valori della lista di parametri Param<i>1</i>, Param<i>2</i>, Param<i>3</i>, ecc...<br />Il parametro "Param" (senza numero) sarà considerato equivalente a "Param1" (questo comportamento può essere modificato con il parametro "baseIndex")</li> <li><i>msg</i>: formattazione da applicare alla compilazione dei parametri. Il simbolo $n fa da segnaposto per il parametro "par<i>n</i>". È possibile inserire codice mediawiki, ma sarà eseguito <i>prima</i> del modulo, cioè quando il simbolo $n non è ancora stato sostituito. Per ovviare al problema, gli eventuali caratteri "{" e "}" delle parti di codice che debbano essere eseguite <i>dopo</i> l'elaborazione di $n dovranno essere preceduti da un "\", mentre il carattere "|" dovrà essere inserito con la costante {{!}}. Un eventuale "\}" finale dovrà sempre essere staccato, con spazio o altro, dal "}}" di fine comando. Un esempio pratico: <code>{{#if:{{{x|}}}|$2}}</code> si può scrivere normalmente così perché la condizione si basa sul parametro "x"; al contrario <code>\{\{#if:$2{{!}}{{{x|}}}\}\}</code> va scritto come appena spiegato perché la condizione si basa sul simbolo $2 che sarà sostituito solo dopo l'avvio del modulo.</li> <li><i>separatore</i>: una stringa (opzionale) da inserire tra ogni valore</li> <li><i>congiunzione</i>: una stringa (opzionale) da inserire al posto del <i>separatore</i> tra l'ultimo e il penultimo valore. Se non dichiarata viene usato il valore di "separatore"</li> <li><i>nmin</i>: indice iniziale da cui partire a scandire i parametri (di default pari a "baseIndex" se specificato, e 1 altrimenti)</li> <li><i>nmax</i>: indice massimo a cui è possibile arrivare con i parametri (se non precisato è illimitato)</li> <li><i>nobbligatori</i> = l'indice minimo che deve essere valutato anche in presenza di buchi nella sequenza (come indice massimo sarà comunque valutato "nmax")</li> <li><i>baseIndex</i>: valore dell'indice parametrico che coincide con il parametro senza indice (normalmente è 1, quindi i parametri "par1" e "par" sono equivalenti; se per esempio viene impostato a 0 allora è "par0" che sarà equivalente a "par")</li> <li><i>lista</i>: parametro a cui è possibile assegnare uno tra i seguenti valori. <dl><dd><b>puntata</b> - formatta l'elenco di valori come una lista puntata (i valori di "separatore" e "congiunzione" sono ignorati)</dd> <dd><b>ordinata</b> - formatta l'elenco di valori come una lista numerata (i valori di "separatore" e "congiunzione" sono ignorati)</dd> <dd><b>infobox</b> - formatta l'elenco di valori come una lista puntata (i valori di "separatore" e "congiunzione" sono ignorati), eccetto che nel caso in cui ci sia un solo elemento</dd></dl></li></ul> <dl><dt>Esempi di chiamata</dt> <dd></dd></dl> <dl><dd><code>{{#invoke:string|arraytostring|par1=var#|separatore=&#32;|congiunzione=&#32;e&#32;}}</code> <dl><dd>Formatta una lista di parametri "var1", "var2" ... "var<i>n</i>" separandoli con una virgola, tranne per gli ultimi due uniti dalla congiunzione " e "</dd></dl></dd></dl> <dl><dd><code>{{#invoke:string|arraytostring|par1=disegnatore #|par2=disegnatore # nota|msg = $1 <small>$2</small>|lista=infobox}}</code> <dl><dd>Formatta coppie di parametri "disegnatore 1", "disegnatore 2" ... "disegnatore <i>n</i>" e "disegnatore 1 nota", "disegnatore 2 nota" ... "disegnatore <i>n</i> nota". Ogni coppia sarà formattata come "Disegnatore <small>disegnatore nota</small>" e queste saranno unite in una lista puntata. Usata in {{<a href="/wiki/Template:Personaggio" title="Template:Personaggio">Personaggio</a>}} per formattare le liste di disegnatori/autori/editori, ecc...</dd></dl></dd></dl> <dl><dd><code>{{#invoke:String|arraytostring|par1=#|msg=''$1''|separatore=<nowiki>|</nowiki>|Nmin=2}}</code> <dl><dd>Unisce i parametri ordinali "2", "3" ... "<i>n</i>" in una lista separate da "|". Ogni valore viene reso in corsivo. Usata in {{<a href="/wiki/Template:Tl" title="Template:Tl">tl</a>}} per formattare la lista opzionale di parametri.</dd></dl></dd></dl> <div class="mw-heading mw-heading3"><h3 id="collate">collate</h3></div> <p>Questa funzione restituisce la stringa privata degli eventuali segni diacritici sulle lettere dell'alfabeto latino. Trasforma ad esempio "Çịàö" in "Ciao", preferibile ad esempio per gli ordinamenti alfabetici. </p> <dl><dt>Uso</dt></dl> <ul><li><code>{{#invoke:String|collate|stringa}}</code></li></ul> <dl><dt>Parametri</dt></dl> <ul><li><i>stringa</i>: La stringa da cui togliere i segni</li></ul> <div class="mw-heading mw-heading3"><h3 id="decode">decode</h3></div> <p>Questa funzione accetta una stringa codificata con il sistema a percentuali usato negli URL e restituisce la stringa decodificata. Fa quindi l'opposto della funzione di sistema <a href="/wiki/Aiuto:Funzioni_parser#urlencode" title="Aiuto:Funzioni parser">urlencode</a>. Trasforma ad esempio "Come%20va%3F" in "Come va?". </p> <dl><dt>Uso</dt></dl> <ul><li><code>{{#invoke:String|decode|stringa}}</code></li></ul> <dl><dt>Parametri</dt></dl> <ul><li><i>stringa</i>: La stringa da decodificare</li></ul> <div class="mw-heading mw-heading3"><h3 id="titolo_alfa">titolo_alfa</h3></div> <p>Questa funzione accetta una stringa che corrisponde a un titolo di opera e restituisce la stringa adattata all'ordinamento alfabetico. Trasforma ad esempio "La pietà" in "Pieta, La". Non funziona sempre, non potendo capire il significato delle parole, ma risolve automaticamente la maggior parte dei casi. </p> <dl><dt>Uso</dt></dl> <ul><li><code>{{#invoke:String|titolo_alfa|titolo}}</code></li></ul> <dl><dt>Parametri</dt></dl> <ul><li><i>titolo</i>: Il titolo di opera. Di default viene preso il titolo della pagina in cui ci si trova.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Unit_test">Unit test</h2></div> <p><a href="/wiki/Unit_testing" title="Unit testing">Unit test</a> per questo modulo sono disponibili a <a href="/wiki/Modulo:String/test" title="Modulo:String/test">Modulo:String/test</a>, per la loro esecuzione visitare <a href="/wiki/Discussioni_modulo:String/test" title="Discussioni modulo:String/test">Discussioni_modulo:String/test</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Documentazione_sui_pattern_Lua">Documentazione sui pattern Lua</h2></div> <p>Diverse funzioni fanno uso di pattern Lua, questi sono una forma di <a href="/wiki/Espressione_regolare" title="Espressione regolare">espressione regolare</a>, per maggiori informazioni sulla loro sintassi vedi: </p> <ul><li><a rel="nofollow" class="external free" href="http://www.lua.org/manual/5.1/manual.html#5.4.1">http://www.lua.org/manual/5.1/manual.html#5.4.1</a></li> <li><a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns" class="extiw" title="mw:Extension:Scribunto/Lua reference manual">mw:Extension:Scribunto/Lua reference manual#Patterns</a></li> <li><a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns" class="extiw" title="mw:Extension:Scribunto/Lua reference manual">mw:Extension:Scribunto/Lua reference manual#Ustring patterns</a></li></ul> <hr /><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">Questo modulo serve a fornire l'accesso alle funzioni stringa base.</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">La maggior parte delle funzioni di questo modulo possono essere invocate con</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="cm">parametri con nome, senza nome o con un misto di entrambi. Quando vengono usati</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a><span class="cm">parametri con nome il software di Mediawiki rimuoverà ogni spazio iniziale o finale</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a><span class="cm">dal parametro. A seconda dell'uso che si vuole fare della funzione può essere</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="cm">vantaggioso conservare oppure rimuovere questi spazi.</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">Opzioni globali</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a><span class="cm"> ignore_errors: se settato a 'true' o 1, ogni condizione di errore ritornerà una stringa vuota</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a><span class="cm"> piuttosto che un messaggio di errore.</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: nel caso si verifichi un errore è il nome di una categoria da includere</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a><span class="cm"> insieme al messaggio di errore. La categoria di default</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a><span class="cm"> [Categoria:Errori del Module String]. (TODO:verificare)</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: Se settato a 'true' o 1, non verranno aggiunte categorie in caso di errore.</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a><span class="cm">Unit tests per questo modulo sono disponibili a Module:String/test.</span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a><span class="cm">Diverse funzioni fanno uso di pattern Lua, questi sono una forma di espressione regolare, per</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a><span class="cm">maggiori informazioni vedi:</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a><span class="cm">* http://www.lua.org/manual/5.1/manual.html#5.4.1</span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a><span class="cm">* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a><span class="cm">* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a><span class="cm">]]</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a><span class="kd">local</span> <span class="n">str</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a><span class="cm">--[[</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a><span class="cm">len</span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a><span class="cm">Questa funzione ritorna la lunghezza di una stringa.</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a><span class="cm">Uso:</span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a><span class="cm">{{#invoke:String|len|stringa|}}</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a><span class="cm">O</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a><span class="cm">{{#invoke:String|len|s=stringa}}</span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a><span class="cm">Parametri</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a><span class="cm"> s: La stringa di cui ritornare la lunghezza</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a><span class="cm">Se invocata usando parametri nominati, Mediawiki rimuoverà automaticamente ogni spazio iniziale</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a><span class="cm">o finale dalla stringa.</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a><span class="cm">]]</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></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-50"><a href="#L-50"><span class="linenos" data-line="50"></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-51"><a href="#L-51"><span class="linenos" data-line="51"></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-52"><a href="#L-52"><span class="linenos" data-line="52"></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-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a><span class="kr">end</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a><span class="cm">--[[</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a><span class="cm">sub</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a><span class="cm">Questa funzione ritorna la sottostringa di una stringa bersaglio, come indicato dagli indici</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a><span class="cm">Uso:</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a><span class="cm">{{#invoke:String|sub|stringa_bersaglio|indice_iniziale|indice_finale}}</span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a><span class="cm">O</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a><span class="cm">{{#invoke:String|sub|s=stringa_bersaglio|i=indice_iniziale|j=indice_finale}}</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a><span class="cm">Parameters</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a><span class="cm"> s: La stringa da cui estrarre una sottostringa</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a><span class="cm"> i: La posizione iniziale del primo carattere della sottostringa da ritornare, se non</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a><span class="cm"> specificato è 1.</span> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a><span class="cm"> j: La posizione finale dell'ultimo carattere della sottostringa da ritornare, se non</span> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a><span class="cm"> specificato corrisponde alla lunghezza della stringa_bersaglio (l'ultimo carattere).</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a><span class="cm">I caratteri della stringa sono numerati a partire da 1. Se i o j hanno un valore negativo allora</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a><span class="cm">contano la posizione contando dalla fine della stringa, -1 è l'ultimo carattere della stringa,</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a><span class="cm">-2 il penultimo, ecc...</span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a><span class="cm">Se le posizioni sono al di fuori degli estremi della stringa viene ritornato un messaggio di</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a><span class="cm">errore.</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a><span class="cm">]]</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></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-80"><a href="#L-80"><span class="linenos" data-line="80"></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-81"><a href="#L-81"><span class="linenos" data-line="81"></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-82"><a href="#L-82"><span class="linenos" data-line="82"></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-83"><a href="#L-83"><span class="linenos" data-line="83"></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-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></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-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a> <span class="c1">-- Convert negatives for range checking</span> </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="mi">0</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="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-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="mi">0</span> <span class="kr">then</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a> <span class="n">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-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">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-96"><a href="#L-96"><span class="linenos" data-line="96"></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">'Indici fuori dagli estremi della stringa'</span> <span class="p">);</span> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> <span class="kr">end</span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> <span 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-99"><a href="#L-99"><span class="linenos" data-line="99"></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">'Indici in ordine sbagliato'</span> <span class="p">);</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> <span class="kr">end</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></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-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a><span class="kr">end</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a><span class="cm">--[[</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a><span class="cm">Questa funzione implementa tutte le caratteristiche di {{str sub}} e viene mantenuta per motivi</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a><span class="cm">di compatibilità con template più vecchi.</span> </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="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-110"><a href="#L-110"><span class="linenos" data-line="110"></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-111"><a href="#L-111"><span class="linenos" data-line="111"></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-112"><a href="#L-112"><span class="linenos" data-line="112"></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-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a><span class="kr">end</span> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a><span class="cm">--[[</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a><span class="cm">match</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a><span class="cm">Questa funzione ritorna dalla stringa bersaglio una sottostringa corrispondente a un pattern</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a><span class="cm">specificato.</span> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a><span class="cm">Uso:</span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a><span class="cm">{{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}}</span> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a><span class="cm">O</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a><span class="cm">{{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a><span class="cm"> |match=match_number|plain=plain_flag|nomatch=nomatch_output}}</span> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a><span class="cm">Parametri</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a><span class="cm"> s: La stringa da cercare</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a><span class="cm"> pattern: Il pattern da cercare nella stringa</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a><span class="cm"> start: La posizione iniziale da cui iniziare la ricerca, se non specificato è 1.</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a><span class="cm"> match: Se c'è ci sono corrispondenze multiple quale ritornare, 1 per la prima</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a><span class="cm"> corrispondenza, 2 per la seconda ecc.. Un valore negativo indica di contare</span> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a><span class="cm"> all'indietro a partire dall'ultima corrispondenza, quindi match = -1 significa</span> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a><span class="cm"> chiedere l'ultima corrispondenza. Se non specificato è 1</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a><span class="cm"> plain: Se vero specifica che il pattern deve essere considerato come una</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a><span class="cm"> stringa normale, piuttosto che un pattern Lua. Se non specificata è falsa.</span> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a><span class="cm"> nomatch: Il valore da ritornare se non ci sono corrispondenze, invece di ritornare</span> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a><span class="cm"> un errore.</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a><span class="cm">Se richiamata usando parametri nominati Mediawiki rimuoverà automaticamente tutti gli</span> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a><span class="cm">spazi iniziali e finali. In alcune circostanze questo può essere il comportamento</span> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a><span class="cm">desiderato, in altre si potrebbe volerli conservare.</span> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a><span class="cm">Se match_number o start_index sono al di fuori degli estremi della stringa s, allora</span> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a><span class="cm">la funzione ritorna un errore. Viene generato un errore anche se il non vengono trovate</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a><span class="cm">corrispondenze. Per sopprimere gli errori si può aggiungere il parametro ignore_errors=true,</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a><span class="cm">in questo caso in caso di errore verrò ritornata una stringa vuota.</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="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-151"><a href="#L-151"><span class="linenos" data-line="151"></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">frame</span><span class="p">.</span><span class="n">args</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">end</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a><span class="cm">--[[</span> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a><span class="cm">Entry point per chiamata diretta da un modulo</span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a><span class="cm">]]</span> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></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">args</span> <span class="p">)</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></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">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-159"><a href="#L-159"><span class="linenos" data-line="159"></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-160"><a href="#L-160"><span class="linenos" data-line="160"></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-161"><a href="#L-161"><span class="linenos" data-line="161"></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-162"><a href="#L-162"><span class="linenos" data-line="162"></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-163"><a href="#L-163"><span class="linenos" data-line="163"></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-164"><a href="#L-164"><span class="linenos" data-line="164"></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-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></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-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a> <span class="kr">return</span> <span class="n">nomatch</span> <span class="ow">or</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'La stringa in cui cercare è vuota'</span> <span class="p">);</span> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a> <span class="kr">end</span> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></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-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a> <span class="kr">return</span> <span class="n">nomatch</span> <span class="ow">or</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'La stringa o pattern da cercare è vuota'</span> <span class="p">);</span> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a> <span class="kr">end</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></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-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a> <span class="kr">return</span> <span class="n">nomatch</span> <span class="ow">or</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'La posizione iniziale richiesta è fuori dagli estremi della stringa'</span> <span class="p">);</span> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a> <span class="kr">end</span> </span><span id="L-175"><a href="#L-175"><span class="linenos" data-line="175"></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-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a> <span class="kr">return</span> <span class="n">nomatch</span> <span class="ow">or</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Match index è nullo'</span> <span class="p">);</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a> <span class="kr">end</span> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a> <span class="kr">if</span> <span class="n">plain_flag</span> <span class="kr">then</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></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-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a> <span class="kr">end</span> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a> <span class="kd">local</span> <span class="n">result</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">1</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="c1">-- Il caso più semplice, trova la prima corrispondenza</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></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-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a> <span class="kr">else</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></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-188"><a href="#L-188"><span class="linenos" data-line="188"></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-189"><a href="#L-189"><span class="linenos" data-line="189"></span></a> <span class="kr">end</span> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> <span class="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-192"><a href="#L-192"><span class="linenos" data-line="192"></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-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a> <span class="c1">-- Ricerca in avanti</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></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-195"><a href="#L-195"><span class="linenos" data-line="195"></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-196"><a href="#L-196"><span class="linenos" data-line="196"></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-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">w</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">break</span><span class="p">;</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 class="kr">end</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a> <span class="kr">else</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a> <span class="c1">-- Ricerca all'indietro deve estrarre tutte le corrispondenze</span> </span><span id="L-203"><a href="#L-203"><span class="linenos" data-line="203"></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-204"><a href="#L-204"><span class="linenos" data-line="204"></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-205"><a href="#L-205"><span class="linenos" data-line="205"></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-206"><a href="#L-206"><span class="linenos" data-line="206"></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-207"><a href="#L-207"><span class="linenos" data-line="207"></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-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a> <span class="kr">end</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></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-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a> <span class="kr">end</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a> <span class="kr">end</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></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-215"><a href="#L-215"><span class="linenos" data-line="215"></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-216"><a href="#L-216"><span class="linenos" data-line="216"></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">'Corrispondenza non trovata'</span> <span class="p">);</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="kr">else</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a> <span class="kr">return</span> <span class="n">nomatch</span><span class="p">;</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="kr">end</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a> <span class="kr">else</span> </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">result</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 class="kr">end</span> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a><span class="cm">--[[</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a><span class="cm">pos</span> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a><span class="cm">Questa funzione ritorna il carattere della stringa in posizione pos.</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a><span class="cm">Uso:</span> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a><span class="cm">{{#invoke:String|pos|stringa_bersaglio|indice}}</span> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a><span class="cm">O</span> </span><span id="L-233"><a href="#L-233"><span class="linenos" data-line="233"></span></a><span class="cm">{{#invoke:String|pos|target=stringa_bersaglio|pos=indice}}</span> </span><span id="L-234"><a href="#L-234"><span class="linenos" data-line="234"></span></a> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a><span class="cm">Parametri</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a><span class="cm"> target: La stringa in cui cercare</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a><span class="cm"> pos: La posizione del carattere da ritornare</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a><span class="cm">Se richiamata usando parametri nominati Mediawiki rimuoverà automaticamente tutti gli</span> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a><span class="cm">spazi iniziali e finali. In alcune circostanze questo può essere il comportamento</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a><span class="cm">desiderato, in altre si potrebbe volerli conservare.</span> </span><span id="L-242"><a href="#L-242"><span class="linenos" data-line="242"></span></a> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a><span class="cm">I caratteri della stringa sono numerati a partire da 1. Se pos è un valore negativo allora</span> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a><span class="cm">conta la posizione partendo dalla fine della stringa, -1 è l'ultimo carattere della stringa,</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a><span class="cm">-2 il penultimo, ecc...</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">Se la posizione richiesta è 0 o al di fuori degli estremi della stringa viene ritornato</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a><span class="cm">un errore.</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a><span class="cm">]]</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></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-251"><a href="#L-251"><span class="linenos" data-line="251"></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-252"><a href="#L-252"><span class="linenos" data-line="252"></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-253"><a href="#L-253"><span class="linenos" data-line="253"></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-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></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-256"><a href="#L-256"><span class="linenos" data-line="256"></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">'Indice della stringa fuori dagli estremi'</span> <span class="p">);</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a> <span class="kr">end</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></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-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a><span class="kr">end</span> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a><span class="cm">--[[</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a><span class="cm">str_find</span> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a><span class="cm">Questa funzione duplica il comportamento di {{str_find}}, incluso i suoi comportamenti</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a><span class="cm">irregolari. Questa funzione è fornita per motivi di compatibilità con i vecchi template,</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a><span class="cm">ma SI RACCOMANDA di non utilizzarla in nuovi template. Nello sviluppo di nuovo codice</span> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a><span class="cm">si raccomanda di usare la funzione "find".</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a><span class="cm">Parametri</span> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a><span class="cm"> source: La stringa in cui cercare</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a><span class="cm"> target: la stringa da cercare</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a><span class="cm">Ritorna la posizione nella stringa source del primo carattere in cui c'è è stata</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a><span class="cm">trovata la stringa target. I caratteri della stringa sono numerati a partire da 1. La funzione</span> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a><span class="cm">ritorna -1 se la stringa "target" non è contenuta in "source".</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a><span class="cm">Nota importante: Per compatibilità con il vecchio template se la stringa "target" è vuota o manca</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a><span class="cm">la funzione ritorna un valore di "1"</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a><span class="cm">]]</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></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-282"><a href="#L-282"><span class="linenos" data-line="282"></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-283"><a href="#L-283"><span class="linenos" data-line="283"></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-284"><a href="#L-284"><span class="linenos" data-line="284"></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-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></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-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a> <span class="kr">return</span> <span class="mi">1</span><span class="p">;</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a> <span class="kr">end</span> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></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-291"><a href="#L-291"><span class="linenos" data-line="291"></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-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a> <span class="n">start</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a> <span class="kr">end</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="kr">return</span> <span class="n">start</span> </span><span id="L-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a><span class="kr">end</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">--[[</span> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a><span class="cm">find</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a><span class="cm">Questa funzione permette di cercare una stringa bersaglio o un pattern Lua all'interno di</span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a><span class="cm">un'altra stringa.</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a><span class="cm">Uso:</span> </span><span id="L-305"><a href="#L-305"><span class="linenos" data-line="305"></span></a><span class="cm">{{#invoke:String|find|stringa_sorgente|stringa_bersaglio|indice_iniziale|plain_flag}}</span> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a><span class="cm">O</span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a><span class="cm">{{#invoke:String|find|source=stringa_sorgente|target=stringa_bersaglio|start=indice_iniziale|plain=plain_flag}}</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a><span class="cm">Parametri</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a><span class="cm"> source: La stringa in cui cercare</span> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a><span class="cm"> target: La stringa o pattern Lua da cercare</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a><span class="cm"> start: La posizione da cui iniziare la ricerca, se non specificato è 1</span> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a><span class="cm"> plain: Se è vero indica che la stringa target deve essere considerata come una</span> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a><span class="cm"> testo normale e non come un pattern Lua, se non specificata è vera</span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a><span class="cm">Se richiamata usando parametri nominati Mediawiki rimuoverà automaticamente tutti gli</span> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a><span class="cm">spazi iniziali e finali. In alcune circostanze questo può essere il comportamento</span> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></span></a><span class="cm">desiderato, in altre si potrebbe volerli conservare.</span> </span><span id="L-319"><a href="#L-319"><span class="linenos" data-line="319"></span></a> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a><span class="cm">Questa funzione ritorna la prima posizione maggiore o uguale a "start" a partire dalla quale</span> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a><span class="cm">"target" si trova in "source". I caratteri della stringa sono numerati a partire da 1.</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a><span class="cm">Se "target" non viene trovato ritorna 0. Se "source" o "target" sono mancanti o vuoti ritorna 0.</span> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a><span class="cm">Questa funzione dovrebbe essere sicura per stringhe UTF-8.</span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a><span class="cm">]]</span> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></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-327"><a href="#L-327"><span class="linenos" data-line="327"></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-328"><a href="#L-328"><span class="linenos" data-line="328"></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-329"><a href="#L-329"><span class="linenos" data-line="329"></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-330"><a href="#L-330"><span class="linenos" data-line="330"></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-331"><a href="#L-331"><span class="linenos" data-line="331"></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-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></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-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> <span class="kr">return</span> <span class="mi">0</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">end</span> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></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-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="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-340"><a href="#L-340"><span class="linenos" data-line="340"></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-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a> <span class="n">start</span> <span class="o">=</span> <span class="mi">0</span> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a> <span class="kr">end</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a> <span class="kr">return</span> <span class="n">start</span> </span><span id="L-345"><a href="#L-345"><span class="linenos" data-line="345"></span></a><span class="kr">end</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a><span class="cm">--[[</span> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a><span class="cm">replace</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></span></a> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></span></a><span class="cm">Questa funzione permette di rimpiazzare una stringa o pattern bersaglio con un'altra</span> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a><span class="cm">stringa.</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a><span class="cm">Uso:</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a><span class="cm">{{#invoke:String|replace|stringa_sorgente|stringa_pattern|nuova_stringa|numero_di_sostituzioni|plain_flag}}</span> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a><span class="cm">O</span> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a><span class="cm">{{#invoke:String|replace|source=stringa_sorgente|pattern=stringa_pattern|replace=nuova_stringa|</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a><span class="cm"> count=numero_di_sostituzioni|plain=plain_flag}}</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a><span class="cm">Parametri:</span> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></span></a><span class="cm"> source: La stringa da cercare</span> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a><span class="cm"> pattern: La stringa o pattern Lua da trovare in source</span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a><span class="cm"> replace: Il testo di sostituzione</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a><span class="cm"> count: Il numero di volte in cui rimpiazzare la stringa, se non specificato tutte.</span> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a><span class="cm"> plain: Se vero indica che il pattern deve essere considerato come testo normale e non</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a><span class="cm"> come pattern Lua, il valore di default è vero</span> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a><span class="cm">]]</span> </span><span id="L-367"><a href="#L-367"><span class="linenos" data-line="367"></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-368"><a href="#L-368"><span class="linenos" data-line="368"></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-369"><a href="#L-369"><span class="linenos" data-line="369"></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-370"><a href="#L-370"><span class="linenos" data-line="370"></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-371"><a href="#L-371"><span class="linenos" data-line="371"></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-372"><a href="#L-372"><span class="linenos" data-line="372"></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-373"><a href="#L-373"><span class="linenos" data-line="373"></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-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">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-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a> <span class="kr">return</span> <span class="n">source_str</span><span class="p">;</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a> <span class="kr">end</span> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></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-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="kr">if</span> <span class="n">plain</span> <span class="kr">then</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a> <span class="n">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-382"><a href="#L-382"><span class="linenos" data-line="382"></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-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a> <span class="kr">end</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a> <span class="kd">local</span> <span class="n">result</span><span class="p">;</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></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-388"><a href="#L-388"><span class="linenos" data-line="388"></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-389"><a href="#L-389"><span class="linenos" data-line="389"></span></a> <span class="kr">else</span> </span><span id="L-390"><a href="#L-390"><span class="linenos" data-line="390"></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-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a> <span class="kr">end</span> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a> <span class="kr">return</span> <span class="n">result</span><span class="p">;</span> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a><span class="kr">end</span> </span><span id="L-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a><span class="cm">--[[</span> </span><span id="L-397"><a href="#L-397"><span class="linenos" data-line="397"></span></a><span class="cm"> Funzione per utilizzare string.rep in un template.</span> </span><span id="L-398"><a href="#L-398"><span class="linenos" data-line="398"></span></a><span class="cm">]]</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></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-401"><a href="#L-401"><span class="linenos" data-line="401"></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-402"><a href="#L-402"><span class="linenos" data-line="402"></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-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a> <span class="kr">if</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="o">==</span> <span class="s1">''</span> <span class="kr">then</span> <span class="c1">-- se il secondo parametro è una stringa nulla ritorno una stringa nulla</span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a> <span class="kr">return</span> <span class="s1">''</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a> <span class="kr">else</span> </span><span id="L-406"><a href="#L-406"><span class="linenos" data-line="406"></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">'la funzione rep si aspetta un secondo parametro con il numero di ripetizioni, ricevuto "'</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-407"><a href="#L-407"><span class="linenos" data-line="407"></span></a> <span class="kr">end</span> </span><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a> <span class="kr">end</span> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></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">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-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a><span class="kr">end</span> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a> </span><span id="L-412"><a href="#L-412"><span class="linenos" data-line="412"></span></a><span class="cm">--[[</span> </span><span id="L-413"><a href="#L-413"><span class="linenos" data-line="413"></span></a><span class="cm"> Funzione per decodificare una stringa codificata percentualmente.</span> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a><span class="cm"> Richiama la funzione mw.uri.decode di scribunto, vedi</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a><span class="cm"> https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#mw.uri.decode</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><span id="L-418"><a href="#L-418"><span class="linenos" data-line="418"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">decode</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-419"><a href="#L-419"><span class="linenos" data-line="419"></span></a> <span class="kd">local</span> <span class="n">valid_enctype</span> <span class="o">=</span> <span class="p">{</span> <span class="n">QUERY</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> <span class="n">WIKI</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> <span class="n">PATH</span> <span class="o">=</span> <span class="kc">true</span><span class="p">}</span> </span><span id="L-420"><a href="#L-420"><span class="linenos" data-line="420"></span></a> </span><span id="L-421"><a href="#L-421"><span class="linenos" data-line="421"></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">'enctype'</span><span class="p">})</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">source</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><span id="L-423"><a href="#L-423"><span class="linenos" data-line="423"></span></a> <span class="kd">local</span> <span class="n">enc_type</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'enctype'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">'QUERY'</span> </span><span id="L-424"><a href="#L-424"><span class="linenos" data-line="424"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">valid_enctype</span><span class="p">[</span><span class="n">enc_type</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-425"><a href="#L-425"><span class="linenos" data-line="425"></span></a> <span class="n">enc_type</span> <span class="o">=</span> <span class="s1">'QUERY'</span> </span><span id="L-426"><a href="#L-426"><span class="linenos" data-line="426"></span></a> <span class="kr">end</span> </span><span id="L-427"><a href="#L-427"><span class="linenos" data-line="427"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">uri</span><span class="p">.</span><span class="n">decode</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">enc_type</span><span class="p">)</span> </span><span id="L-428"><a href="#L-428"><span class="linenos" data-line="428"></span></a><span class="kr">end</span> </span><span id="L-429"><a href="#L-429"><span class="linenos" data-line="429"></span></a> </span><span id="L-430"><a href="#L-430"><span class="linenos" data-line="430"></span></a><span class="cm">--[[</span> </span><span id="L-431"><a href="#L-431"><span class="linenos" data-line="431"></span></a><span class="cm"> Funzione per semplificare stringhe con diacritici</span> </span><span id="L-432"><a href="#L-432"><span class="linenos" data-line="432"></span></a><span class="cm">]]</span> </span><span id="L-433"><a href="#L-433"><span class="linenos" data-line="433"></span></a> </span><span id="L-434"><a href="#L-434"><span class="linenos" data-line="434"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">collate</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-435"><a href="#L-435"><span class="linenos" data-line="435"></span></a> </span><span id="L-436"><a href="#L-436"><span class="linenos" data-line="436"></span></a> <span class="kd">local</span> <span class="n">collation</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-437"><a href="#L-437"><span class="linenos" data-line="437"></span></a> <span class="p">{</span><span class="s1">'[áàăắằẵẳâấầẫẩǎåǻäǟãȧǡąāảȁȃạặậḁⱥᶏᴂæɐᶐɒə]'</span><span class="p">,</span> <span class="s1">'a'</span><span class="p">},</span> </span><span id="L-438"><a href="#L-438"><span class="linenos" data-line="438"></span></a> <span class="p">{</span><span class="s1">'[ÁÀĂẮẰẴẲÂẤẦẪẨǍÅÅǺÄǞÃȦǠĄĀẢȀȂẠẶẬḀȺᴁÆƏ]'</span><span class="p">,</span> <span class="s1">'A'</span><span class="p">},</span> </span><span id="L-439"><a href="#L-439"><span class="linenos" data-line="439"></span></a> <span class="p">{</span><span class="s1">'[ḃḅḇƀɓ]'</span><span class="p">,</span> <span class="s1">'b'</span><span class="p">},</span> </span><span id="L-440"><a href="#L-440"><span class="linenos" data-line="440"></span></a> <span class="p">{</span><span class="s1">'[ḂḄḆɃ]'</span><span class="p">,</span> <span class="s1">'B'</span><span class="p">},</span> </span><span id="L-441"><a href="#L-441"><span class="linenos" data-line="441"></span></a> <span class="p">{</span><span class="s1">'[ćĉčċçḉȼƈ]'</span><span class="p">,</span> <span class="s1">'c'</span><span class="p">},</span> </span><span id="L-442"><a href="#L-442"><span class="linenos" data-line="442"></span></a> <span class="p">{</span><span class="s1">'[ĆĈČĊÇḈȻƇ]'</span><span class="p">,</span> <span class="s1">'C'</span><span class="p">},</span> </span><span id="L-443"><a href="#L-443"><span class="linenos" data-line="443"></span></a> <span class="p">{</span><span class="s1">'[đḍḓḏðďḋḑ]'</span><span class="p">,</span> <span class="s1">'d'</span><span class="p">},</span> </span><span id="L-444"><a href="#L-444"><span class="linenos" data-line="444"></span></a> <span class="p">{</span><span class="s1">'[ĐḌḒḎÐĎḊḐ]'</span><span class="p">,</span> <span class="s1">'D'</span><span class="p">},</span> </span><span id="L-445"><a href="#L-445"><span class="linenos" data-line="445"></span></a> <span class="p">{</span><span class="s1">'[éèĕěêếềễểëẽėȩḝęēḗḕẻȅȇẹệḙḛǝ]'</span><span class="p">,</span> <span class="s1">'e'</span><span class="p">},</span> </span><span id="L-446"><a href="#L-446"><span class="linenos" data-line="446"></span></a> <span class="p">{</span><span class="s1">'[ÉÈĔĚÊẾỀỄỂËẼĖȨḜĘĒḖḔẺȄȆẸỆḘḚƎ]'</span><span class="p">,</span> <span class="s1">'E'</span><span class="p">},</span> </span><span id="L-447"><a href="#L-447"><span class="linenos" data-line="447"></span></a> <span class="p">{</span><span class="s1">'[ḟⅎ]'</span><span class="p">,</span> <span class="s1">'f'</span><span class="p">},</span> </span><span id="L-448"><a href="#L-448"><span class="linenos" data-line="448"></span></a> <span class="p">{</span><span class="s1">'[ḞℲ]'</span><span class="p">,</span> <span class="s1">'F'</span><span class="p">},</span> </span><span id="L-449"><a href="#L-449"><span class="linenos" data-line="449"></span></a> <span class="p">{</span><span class="s1">'[ǵğĝǧġģḡᵹɠ]'</span><span class="p">,</span> <span class="s1">'g'</span><span class="p">},</span> </span><span id="L-450"><a href="#L-450"><span class="linenos" data-line="450"></span></a> <span class="p">{</span><span class="s1">'[ǴĞĜǦĠĢḠƓ]'</span><span class="p">,</span> <span class="s1">'G'</span><span class="p">},</span> </span><span id="L-451"><a href="#L-451"><span class="linenos" data-line="451"></span></a> <span class="p">{</span><span class="s1">'[ĥȟḧḣḩħḥḫẖ]'</span><span class="p">,</span> <span class="s1">'h'</span><span class="p">},</span> </span><span id="L-452"><a href="#L-452"><span class="linenos" data-line="452"></span></a> <span class="p">{</span><span class="s1">'[ĤȞḦḢḨĦḤḪ]'</span><span class="p">,</span> <span class="s1">'H'</span><span class="p">},</span> </span><span id="L-453"><a href="#L-453"><span class="linenos" data-line="453"></span></a> <span class="p">{</span><span class="s1">'[íìĭîǐïḯĩįīỉȉȋịḭı]'</span><span class="p">,</span> <span class="s1">'i'</span><span class="p">},</span> </span><span id="L-454"><a href="#L-454"><span class="linenos" data-line="454"></span></a> <span class="p">{</span><span class="s1">'[ÍÌĬÎǏÏḮĨĮĪỈȈȊỊḬİ]'</span><span class="p">,</span> <span class="s1">'I'</span><span class="p">},</span> </span><span id="L-455"><a href="#L-455"><span class="linenos" data-line="455"></span></a> <span class="p">{</span><span class="s1">'[ĵǰ]'</span><span class="p">,</span> <span class="s1">'j'</span><span class="p">},</span> </span><span id="L-456"><a href="#L-456"><span class="linenos" data-line="456"></span></a> <span class="p">{</span><span class="s1">'[Ĵ]'</span><span class="p">,</span> <span class="s1">'J'</span><span class="p">},</span> </span><span id="L-457"><a href="#L-457"><span class="linenos" data-line="457"></span></a> <span class="p">{</span><span class="s1">'[ḱǩķ]'</span><span class="p">,</span> <span class="s1">'k'</span><span class="p">},</span> </span><span id="L-458"><a href="#L-458"><span class="linenos" data-line="458"></span></a> <span class="p">{</span><span class="s1">'[ḰǨĶ]'</span><span class="p">,</span> <span class="s1">'K'</span><span class="p">},</span> </span><span id="L-459"><a href="#L-459"><span class="linenos" data-line="459"></span></a> <span class="p">{</span><span class="s1">'[ĺľļłḷḹḽḻl·l·ŀƚⱡ]'</span><span class="p">,</span> <span class="s1">'l'</span><span class="p">},</span> </span><span id="L-460"><a href="#L-460"><span class="linenos" data-line="460"></span></a> <span class="p">{</span><span class="s1">'[ĹĽĻŁḶḸḼḺL·L·ĿȽⱠ]'</span><span class="p">,</span> <span class="s1">'L'</span><span class="p">},</span> </span><span id="L-461"><a href="#L-461"><span class="linenos" data-line="461"></span></a> <span class="p">{</span><span class="s1">'[ḿṁṃ]'</span><span class="p">,</span> <span class="s1">'m'</span><span class="p">},</span> </span><span id="L-462"><a href="#L-462"><span class="linenos" data-line="462"></span></a> <span class="p">{</span><span class="s1">'[ḾṀṂ]'</span><span class="p">,</span> <span class="s1">'M'</span><span class="p">},</span> </span><span id="L-463"><a href="#L-463"><span class="linenos" data-line="463"></span></a> <span class="p">{</span><span class="s1">'[ńǹňñṅņṇṋṉ]'</span><span class="p">,</span> <span class="s1">'n'</span><span class="p">},</span> </span><span id="L-464"><a href="#L-464"><span class="linenos" data-line="464"></span></a> <span class="p">{</span><span class="s1">'[ŃǸŇÑṄŅṆṊṈ]'</span><span class="p">,</span> <span class="s1">'N'</span><span class="p">},</span> </span><span id="L-465"><a href="#L-465"><span class="linenos" data-line="465"></span></a> <span class="p">{</span><span class="s1">'[óòŏốồỗổǒôöȫőõṍṏȭȯȱøǿǫǭōṓṑỏȍȏơớờỡởợọộœ]'</span><span class="p">,</span> <span class="s1">'o'</span><span class="p">},</span> </span><span id="L-466"><a href="#L-466"><span class="linenos" data-line="466"></span></a> <span class="p">{</span><span class="s1">'[ÓÒŎỐỒỖỔǑÔÖȪŐÕṌṎȬȮȰØǾǪǬŌṒṐỎȌȎƠỚỜỠỞỢỌỘŒ]'</span><span class="p">,</span> <span class="s1">'O'</span><span class="p">},</span> </span><span id="L-467"><a href="#L-467"><span class="linenos" data-line="467"></span></a> <span class="p">{</span><span class="s1">'[ṕṗ]'</span><span class="p">,</span> <span class="s1">'p'</span><span class="p">},</span> </span><span id="L-468"><a href="#L-468"><span class="linenos" data-line="468"></span></a> <span class="p">{</span><span class="s1">'[ṔṖ]'</span><span class="p">,</span> <span class="s1">'P'</span><span class="p">},</span> </span><span id="L-469"><a href="#L-469"><span class="linenos" data-line="469"></span></a> <span class="p">{</span><span class="s1">'[ŕřṙŗȑȓṛṝṟ]'</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">},</span> </span><span id="L-470"><a href="#L-470"><span class="linenos" data-line="470"></span></a> <span class="p">{</span><span class="s1">'[ŔŘṘŖȐȒṚṜṞ]'</span><span class="p">,</span> <span class="s1">'R'</span><span class="p">},</span> </span><span id="L-471"><a href="#L-471"><span class="linenos" data-line="471"></span></a> <span class="p">{</span><span class="s1">'[śṥŝṧṡşṣṩșšß]'</span><span class="p">,</span> <span class="s1">'s'</span><span class="p">},</span> </span><span id="L-472"><a href="#L-472"><span class="linenos" data-line="472"></span></a> <span class="p">{</span><span class="s1">'[ŚṤŜṦṠŞṢṨȘŠ]'</span><span class="p">,</span> <span class="s1">'S'</span><span class="p">},</span> </span><span id="L-473"><a href="#L-473"><span class="linenos" data-line="473"></span></a> <span class="p">{</span><span class="s1">'[ťṫẗţṭțṱṯ]'</span><span class="p">,</span> <span class="s1">'t'</span><span class="p">},</span> </span><span id="L-474"><a href="#L-474"><span class="linenos" data-line="474"></span></a> <span class="p">{</span><span class="s1">'[ŤṪŢṬȚṰṮ]'</span><span class="p">,</span> <span class="s1">'T'</span><span class="p">},</span> </span><span id="L-475"><a href="#L-475"><span class="linenos" data-line="475"></span></a> <span class="p">{</span><span class="s1">'[úùŭûǔůüǘǜǚǖűũṹųūṻủȕȗưứừữửựụṳṷṵʉ]'</span><span class="p">,</span> <span class="s1">'u'</span><span class="p">},</span> </span><span id="L-476"><a href="#L-476"><span class="linenos" data-line="476"></span></a> <span class="p">{</span><span class="s1">'[ÚÙŬÛǓŮÜǗǛǙǕŰŨṸŲŪṺỦȔȖƯỨỪỮỬỰỤṲṶṴɄ]'</span><span class="p">,</span> <span class="s1">'U'</span><span class="p">},</span> </span><span id="L-477"><a href="#L-477"><span class="linenos" data-line="477"></span></a> <span class="p">{</span><span class="s1">'[ṽṿʋ]'</span><span class="p">,</span> <span class="s1">'v'</span><span class="p">},</span> </span><span id="L-478"><a href="#L-478"><span class="linenos" data-line="478"></span></a> <span class="p">{</span><span class="s1">'[ṼṾƲ]'</span><span class="p">,</span> <span class="s1">'V'</span><span class="p">},</span> </span><span id="L-479"><a href="#L-479"><span class="linenos" data-line="479"></span></a> <span class="p">{</span><span class="s1">'[ẃẁŵẘẅẇẉⱳ]'</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">},</span> </span><span id="L-480"><a href="#L-480"><span class="linenos" data-line="480"></span></a> <span class="p">{</span><span class="s1">'[ẂẀŴ̊ẄẆẈⱲ]'</span><span class="p">,</span> <span class="s1">'W'</span><span class="p">},</span> </span><span id="L-481"><a href="#L-481"><span class="linenos" data-line="481"></span></a> <span class="p">{</span><span class="s1">'[ýỳŷẙÿỹẏȳỷỵɏƴ]'</span><span class="p">,</span> <span class="s1">'y'</span><span class="p">},</span> </span><span id="L-482"><a href="#L-482"><span class="linenos" data-line="482"></span></a> <span class="p">{</span><span class="s1">'[ÝỲŶ̊ŸỸẎȲỶỴɎƳ]'</span><span class="p">,</span> <span class="s1">'Y'</span><span class="p">},</span> </span><span id="L-483"><a href="#L-483"><span class="linenos" data-line="483"></span></a> <span class="p">{</span><span class="s1">'[źẑžżẓẕƶȥʐⱬ]'</span><span class="p">,</span> <span class="s1">'z'</span><span class="p">},</span> </span><span id="L-484"><a href="#L-484"><span class="linenos" data-line="484"></span></a> <span class="p">{</span><span class="s1">'[ŹẐŽŻẒẔƵȤʐⱫ]'</span><span class="p">,</span> <span class="s1">'Z'</span><span class="p">},</span> </span><span id="L-485"><a href="#L-485"><span class="linenos" data-line="485"></span></a> <span class="p">}</span> </span><span id="L-486"><a href="#L-486"><span class="linenos" data-line="486"></span></a> </span><span id="L-487"><a href="#L-487"><span class="linenos" data-line="487"></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><span id="L-488"><a href="#L-488"><span class="linenos" data-line="488"></span></a> <span class="kd">local</span> <span class="n">source</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><span id="L-489"><a href="#L-489"><span class="linenos" data-line="489"></span></a> <span class="c1">--local source = mw.ustring.toNFC(source)</span> </span><span id="L-490"><a href="#L-490"><span class="linenos" data-line="490"></span></a> </span><span id="L-491"><a href="#L-491"><span class="linenos" data-line="491"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">el</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">collation</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-492"><a href="#L-492"><span class="linenos" data-line="492"></span></a> <span class="n">source</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</span><span class="p">,</span> <span class="n">el</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">el</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> </span><span id="L-493"><a href="#L-493"><span class="linenos" data-line="493"></span></a> <span class="kr">end</span> </span><span id="L-494"><a href="#L-494"><span class="linenos" data-line="494"></span></a> <span class="kr">return</span> <span class="n">source</span> </span><span id="L-495"><a href="#L-495"><span class="linenos" data-line="495"></span></a><span class="kr">end</span> </span><span id="L-496"><a href="#L-496"><span class="linenos" data-line="496"></span></a> </span><span id="L-497"><a href="#L-497"><span class="linenos" data-line="497"></span></a><span class="cm">--[[</span> </span><span id="L-498"><a href="#L-498"><span class="linenos" data-line="498"></span></a><span class="cm"> Funzione per estrarre da un titolo la stringa adatta all'ordinamento alfabetico. </span> </span><span id="L-499"><a href="#L-499"><span class="linenos" data-line="499"></span></a><span class="cm">]]</span> </span><span id="L-500"><a href="#L-500"><span class="linenos" data-line="500"></span></a> </span><span id="L-501"><a href="#L-501"><span class="linenos" data-line="501"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">titolo_alfa</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-502"><a href="#L-502"><span class="linenos" data-line="502"></span></a> <span class="c1">-- Evito "I", "A", "Die"... che darebbero molte false corrispondenze in lingue diverse</span> </span><span id="L-503"><a href="#L-503"><span class="linenos" data-line="503"></span></a> <span class="kd">local</span> <span class="n">articoli</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"Il "</span><span class="p">,</span> <span class="s2">"Lo "</span><span class="p">,</span> <span class="s2">"La "</span><span class="p">,</span> <span class="s2">"L'"</span><span class="p">,</span> <span class="s2">"Gli "</span><span class="p">,</span> <span class="s2">"Le "</span><span class="p">,</span> <span class="s2">"Un "</span><span class="p">,</span> <span class="s2">"Uno "</span><span class="p">,</span> <span class="s2">"Una "</span><span class="p">,</span> <span class="s2">"Un'"</span><span class="p">,</span> <span class="s2">"The "</span><span class="p">,</span> <span class="s2">"An "</span><span class="p">,</span> <span class="s2">"Les "</span><span class="p">,</span> <span class="s2">"El "</span><span class="p">,</span> <span class="s2">"Los "</span><span class="p">,</span> <span class="s2">"Las "</span><span class="p">,</span> <span class="s2">"Der "</span><span class="p">,</span> <span class="s2">"Das "</span><span class="p">}</span> </span><span id="L-504"><a href="#L-504"><span class="linenos" data-line="504"></span></a> </span><span id="L-505"><a href="#L-505"><span class="linenos" data-line="505"></span></a> <span class="kd">local</span> <span class="n">source</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-506"><a href="#L-506"><span class="linenos" data-line="506"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">source</span> <span class="ow">or</span> <span class="n">source</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-507"><a href="#L-507"><span class="linenos" data-line="507"></span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">getCurrentTitle</span><span class="p">().</span><span class="n">text</span> </span><span id="L-508"><a href="#L-508"><span class="linenos" data-line="508"></span></a> <span class="kr">end</span> </span><span id="L-509"><a href="#L-509"><span class="linenos" data-line="509"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">source</span> <span class="ow">or</span> <span class="n">source</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-510"><a href="#L-510"><span class="linenos" data-line="510"></span></a> <span class="kr">return</span> <span class="s1">''</span> </span><span id="L-511"><a href="#L-511"><span class="linenos" data-line="511"></span></a> <span class="kr">end</span> </span><span id="L-512"><a href="#L-512"><span class="linenos" data-line="512"></span></a> <span class="n">source</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</span><span class="p">,</span> <span class="s1">' %(.*%)$'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span> </span><span id="L-513"><a href="#L-513"><span class="linenos" data-line="513"></span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">collate</span><span class="p">(</span> <span class="p">{</span> <span class="n">args</span> <span class="o">=</span> <span class="p">{</span> <span class="n">source</span> <span class="p">}</span> <span class="p">}</span> <span class="p">)</span> </span><span id="L-514"><a href="#L-514"><span class="linenos" data-line="514"></span></a> <span class="n">source</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</span><span class="p">,</span> <span class="s2">"^['%(%.¡¿ ]*"</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span> </span><span id="L-515"><a href="#L-515"><span class="linenos" data-line="515"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span><span class="n">article</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">articoli</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-516"><a href="#L-516"><span class="linenos" data-line="516"></span></a> <span class="n">source</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</span><span class="p">,</span> <span class="s2">"^("</span> <span class="o">..</span> <span class="n">article</span> <span class="o">..</span> <span class="s2">")(.*)$"</span><span class="p">,</span> <span class="s2">"%2, %1"</span><span class="p">)</span> </span><span id="L-517"><a href="#L-517"><span class="linenos" data-line="517"></span></a> <span class="kr">end</span> </span><span id="L-518"><a href="#L-518"><span class="linenos" data-line="518"></span></a> <span class="n">source</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</span><span class="p">,</span> <span class="s1">'^%l'</span><span class="p">,</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">upper</span><span class="p">)</span> </span><span id="L-519"><a href="#L-519"><span class="linenos" data-line="519"></span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">trim</span><span class="p">(</span><span class="n">source</span><span class="p">)</span> </span><span id="L-520"><a href="#L-520"><span class="linenos" data-line="520"></span></a> <span class="kr">return</span> <span class="n">source</span> </span><span id="L-521"><a href="#L-521"><span class="linenos" data-line="521"></span></a><span class="kr">end</span> </span><span id="L-522"><a href="#L-522"><span class="linenos" data-line="522"></span></a> </span><span id="L-523"><a href="#L-523"><span class="linenos" data-line="523"></span></a> </span><span id="L-524"><a href="#L-524"><span class="linenos" data-line="524"></span></a><span class="c1">-- =================================================================</span> </span><span id="L-525"><a href="#L-525"><span class="linenos" data-line="525"></span></a><span class="c1">-- Classe per gestire i parametri</span> </span><span id="L-526"><a href="#L-526"><span class="linenos" data-line="526"></span></a><span class="c1">-- =================================================================</span> </span><span id="L-527"><a href="#L-527"><span class="linenos" data-line="527"></span></a><span class="kd">local</span> <span class="n">Param</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-528"><a href="#L-528"><span class="linenos" data-line="528"></span></a><span class="n">Param</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">Param</span> </span><span id="L-529"><a href="#L-529"><span class="linenos" data-line="529"></span></a> </span><span id="L-530"><a href="#L-530"><span class="linenos" data-line="530"></span></a><span class="kr">function</span> <span class="nc">Param</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="n">par_name</span><span class="p">,</span> <span class="n">alt_name</span><span class="p">)</span> </span><span id="L-531"><a href="#L-531"><span class="linenos" data-line="531"></span></a> <span class="kr">if</span> <span class="n">par_name</span> <span class="o">~=</span> <span class="s2">"$index"</span> <span class="ow">and</span> <span class="ow">not</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">par_name</span><span class="p">,</span> <span class="s1">'#'</span><span class="p">)</span> <span class="kr">then</span> <span class="n">par_name</span> <span class="o">=</span> <span class="n">par_name</span> <span class="o">..</span> <span class="s1">'#'</span> <span class="kr">end</span><span class="p">;</span> </span><span id="L-532"><a href="#L-532"><span class="linenos" data-line="532"></span></a> <span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">({</span> </span><span id="L-533"><a href="#L-533"><span class="linenos" data-line="533"></span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">par_name</span><span class="p">,</span> </span><span id="L-534"><a href="#L-534"><span class="linenos" data-line="534"></span></a> <span class="n">base_name</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">par_name</span><span class="p">,</span> <span class="s1">' ?#'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> </span><span id="L-535"><a href="#L-535"><span class="linenos" data-line="535"></span></a> <span class="n">alt</span> <span class="o">=</span> <span class="n">alt_name</span> </span><span id="L-536"><a href="#L-536"><span class="linenos" data-line="536"></span></a> <span class="p">},</span> <span class="n">Param</span><span class="p">)</span> </span><span id="L-537"><a href="#L-537"><span class="linenos" data-line="537"></span></a><span class="kr">end</span> </span><span id="L-538"><a href="#L-538"><span class="linenos" data-line="538"></span></a> </span><span id="L-539"><a href="#L-539"><span class="linenos" data-line="539"></span></a><span class="kr">function</span> <span class="nc">Param</span><span class="p">:</span><span class="nf">get_other_value</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">index</span><span class="p">)</span> </span><span id="L-540"><a href="#L-540"><span class="linenos" data-line="540"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="o">==</span> <span class="s1">'$index'</span> <span class="kr">then</span> </span><span id="L-541"><a href="#L-541"><span class="linenos" data-line="541"></span></a> <span class="kr">return</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">index</span><span class="p">),</span> <span class="kc">true</span> </span><span id="L-542"><a href="#L-542"><span class="linenos" data-line="542"></span></a> <span class="kr">else</span> </span><span id="L-543"><a href="#L-543"><span class="linenos" data-line="543"></span></a> <span class="kr">return</span> <span class="n">args</span><span class="p">[</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">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> <span class="s1">'#'</span><span class="p">,</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">index</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="kc">false</span> </span><span id="L-544"><a href="#L-544"><span class="linenos" data-line="544"></span></a> <span class="kr">end</span> </span><span id="L-545"><a href="#L-545"><span class="linenos" data-line="545"></span></a><span class="kr">end</span> </span><span id="L-546"><a href="#L-546"><span class="linenos" data-line="546"></span></a> </span><span id="L-547"><a href="#L-547"><span class="linenos" data-line="547"></span></a><span class="kr">function</span> <span class="nc">Param</span><span class="p">:</span><span class="nf">get_first_value</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">index</span><span class="p">,</span> <span class="n">base_index</span><span class="p">)</span> </span><span id="L-548"><a href="#L-548"><span class="linenos" data-line="548"></span></a> <span class="kr">function</span> <span class="nf">value_or_nil</span> <span class="p">(</span><span class="n">s</span><span class="p">)</span> </span><span id="L-549"><a href="#L-549"><span class="linenos" data-line="549"></span></a> <span class="kr">if</span> <span class="n">s</span> <span class="ow">and</span> <span class="n">s</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> <span class="kr">return</span> <span class="n">s</span> <span class="kr">end</span> </span><span id="L-550"><a href="#L-550"><span class="linenos" data-line="550"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-551"><a href="#L-551"><span class="linenos" data-line="551"></span></a> <span class="kr">end</span> </span><span id="L-552"><a href="#L-552"><span class="linenos" data-line="552"></span></a> </span><span id="L-553"><a href="#L-553"><span class="linenos" data-line="553"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="o">==</span> <span class="s1">'$index'</span> <span class="kr">then</span> </span><span id="L-554"><a href="#L-554"><span class="linenos" data-line="554"></span></a> <span class="kr">return</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">index</span><span class="p">),</span> <span class="kc">true</span> </span><span id="L-555"><a href="#L-555"><span class="linenos" data-line="555"></span></a> <span class="kr">end</span> </span><span id="L-556"><a href="#L-556"><span class="linenos" data-line="556"></span></a> <span class="kr">if</span> <span class="n">index</span> <span class="o">==</span> <span class="n">base_index</span> <span class="kr">then</span> </span><span id="L-557"><a href="#L-557"><span class="linenos" data-line="557"></span></a> <span class="kr">return</span> <span class="n">value_or_nil</span><span class="p">(</span><span class="n">args</span><span class="p">[</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">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> <span class="s1">'#'</span><span class="p">,</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">index</span><span class="p">),</span> <span class="mi">1</span><span class="p">)])</span> <span class="ow">or</span> </span><span id="L-558"><a href="#L-558"><span class="linenos" data-line="558"></span></a> <span class="n">value_or_nil</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">base_name</span><span class="p">])</span> <span class="ow">or</span> <span class="n">value_or_nil</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">alt</span><span class="p">])</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">,</span> <span class="kc">false</span> </span><span id="L-559"><a href="#L-559"><span class="linenos" data-line="559"></span></a> <span class="kr">else</span> </span><span id="L-560"><a href="#L-560"><span class="linenos" data-line="560"></span></a> <span class="kr">return</span> <span class="n">value_or_nil</span><span class="p">(</span><span class="n">args</span><span class="p">[</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">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> <span class="s1">'#'</span><span class="p">,</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">index</span><span class="p">),</span> <span class="mi">1</span><span class="p">)])</span> <span class="ow">or</span> </span><span id="L-561"><a href="#L-561"><span class="linenos" data-line="561"></span></a> <span class="n">value_or_nil</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">alt</span><span class="p">])</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">,</span> <span class="kc">false</span> </span><span id="L-562"><a href="#L-562"><span class="linenos" data-line="562"></span></a> <span class="kr">end</span> </span><span id="L-563"><a href="#L-563"><span class="linenos" data-line="563"></span></a><span class="kr">end</span> </span><span id="L-564"><a href="#L-564"><span class="linenos" data-line="564"></span></a> </span><span id="L-565"><a href="#L-565"><span class="linenos" data-line="565"></span></a> </span><span id="L-566"><a href="#L-566"><span class="linenos" data-line="566"></span></a><span class="nb">setmetatable</span><span class="p">(</span><span class="n">Param</span><span class="p">,</span> <span class="p">{</span> <span class="n">__call</span> <span class="o">=</span> <span class="kr">function</span><span class="p">(</span><span class="n">_</span><span class="p">,</span> <span class="p">...)</span> <span class="kr">return</span> <span class="n">Param</span><span class="p">.</span><span class="n">new</span><span class="p">(...)</span> <span class="kr">end</span> <span class="p">})</span> </span><span id="L-567"><a href="#L-567"><span class="linenos" data-line="567"></span></a><span class="c1">-- =================================================================</span> </span><span id="L-568"><a href="#L-568"><span class="linenos" data-line="568"></span></a><span class="c1">-- fine dichiarazione classe per parametro</span> </span><span id="L-569"><a href="#L-569"><span class="linenos" data-line="569"></span></a><span class="c1">-- =================================================================</span> </span><span id="L-570"><a href="#L-570"><span class="linenos" data-line="570"></span></a> </span><span id="L-571"><a href="#L-571"><span class="linenos" data-line="571"></span></a><span class="c1">-- =================================================================</span> </span><span id="L-572"><a href="#L-572"><span class="linenos" data-line="572"></span></a><span class="c1">-- Classe per gestire il messaggio</span> </span><span id="L-573"><a href="#L-573"><span class="linenos" data-line="573"></span></a> <span class="c1">-- =================================================================</span> </span><span id="L-574"><a href="#L-574"><span class="linenos" data-line="574"></span></a><span class="kd">local</span> <span class="n">Message</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-575"><a href="#L-575"><span class="linenos" data-line="575"></span></a><span class="n">Message</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">Message</span> </span><span id="L-576"><a href="#L-576"><span class="linenos" data-line="576"></span></a> </span><span id="L-577"><a href="#L-577"><span class="linenos" data-line="577"></span></a><span class="kr">function</span> <span class="nc">Message</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> </span><span id="L-578"><a href="#L-578"><span class="linenos" data-line="578"></span></a> <span class="c1">-- converto parentesi graffe che sono state precedute da "\"</span> </span><span id="L-579"><a href="#L-579"><span class="linenos" data-line="579"></span></a> <span class="n">msg</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">msg</span><span class="p">,</span> <span class="s1">'</span><span class="se">\\</span><span class="s1">{'</span><span class="p">,</span> <span class="s1">'{'</span><span class="p">)</span> </span><span id="L-580"><a href="#L-580"><span class="linenos" data-line="580"></span></a> <span class="n">msg</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">msg</span><span class="p">,</span> <span class="s1">'</span><span class="se">\\</span><span class="s1">}'</span><span class="p">,</span> <span class="s1">'}'</span><span class="p">)</span> </span><span id="L-581"><a href="#L-581"><span class="linenos" data-line="581"></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 class="n">getParent</span><span class="p">()</span> <span class="ow">or</span> <span class="n">mw</span><span class="p">.</span><span class="n">getCurrentFrame</span><span class="p">()</span> </span><span id="L-582"><a href="#L-582"><span class="linenos" data-line="582"></span></a> </span><span id="L-583"><a href="#L-583"><span class="linenos" data-line="583"></span></a> <span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">({</span> </span><span id="L-584"><a href="#L-584"><span class="linenos" data-line="584"></span></a> <span class="n">msg</span> <span class="o">=</span> <span class="n">msg</span><span class="p">,</span> </span><span id="L-585"><a href="#L-585"><span class="linenos" data-line="585"></span></a> <span class="n">values</span> <span class="o">=</span> <span class="p">{},</span> </span><span id="L-586"><a href="#L-586"><span class="linenos" data-line="586"></span></a> <span class="n">frame</span> <span class="o">=</span> <span class="n">frame</span><span class="p">,</span> </span><span id="L-587"><a href="#L-587"><span class="linenos" data-line="587"></span></a> <span class="p">},</span> <span class="n">Message</span><span class="p">)</span> </span><span id="L-588"><a href="#L-588"><span class="linenos" data-line="588"></span></a><span class="kr">end</span> </span><span id="L-589"><a href="#L-589"><span class="linenos" data-line="589"></span></a> </span><span id="L-590"><a href="#L-590"><span class="linenos" data-line="590"></span></a><span class="kr">function</span> <span class="nc">Message</span><span class="p">:</span><span class="nf">reset_values</span><span class="p">()</span> </span><span id="L-591"><a href="#L-591"><span class="linenos" data-line="591"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">values</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-592"><a href="#L-592"><span class="linenos" data-line="592"></span></a><span class="kr">end</span> </span><span id="L-593"><a href="#L-593"><span class="linenos" data-line="593"></span></a> </span><span id="L-594"><a href="#L-594"><span class="linenos" data-line="594"></span></a><span class="kr">function</span> <span class="nc">Message</span><span class="p">:</span><span class="nf">add_value</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> </span><span id="L-595"><a href="#L-595"><span class="linenos" data-line="595"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">values</span><span class="p">[</span><span class="o">#</span><span class="n">self</span><span class="p">.</span><span class="n">values</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> </span><span id="L-596"><a href="#L-596"><span class="linenos" data-line="596"></span></a><span class="kr">end</span> </span><span id="L-597"><a href="#L-597"><span class="linenos" data-line="597"></span></a> </span><span id="L-598"><a href="#L-598"><span class="linenos" data-line="598"></span></a><span class="kr">function</span> <span class="nc">Message</span><span class="p">:</span><span class="nf">text</span><span class="p">()</span> </span><span id="L-599"><a href="#L-599"><span class="linenos" data-line="599"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">frame</span><span class="p">:</span><span class="n">preprocess</span><span class="p">(</span><span class="n">mw</span><span class="p">.</span><span class="n">message</span><span class="p">.</span><span class="n">newRawMessage</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">msg</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">values</span><span class="p">):</span><span class="n">plain</span><span class="p">())</span> </span><span id="L-600"><a href="#L-600"><span class="linenos" data-line="600"></span></a><span class="kr">end</span> </span><span id="L-601"><a href="#L-601"><span class="linenos" data-line="601"></span></a> </span><span id="L-602"><a href="#L-602"><span class="linenos" data-line="602"></span></a><span class="nb">setmetatable</span><span class="p">(</span><span class="n">Message</span><span class="p">,</span> <span class="p">{</span> <span class="n">__call</span> <span class="o">=</span> <span class="kr">function</span><span class="p">(</span><span class="n">_</span><span class="p">,</span> <span class="p">...)</span> <span class="kr">return</span> <span class="n">Message</span><span class="p">.</span><span class="n">new</span><span class="p">(...)</span> <span class="kr">end</span> <span class="p">})</span> </span><span id="L-603"><a href="#L-603"><span class="linenos" data-line="603"></span></a><span class="c1">-- =================================================================</span> </span><span id="L-604"><a href="#L-604"><span class="linenos" data-line="604"></span></a><span class="c1">-- fine dichiarazione classe per messaggio</span> </span><span id="L-605"><a href="#L-605"><span class="linenos" data-line="605"></span></a><span class="c1">-- =================================================================</span> </span><span id="L-606"><a href="#L-606"><span class="linenos" data-line="606"></span></a> </span><span id="L-607"><a href="#L-607"><span class="linenos" data-line="607"></span></a> </span><span id="L-608"><a href="#L-608"><span class="linenos" data-line="608"></span></a> </span><span id="L-609"><a href="#L-609"><span class="linenos" data-line="609"></span></a><span class="cm">--[[</span> </span><span id="L-610"><a href="#L-610"><span class="linenos" data-line="610"></span></a><span class="cm"> Funzione per unire una o più liste di valori in una stringa.</span> </span><span id="L-611"><a href="#L-611"><span class="linenos" data-line="611"></span></a> </span><span id="L-612"><a href="#L-612"><span class="linenos" data-line="612"></span></a><span class="cm">Uso:</span> </span><span id="L-613"><a href="#L-613"><span class="linenos" data-line="613"></span></a><span class="cm">{{#invoke:String|arraytostring|par1=xxx|par2=xxx....|parn=xxxx|msg=msg|separator=|congiunzione=|pre=|post=|lista=}}</span> </span><span id="L-614"><a href="#L-614"><span class="linenos" data-line="614"></span></a> </span><span id="L-615"><a href="#L-615"><span class="linenos" data-line="615"></span></a><span class="cm">Parametri:</span> </span><span id="L-616"><a href="#L-616"><span class="linenos" data-line="616"></span></a><span class="cm"> par1...parn: i nomi base dei parametri da inserire nel messsaggio, devono contenere il carattere '#' che precisa la</span> </span><span id="L-617"><a href="#L-617"><span class="linenos" data-line="617"></span></a><span class="cm"> posizione in cui inserire l'indice. Se viene valorizzato a '$index' avrà automaticamente il valore del</span> </span><span id="L-618"><a href="#L-618"><span class="linenos" data-line="618"></span></a><span class="cm"> contatore.</span> </span><span id="L-619"><a href="#L-619"><span class="linenos" data-line="619"></span></a><span class="cm"> msg: il messaggio (cioè la riga unitaria) in cui eventuali caratteri '{', '}' dovranno essere</span> </span><span id="L-620"><a href="#L-620"><span class="linenos" data-line="620"></span></a><span class="cm"> preceduti da '\', mentre una "|" dovrà essere inserita con il template {{!}}.</span> </span><span id="L-621"><a href="#L-621"><span class="linenos" data-line="621"></span></a><span class="cm"> I valori da sostituire sono da inserire come $n ($1 sarà sostituito dal</span> </span><span id="L-622"><a href="#L-622"><span class="linenos" data-line="622"></span></a><span class="cm"> valore di par1, $2 dal valore di par2, ecc...)</span> </span><span id="L-623"><a href="#L-623"><span class="linenos" data-line="623"></span></a><span class="cm"> separatore: La stringa da inserire tra ogni valore</span> </span><span id="L-624"><a href="#L-624"><span class="linenos" data-line="624"></span></a><span class="cm"> congiunzione: La stringa da inserire invece di separatore tra l'ultimo e il penultimo valore. Se</span> </span><span id="L-625"><a href="#L-625"><span class="linenos" data-line="625"></span></a><span class="cm"> non precisato viene usato il valore di separatore</span> </span><span id="L-626"><a href="#L-626"><span class="linenos" data-line="626"></span></a><span class="cm"> pre: eventuale stringa che precede l'unione delle stringhe</span> </span><span id="L-627"><a href="#L-627"><span class="linenos" data-line="627"></span></a><span class="cm"> post: eventuale stringa che segue l'unione delle stringhe</span> </span><span id="L-628"><a href="#L-628"><span class="linenos" data-line="628"></span></a><span class="cm"> indentazione: una stringa da ripetere cumulativamente per ogni messaggio (tipicamente '&nbsp')</span> </span><span id="L-629"><a href="#L-629"><span class="linenos" data-line="629"></span></a><span class="cm"> lista: se valorizzata a:</span> </span><span id="L-630"><a href="#L-630"><span class="linenos" data-line="630"></span></a><span class="cm"> 'puntata' imposta i parametri per una lista puntata</span> </span><span id="L-631"><a href="#L-631"><span class="linenos" data-line="631"></span></a><span class="cm"> 'ordinata' imposta i parametri per una lista ordinata</span> </span><span id="L-632"><a href="#L-632"><span class="linenos" data-line="632"></span></a><span class="cm"> 'infobox' imposta l'unione come una lista, eccetto che nel caso ci sia</span> </span><span id="L-633"><a href="#L-633"><span class="linenos" data-line="633"></span></a><span class="cm"> solo un elemento</span> </span><span id="L-634"><a href="#L-634"><span class="linenos" data-line="634"></span></a><span class="cm"> Se lista è valorizzata separatore/congiunzione/pre/post sono ignorati, salvo il caso di 'infobox' e la</span> </span><span id="L-635"><a href="#L-635"><span class="linenos" data-line="635"></span></a><span class="cm"> lista contenga solo un elemento.</span> </span><span id="L-636"><a href="#L-636"><span class="linenos" data-line="636"></span></a><span class="cm"> nmin = indice iniziale da cui partire a scandire i parametri (di default pari a 1)</span> </span><span id="L-637"><a href="#L-637"><span class="linenos" data-line="637"></span></a><span class="cm"> nmax = indice massimo a cui arrivare con i parametri (se non precisato illimitato)</span> </span><span id="L-638"><a href="#L-638"><span class="linenos" data-line="638"></span></a><span class="cm"> nobbligatori = l'indice minimo che deve essere valutato anche in presenza di buchi nella sequenza (comunque l'indice massimo</span> </span><span id="L-639"><a href="#L-639"><span class="linenos" data-line="639"></span></a><span class="cm"> che viene valutato è nmax)</span> </span><span id="L-640"><a href="#L-640"><span class="linenos" data-line="640"></span></a><span class="cm"> baseIndex = valore dell'indice che può essere sostituito da stringa nulla (default = 1)</span> </span><span id="L-641"><a href="#L-641"><span class="linenos" data-line="641"></span></a> </span><span id="L-642"><a href="#L-642"><span class="linenos" data-line="642"></span></a><span class="cm">Esempi di chiamata:</span> </span><span id="L-643"><a href="#L-643"><span class="linenos" data-line="643"></span></a><span class="cm"> {{#invoke:string:arraytostring|par1=var#|separatore=,|congiunzione=#32;e#32;}}</span> </span><span id="L-644"><a href="#L-644"><span class="linenos" data-line="644"></span></a><span class="cm"> {{#invoke:string:arraytostring|par1=disegnatore #|par2=disegnatore # nota|msg = $1 <small>$2</small>|lista=infobox }}</span> </span><span id="L-645"><a href="#L-645"><span class="linenos" data-line="645"></span></a><span class="cm"> {{#invoke:string:arraytostring|par1=editore #|par2=etichetta #|par3=editore # nota| msg=$1 \{\{#if:$2{{!}}$2 <small>$3</small>\}\}|lista=infobox }}</span> </span><span id="L-646"><a href="#L-646"><span class="linenos" data-line="646"></span></a> </span><span id="L-647"><a href="#L-647"><span class="linenos" data-line="647"></span></a><span class="cm">]]</span> </span><span id="L-648"><a href="#L-648"><span class="linenos" data-line="648"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">arraytostring</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-649"><a href="#L-649"><span class="linenos" data-line="649"></span></a> </span><span id="L-650"><a href="#L-650"><span class="linenos" data-line="650"></span></a> <span class="kd">local</span> <span class="n">base_args</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span> </span><span id="L-651"><a href="#L-651"><span class="linenos" data-line="651"></span></a> <span class="kd">local</span> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-652"><a href="#L-652"><span class="linenos" data-line="652"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">base_args</span> <span class="kr">then</span> <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">'Lista parametri vuota'</span><span class="p">)</span> <span class="kr">end</span> </span><span id="L-653"><a href="#L-653"><span class="linenos" data-line="653"></span></a> <span class="c1">-- carico la lista dei parametri</span> </span><span id="L-654"><a href="#L-654"><span class="linenos" data-line="654"></span></a> <span class="kd">local</span> <span class="n">index</span> <span class="o">=</span> <span class="mi">1</span> </span><span id="L-655"><a href="#L-655"><span class="linenos" data-line="655"></span></a> <span class="kr">while</span> <span class="kc">true</span> <span class="kr">do</span> </span><span id="L-656"><a href="#L-656"><span class="linenos" data-line="656"></span></a> <span class="kd">local</span> <span class="n">par_name</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">[</span><span class="s1">'par'</span> <span class="o">..</span> <span class="n">index</span><span class="p">]</span> <span class="ow">or</span> <span class="p">(</span><span class="n">index</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">and</span> <span class="n">base_args</span><span class="p">[</span><span class="s1">'par'</span><span class="p">])</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-657"><a href="#L-657"><span class="linenos" data-line="657"></span></a> <span class="kr">if</span> <span class="n">par_name</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> <span class="kr">break</span> <span class="kr">end</span> </span><span id="L-658"><a href="#L-658"><span class="linenos" data-line="658"></span></a> <span class="c1">--carico eventuale nome alternativo per il primo parametro</span> </span><span id="L-659"><a href="#L-659"><span class="linenos" data-line="659"></span></a> <span class="kd">local</span> <span class="n">alt_name</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">[</span><span class="s1">'altpar'</span> <span class="o">..</span> <span class="n">index</span><span class="p">]</span> <span class="ow">or</span> <span class="p">(</span><span class="n">index</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">and</span> <span class="n">base_args</span><span class="p">[</span><span class="s1">'altpar'</span><span class="p">])</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-660"><a href="#L-660"><span class="linenos" data-line="660"></span></a> <span class="n">params</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">Param</span><span class="p">(</span><span class="n">par_name</span><span class="p">,</span> <span class="n">alt_name</span><span class="p">)</span> </span><span id="L-661"><a href="#L-661"><span class="linenos" data-line="661"></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><span id="L-662"><a href="#L-662"><span class="linenos" data-line="662"></span></a> <span class="kr">end</span> </span><span id="L-663"><a href="#L-663"><span class="linenos" data-line="663"></span></a> <span class="c1">--carico il messaggio</span> </span><span id="L-664"><a href="#L-664"><span class="linenos" data-line="664"></span></a> <span class="kd">local</span> <span class="n">msg</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">msg</span> <span class="ow">or</span> <span class="s1">'$1'</span> </span><span id="L-665"><a href="#L-665"><span class="linenos" data-line="665"></span></a> <span class="c1">--if msg == '' then return str._error('Manca il messaggio da riprodurre.') end</span> </span><span id="L-666"><a href="#L-666"><span class="linenos" data-line="666"></span></a> <span class="kd">local</span> <span class="n">message</span> <span class="o">=</span> <span class="n">Message</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> </span><span id="L-667"><a href="#L-667"><span class="linenos" data-line="667"></span></a> <span class="n">elements</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-668"><a href="#L-668"><span class="linenos" data-line="668"></span></a> <span class="c1">-- carico gli altri parametri di formattazione</span> </span><span id="L-669"><a href="#L-669"><span class="linenos" data-line="669"></span></a> <span class="kd">local</span> <span class="n">Nmax</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">Nmax</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">nmax</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span> </span><span id="L-670"><a href="#L-670"><span class="linenos" data-line="670"></span></a> <span class="kd">local</span> <span class="n">base_index</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">baseindex</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">baseIndex</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-671"><a href="#L-671"><span class="linenos" data-line="671"></span></a> <span class="kd">local</span> <span class="n">index</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">Nmin</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">nmin</span><span class="p">)</span> <span class="ow">or</span> <span class="n">base_index</span> </span><span id="L-672"><a href="#L-672"><span class="linenos" data-line="672"></span></a> <span class="kd">local</span> <span class="n">Nobbligatori</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">Nobbligatori</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">nobbligatori</span><span class="p">)</span> <span class="ow">or</span> <span class="n">base_index</span><span class="o">-</span><span class="mi">1</span> </span><span id="L-673"><a href="#L-673"><span class="linenos" data-line="673"></span></a> <span class="kd">local</span> <span class="n">indentazione</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">indentazione</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-674"><a href="#L-674"><span class="linenos" data-line="674"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">frame</span><span class="p">:</span><span class="n">getParent</span><span class="p">().</span><span class="n">args</span> </span><span id="L-675"><a href="#L-675"><span class="linenos" data-line="675"></span></a> <span class="c1">-- estraggo il primo valore</span> </span><span id="L-676"><a href="#L-676"><span class="linenos" data-line="676"></span></a> <span class="kd">local</span> <span class="n">found</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-677"><a href="#L-677"><span class="linenos" data-line="677"></span></a> </span><span id="L-678"><a href="#L-678"><span class="linenos" data-line="678"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">param</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">params</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-679"><a href="#L-679"><span class="linenos" data-line="679"></span></a> <span class="kd">local</span> <span class="n">v</span><span class="p">,</span> <span class="n">is_index</span> <span class="o">=</span> <span class="n">param</span><span class="p">:</span><span class="n">get_first_value</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">index</span><span class="p">,</span> <span class="n">base_index</span><span class="p">)</span> </span><span id="L-680"><a href="#L-680"><span class="linenos" data-line="680"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="ow">not</span><span class="p">(</span><span class="n">is_index</span><span class="p">)</span> <span class="ow">or</span> <span class="n">base_index</span><span class="o"><=</span><span class="n">Nobbligatori</span><span class="p">)</span> <span class="ow">and</span> <span class="n">v</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> <span class="n">found</span> <span class="o">=</span> <span class="kc">true</span> <span class="kr">end</span> </span><span id="L-681"><a href="#L-681"><span class="linenos" data-line="681"></span></a> <span class="n">message</span><span class="p">:</span><span class="n">add_value</span><span class="p">(</span><span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">trim</span><span class="p">(</span><span class="n">v</span><span class="p">))</span> </span><span id="L-682"><a href="#L-682"><span class="linenos" data-line="682"></span></a> <span class="kr">end</span> </span><span id="L-683"><a href="#L-683"><span class="linenos" data-line="683"></span></a> <span class="kr">if</span> <span class="n">found</span> <span class="kr">then</span> </span><span id="L-684"><a href="#L-684"><span class="linenos" data-line="684"></span></a> <span class="n">elements</span><span class="p">[</span><span class="o">#</span><span class="n">elements</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">message</span><span class="p">:</span><span class="n">text</span><span class="p">()</span> </span><span id="L-685"><a href="#L-685"><span class="linenos" data-line="685"></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><span id="L-686"><a href="#L-686"><span class="linenos" data-line="686"></span></a> <span class="kr">end</span> </span><span id="L-687"><a href="#L-687"><span class="linenos" data-line="687"></span></a> <span class="c1">-- elaboro i valori successivi</span> </span><span id="L-688"><a href="#L-688"><span class="linenos" data-line="688"></span></a> <span class="kr">while</span> <span class="kc">true</span> <span class="kr">do</span> </span><span id="L-689"><a href="#L-689"><span class="linenos" data-line="689"></span></a> <span class="kr">if</span> <span class="n">Nmax</span> <span class="o">></span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">index</span> <span class="o">></span> <span class="n">Nmax</span> <span class="kr">then</span> <span class="kr">break</span> <span class="kr">end</span> </span><span id="L-690"><a href="#L-690"><span class="linenos" data-line="690"></span></a> <span class="n">message</span><span class="p">:</span><span class="n">reset_values</span><span class="p">()</span> </span><span id="L-691"><a href="#L-691"><span class="linenos" data-line="691"></span></a> <span class="n">found</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-692"><a href="#L-692"><span class="linenos" data-line="692"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">param</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">params</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-693"><a href="#L-693"><span class="linenos" data-line="693"></span></a> <span class="kd">local</span> <span class="n">v</span><span class="p">,</span> <span class="n">is_index</span> <span class="o">=</span> <span class="n">param</span><span class="p">:</span><span class="n">get_other_value</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">index</span><span class="p">)</span> </span><span id="L-694"><a href="#L-694"><span class="linenos" data-line="694"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="ow">not</span><span class="p">(</span><span class="n">is_index</span><span class="p">)</span> <span class="ow">or</span> <span class="n">index</span><span class="o"><=</span><span class="n">Nobbligatori</span><span class="p">)</span> <span class="ow">and</span> <span class="n">v</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> <span class="n">found</span> <span class="o">=</span> <span class="kc">true</span> <span class="kr">end</span> </span><span id="L-695"><a href="#L-695"><span class="linenos" data-line="695"></span></a> <span class="n">message</span><span class="p">:</span><span class="n">add_value</span><span class="p">(</span><span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">trim</span><span class="p">(</span><span class="n">v</span><span class="p">))</span> </span><span id="L-696"><a href="#L-696"><span class="linenos" data-line="696"></span></a> <span class="kr">end</span> </span><span id="L-697"><a href="#L-697"><span class="linenos" data-line="697"></span></a> <span class="kr">if</span> <span class="n">found</span> <span class="kr">then</span> </span><span id="L-698"><a href="#L-698"><span class="linenos" data-line="698"></span></a> <span class="n">elements</span><span class="p">[</span><span class="o">#</span><span class="n">elements</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">message</span><span class="p">:</span><span class="n">text</span><span class="p">()</span> </span><span id="L-699"><a href="#L-699"><span class="linenos" data-line="699"></span></a> <span class="kr">elseif</span> <span class="n">index</span> <span class="o">>=</span> <span class="n">Nobbligatori</span> <span class="kr">then</span> </span><span id="L-700"><a href="#L-700"><span class="linenos" data-line="700"></span></a> <span class="kr">break</span> </span><span id="L-701"><a href="#L-701"><span class="linenos" data-line="701"></span></a> <span class="kr">end</span> </span><span id="L-702"><a href="#L-702"><span class="linenos" data-line="702"></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><span id="L-703"><a href="#L-703"><span class="linenos" data-line="703"></span></a> <span class="kr">end</span> </span><span id="L-704"><a href="#L-704"><span class="linenos" data-line="704"></span></a> <span class="kr">if</span> <span class="o">#</span><span class="n">elements</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> <span class="kr">return</span> <span class="s1">''</span> <span class="kr">end</span> </span><span id="L-705"><a href="#L-705"><span class="linenos" data-line="705"></span></a> <span class="c1">-- carico separatori, congiunzione, pre e postazione</span> </span><span id="L-706"><a href="#L-706"><span class="linenos" data-line="706"></span></a> <span class="kd">local</span> <span class="n">pre</span><span class="p">,</span> <span class="n">post</span><span class="p">,</span> <span class="n">separatore</span><span class="p">,</span> <span class="n">congiunzione</span><span class="p">,</span> <span class="n">indent</span> <span class="o">=</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span> </span><span id="L-707"><a href="#L-707"><span class="linenos" data-line="707"></span></a> <span class="kd">local</span> <span class="n">lista</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">lista</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-708"><a href="#L-708"><span class="linenos" data-line="708"></span></a> <span class="kr">if</span> <span class="n">lista</span> <span class="o">==</span> <span class="s1">'puntata'</span> <span class="ow">or</span> <span class="p">(</span><span class="n">lista</span> <span class="o">==</span><span class="s1">'infobox'</span> <span class="ow">and</span> <span class="o">#</span><span class="n">elements</span> <span class="o">></span><span class="mi">1</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-709"><a href="#L-709"><span class="linenos" data-line="709"></span></a> <span class="n">pre</span> <span class="o">=</span> <span class="s1">'<UL><LI>'</span> </span><span id="L-710"><a href="#L-710"><span class="linenos" data-line="710"></span></a> <span class="n">post</span> <span class="o">=</span> <span class="s1">'</LI></span><span class="se">\n</span><span class="s1"></UL>'</span> </span><span id="L-711"><a href="#L-711"><span class="linenos" data-line="711"></span></a> <span class="n">separatore</span> <span class="o">=</span> <span class="s1">'</LI></span><span class="se">\n</span><span class="s1"><LI>'</span> </span><span id="L-712"><a href="#L-712"><span class="linenos" data-line="712"></span></a> <span class="n">congiunzione</span> <span class="o">=</span> <span class="n">separatore</span> </span><span id="L-713"><a href="#L-713"><span class="linenos" data-line="713"></span></a> <span class="kr">elseif</span> <span class="n">lista</span> <span class="o">==</span> <span class="s1">'ordinata'</span> <span class="kr">then</span> </span><span id="L-714"><a href="#L-714"><span class="linenos" data-line="714"></span></a> <span class="n">pre</span> <span class="o">=</span> <span class="s1">'<OL><LI>'</span> </span><span id="L-715"><a href="#L-715"><span class="linenos" data-line="715"></span></a> <span class="n">post</span> <span class="o">=</span> <span class="s1">'</LI></span><span class="se">\n</span><span class="s1"></OL>'</span> </span><span id="L-716"><a href="#L-716"><span class="linenos" data-line="716"></span></a> <span class="n">separatore</span> <span class="o">=</span> <span class="s1">'</LI></span><span class="se">\n</span><span class="s1"><LI>'</span> </span><span id="L-717"><a href="#L-717"><span class="linenos" data-line="717"></span></a> <span class="n">congiunzione</span> <span class="o">=</span> <span class="n">separatore</span> </span><span id="L-718"><a href="#L-718"><span class="linenos" data-line="718"></span></a> <span class="kr">else</span> </span><span id="L-719"><a href="#L-719"><span class="linenos" data-line="719"></span></a> <span class="n">pre</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">pre</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-720"><a href="#L-720"><span class="linenos" data-line="720"></span></a> <span class="n">post</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">post</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-721"><a href="#L-721"><span class="linenos" data-line="721"></span></a> <span class="n">separatore</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">separatore</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-722"><a href="#L-722"><span class="linenos" data-line="722"></span></a> <span class="n">congiunzione</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">congiunzione</span> <span class="ow">or</span> <span class="n">separatore</span> </span><span id="L-723"><a href="#L-723"><span class="linenos" data-line="723"></span></a> <span class="kr">end</span> </span><span id="L-724"><a href="#L-724"><span class="linenos" data-line="724"></span></a> <span class="kr">if</span> <span class="n">indentazione</span> <span class="kr">then</span> </span><span id="L-725"><a href="#L-725"><span class="linenos" data-line="725"></span></a> <span class="kd">local</span> <span class="n">current_indentazione</span> <span class="o">=</span> <span class="n">indentazione</span> </span><span id="L-726"><a href="#L-726"><span class="linenos" data-line="726"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">msg</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">elements</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-727"><a href="#L-727"><span class="linenos" data-line="727"></span></a> <span class="n">elements</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">current_indentazione</span> <span class="o">..</span> <span class="n">elements</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> </span><span id="L-728"><a href="#L-728"><span class="linenos" data-line="728"></span></a> <span class="n">current_indentazione</span> <span class="o">=</span> <span class="n">current_indentazione</span> <span class="o">..</span> <span class="n">indentazione</span> </span><span id="L-729"><a href="#L-729"><span class="linenos" data-line="729"></span></a> <span class="kr">end</span> </span><span id="L-730"><a href="#L-730"><span class="linenos" data-line="730"></span></a> <span class="kr">end</span> </span><span id="L-731"><a href="#L-731"><span class="linenos" data-line="731"></span></a> <span class="kr">return</span> <span class="n">pre</span> <span class="o">..</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">listToText</span><span class="p">(</span><span class="n">elements</span><span class="p">,</span> <span class="n">separatore</span><span class="p">,</span> <span class="n">congiunzione</span><span class="p">)</span> <span class="o">..</span> <span class="n">post</span> </span><span id="L-732"><a href="#L-732"><span class="linenos" data-line="732"></span></a><span class="kr">end</span> </span><span id="L-733"><a href="#L-733"><span class="linenos" data-line="733"></span></a> </span><span id="L-734"><a href="#L-734"><span class="linenos" data-line="734"></span></a><span class="cm">--[[</span> </span><span id="L-735"><a href="#L-735"><span class="linenos" data-line="735"></span></a><span class="cm"> Funzione per unire una lista di valori in una stringa.</span> </span><span id="L-736"><a href="#L-736"><span class="linenos" data-line="736"></span></a> </span><span id="L-737"><a href="#L-737"><span class="linenos" data-line="737"></span></a><span class="cm">Uso:</span> </span><span id="L-738"><a href="#L-738"><span class="linenos" data-line="738"></span></a><span class="cm">{{#invoke:String|listtostring|par_number=xxx|msg=msg|separator=|congiunzione=|pre=|post=|lista=}}</span> </span><span id="L-739"><a href="#L-739"><span class="linenos" data-line="739"></span></a> </span><span id="L-740"><a href="#L-740"><span class="linenos" data-line="740"></span></a><span class="cm">Parametri:</span> </span><span id="L-741"><a href="#L-741"><span class="linenos" data-line="741"></span></a><span class="cm"> par_number: il numero di parametri che compongono il messaggio</span> </span><span id="L-742"><a href="#L-742"><span class="linenos" data-line="742"></span></a><span class="cm"> msg: il messaggio (cioè la riga unitaria) in cui eventuali caratteri '{', '}' dovranno essere</span> </span><span id="L-743"><a href="#L-743"><span class="linenos" data-line="743"></span></a><span class="cm"> preceduti da '\', mentre una "|" dovrà essere inserita con il template {{!}}.</span> </span><span id="L-744"><a href="#L-744"><span class="linenos" data-line="744"></span></a><span class="cm"> I valori da sostituire sono da inserire come $n (nel primo messaggio $1 sarà sostituito dal parametro posizionale di</span> </span><span id="L-745"><a href="#L-745"><span class="linenos" data-line="745"></span></a><span class="cm"> posizione Nmin, $2 da Nmin+2, ecc...., nel secondo messaggio $1 sarà sostituito dal parametro posizionale Nmin+par_number,</span> </span><span id="L-746"><a href="#L-746"><span class="linenos" data-line="746"></span></a><span class="cm"> $2 da Nmin+par_number+2, ec....)</span> </span><span id="L-747"><a href="#L-747"><span class="linenos" data-line="747"></span></a><span class="cm"> valore di par1, $2 dal valore di par2, ecc...)</span> </span><span id="L-748"><a href="#L-748"><span class="linenos" data-line="748"></span></a><span class="cm"> separatore: La stringa da inserire tra ogni valore</span> </span><span id="L-749"><a href="#L-749"><span class="linenos" data-line="749"></span></a><span class="cm"> congiunzione: La stringa da inserire invece di separatore tra l'ultimo e il penultimo valore. Se</span> </span><span id="L-750"><a href="#L-750"><span class="linenos" data-line="750"></span></a><span class="cm"> non precisato viene usato il valore di separatore</span> </span><span id="L-751"><a href="#L-751"><span class="linenos" data-line="751"></span></a><span class="cm"> pre: eventuale stringa che precede l'unione delle stringhe</span> </span><span id="L-752"><a href="#L-752"><span class="linenos" data-line="752"></span></a><span class="cm"> post: eventuale stringa che segue l'unione delle stringhe</span> </span><span id="L-753"><a href="#L-753"><span class="linenos" data-line="753"></span></a><span class="cm"> lista: se valorizzata a:</span> </span><span id="L-754"><a href="#L-754"><span class="linenos" data-line="754"></span></a><span class="cm"> 'puntata' imposta i parametri per una lista puntata</span> </span><span id="L-755"><a href="#L-755"><span class="linenos" data-line="755"></span></a><span class="cm"> 'ordinata' imposta i aprametri per una lista ordinata</span> </span><span id="L-756"><a href="#L-756"><span class="linenos" data-line="756"></span></a><span class="cm"> 'infobox' imposta l'unione come una lista, eccetto che nel caso ci sia</span> </span><span id="L-757"><a href="#L-757"><span class="linenos" data-line="757"></span></a><span class="cm"> solo un elemento</span> </span><span id="L-758"><a href="#L-758"><span class="linenos" data-line="758"></span></a><span class="cm"> Se lista è valorizzata separatore/congiunzione/pre/post sono ignorati, salvo il caso di 'infobox' e la</span> </span><span id="L-759"><a href="#L-759"><span class="linenos" data-line="759"></span></a><span class="cm"> lista contenga solo un elemento.</span> </span><span id="L-760"><a href="#L-760"><span class="linenos" data-line="760"></span></a><span class="cm"> nmax = indice massimo a cui arrivare con i parametri (se non precisato illimitato)</span> </span><span id="L-761"><a href="#L-761"><span class="linenos" data-line="761"></span></a><span class="cm"> nobbligatori = l'indice minimo che deve essere valutato anche in presenza di buchi nella sequenza (comunque l'indice massimo</span> </span><span id="L-762"><a href="#L-762"><span class="linenos" data-line="762"></span></a><span class="cm"> che viene valutato è nmax)</span> </span><span id="L-763"><a href="#L-763"><span class="linenos" data-line="763"></span></a><span class="cm"> baseIndex = valore del primo parametro posizionale da cui cominciare a leggere (default = 1)</span> </span><span id="L-764"><a href="#L-764"><span class="linenos" data-line="764"></span></a> </span><span id="L-765"><a href="#L-765"><span class="linenos" data-line="765"></span></a><span class="cm">]]</span> </span><span id="L-766"><a href="#L-766"><span class="linenos" data-line="766"></span></a> </span><span id="L-767"><a href="#L-767"><span class="linenos" data-line="767"></span></a> </span><span id="L-768"><a href="#L-768"><span class="linenos" data-line="768"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">listtostring</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-769"><a href="#L-769"><span class="linenos" data-line="769"></span></a> </span><span id="L-770"><a href="#L-770"><span class="linenos" data-line="770"></span></a> <span class="kd">local</span> <span class="n">base_args</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span> </span><span id="L-771"><a href="#L-771"><span class="linenos" data-line="771"></span></a> <span class="kd">local</span> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-772"><a href="#L-772"><span class="linenos" data-line="772"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">base_args</span> <span class="kr">then</span> <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">'Lista parametri vuota'</span><span class="p">)</span> <span class="kr">end</span> </span><span id="L-773"><a href="#L-773"><span class="linenos" data-line="773"></span></a> <span class="c1">-- carico la lista dei parametri</span> </span><span id="L-774"><a href="#L-774"><span class="linenos" data-line="774"></span></a> <span class="kd">local</span> <span class="n">base_index</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">base_index</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-775"><a href="#L-775"><span class="linenos" data-line="775"></span></a> <span class="kd">local</span> <span class="n">par_number</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">par_number</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-776"><a href="#L-776"><span class="linenos" data-line="776"></span></a> <span class="kd">local</span> <span class="n">Nmax</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">nmax</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span> </span><span id="L-777"><a href="#L-777"><span class="linenos" data-line="777"></span></a> <span class="kd">local</span> <span class="n">Nobbligatori</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">nobbligatori</span><span class="p">)</span> <span class="ow">or</span> <span class="n">base_index</span><span class="o">-</span><span class="mi">1</span> </span><span id="L-778"><a href="#L-778"><span class="linenos" data-line="778"></span></a> <span class="c1">--carico il messaggio</span> </span><span id="L-779"><a href="#L-779"><span class="linenos" data-line="779"></span></a> <span class="kd">local</span> <span class="n">message</span> <span class="o">=</span> <span class="n">Message</span><span class="p">(</span><span class="n">base_args</span><span class="p">.</span><span class="n">msg</span> <span class="ow">or</span> <span class="s1">'$1'</span><span class="p">)</span> </span><span id="L-780"><a href="#L-780"><span class="linenos" data-line="780"></span></a> <span class="n">elements</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-781"><a href="#L-781"><span class="linenos" data-line="781"></span></a> <span class="c1">-- carico gli altri parametri di formattazione</span> </span><span id="L-782"><a href="#L-782"><span class="linenos" data-line="782"></span></a> <span class="kd">local</span> <span class="n">index</span> <span class="o">=</span> <span class="n">base_index</span> </span><span id="L-783"><a href="#L-783"><span class="linenos" data-line="783"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">frame</span><span class="p">:</span><span class="n">getParent</span><span class="p">().</span><span class="n">args</span> </span><span id="L-784"><a href="#L-784"><span class="linenos" data-line="784"></span></a> <span class="c1">-- elaboro i valori successivi</span> </span><span id="L-785"><a href="#L-785"><span class="linenos" data-line="785"></span></a> <span class="kd">local</span> <span class="n">found</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-786"><a href="#L-786"><span class="linenos" data-line="786"></span></a> <span class="kr">while</span> <span class="kc">true</span> <span class="kr">do</span> </span><span id="L-787"><a href="#L-787"><span class="linenos" data-line="787"></span></a> <span class="kr">if</span> <span class="n">Nmax</span> <span class="o">></span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">index</span> <span class="o">></span> <span class="n">Nmax</span> <span class="kr">then</span> <span class="kr">break</span> <span class="kr">end</span> </span><span id="L-788"><a href="#L-788"><span class="linenos" data-line="788"></span></a> <span class="n">message</span><span class="p">:</span><span class="n">reset_values</span><span class="p">()</span> </span><span id="L-789"><a href="#L-789"><span class="linenos" data-line="789"></span></a> <span class="n">found</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-790"><a href="#L-790"><span class="linenos" data-line="790"></span></a> <span class="kr">for</span> <span class="n">i</span> <span class="o">=</span> <span class="n">index</span><span class="p">,</span> <span class="n">index</span><span class="o">+</span><span class="n">par_number</span><span class="o">-</span><span class="mi">1</span> <span class="kr">do</span> </span><span id="L-791"><a href="#L-791"><span class="linenos" data-line="791"></span></a> <span class="n">message</span><span class="p">:</span><span class="n">add_value</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="s1">''</span><span class="p">)</span> </span><span id="L-792"><a href="#L-792"><span class="linenos" data-line="792"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-793"><a href="#L-793"><span class="linenos" data-line="793"></span></a> <span class="n">found</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-794"><a href="#L-794"><span class="linenos" data-line="794"></span></a> <span class="kr">end</span> </span><span id="L-795"><a href="#L-795"><span class="linenos" data-line="795"></span></a> <span class="kr">end</span> </span><span id="L-796"><a href="#L-796"><span class="linenos" data-line="796"></span></a> <span class="kr">if</span> <span class="n">found</span> <span class="kr">then</span> </span><span id="L-797"><a href="#L-797"><span class="linenos" data-line="797"></span></a> <span class="n">elements</span><span class="p">[</span><span class="o">#</span><span class="n">elements</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">message</span><span class="p">:</span><span class="n">text</span><span class="p">()</span> </span><span id="L-798"><a href="#L-798"><span class="linenos" data-line="798"></span></a> <span class="kr">elseif</span> <span class="n">index</span> <span class="o">></span> <span class="n">Nobbligatori</span> <span class="kr">then</span> </span><span id="L-799"><a href="#L-799"><span class="linenos" data-line="799"></span></a> <span class="kr">break</span> </span><span id="L-800"><a href="#L-800"><span class="linenos" data-line="800"></span></a> <span class="kr">end</span> </span><span id="L-801"><a href="#L-801"><span class="linenos" data-line="801"></span></a> <span class="n">index</span> <span class="o">=</span> <span class="n">index</span> <span class="o">+</span> <span class="n">par_number</span> </span><span id="L-802"><a href="#L-802"><span class="linenos" data-line="802"></span></a> <span class="kr">end</span> </span><span id="L-803"><a href="#L-803"><span class="linenos" data-line="803"></span></a> <span class="kr">if</span> <span class="o">#</span><span class="n">elements</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> <span class="kr">return</span> <span class="s1">''</span> <span class="kr">end</span> </span><span id="L-804"><a href="#L-804"><span class="linenos" data-line="804"></span></a> <span class="c1">-- carico separatori, congiunzione, pre e postazione</span> </span><span id="L-805"><a href="#L-805"><span class="linenos" data-line="805"></span></a> <span class="kd">local</span> <span class="n">pre</span><span class="p">,</span> <span class="n">post</span><span class="p">,</span> <span class="n">separatore</span><span class="p">,</span> <span class="n">congiunzione</span> <span class="o">=</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span> </span><span id="L-806"><a href="#L-806"><span class="linenos" data-line="806"></span></a> <span class="kd">local</span> <span class="n">lista</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">lista</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-807"><a href="#L-807"><span class="linenos" data-line="807"></span></a> <span class="kr">if</span> <span class="n">lista</span> <span class="o">==</span> <span class="s1">'puntata'</span> <span class="ow">or</span> <span class="p">(</span><span class="n">lista</span> <span class="o">==</span><span class="s1">'infobox'</span> <span class="ow">and</span> <span class="o">#</span><span class="n">elements</span> <span class="o">></span><span class="mi">1</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-808"><a href="#L-808"><span class="linenos" data-line="808"></span></a> <span class="n">pre</span> <span class="o">=</span> <span class="s1">'<UL><LI>'</span> </span><span id="L-809"><a href="#L-809"><span class="linenos" data-line="809"></span></a> <span class="n">post</span> <span class="o">=</span> <span class="s1">'</LI></span><span class="se">\n</span><span class="s1"></UL>'</span> </span><span id="L-810"><a href="#L-810"><span class="linenos" data-line="810"></span></a> <span class="n">separatore</span> <span class="o">=</span> <span class="s1">'</LI></span><span class="se">\n</span><span class="s1"><LI>'</span> </span><span id="L-811"><a href="#L-811"><span class="linenos" data-line="811"></span></a> <span class="n">congiunzione</span> <span class="o">=</span> <span class="n">separatore</span> </span><span id="L-812"><a href="#L-812"><span class="linenos" data-line="812"></span></a> <span class="kr">elseif</span> <span class="n">lista</span> <span class="o">==</span> <span class="s1">'ordinata'</span> <span class="kr">then</span> </span><span id="L-813"><a href="#L-813"><span class="linenos" data-line="813"></span></a> <span class="n">pre</span> <span class="o">=</span> <span class="s1">'<OL><LI>'</span> </span><span id="L-814"><a href="#L-814"><span class="linenos" data-line="814"></span></a> <span class="n">post</span> <span class="o">=</span> <span class="s1">'</LI></span><span class="se">\n</span><span class="s1"></OL>'</span> </span><span id="L-815"><a href="#L-815"><span class="linenos" data-line="815"></span></a> <span class="n">separatore</span> <span class="o">=</span> <span class="s1">'</LI></span><span class="se">\n</span><span class="s1"><LI>'</span> </span><span id="L-816"><a href="#L-816"><span class="linenos" data-line="816"></span></a> <span class="n">congiunzione</span> <span class="o">=</span> <span class="n">separatore</span> </span><span id="L-817"><a href="#L-817"><span class="linenos" data-line="817"></span></a> <span class="kr">else</span> </span><span id="L-818"><a href="#L-818"><span class="linenos" data-line="818"></span></a> <span class="n">pre</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">pre</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-819"><a href="#L-819"><span class="linenos" data-line="819"></span></a> <span class="n">post</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">post</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-820"><a href="#L-820"><span class="linenos" data-line="820"></span></a> <span class="n">separatore</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">separatore</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-821"><a href="#L-821"><span class="linenos" data-line="821"></span></a> <span class="n">congiunzione</span> <span class="o">=</span> <span class="n">base_args</span><span class="p">.</span><span class="n">congiunzione</span> <span class="ow">or</span> <span class="n">separatore</span> </span><span id="L-822"><a href="#L-822"><span class="linenos" data-line="822"></span></a> <span class="kr">end</span> </span><span id="L-823"><a href="#L-823"><span class="linenos" data-line="823"></span></a> <span class="kr">return</span> <span class="n">pre</span> <span class="o">..</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">listToText</span><span class="p">(</span><span class="n">elements</span><span class="p">,</span> <span class="n">separatore</span><span class="p">,</span> <span class="n">congiunzione</span><span class="p">)</span> <span class="o">..</span> <span class="n">post</span> </span><span id="L-824"><a href="#L-824"><span class="linenos" data-line="824"></span></a><span class="kr">end</span> </span><span id="L-825"><a href="#L-825"><span class="linenos" data-line="825"></span></a> </span><span id="L-826"><a href="#L-826"><span class="linenos" data-line="826"></span></a><span class="cm">--[[</span> </span><span id="L-827"><a href="#L-827"><span class="linenos" data-line="827"></span></a><span class="cm">Funzione di aiuto che popola la lista di argomenti, dato che l'utente può voler utilizzare sia</span> </span><span id="L-828"><a href="#L-828"><span class="linenos" data-line="828"></span></a><span class="cm">parametri nominati che non nominati. Questo è rilevante perchè gli spazi iniziali iniziali</span> </span><span id="L-829"><a href="#L-829"><span class="linenos" data-line="829"></span></a><span class="cm">e finali dei parametri nominati sono eliminati, mentre quelli dei parametri non nominati</span> </span><span id="L-830"><a href="#L-830"><span class="linenos" data-line="830"></span></a><span class="cm">non lo sono. Secondo l'applicazione si potrebbe a volte conservare o rimuovere gli spazi.</span> </span><span id="L-831"><a href="#L-831"><span class="linenos" data-line="831"></span></a><span class="cm">]]</span> </span><span id="L-832"><a href="#L-832"><span class="linenos" data-line="832"></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-833"><a href="#L-833"><span class="linenos" data-line="833"></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-834"><a href="#L-834"><span class="linenos" data-line="834"></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-835"><a href="#L-835"><span class="linenos" data-line="835"></span></a> <span class="kd">local</span> <span class="n">value</span><span class="p">;</span> </span><span id="L-836"><a href="#L-836"><span class="linenos" data-line="836"></span></a> </span><span id="L-837"><a href="#L-837"><span class="linenos" data-line="837"></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-838"><a href="#L-838"><span class="linenos" data-line="838"></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-839"><a href="#L-839"><span class="linenos" data-line="839"></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-840"><a href="#L-840"><span class="linenos" data-line="840"></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-841"><a href="#L-841"><span class="linenos" data-line="841"></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-842"><a href="#L-842"><span class="linenos" data-line="842"></span></a> <span class="kr">end</span> </span><span id="L-843"><a href="#L-843"><span class="linenos" data-line="843"></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-844"><a href="#L-844"><span class="linenos" data-line="844"></span></a> <span class="kr">end</span> </span><span id="L-845"><a href="#L-845"><span class="linenos" data-line="845"></span></a> </span><span id="L-846"><a href="#L-846"><span class="linenos" data-line="846"></span></a> <span class="kr">return</span> <span class="n">new_args</span><span class="p">;</span> </span><span id="L-847"><a href="#L-847"><span class="linenos" data-line="847"></span></a><span class="kr">end</span> </span><span id="L-848"><a href="#L-848"><span class="linenos" data-line="848"></span></a> </span><span id="L-849"><a href="#L-849"><span class="linenos" data-line="849"></span></a><span class="cm">--[[</span> </span><span id="L-850"><a href="#L-850"><span class="linenos" data-line="850"></span></a><span class="cm">Funzione di appoggio per gestire i messaggi di errore.</span> </span><span id="L-851"><a href="#L-851"><span class="linenos" data-line="851"></span></a><span class="cm">]]</span> </span><span id="L-852"><a href="#L-852"><span class="linenos" data-line="852"></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-853"><a href="#L-853"><span class="linenos" data-line="853"></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-854"><a href="#L-854"><span class="linenos" data-line="854"></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">'Errori riportati dal modulo String'</span><span class="p">;</span> </span><span id="L-855"><a href="#L-855"><span class="linenos" data-line="855"></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-856"><a href="#L-856"><span class="linenos" data-line="856"></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-857"><a href="#L-857"><span class="linenos" data-line="857"></span></a> </span><span id="L-858"><a href="#L-858"><span class="linenos" data-line="858"></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-859"><a href="#L-859"><span class="linenos" data-line="859"></span></a> <span class="kr">return</span> <span class="s1">''</span><span class="p">;</span> </span><span id="L-860"><a href="#L-860"><span class="linenos" data-line="860"></span></a> <span class="kr">end</span> </span><span id="L-861"><a href="#L-861"><span class="linenos" data-line="861"></span></a> </span><span id="L-862"><a href="#L-862"><span class="linenos" data-line="862"></span></a> <span class="kd">local</span> <span class="n">error_str</span> <span class="o">=</span> <span class="s1">'<strong class="error">Errore nel modulo String: '</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-863"><a href="#L-863"><span class="linenos" data-line="863"></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-864"><a href="#L-864"><span class="linenos" data-line="864"></span></a> <span class="n">error_str</span> <span class="o">=</span> <span class="s1">'[[Categoria:'</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-865"><a href="#L-865"><span class="linenos" data-line="865"></span></a> <span class="kr">end</span> </span><span id="L-866"><a href="#L-866"><span class="linenos" data-line="866"></span></a> </span><span id="L-867"><a href="#L-867"><span class="linenos" data-line="867"></span></a> <span class="kr">return</span> <span class="n">error_str</span><span class="p">;</span> </span><span id="L-868"><a href="#L-868"><span class="linenos" data-line="868"></span></a><span class="kr">end</span> </span><span id="L-869"><a href="#L-869"><span class="linenos" data-line="869"></span></a> </span><span id="L-870"><a href="#L-870"><span class="linenos" data-line="870"></span></a><span class="cm">--[[</span> </span><span id="L-871"><a href="#L-871"><span class="linenos" data-line="871"></span></a><span class="cm">Funzione di appoggio per interpretare le stringhe come valori booleane</span> </span><span id="L-872"><a href="#L-872"><span class="linenos" data-line="872"></span></a><span class="cm">]]</span> </span><span id="L-873"><a href="#L-873"><span class="linenos" data-line="873"></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-874"><a href="#L-874"><span class="linenos" data-line="874"></span></a> <span class="kd">local</span> <span class="n">boolean_value</span><span class="p">;</span> </span><span id="L-875"><a href="#L-875"><span class="linenos" data-line="875"></span></a> </span><span id="L-876"><a href="#L-876"><span class="linenos" data-line="876"></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-877"><a href="#L-877"><span class="linenos" data-line="877"></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-878"><a href="#L-878"><span class="linenos" data-line="878"></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-879"><a href="#L-879"><span class="linenos" data-line="879"></span></a> <span class="ow">or</span> <span class="n">booleean_str</span> <span class="o">==</span> <span class="s1">'falso'</span> <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-880"><a href="#L-880"><span class="linenos" data-line="880"></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-881"><a href="#L-881"><span class="linenos" data-line="881"></span></a> <span class="kr">else</span> </span><span id="L-882"><a href="#L-882"><span class="linenos" data-line="882"></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-883"><a href="#L-883"><span class="linenos" data-line="883"></span></a> <span class="kr">end</span> </span><span id="L-884"><a href="#L-884"><span class="linenos" data-line="884"></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-885"><a href="#L-885"><span class="linenos" data-line="885"></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-886"><a href="#L-886"><span class="linenos" data-line="886"></span></a> <span class="kr">else</span> </span><span id="L-887"><a href="#L-887"><span class="linenos" data-line="887"></span></a> <span class="nb">error</span><span class="p">(</span><span class="s1">'Nessun valore booleano trovato'</span> <span class="p">);</span> </span><span id="L-888"><a href="#L-888"><span class="linenos" data-line="888"></span></a> <span class="kr">end</span> </span><span id="L-889"><a href="#L-889"><span class="linenos" data-line="889"></span></a> <span class="kr">return</span> <span class="n">boolean_value</span> </span><span id="L-890"><a href="#L-890"><span class="linenos" data-line="890"></span></a><span class="kr">end</span> </span><span id="L-891"><a href="#L-891"><span class="linenos" data-line="891"></span></a> </span><span id="L-892"><a href="#L-892"><span class="linenos" data-line="892"></span></a><span class="cm">--[[</span> </span><span id="L-893"><a href="#L-893"><span class="linenos" data-line="893"></span></a><span class="cm">Funzione di appoggio per aggiungere un carattere di escape a tutti i caratteri speciali,</span> </span><span id="L-894"><a href="#L-894"><span class="linenos" data-line="894"></span></a><span class="cm">così da trattare una stringa come testo normale e non come pattern di Lua.</span> </span><span id="L-895"><a href="#L-895"><span class="linenos" data-line="895"></span></a><span class="cm">]]</span> </span><span id="L-896"><a href="#L-896"><span class="linenos" data-line="896"></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-897"><a href="#L-897"><span class="linenos" data-line="897"></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-898"><a href="#L-898"><span class="linenos" data-line="898"></span></a><span class="kr">end</span> </span><span id="L-899"><a href="#L-899"><span class="linenos" data-line="899"></span></a> </span><span id="L-900"><a href="#L-900"><span class="linenos" data-line="900"></span></a><span class="kr">return</span> <span class="n">str</span> </span><span id="L-901"><a href="#L-901"><span class="linenos" data-line="901"></span></a> </span><span id="L-902"><a href="#L-902"><span class="linenos" data-line="902"></span></a><span class="c1">-- Version history:</span> </span><span id="L-903"><a href="#L-903"><span class="linenos" data-line="903"></span></a><span class="c1">-- 29/3/2013 traduzione iniziale da en:module:String versione 540627185 del 26 febbraio 2013</span> </span><span id="L-904"><a href="#L-904"><span class="linenos" data-line="904"></span></a><span class="c1">-- 07/05/2013 aggiunta funzione rep da en:module:String versione 552254999 del 26 aprile 2013</span> </span><span id="L-905"><a href="#L-905"><span class="linenos" data-line="905"></span></a><span class="c1">-- 19/08/2013 aggiunta funzione arraytostring</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐nd6xd Cached time: 20241124031056 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.058 seconds Real time usage: 0.102 seconds Preprocessor visited node count: 193/1000000 Post‐expand include size: 18707/2097152 bytes Template argument size: 82/2097152 bytes Highest expansion depth: 7/100 Expensive parser function count: 0/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 1706/5000000 bytes Lua time usage: 0.012/10.000 seconds Lua memory usage: 783940/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 77.570 1 -total 100.00% 77.570 1 Modulo:String/man 26.30% 20.400 1 Template:Protetta 22.48% 17.437 1 Template:Man_modulo 4.32% 3.354 6 Template:· 3.85% 2.987 1 Template:Big 1.93% 1.497 4 Template:Tl --> </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="">Estratto da "<a dir="ltr" href="https://it.wikipedia.org/w/index.php?title=Modulo:String&oldid=126762187">https://it.wikipedia.org/w/index.php?title=Modulo:String&oldid=126762187</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Categoria:Categorie" title="Categoria:Categorie">Categoria</a>: <ul><li><a href="/wiki/Categoria:Moduli" title="Categoria:Moduli">Moduli</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Categoria nascosta: <ul><li><a href="/wiki/Categoria:Moduli_protetti" title="Categoria:Moduli protetti">Moduli protetti</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"> Questa pagina è stata modificata per l'ultima volta il 12 apr 2022 alle 22:38.</li> <li id="footer-info-copyright">Il testo è disponibile secondo la <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.it">licenza Creative Commons Attribuzione-Condividi allo stesso modo</a>; possono applicarsi condizioni ulteriori. Vedi le <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use/it">condizioni d'uso</a> per i dettagli.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/it">Informativa sulla privacy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:Sala_stampa/Wikipedia">Informazioni su Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Avvertenze_generali">Avvertenze</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Codice di condotta</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Sviluppatori</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/it.wikipedia.org">Statistiche</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Dichiarazione sui cookie</a></li> <li id="footer-places-mobileview"><a href="//it.m.wikipedia.org/w/index.php?title=Modulo:String&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Versione mobile</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-nd6xd","wgBackendResponseTime":296,"wgPageParseReport":{"limitreport":{"cputime":"0.058","walltime":"0.102","ppvisitednodes":{"value":193,"limit":1000000},"postexpandincludesize":{"value":18707,"limit":2097152},"templateargumentsize":{"value":82,"limit":2097152},"expansiondepth":{"value":7,"limit":100},"expensivefunctioncount":{"value":0,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":1706,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 77.570 1 -total","100.00% 77.570 1 Modulo:String/man"," 26.30% 20.400 1 Template:Protetta"," 22.48% 17.437 1 Template:Man_modulo"," 4.32% 3.354 6 Template:·"," 3.85% 2.987 1 Template:Big"," 1.93% 1.497 4 Template:Tl"]},"scribunto":{"limitreport-timeusage":{"value":"0.012","limit":"10.000"},"limitreport-memusage":{"value":783940,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-nd6xd","timestamp":"20241124031056","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>