CINXE.COM
Модул:scripts — Викиречник
<!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-not-available" lang="mk" dir="ltr"> <head> <meta charset="UTF-8"> <title>Модул:scripts — Викиречник</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-not-available";var cookie=document.cookie.match(/(?:^|; )mkwiktionarymwclientpreferences=([^;]+)/);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":["","јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],"wgRequestId":"d8e21699-3023-43c1-8306-4416b60a054e","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Модул:scripts","wgTitle":"scripts","wgCurRevisionId":51022,"wgRevisionId":51022,"wgArticleId":9213,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageViewLanguage":"mk","wgPageContentLanguage":"mk","wgPageContentModel":"Scribunto","wgRelevantPageName":"Модул:scripts","wgRelevantArticleId":9213,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wiktionary","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true, "wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready", "ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ExpandableTOC","ext.urlShortener.toolbar","ext.centralauth.centralautologin","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.checkUser.clientHints"];</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=mk&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=mk&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=mk&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="Викиречник"> <meta property="og:title" content="Модул:scripts — Викиречник"> <meta property="og:type" content="website"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//mk.m.wiktionary.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts"> <link rel="alternate" type="application/x-wiki" title="Уреди" href="/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wiktionary.png"> <link rel="icon" href="/static/favicon/wiktionary/en.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Викиречник (mk)"> <link rel="EditURI" type="application/rsd+xml" href="//mk.wiktionary.org/w/api.php?action=rsd"> <link rel="canonical" href="https://mk.wiktionary.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.mk"> <link rel="alternate" type="application/atom+xml" title="Атом-тековник на Викиречник" href="/w/index.php?title=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%A1%D0%BA%D0%BE%D1%80%D0%B5%D1%88%D0%BD%D0%B8%D0%9F%D1%80%D0%BE%D0%BC%D0%B5%D0%BD%D0%B8&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 mw-editable page-Модул_scripts rootpage-Модул_scripts skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Прејди на содржината</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="Мрежно место"> <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="Главно мени" > <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">Главно мени</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">Главно мени</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">премести во страничникот</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">скриј</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Прегледник </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0" title="Посети главна страница [z]" accesskey="z"><span>Главна страница</span></a></li><li id="n-Што-е-Викиречник?" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BA:%D0%92%D0%BE%D0%B2%D0%B5%D0%B4"><span>Што е Викиречник?</span></a></li><li id="n-featuredcontent" class="mw-list-item"><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%98%D0%B0:%D0%98%D0%B7%D0%B1%D1%80%D0%B0%D0%BD%D0%B8_%D0%B7%D0%B1%D0%BE%D1%80%D0%BE%D0%B2%D0%B8"><span>Избрана содржина</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D1%98%D0%BD%D0%B0" title="Вчитај случајна страница [x]" accesskey="x"><span>Случајна страница</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BA:%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB" title="За проектот, што можете да направите, каде да најдете некои работи"><span>Портал</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Технички </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-Тековни-настани" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BA:%D0%A2%D0%B5%D0%BA%D0%BE%D0%B2%D0%BD%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D0%B0%D0%BD%D0%B8"><span>Тековни настани</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%A1%D0%BA%D0%BE%D1%80%D0%B5%D1%88%D0%BD%D0%B8%D0%9F%D1%80%D0%BE%D0%BC%D0%B5%D0%BD%D0%B8" title="Список на скорешни промени на викито. [r]" accesskey="r"><span>Скорешни промени</span></a></li><li id="n-pump" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BA:%D0%A1%D0%B5%D0%BB%D1%81%D0%BA%D0%B0_%D1%87%D0%B5%D1%88%D0%BC%D0%B0"><span>Селска чешма</span></a></li><li id="n-Викисредби" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BA:%D0%92%D0%B8%D0%BA%D0%B8_%D1%81%D1%80%D0%B5%D0%B4%D0%B1%D0%B0"><span>Викисредби</span></a></li><li id="n-help" class="mw-list-item"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents" title="Место каде што може да се информирате."><span>Помош</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wiktionary.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Викиречник" src="/static/images/mobile/copyright/wiktionary-wordmark-mk.svg" style="width: 7.5em; height: 1.25em;"> </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/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%91%D0%B0%D1%80%D0%B0%D1%98" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Пребарај низ Викиречник [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Пребарај</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="Пребарајте по Викиречник" aria-label="Пребарајте по Викиречник" autocapitalize="none" title="Пребарај низ Викиречник [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Специјална:Барај"> </div> <button class="cdx-button cdx-search-input__end-button">Пребарај</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Лични алатки"> <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="Изглед"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Сменете ги големината на фонтот, ширината и бојата" > <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="Изглед" > <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">Изглед</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_mk.wiktionary.org&uselang=mk" class=""><span>Дарување</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=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D1%98%D0%9A%D0%BE%D1%80%D0%B8%D1%81%D0%BD%D0%B8%D1%87%D0%BA%D0%B0%D0%A1%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&returnto=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%3Ascripts" title="Ви препорачуваме да направите сметка и да се најавите, иако тоа не е задолжително" class=""><span>Направи сметка</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=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%9D%D0%B0%D1%98%D0%B0%D0%B2%D1%83%D0%B2%D0%B0%D1%9A%D0%B5&returnto=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%3Ascripts" title="Ви препорачуваме да се најавите, иако тоа не е задолжително. [o]" accesskey="o" class=""><span>Најава</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="Повеќе можности" > <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="Лични алатки" > <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">Лични алатки</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="Корисничко мени" > <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_mk.wiktionary.org&uselang=mk"><span>Дарување</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D1%98%D0%9A%D0%BE%D1%80%D0%B8%D1%81%D0%BD%D0%B8%D1%87%D0%BA%D0%B0%D0%A1%D0%BC%D0%B5%D1%82%D0%BA%D0%B0&returnto=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%3Ascripts" title="Ви препорачуваме да направите сметка и да се најавите, иако тоа не е задолжително"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Направи сметка</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%9D%D0%B0%D1%98%D0%B0%D0%B2%D1%83%D0%B2%D0%B0%D1%9A%D0%B5&returnto=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%3Ascripts" title="Ви препорачуваме да се најавите, иако тоа не е задолжително. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Најава</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"> Страници за одјавени уредници <a href="/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%88:%D0%92%D0%BE%D0%B2%D0%B5%D0%B4" aria-label="Дознајте повеќе за уредувањето"><span>дознајте повеќе</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/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%9C%D0%BE%D0%B8%D0%9F%D1%80%D0%B8%D0%B4%D0%BE%D0%BD%D0%B5%D1%81%D0%B8" title="Список на уредувања направени од оваа IP-адреса [y]" accesskey="y"><span>Придонеси</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%9C%D0%BE%D1%98%D0%A0%D0%B0%D0%B7%D0%B3%D0%BE%D0%B2%D0%BE%D1%80" title="Разговор за уредувањата од оваа IP-адреса [n]" accesskey="n"><span>Разговор</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="Мрежно место"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Модул</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">scripts</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="Оваа статија постои само на овој јазик. Додајте ја статијата за други јазици" > <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-0" 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">Додај јазици</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="uls-after-portlet-link"></span><span class="wb-langlinks-add wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:NewItem?site=mkwiktionary&page=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%3Ascripts" title="Додај меѓујазични врски" class="wbc-editpage">Додај врски</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="Именски простори"> <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/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts" title="Преглед на модулната страница [c]" accesskey="c"><span>Модул</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=%D0%A0%D0%B0%D0%B7%D0%B3%D0%BE%D0%B2%D0%BE%D1%80_%D0%B7%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB:scripts&action=edit&redlink=1" rel="discussion" class="new" title="Разговор за содржинската страница (страницата не постои) [t]" accesskey="t"><span>Разговор</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="Менување на јазичната варијанта" > <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="Посети"> <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/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts"><span>Читај</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts&action=edit" title="Уредете ја страницава [e]" accesskey="e"><span>Уреди</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts&action=history" title="Претходни верзии на оваа страница. [h]" accesskey="h"><span>Историја</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Алатки за страници"> <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="Aлатник" > <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">Aлатник</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">Алатки</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">премести во страничникот</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">скриј</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="Повеќе можности" > <div class="vector-menu-heading"> Дејства </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/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts"><span>Читај</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts&action=edit" title="Уредете ја страницава [e]" accesskey="e"><span>Уреди</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts&action=history"><span>Историја</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Општо </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%A8%D1%82%D0%BE%D0%92%D0%BE%D0%B4%D0%B8%D0%9E%D0%B2%D0%B4%D0%B5/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts" title="Список на сите викистраници што водат овде [j]" accesskey="j"><span>Што води овде</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%9F%D0%BE%D0%B2%D1%80%D0%B7%D0%B0%D0%BD%D0%B8%D0%9F%D1%80%D0%BE%D0%BC%D0%B5%D0%BD%D0%B8/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts" rel="nofollow" title="Скорешни промени на страници со врски на оваа страница [k]" accesskey="k"><span>Поврзани промени</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard?uselang=mk" title="Подигни податотеки [u]" accesskey="u"><span>Подигни податотека</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%A1%D0%BB%D1%83%D0%B6%D0%B1%D0%B5%D0%BD%D0%B8%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B8" title="Список на сите службени страници [q]" accesskey="q"><span>Службени страници</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts&oldid=51022" title="Постојана врска до оваа преработка на страницата"><span>Постојана врска</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts&action=info" title="Повеќе информации за страницата"><span>Информации за страницата</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:%D0%A1%D0%BA%D1%80%D0%B0%D1%82%D1%83%D0%B2%D0%B0%D1%87%D0%9D%D0%B0URL&url=https%3A%2F%2Fmk.wiktionary.org%2Fwiki%2F%25D0%259C%25D0%25BE%25D0%25B4%25D1%2583%25D0%25BB%3Ascripts"><span>Дај скратена URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:QrCode&url=https%3A%2F%2Fmk.wiktionary.org%2Fwiki%2F%25D0%259C%25D0%25BE%25D0%25B4%25D1%2583%25D0%25BB%3Ascripts"><span>Преземи 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"> Печати/извези </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=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%B0:DownloadAsPdf&page=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%3Ascripts&action=show-download-screen"><span>Преземи како PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Верзија за печатење на оваа страница [p]" accesskey="p"><span>Верзија за печатење</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects emptyPortlet" > <div class="vector-menu-heading"> На други проекти </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </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="Алатки за страници"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Изглед"> <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">Изглед</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">премести во страничникот</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">скриј</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> <div id="siteSub" class="noprint">Од Викиречник</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="mk" dir="ltr"><p><i>Документацијата за овој модул можете да ја создадете на <a href="/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts/%D0%B4%D0%BE%D0%BA&action=edit&redlink=1" class="new" title="Модул:scripts/док (страницата не постои)">Модул:scripts/док</a></i> </p><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="kd">local</span> <span class="n">m_str_utils</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:string utilities"</span><span class="p">)</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="kd">local</span> <span class="n">codepoint</span> <span class="o">=</span> <span class="n">m_str_utils</span><span class="p">.</span><span class="n">codepoint</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a><span class="kd">local</span> <span class="n">gsplit</span> <span class="o">=</span> <span class="n">m_str_utils</span><span class="p">.</span><span class="n">gsplit</span> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a><span class="kd">local</span> <span class="nb">select</span> <span class="o">=</span> <span class="nb">select</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="kd">local</span> <span class="n">split</span> <span class="o">=</span> <span class="n">m_str_utils</span><span class="p">.</span><span class="n">split</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a><span class="kd">local</span> <span class="n">toNFC</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">toNFC</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a><span class="kd">local</span> <span class="n">toNFD</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">toNFD</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="kd">local</span> <span class="n">toNFKC</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">toNFKC</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a><span class="kd">local</span> <span class="n">toNFKD</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">toNFKD</span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="kd">local</span> <span class="nb">type</span> <span class="o">=</span> <span class="nb">type</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a><span class="kd">local</span> <span class="n">u</span> <span class="o">=</span> <span class="n">m_str_utils</span><span class="p">.</span><span class="n">char</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a><span class="kd">local</span> <span class="n">ugsub</span> <span class="o">=</span> <span class="n">m_str_utils</span><span class="p">.</span><span class="n">gsub</span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a><span class="kd">local</span> <span class="n">umatch</span> <span class="o">=</span> <span class="n">m_str_utils</span><span class="p">.</span><span class="n">match</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a><span class="kd">local</span> <span class="n">export</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a><span class="kd">local</span> <span class="n">Script</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a><span class="cm">--[==[Returns the script code of the language. Example: {{code|lua|"Cyrl"}} for Cyrillic.]==]</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getCode</span><span class="p">()</span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_code</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a><span class="kr">end</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a><span class="cm">--[==[Returns the canonical name of the script. This is the name used to represent that script on Wiktionary. Example: {{code|lua|"Cyrillic"}} for Cyrillic.]==]</span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getCanonicalName</span><span class="p">()</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">or</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">canonicalName</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a><span class="kr">end</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a><span class="cm">--[==[Returns the display form of the script. For scripts, this is the same as the value returned by <code>:getCategoryName("nocap")</code>, i.e. it reads "NAME script" (e.g. {{code|lua|"Arabic script"}}). For regular and etymology languages, this is the same as the canonical name, and for families, it reads "NAME languages" (e.g. {{code|lua|"Indo-Iranian languages"}}). The displayed text used in <code>:makeCategoryLink</code> is always the same as the display form.]==]</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getDisplayForm</span><span class="p">()</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">:</span><span class="n">getCategoryName</span><span class="p">(</span><span class="s2">"nocap"</span><span class="p">)</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a><span class="kr">end</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getOtherNames</span><span class="p">(</span><span class="n">onlyOtherNames</span><span class="p">)</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:language-like"</span><span class="p">).</span><span class="n">getOtherNames</span><span class="p">(</span><span class="n">self</span><span class="p">,</span> <span class="n">onlyOtherNames</span><span class="p">)</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a><span class="kr">end</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getAliases</span><span class="p">()</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">aliases</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a><span class="kr">end</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="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getVarieties</span><span class="p">(</span><span class="n">flatten</span><span class="p">)</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:language-like"</span><span class="p">).</span><span class="n">getVarieties</span><span class="p">(</span><span class="n">self</span><span class="p">,</span> <span class="n">flatten</span><span class="p">)</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a><span class="kr">end</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a><span class="cm">--[==[Returns the parent of the script. Example: {{code|lua|"Arab"}} for {{code|lua|"fa-Arab"}}. It returns {{code|lua|"top"}} for scripts without a parent, like {{code|lua|"Latn"}}, {{code|lua|"Grek"}}, etc.]==]</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getParent</span><span class="p">()</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">parent</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a><span class="kr">end</span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getSystemCodes</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">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_systemCodes</span> <span class="kr">then</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">==</span> <span class="s2">"table"</span> <span class="kr">then</span> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_systemCodes</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a> <span class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">==</span> <span class="s2">"string"</span> <span class="kr">then</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_systemCodes</span> <span class="o">=</span> <span class="n">split</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> <span class="s2">"%s*,%s*"</span><span class="p">,</span> <span class="kc">true</span><span class="p">)</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a> <span class="kr">else</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_systemCodes</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a> <span class="kr">end</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a> <span class="kr">end</span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_systemCodes</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a><span class="kr">end</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="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getSystems</span><span class="p">()</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_systemObjects</span> <span class="kr">then</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a> <span class="kd">local</span> <span class="n">m_systems</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:writing systems"</span><span class="p">)</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_systemObjects</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">ws</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">self</span><span class="p">:</span><span class="n">getSystemCodes</span><span class="p">())</span> <span class="kr">do</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">_systemObjects</span><span class="p">,</span> <span class="n">m_systems</span><span class="p">.</span><span class="n">getByCode</span><span class="p">(</span><span class="n">ws</span><span class="p">))</span> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a> <span class="kr">end</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a> <span class="kr">end</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_systemObjects</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a><span class="kr">end</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a><span class="cm">--[==[Check whether the script is of type `system`, which can be a writing system code or object. If multiple systems are passed, return true if the script is any of the specified systems.]==]</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">Script</span><span class="p">:</span><span class="nf">isSystem</span><span class="p">(...)</span> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">system</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">{...}</span> <span class="kr">do</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">system</span><span class="p">)</span> <span class="o">==</span> <span class="s2">"table"</span> <span class="kr">then</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a> <span class="n">system</span> <span class="o">=</span> <span class="n">system</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a> <span class="kr">end</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">s</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">self</span><span class="p">:</span><span class="n">getSystemCodes</span><span class="p">())</span> <span class="kr">do</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a> <span class="kr">if</span> <span class="n">system</span> <span class="o">==</span> <span class="n">s</span> <span class="kr">then</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a> <span class="kr">return</span> <span class="kc">true</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a> <span class="kr">end</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a> <span class="kr">end</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a> <span class="kr">end</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a><span class="kr">end</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a><span class="c1">--function Script:getAllNames()</span> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a><span class="c1">-- return self._rawData.names</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a><span class="c1">--end</span> </span><span id="L-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a><span class="cm">--[==[Given a list of types as strings, returns true if the script has all of them. </span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a><span class="cm">Currently the only possible type is {script}; use {{lua|hasType("script")}} to determine if an object that</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a><span class="cm">may be a language, family or script is a script.</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a><span class="cm">]==]</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">hasType</span><span class="p">(...)</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="kd">local</span> <span class="n">types</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">_types</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> <span class="kr">if</span> <span class="n">types</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="n">types</span> <span class="o">=</span> <span class="p">{</span><span class="n">script</span> <span class="o">=</span> <span class="kc">true</span><span class="p">}</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a> <span class="kd">local</span> <span class="n">rawtypes</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="nb">type</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a> <span class="kr">if</span> <span class="n">rawtypes</span> <span class="kr">then</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a> <span class="kr">for</span> <span class="n">rawtype</span> <span class="kr">in</span> <span class="n">gsplit</span><span class="p">(</span><span class="n">rawtypes</span><span class="p">,</span> <span class="s2">"%s*,%s*"</span><span class="p">,</span> <span class="kc">true</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a> <span class="n">types</span><span class="p">[</span><span class="n">rawtype</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> <span class="kr">end</span> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a> <span class="kr">end</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_types</span> <span class="o">=</span> <span class="n">types</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 class="kr">for</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">arg</span><span class="p">.</span><span class="n">n</span> <span class="kr">do</span> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">types</span><span class="p">[</span><span class="n">arg</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span> <span class="kr">then</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> <span class="kr">end</span> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a> <span class="kr">end</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a> <span class="kr">return</span> <span class="kc">true</span> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a><span class="kr">end</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a><span class="cm">--[==[Returns the name of the main category of that script. Example: {{code|lua|"Cyrillic script"}} for Cyrillic, whose category is at [[:Category:Cyrillic script]].</span> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a><span class="cm">Unless optional argument <code>nocap</code> is given, the script name at the beginning of the returned value will be capitalized. This capitalization is correct for category names, but not if the script name is lowercase and the returned value of this function is used in the middle of a sentence. (For example, the script with the code <code>Semap</code> has the name <code>"flag semaphore"</code>, which should remain lowercase when used as part of the category name [[:Category:Translingual letters in flag semaphore]] but should be capitalized in [[:Category:Flag semaphore templates]].) If you are considering using <code>getCategoryName("nocap")</code>, use <code>getDisplayForm()</code> instead.]==]</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getCategoryName</span><span class="p">(</span><span class="n">nocap</span><span class="p">)</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a> <span class="kd">local</span> <span class="n">name</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">or</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">canonicalName</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="c1">-- If the name already has "script", "code" or "semaphore" at the end, don't add it.</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="p">(</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a> <span class="n">name</span><span class="p">:</span><span class="n">find</span><span class="p">(</span><span class="s2">"[ %-][Ss]cript$"</span><span class="p">)</span> <span class="ow">or</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a> <span class="n">name</span><span class="p">:</span><span class="n">find</span><span class="p">(</span><span class="s2">"[ %-][Cc]ode$"</span><span class="p">)</span> <span class="ow">or</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a> <span class="n">name</span><span class="p">:</span><span class="n">find</span><span class="p">(</span><span class="s2">"[ %-][Ss]emaphore$"</span><span class="p">)</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">name</span> <span class="o">..</span> <span class="s2">" script"</span> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a> <span class="kr">end</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">nocap</span> <span class="kr">then</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">getContentLanguage</span><span class="p">():</span><span class="n">ucfirst</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a> <span class="kr">end</span> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a> <span class="kr">return</span> <span class="n">name</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a><span class="kr">end</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">makeCategoryLink</span><span class="p">()</span> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a> <span class="kr">return</span> <span class="s2">"[[:Category:"</span> <span class="o">..</span> <span class="n">self</span><span class="p">:</span><span class="n">getCategoryName</span><span class="p">()</span> <span class="o">..</span> <span class="s2">"|"</span> <span class="o">..</span> <span class="n">self</span><span class="p">:</span><span class="n">getDisplayForm</span><span class="p">()</span> <span class="o">..</span> <span class="s2">"]]"</span> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a><span class="kr">end</span> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a><span class="cm">--[==[Returns the {{code|lua|wikipedia_article}} item in the language's data file, or else calls {{code|lua|Script:getCategoryName()}}.]==]</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getWikipediaArticle</span><span class="p">()</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">wikipedia_article</span> <span class="ow">or</span> <span class="n">self</span><span class="p">:</span><span class="n">getCategoryName</span><span class="p">()</span> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a><span class="kr">end</span> </span><span id="L-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a><span class="cm">--[==[Returns the charset defining the script's characters from the language's data file.</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a><span class="cm">This can be used to search for words consisting only of this script, but see the warning above.]==]</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getCharacters</span><span class="p">()</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">characters</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a><span class="kr">end</span> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a><span class="cm">--[==[Returns the number of characters in the text that are part of this script.</span> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a><span class="cm">'''Note:''' You should never assume that text consists entirely of the same script. Strings may contain spaces, punctuation and even wiki markup or HTML tags. HTML tags will skew the counts, as they contain Latin-script characters. So it's best to avoid them.]==]</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">countCharacters</span><span class="p">(</span><span class="n">text</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">charset</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">characters</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a> <span class="kr">if</span> <span class="n">charset</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a> <span class="kr">return</span> <span class="mi">0</span> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a> <span class="kr">end</span> </span><span id="L-163"><a href="#L-163"><span class="linenos" data-line="163"></span></a> <span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">ugsub</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="s2">"["</span> <span class="o">..</span> <span class="n">charset</span> <span class="o">..</span> <span class="s2">"]"</span><span class="p">,</span> <span class="s2">""</span><span class="p">))</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a><span class="kr">end</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">hasCapitalization</span><span class="p">()</span> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a> <span class="kr">return</span> <span class="ow">not</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">capitalized</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><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">hasSpaces</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">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">spaces</span> <span class="o">~=</span> <span class="kc">false</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a><span class="kr">end</span> </span><span id="L-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">isTransliterated</span><span class="p">()</span> </span><span id="L-175"><a href="#L-175"><span class="linenos" data-line="175"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">translit</span> <span class="o">~=</span> <span class="kc">false</span> </span><span id="L-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a><span class="kr">end</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a><span class="cm">--[==[Returns true if the script is (sometimes) sorted by scraping page content, meaning that it is sensitive to changes in capitalization during sorting.]==]</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">sortByScraping</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">return</span> <span class="ow">not</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">sort_by_scraping</span> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a><span class="kr">end</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a><span class="cm">--[==[Returns the text direction. Horizontal scripts return {{code|lua|"ltr"}} (left-to-right) or {{code|lua|"rtl"}} (right-to-left), while vertical scripts return {{code|lua|"vertical-ltr"}} (vertical left-to-right) or {{code|lua|"vertical-rtl"}} (vertical right-to-left).]==]</span> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getDirection</span><span class="p">()</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">direction</span> <span class="ow">or</span> <span class="s2">"ltr"</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a><span class="kr">end</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">getRawData</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">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a><span class="kr">end</span> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> </span><span id="L-192"><a href="#L-192"><span class="linenos" data-line="192"></span></a><span class="cm">--[==[Returns {{code|lua|true}} if the script contains characters that require fixes to Unicode normalization under certain circumstances, {{code|lua|false}} if it doesn't.]==]</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">hasNormalizationFixes</span><span class="p">()</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></span></a> <span class="kr">return</span> <span class="ow">not</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">normalizationFixes</span> </span><span id="L-195"><a href="#L-195"><span class="linenos" data-line="195"></span></a><span class="kr">end</span> </span><span id="L-196"><a href="#L-196"><span class="linenos" data-line="196"></span></a> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a><span class="cm">--[==[Corrects discouraged sequences of Unicode characters to the encouraged equivalents.]==]</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">fixDiscouragedSequences</span><span class="p">(</span><span class="n">text</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">if</span> <span class="n">self</span><span class="p">:</span><span class="n">hasNormalizationFixes</span><span class="p">()</span> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">normalizationFixes</span><span class="p">.</span><span class="n">from</span> <span class="kr">then</span> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">from</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">normalizationFixes</span><span class="p">.</span><span class="n">from</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a> <span class="n">text</span> <span class="o">=</span> <span class="n">ugsub</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">from</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">normalizationFixes</span><span class="p">.</span><span class="n">to</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="ow">or</span> <span class="s2">""</span><span class="p">)</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a> <span class="kr">end</span> </span><span id="L-203"><a href="#L-203"><span class="linenos" data-line="203"></span></a> <span class="kr">end</span> </span><span id="L-204"><a href="#L-204"><span class="linenos" data-line="204"></span></a> <span class="kr">return</span> <span class="n">text</span> </span><span id="L-205"><a href="#L-205"><span class="linenos" data-line="205"></span></a><span class="kr">end</span> </span><span id="L-206"><a href="#L-206"><span class="linenos" data-line="206"></span></a> </span><span id="L-207"><a href="#L-207"><span class="linenos" data-line="207"></span></a><span class="c1">-- Implements a modified form of Unicode normalization for instances where there are identified deficiencies in the default Unicode combining classes.</span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">fixNormalization</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">self</span><span class="p">)</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">:</span><span class="n">hasNormalizationFixes</span><span class="p">()</span> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">normalizationFixes</span><span class="p">.</span><span class="n">combiningClasses</span> <span class="kr">then</span> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></span></a> <span class="kd">local</span> <span class="n">combiningClassFixes</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">normalizationFixes</span><span class="p">.</span><span class="n">combiningClasses</span> </span><span id="L-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a> <span class="kd">local</span> <span class="n">charsToFix</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span><span class="nb">require</span><span class="p">(</span><span class="s2">"Module:table"</span><span class="p">).</span><span class="n">keysToList</span><span class="p">(</span><span class="n">combiningClassFixes</span><span class="p">))</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a> <span class="kr">if</span> <span class="n">umatch</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="s2">"["</span> <span class="o">..</span> <span class="n">charsToFix</span> <span class="o">..</span> <span class="s2">"]"</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> <span class="c1">-- Obtain the list of default combining classes.</span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a> <span class="kd">local</span> <span class="n">combiningClasses</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">loadData</span><span class="p">(</span><span class="s2">"Module:scripts/data/combiningClasses"</span><span class="p">)</span> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a> <span class="c1">-- For each character that needs fixing, find all characters with combining classes equal to or lower than its default class, but greater than its new class (i.e. intermediary characters).</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a> <span class="kr">for</span> <span class="n">charToFix</span><span class="p">,</span> <span class="n">newCombiningClass</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">combiningClassFixes</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="kd">local</span> <span class="n">intermediaryChars</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a> <span class="kr">for</span> <span class="n">character</span><span class="p">,</span> <span class="n">combiningClass</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">combiningClasses</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="kr">if</span> <span class="n">newCombiningClass</span> <span class="o"><</span> <span class="n">combiningClass</span> <span class="ow">and</span> <span class="n">combiningClass</span> <span class="o"><=</span> <span class="n">combiningClasses</span><span class="p">[</span><span class="n">codepoint</span><span class="p">(</span><span class="n">charToFix</span><span class="p">)]</span> <span class="kr">then</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">intermediaryChars</span><span class="p">,</span> <span class="n">u</span><span class="p">(</span><span class="n">character</span><span class="p">))</span> </span><span id="L-221"><a href="#L-221"><span class="linenos" data-line="221"></span></a> <span class="kr">end</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="c1">-- Swap the character with any intermediary characters that are immediately before it.</span> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a> <span class="n">text</span> <span class="o">=</span> <span class="n">ugsub</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="s2">"(["</span> <span class="o">..</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">intermediaryChars</span><span class="p">)</span> <span class="o">..</span> <span class="s2">"]+)("</span> <span class="o">..</span> <span class="n">charToFix</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-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a> <span class="kr">end</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a> <span class="kr">end</span> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a> <span class="kr">end</span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a> <span class="kr">return</span> <span class="n">text</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a><span class="kr">end</span> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">toFixedNFC</span><span class="p">(</span><span class="n">text</span><span class="p">)</span> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a> <span class="kr">return</span> <span class="n">fixNormalization</span><span class="p">(</span><span class="n">toNFC</span><span class="p">(</span><span class="n">text</span><span class="p">),</span> <span class="n">self</span><span class="p">)</span> </span><span id="L-233"><a href="#L-233"><span class="linenos" data-line="233"></span></a><span class="kr">end</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="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">toFixedNFD</span><span class="p">(</span><span class="n">text</span><span class="p">)</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a> <span class="kr">return</span> <span class="n">fixNormalization</span><span class="p">(</span><span class="n">toNFD</span><span class="p">(</span><span class="n">text</span><span class="p">),</span> <span class="n">self</span><span class="p">)</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a><span class="kr">end</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a><span class="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">toFixedNFKC</span><span class="p">(</span><span class="n">text</span><span class="p">)</span> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a> <span class="kr">return</span> <span class="n">fixNormalization</span><span class="p">(</span><span class="n">toNFKC</span><span class="p">(</span><span class="n">text</span><span class="p">),</span> <span class="n">self</span><span class="p">)</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a><span class="kr">end</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="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">toFixedNFKD</span><span class="p">(</span><span class="n">text</span><span class="p">)</span> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a> <span class="kr">return</span> <span class="n">fixNormalization</span><span class="p">(</span><span class="n">toNFKD</span><span class="p">(</span><span class="n">text</span><span class="p">),</span> <span class="n">self</span><span class="p">)</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a><span class="kr">end</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="kr">function</span> <span class="nc">Script</span><span class="p">:</span><span class="nf">toJSON</span><span class="p">()</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_types</span> <span class="kr">then</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">hasType</span><span class="p">()</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a> <span class="kr">end</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">types</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-252"><a href="#L-252"><span class="linenos" data-line="252"></span></a> <span class="kr">for</span> <span class="nb">type</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">_types</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">types</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span> </span><span id="L-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a> <span class="kr">end</span> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></span></a> </span><span id="L-256"><a href="#L-256"><span class="linenos" data-line="256"></span></a> <span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a> <span class="n">canonicalName</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getCanonicalName</span><span class="p">(),</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a> <span class="n">categoryName</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getCategoryName</span><span class="p">(</span><span class="s2">"nocap"</span><span class="p">),</span> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a> <span class="n">code</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getCode</span><span class="p">(),</span> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a> <span class="n">otherNames</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getOtherNames</span><span class="p">(</span><span class="kc">true</span><span class="p">),</span> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a> <span class="n">aliases</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getAliases</span><span class="p">(),</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a> <span class="n">varieties</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getVarieties</span><span class="p">(),</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a> <span class="nb">type</span> <span class="o">=</span> <span class="n">types</span><span class="p">,</span> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a> <span class="n">direction</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getDirection</span><span class="p">(),</span> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a> <span class="n">characters</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getCharacters</span><span class="p">(),</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a> <span class="n">parent</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getParent</span><span class="p">(),</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a> <span class="n">systems</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getSystemCodes</span><span class="p">(),</span> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a> <span class="n">wikipediaArticle</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="n">wikipedia_article</span><span class="p">,</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a> <span class="p">}</span> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:JSON"</span><span class="p">).</span><span class="n">toJSON</span><span class="p">(</span><span class="n">ret</span><span class="p">)</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a><span class="kr">end</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="n">Script</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">Script</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a><span class="kr">function</span> <span class="nc">export</span><span class="p">.</span><span class="nf">makeObject</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a> <span class="kr">return</span> <span class="n">data</span> <span class="ow">and</span> <span class="nb">setmetatable</span><span class="p">({</span> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a> <span class="n">_rawData</span> <span class="o">=</span> <span class="n">data</span><span class="p">,</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a> <span class="n">_code</span> <span class="o">=</span> <span class="n">code</span><span class="p">,</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a> <span class="n">characters</span> <span class="o">=</span> <span class="n">data</span><span class="p">.</span><span class="n">characters</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a> <span class="p">},</span> <span class="n">Script</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a><span class="kr">end</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a><span class="c1">-- Track scripts with anomalous names.</span> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a><span class="kd">local</span> <span class="n">scriptsToTrack</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a> <span class="c1">-- scripts already renamed</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a> <span class="p">[</span><span class="s2">"IPAchar"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a> <span class="p">[</span><span class="s2">"musical"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a> <span class="p">[</span><span class="s2">"Ruminumerals"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a> <span class="p">[</span><span class="s2">"polytonic"</span><span class="p">]</span> <span class="o">=</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="c1">-- scripts not yet renamed</span> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a> <span class="p">[</span><span class="s2">"Latinx"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a> <span class="p">[</span><span class="s2">"Latnx"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> </span><span id="L-294"><a href="#L-294"><span class="linenos" data-line="294"></span></a><span class="p">}</span> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a> </span><span id="L-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a><span class="c1">-- Temporary aliases from canonicalized names to (existing) anomalous names. Once we have converted everything we will</span> </span><span id="L-297"><a href="#L-297"><span class="linenos" data-line="297"></span></a><span class="c1">-- rename the scripts and remove the alias code.</span> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a><span class="kd">local</span> <span class="n">scriptAliases</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a> <span class="c1">-- scripts already renamed; we now alias the old names to the new ones</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a> <span class="p">[</span><span class="s2">"IPAchar"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Ipach"</span><span class="p">,</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a> <span class="p">[</span><span class="s2">"musical"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Music"</span><span class="p">,</span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a> <span class="p">[</span><span class="s2">"Ruminumerals"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Rumin"</span><span class="p">,</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a> <span class="p">[</span><span class="s2">"polytonic"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Polyt"</span><span class="p">,</span> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a> <span class="p">[</span><span class="s2">"Latinx"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Latn"</span><span class="p">,</span> </span><span id="L-305"><a href="#L-305"><span class="linenos" data-line="305"></span></a> <span class="p">[</span><span class="s2">"Latnx"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Latn"</span><span class="p">,</span> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a><span class="p">}</span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a><span class="cm">--[==[Finds the script whose code matches the one provided. If it exists, it returns a {{code|lua|Script}} object representing the script. Otherwise, it returns {{code|lua|nil}}, unless <span class="n">paramForError</span> is given, in which case an error is generated. If <code class="n">paramForError</code> is {{code|lua|true}}, a generic error message mentioning the bad code is generated; otherwise <code class="n">paramForError</code> should be a string or number specifying the parameter that the code came from, and this parameter will be mentioned in the error message along with the bad code.]==]</span> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a><span class="kr">function</span> <span class="nc">export</span><span class="p">.</span><span class="nf">getByCode</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">paramForError</span><span class="p">,</span> <span class="n">disallowNil</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a> <span class="c1">-- Track uses of paramForError, ultimately so it can be removed, as error-handling should be done by [[Module:parameters]], not here.</span> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a> <span class="kr">if</span> <span class="n">paramForError</span> <span class="o">~=</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:debug/track"</span><span class="p">)(</span><span class="s2">"scripts/paramForError"</span><span class="p">)</span> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a> <span class="kr">end</span> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a> <span class="kr">if</span> <span class="n">code</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">disallowNil</span> <span class="kr">then</span> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a> <span class="kr">end</span> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></span></a> <span class="kr">if</span> <span class="n">scriptsToTrack</span><span class="p">[</span><span class="n">code</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-319"><a href="#L-319"><span class="linenos" data-line="319"></span></a> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:debug/track"</span><span class="p">)(</span><span class="s2">"scripts/"</span> <span class="o">..</span> <span class="n">code</span><span class="p">)</span> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a> <span class="kr">end</span> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a> <span class="n">code</span> <span class="o">=</span> <span class="n">scriptAliases</span><span class="p">[</span><span class="n">code</span><span class="p">]</span> <span class="ow">or</span> <span class="n">code</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a> <span class="kd">local</span> <span class="n">data</span> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a> <span class="kr">if</span> <span class="n">useRequire</span> <span class="kr">then</span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a> <span class="n">data</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:scripts/data"</span><span class="p">)[</span><span class="n">code</span><span class="p">]</span> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a> <span class="kr">else</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">loadData</span><span class="p">(</span><span class="s2">"Module:scripts/data"</span><span class="p">)[</span><span class="n">code</span><span class="p">]</span> </span><span id="L-328"><a href="#L-328"><span class="linenos" data-line="328"></span></a> <span class="kr">end</span> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a> </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">retval</span> <span class="o">=</span> <span class="n">export</span><span class="p">.</span><span class="n">makeObject</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">retval</span> <span class="ow">and</span> <span class="n">paramForError</span> <span class="kr">then</span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:languages/error"</span><span class="p">)(</span><span class="n">code</span><span class="p">,</span> <span class="n">paramForError</span><span class="p">,</span> <span class="s2">"script code"</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="s2">"not real lang"</span><span class="p">)</span> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> <span class="kr">end</span> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a> <span class="kr">return</span> <span class="n">retval</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a><span class="kr">end</span> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a><span class="kr">function</span> <span class="nc">export</span><span class="p">.</span><span class="nf">getByCanonicalName</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a> <span class="kd">local</span> <span class="n">code</span> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a> <span class="kr">if</span> <span class="n">useRequire</span> <span class="kr">then</span> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a> <span class="n">code</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:scripts/by name"</span><span class="p">)[</span><span class="n">name</span><span class="p">]</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a> <span class="kr">else</span> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a> <span class="n">code</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">loadData</span><span class="p">(</span><span class="s2">"Module:scripts/by name"</span><span class="p">)[</span><span class="n">name</span><span class="p">]</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="kr">return</span> <span class="n">export</span><span class="p">.</span><span class="n">getByCode</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a><span class="kr">end</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">--[==[</span> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a><span class="cm"> Takes a codepoint or a character and finds the script code (if any) that is</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a><span class="cm"> appropriate for it based on the codepoint, using the data module</span> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a><span class="cm"> [[Module:scripts/recognition data]]. The data module was generated from the</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a><span class="cm"> patterns in [[Module:scripts/data]] using [[Module:User:Erutuon/script recognition]].</span> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a><span class="cm"> Converts the character to a codepoint. Returns a script code if the codepoint</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a><span class="cm"> is in the list of individual characters, or if it is in one of the defined</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a><span class="cm"> ranges in the 4096-character block that it belongs to, else returns "None".</span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a><span class="cm">]==]</span> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></span></a><span class="kr">function</span> <span class="nc">export</span><span class="p">.</span><span class="nf">charToScript</span><span class="p">(</span><span class="n">char</span><span class="p">)</span> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:scripts/charToScript"</span><span class="p">).</span><span class="n">charToScript</span><span class="p">(</span><span class="n">char</span><span class="p">)</span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a><span class="kr">end</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a><span class="cm">--[==[</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a><span class="cm">Returns the code for the script that has the greatest number of characters in `text`. Useful for script tagging text</span> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a><span class="cm">that is unspecified for language. Uses [[Module:scripts/recognition data]] to determine a script code for a character</span> </span><span id="L-367"><a href="#L-367"><span class="linenos" data-line="367"></span></a><span class="cm">language-agnostically. Specifically, it works as follows:</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a><span class="cm"> </span> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a><span class="cm">Convert each character to a codepoint. Iterate the counter for the script code if the codepoint is in the list</span> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></span></a><span class="cm">of individual characters, or if it is in one of the defined ranges in the 4096-character block that it belongs to.</span> </span><span id="L-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a><span class="cm"> </span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a><span class="cm">Each script has a two-part counter, for primary and secondary matches. Primary matches are when the script is the</span> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a><span class="cm">first one listed; otherwise, it's a secondary match. When comparing scripts, first the total of both are compared</span> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a><span class="cm">(i.e. the overall number of matches). If these are the same, the number of primary and then secondary matches are</span> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a><span class="cm">used as tiebreakers. For example, this is used to ensure that `Grek` takes priority over `Polyt` if no characters</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a><span class="cm">which exclusively match `Polyt` are found, as `Grek` is a subset of `Polyt`.</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a><span class="cm"> </span> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></span></a><span class="cm">If `none_is_last_resort_only` is specified, this will never return {"None"} if any characters in `text` belong to a</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a><span class="cm">script. Otherwise, it will return {"None"} if there are more characters that don't belong to a script than belong to</span> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a><span class="cm">any individual script. (FIXME: This behavior is probably wrong, and `none_is_last_resort_only` should probably</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a><span class="cm">become the default.)</span> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a><span class="cm">]==]</span> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a><span class="kr">function</span> <span class="nc">export</span><span class="p">.</span><span class="nf">findBestScriptWithoutLang</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">none_is_last_resort_only</span><span class="p">)</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:scripts/charToScript"</span><span class="p">).</span><span class="n">findBestScriptWithoutLang</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">none_is_last_resort_only</span><span class="p">)</span> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a><span class="kr">end</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></span></a><span class="kr">return</span> <span class="n">export</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐5c59558b9d‐d5pwq Cached time: 20241129174351 Cache expiry: 2592000 Reduced expiry: false Complications: [] CPU time usage: 0.003 seconds Real time usage: 0.003 seconds Preprocessor visited node count: 1/1000000 Post‐expand include size: 0/2097152 bytes Template argument size: 0/2097152 bytes Highest expansion depth: 1/100 Expensive parser function count: 0/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 0/5000000 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 0.000 1 -total --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Преземено од „<a dir="ltr" href="https://mk.wiktionary.org/w/index.php?title=Модул:scripts&oldid=51022">https://mk.wiktionary.org/w/index.php?title=Модул:scripts&oldid=51022</a>“</div></div> <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Последната промена на страницава е извршена на 11 јуни 2024 г. во 00:23 ч.</li> <li id="footer-info-copyright">Текстот е достапен под условите на лиценцата <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.mk">Криејтив комонс Наведи извор-Сподели под исти услови</a>. Може да важат и дополнителни услови. За повеќе информации, погледајте ги <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Условите на употреба</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Заштита на личните податоци</a></li> <li id="footer-places-about"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BA:%D0%97%D0%B0_%D0%92%D0%B8%D0%BA%D0%B8%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BA">За Викиречник</a></li> <li id="footer-places-disclaimers"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BA:%D0%9E%D0%B4%D1%80%D0%B5%D0%BA%D1%83%D0%B2%D0%B0%D1%9A%D0%B5_%D0%BE%D0%B4_%D0%BE%D0%B4%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%BD%D0%BE%D1%81%D1%82">Одрекување од одговорност</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Правилник на однесување</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Програмери</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/mk.wiktionary.org">Статистика</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Согласност за колачиња</a></li> <li id="footer-places-mobileview"><a href="//mk.m.wiktionary.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:scripts&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Мобилен изглед</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-5c59558b9d-d5pwq","wgBackendResponseTime":230,"wgPageParseReport":{"limitreport":{"cputime":"0.003","walltime":"0.003","ppvisitednodes":{"value":1,"limit":1000000},"postexpandincludesize":{"value":0,"limit":2097152},"templateargumentsize":{"value":0,"limit":2097152},"expansiondepth":{"value":1,"limit":100},"expensivefunctioncount":{"value":0,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":0,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 0.000 1 -total"]},"cachereport":{"origin":"mw-web.codfw.main-5c59558b9d-d5pwq","timestamp":"20241129174351","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>