CINXE.COM
Module:families - Swánga̱lyiatwuki
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-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-sticky-header-enabled vector-toc-available" lang="kcg" dir="ltr"> <head> <meta charset="UTF-8"> <title>Module:families - Swánga̱lyiatwuki</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-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-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )kcgwiktionarymwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","Zwat Jhyiung","Zwat Sweang","Zwat Tsat","Zwat Nyaai","Zwat Tswuon","Zwat A̱taa","Zwat A̱natat","Zwat A̱ni̱nai","Zwat A̱kubunyiung","Zwat Swak","Zwat Swak ma̱ng Jhyiung","Zwat Swak ma̱ng Sweang"],"wgRequestId":"1e5e2eef-0821-4daf-b00a-eb98f19f0eec","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:families","wgTitle":"families","wgCurRevisionId":26952,"wgRevisionId":26952,"wgArticleId":721,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Language and script modules"],"wgPageViewLanguage":"kcg","wgPageContentLanguage":"kcg","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:families","wgRelevantArticleId":721,"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":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":10000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q33083190","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","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","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","wikibase.client.vector-2022","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=kcg&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=kcg&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="generator" content="MediaWiki 1.44.0-wmf.17"> <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="Swánga̱lyiatwuki"> <meta property="og:title" content="Module:families - Swánga̱lyiatwuki"> <meta property="og:type" content="website"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//kcg.m.wiktionary.org/wiki/Module:families"> <link rel="alternate" type="application/x-wiki" title="Jhyuk" href="/w/index.php?title=Module:families&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wiktionary.png"> <link rel="icon" href="/static/favicon/piece.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Swánga̱lyiatwuki (kcg)"> <link rel="EditURI" type="application/rsd+xml" href="//kcg.wiktionary.org/w/api.php?action=rsd"> <link rel="canonical" href="https://kcg.wiktionary.org/wiki/Module:families"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.kcg"> <link rel="alternate" type="application/atom+xml" title="Tsuung Atom Swánga̱lyiatwuki" href="/w/index.php?title=Wat_khwo:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject mw-editable page-Module_families rootpage-Module_families skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="A̱tsak meniu" > <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="A̱tsak meniu" > <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">A̱tsak meniu</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">A̱tsak meniu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">ta̱kup</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Tyong keang </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/A%CC%B1tsak_wat_wu" title="Cong a nat a̱tsak wat wu [z]" accesskey="z"><span>A̱tsak wat wu</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Sw%C3%A1nga%CC%B1lyiatwuki:A%CC%B1na%CC%B1nwuai_sot-%C3%A1%CC%B1niet" title="Ma̱ a̱lyiat ta̱m hu, yihwa a maai nyia̱, a̱vwuo ncat nkyang nshyia̱ na"><span>A̱na̱nwuai sot-á̱niet</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Wat_khwo:RecentChanges" title="Lis a̱ka̱shai mmam nani mami wiki hu [r]" accesskey="r"><span>A̱ka̱shai mmam nani</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Wat_khwo:Random" title="Nyia̱ sa̱nseang wat lodi [x]" accesskey="x"><span>Sa̱nseang wat</span></a></li><li id="n-help" class="mw-list-item"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents" title="A̱vwuo shyak fi̱k ka"><span>Beang</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Wat_khwo:SpecialPages"><span>Ngwat khwo</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/A%CC%B1tsak_wat_wu" 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="Swánga̱lyiatwuki" src="/static/images/mobile/copyright/wiktionary-wordmark-kcg.svg" style="width: 7.4375em; height: 0.9375em;"> </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/Wat_khwo:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Zop Swánga̱lyiatwuki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Zop</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="Zop Swánga̱lyiatwuki" aria-label="Zop Swánga̱lyiatwuki" autocapitalize="none" title="Zop Swánga̱lyiatwuki [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Wat_khwo:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Zop</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Nkyangta̱m a̱bala̱lang"> <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="Li"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Li" > <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">Li</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=kcg.wiktionary.org&uselang=kcg" class=""><span>Nang za̱nang</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=Wat_khwo:CreateAccount&returnto=Module%3Afamilies" title="Á̱ tyei ang gba̱gbak wa a khwuk a̱la̱n a̱ghwon a ki nnwuo mami; da̱ a̱kwonu a̱kya, ta hwa bah" class=""><span>Khwuk a̱la̱n ka</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=Wat_khwo:UserLogin&returnto=Module%3Afamilies" title="Á̱ tyei ang gba̱gbak wa a nwuo mami; da̱ a̱kwonu a̱kya, ta hwa bah [o]" accesskey="o" class=""><span>Nwuo</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="More options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Nkyangta̱m a̱bala̱lang" > <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">Nkyangta̱m a̱bala̱lang</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=kcg.wiktionary.org&uselang=kcg"><span>Nang za̱nang</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Wat_khwo:CreateAccount&returnto=Module%3Afamilies" title="Á̱ tyei ang gba̱gbak wa a khwuk a̱la̱n a̱ghwon a ki nnwuo mami; da̱ a̱kwonu a̱kya, ta hwa bah"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Khwuk a̱la̱n ka</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Wat_khwo:UserLogin&returnto=Module%3Afamilies" title="Á̱ tyei ang gba̱gbak wa a nwuo mami; da̱ a̱kwonu a̱kya, ta hwa bah [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Nwuo</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Beang:Introduction" aria-label="Myiam nkyang jhyang tazwa jhyuk"><span>myiam nkyang jhyang</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/Wat_khwo:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Jhyet</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Wat_khwo:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>A̱lyiat</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Nkyangmami" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Nkyangmami</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">ta̱kup</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">A̱tsan</div> </a> </li> <li id="toc-Finding_and_retrieving_families" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Finding_and_retrieving_families"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Finding and retrieving families</span> </div> </a> <button aria-controls="toc-Finding_and_retrieving_families-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Finding and retrieving families subsection</span> </button> <ul id="toc-Finding_and_retrieving_families-sublist" class="vector-toc-list"> <li id="toc-getByCode" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#getByCode"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>getByCode</span> </div> </a> <ul id="toc-getByCode-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-getByCanonicalName" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#getByCanonicalName"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>getByCanonicalName</span> </div> </a> <ul id="toc-getByCanonicalName-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Family_objects" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Family_objects"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Family objects</span> </div> </a> <button aria-controls="toc-Family_objects-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Family objects subsection</span> </button> <ul id="toc-Family_objects-sublist" class="vector-toc-list"> <li id="toc-Family:getCode" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Family:getCode"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Family:getCode</span> </div> </a> <ul id="toc-Family:getCode-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Family:getCanonicalName" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Family:getCanonicalName"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Family:getCanonicalName</span> </div> </a> <ul id="toc-Family:getCanonicalName-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Family:getDisplayForm" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Family:getDisplayForm"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Family:getDisplayForm</span> </div> </a> <ul id="toc-Family:getDisplayForm-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Family:getAllNames" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Family:getAllNames"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4</span> <span>Family:getAllNames</span> </div> </a> <ul id="toc-Family:getAllNames-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Family:getFamily" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Family:getFamily"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.5</span> <span>Family:getFamily</span> </div> </a> <ul id="toc-Family:getFamily-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Family:getProtoLanguage" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Family:getProtoLanguage"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.6</span> <span>Family:getProtoLanguage</span> </div> </a> <ul id="toc-Family:getProtoLanguage-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Family:getCategoryName" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Family:getCategoryName"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.7</span> <span>Family:getCategoryName</span> </div> </a> <ul id="toc-Family:getCategoryName-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Family:getWikidataItem" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Family:getWikidataItem"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.8</span> <span>Family:getWikidataItem</span> </div> </a> <ul id="toc-Family:getWikidataItem-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Family:getWikipediaArticle" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Family:getWikipediaArticle"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.9</span> <span>Family:getWikipediaArticle</span> </div> </a> <ul id="toc-Family:getWikipediaArticle-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Nkyangmami" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="A̱tyii Nkyangmami" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Module</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">families</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 61 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-61" 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">lilyem 61</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-af mw-list-item"><a href="https://af.wiktionary.org/wiki/Module:families" title="Module:families – Afrikaans" lang="af" hreflang="af" data-title="Module:families" data-language-autonym="Afrikaans" data-language-local-name="Afrikaans" class="interlanguage-link-target"><span>Afrikaans</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wiktionary.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:families" title="وحدة:families – Arabic" lang="ar" hreflang="ar" data-title="وحدة:families" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wiktionary.org/wiki/Modul:families" title="Modul:families – Azerbaijani" lang="az" hreflang="az" data-title="Modul:families" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bcl mw-list-item"><a href="https://bcl.wiktionary.org/wiki/Module:families" title="Module:families – Central Bikol" lang="bcl" hreflang="bcl" data-title="Module:families" data-language-autonym="Bikol Central" data-language-local-name="Central Bikol" class="interlanguage-link-target"><span>Bikol Central</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wiktionary.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:families" title="Модуль:families – Belarusian" lang="be" hreflang="be" data-title="Модуль:families" data-language-autonym="Беларуская" data-language-local-name="Belarusian" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-blk mw-list-item"><a href="https://blk.wiktionary.org/wiki/%E1%80%99%E1%80%B1%E1%80%AC%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0%E1%80%B8:families" title="မော်ဂျူး:families – Pa'O" lang="blk" hreflang="blk" data-title="မော်ဂျူး:families" data-language-autonym="ပအိုဝ်ႏဘာႏသာႏ" data-language-local-name="Pa'O" class="interlanguage-link-target"><span>ပအိုဝ်ႏဘာႏသာႏ</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wiktionary.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:families" title="মডিউল:families – Bangla" lang="bn" hreflang="bn" data-title="মডিউল:families" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wiktionary.org/wiki/%D9%85%DB%86%D8%AF%DB%8C%D9%88%D9%88%D9%84:families" title="مۆدیوول:families – Central Kurdish" lang="ckb" hreflang="ckb" data-title="مۆدیوول:families" data-language-autonym="کوردی" data-language-local-name="Central Kurdish" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-diq mw-list-item"><a href="https://diq.wiktionary.org/wiki/Modul:families" title="Modul:families – Dimli" lang="diq" hreflang="diq" data-title="Modul:families" data-language-autonym="Zazaki" data-language-local-name="Dimli" class="interlanguage-link-target"><span>Zazaki</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wiktionary.org/wiki/Module:families" title="Module:families – English" lang="en" hreflang="en" data-title="Module:families" data-language-autonym="English" data-language-local-name="English" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wiktionary.org/wiki/Modulu:families" title="Modulu:families – Basque" lang="eu" hreflang="eu" data-title="Modulu:families" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wiktionary.org/wiki/%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:families" title="پودمان:families – Persian" lang="fa" hreflang="fa" data-title="پودمان:families" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fo mw-list-item"><a href="https://fo.wiktionary.org/wiki/Module:families" title="Module:families – Faroese" lang="fo" hreflang="fo" data-title="Module:families" data-language-autonym="Føroyskt" data-language-local-name="Faroese" class="interlanguage-link-target"><span>Føroyskt</span></a></li><li class="interlanguage-link interwiki-fy mw-list-item"><a href="https://fy.wiktionary.org/wiki/Module:families" title="Module:families – Western Frisian" lang="fy" hreflang="fy" data-title="Module:families" data-language-autonym="Frysk" data-language-local-name="Western Frisian" class="interlanguage-link-target"><span>Frysk</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wiktionary.org/wiki/M%C3%B3dulo:families" title="Módulo:families – Galician" lang="gl" hreflang="gl" data-title="Módulo:families" data-language-autonym="Galego" data-language-local-name="Galician" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wiktionary.org/wiki/%E0%A4%AE%E0%A5%89%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%B2:families" title="मॉड्यूल:families – Hindi" lang="hi" hreflang="hi" data-title="मॉड्यूल:families" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-hif mw-list-item"><a href="https://hif.wiktionary.org/wiki/Module:families" title="Module:families – Fiji Hindi" lang="hif" hreflang="hif" data-title="Module:families" data-language-autonym="Fiji Hindi" data-language-local-name="Fiji Hindi" class="interlanguage-link-target"><span>Fiji Hindi</span></a></li><li class="interlanguage-link interwiki-hsb mw-list-item"><a href="https://hsb.wiktionary.org/wiki/Modul:families" title="Modul:families – Upper Sorbian" lang="hsb" hreflang="hsb" data-title="Modul:families" data-language-autonym="Hornjoserbsce" data-language-local-name="Upper Sorbian" class="interlanguage-link-target"><span>Hornjoserbsce</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wiktionary.org/wiki/Modul:families" title="Modul:families – Hungarian" lang="hu" hreflang="hu" data-title="Modul:families" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wiktionary.org/wiki/%D5%84%D5%B8%D5%A4%D5%B8%D6%82%D5%AC:families" title="Մոդուլ:families – Armenian" lang="hy" hreflang="hy" data-title="Մոդուլ:families" data-language-autonym="Հայերեն" data-language-local-name="Armenian" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wiktionary.org/wiki/Modul:families" title="Modul:families – Indonesian" lang="id" hreflang="id" data-title="Modul:families" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wiktionary.org/wiki/Modulo:familii" title="Modulo:familii – Ido" lang="io" hreflang="io" data-title="Modulo:familii" data-language-autonym="Ido" data-language-local-name="Ido" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wiktionary.org/wiki/%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:families" title="モジュール:families – Japanese" lang="ja" hreflang="ja" data-title="モジュール:families" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-jv mw-list-item"><a href="https://jv.wiktionary.org/wiki/Modhul:families" title="Modhul:families – Javanese" lang="jv" hreflang="jv" data-title="Modhul:families" data-language-autonym="Jawa" data-language-local-name="Javanese" class="interlanguage-link-target"><span>Jawa</span></a></li><li class="interlanguage-link interwiki-km mw-list-item"><a href="https://km.wiktionary.org/wiki/Module:families" title="Module:families – Khmer" lang="km" hreflang="km" data-title="Module:families" data-language-autonym="ភាសាខ្មែរ" data-language-local-name="Khmer" class="interlanguage-link-target"><span>ភាសាខ្មែរ</span></a></li><li class="interlanguage-link interwiki-kn mw-list-item"><a href="https://kn.wiktionary.org/wiki/%E0%B2%AE%E0%B2%BE%E0%B2%A1%E0%B3%8D%E0%B2%AF%E0%B3%82%E0%B2%B2%E0%B3%8D:families" title="ಮಾಡ್ಯೂಲ್:families – Kannada" lang="kn" hreflang="kn" data-title="ಮಾಡ್ಯೂಲ್:families" data-language-autonym="ಕನ್ನಡ" data-language-local-name="Kannada" class="interlanguage-link-target"><span>ಕನ್ನಡ</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wiktionary.org/wiki/%EB%AA%A8%EB%93%88:families" title="모듈:families – Korean" lang="ko" hreflang="ko" data-title="모듈:families" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ku mw-list-item"><a href="https://ku.wiktionary.org/wiki/Modul:families" title="Modul:families – Kurdish" lang="ku" hreflang="ku" data-title="Modul:families" data-language-autonym="Kurdî" data-language-local-name="Kurdish" class="interlanguage-link-target"><span>Kurdî</span></a></li><li class="interlanguage-link interwiki-ky mw-list-item"><a href="https://ky.wiktionary.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:families" title="Модуль:families – Kyrgyz" lang="ky" hreflang="ky" data-title="Модуль:families" data-language-autonym="Кыргызча" data-language-local-name="Kyrgyz" class="interlanguage-link-target"><span>Кыргызча</span></a></li><li class="interlanguage-link interwiki-la mw-list-item"><a href="https://la.wiktionary.org/wiki/Modulus:families" title="Modulus:families – Latin" lang="la" hreflang="la" data-title="Modulus:families" data-language-autonym="Latina" data-language-local-name="Latin" class="interlanguage-link-target"><span>Latina</span></a></li><li class="interlanguage-link interwiki-lo mw-list-item"><a href="https://lo.wiktionary.org/wiki/Module:families" title="Module:families – Lao" lang="lo" hreflang="lo" data-title="Module:families" data-language-autonym="ລາວ" data-language-local-name="Lao" class="interlanguage-link-target"><span>ລາວ</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wiktionary.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:families" title="Модул:families – Macedonian" lang="mk" hreflang="mk" data-title="Модул:families" data-language-autonym="Македонски" data-language-local-name="Macedonian" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wiktionary.org/wiki/%E0%B4%98%E0%B4%9F%E0%B4%95%E0%B4%82:families" title="ഘടകം:families – Malayalam" lang="ml" hreflang="ml" data-title="ഘടകം:families" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mni mw-list-item"><a href="https://mni.wiktionary.org/wiki/Module:families" title="Module:families – Manipuri" lang="mni" hreflang="mni" data-title="Module:families" data-language-autonym="ꯃꯤꯇꯩ ꯂꯣꯟ" data-language-local-name="Manipuri" class="interlanguage-link-target"><span>ꯃꯤꯇꯩ ꯂꯣꯟ</span></a></li><li class="interlanguage-link interwiki-mnw mw-list-item"><a href="https://mnw.wiktionary.org/wiki/%E1%80%99%E1%80%9D%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0:families" title="မဝ်ဂျူ:families – Mon" lang="mnw" hreflang="mnw" data-title="မဝ်ဂျူ:families" data-language-autonym="ဘာသာမန်" data-language-local-name="Mon" class="interlanguage-link-target"><span>ဘာသာမန်</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wiktionary.org/wiki/Modul:families" title="Modul:families – Malay" lang="ms" hreflang="ms" data-title="Modul:families" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-mt mw-list-item"><a href="https://mt.wiktionary.org/wiki/Module:families" title="Module:families – Maltese" lang="mt" hreflang="mt" data-title="Module:families" data-language-autonym="Malti" data-language-local-name="Maltese" class="interlanguage-link-target"><span>Malti</span></a></li><li class="interlanguage-link interwiki-my mw-list-item"><a href="https://my.wiktionary.org/wiki/%E1%80%99%E1%80%B1%E1%80%AC%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0%E1%80%B8:families" title="မော်ဂျူး:families – Burmese" lang="my" hreflang="my" data-title="မော်ဂျူး:families" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="Burmese" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li class="interlanguage-link interwiki-nds mw-list-item"><a href="https://nds.wiktionary.org/wiki/Modul:families" title="Modul:families – Low German" lang="nds" hreflang="nds" data-title="Modul:families" data-language-autonym="Plattdüütsch" data-language-local-name="Low German" class="interlanguage-link-target"><span>Plattdüütsch</span></a></li><li class="interlanguage-link interwiki-ne mw-list-item"><a href="https://ne.wiktionary.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%81%E0%A4%B2:families" title="मोड्युल:families – Nepali" lang="ne" hreflang="ne" data-title="मोड्युल:families" data-language-autonym="नेपाली" data-language-local-name="Nepali" class="interlanguage-link-target"><span>नेपाली</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wiktionary.org/wiki/Modul:families" title="Modul:families – Norwegian Nynorsk" lang="nn" hreflang="nn" data-title="Modul:families" data-language-autonym="Norsk nynorsk" data-language-local-name="Norwegian Nynorsk" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-ps mw-list-item"><a href="https://ps.wiktionary.org/wiki/Module:families" title="Module:families – Pashto" lang="ps" hreflang="ps" data-title="Module:families" data-language-autonym="پښتو" data-language-local-name="Pashto" class="interlanguage-link-target"><span>پښتو</span></a></li><li class="interlanguage-link interwiki-sd mw-list-item"><a href="https://sd.wiktionary.org/wiki/%D9%85%D8%A7%DA%8A%D9%8A%D9%88%D9%84:families" title="ماڊيول:families – Sindhi" lang="sd" hreflang="sd" data-title="ماڊيول:families" data-language-autonym="سنڌي" data-language-local-name="Sindhi" class="interlanguage-link-target"><span>سنڌي</span></a></li><li class="interlanguage-link interwiki-shn mw-list-item"><a href="https://shn.wiktionary.org/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:families" title="မေႃႇၵျူး:families – Shan" lang="shn" hreflang="shn" data-title="မေႃႇၵျူး:families" data-language-autonym="တႆး" data-language-local-name="Shan" class="interlanguage-link-target"><span>တႆး</span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wiktionary.org/wiki/Module:families" title="Module:families – Sinhala" lang="si" hreflang="si" data-title="Module:families" data-language-autonym="සිංහල" data-language-local-name="Sinhala" class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wiktionary.org/wiki/Module:families" title="Module:families – Simple English" lang="en-simple" hreflang="en-simple" data-title="Module:families" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-so mw-list-item"><a href="https://so.wiktionary.org/wiki/Module:families" title="Module:families – Somali" lang="so" hreflang="so" data-title="Module:families" data-language-autonym="Soomaaliga" data-language-local-name="Somali" class="interlanguage-link-target"><span>Soomaaliga</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wiktionary.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:families" title="Модул:families – Serbian" lang="sr" hreflang="sr" data-title="Модул:families" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wiktionary.org/wiki/Module:families" title="Module:families – Tamil" lang="ta" hreflang="ta" data-title="Module:families" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-te mw-list-item"><a href="https://te.wiktionary.org/wiki/%E0%B0%AE%E0%B0%BE%E0%B0%A1%E0%B1%8D%E0%B0%AF%E0%B1%82%E0%B0%B2%E0%B1%8D:families" title="మాడ్యూల్:families – Telugu" lang="te" hreflang="te" data-title="మాడ్యూల్:families" data-language-autonym="తెలుగు" data-language-local-name="Telugu" class="interlanguage-link-target"><span>తెలుగు</span></a></li><li class="interlanguage-link interwiki-tg mw-list-item"><a href="https://tg.wiktionary.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:families" title="Модул:families – Tajik" lang="tg" hreflang="tg" data-title="Модул:families" data-language-autonym="Тоҷикӣ" data-language-local-name="Tajik" class="interlanguage-link-target"><span>Тоҷикӣ</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wiktionary.org/wiki/%E0%B8%A1%E0%B8%AD%E0%B8%94%E0%B8%B9%E0%B8%A5:families" title="มอดูล:families – Thai" lang="th" hreflang="th" data-title="มอดูล:families" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tl mw-list-item"><a href="https://tl.wiktionary.org/wiki/Module:families" title="Module:families – Tagalog" lang="tl" hreflang="tl" data-title="Module:families" data-language-autonym="Tagalog" data-language-local-name="Tagalog" class="interlanguage-link-target"><span>Tagalog</span></a></li><li class="interlanguage-link interwiki-tpi mw-list-item"><a href="https://tpi.wiktionary.org/wiki/Module:families" title="Module:families – Tok Pisin" lang="tpi" hreflang="tpi" data-title="Module:families" data-language-autonym="Tok Pisin" data-language-local-name="Tok Pisin" class="interlanguage-link-target"><span>Tok Pisin</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wiktionary.org/wiki/Mod%C3%BCl:aileler" title="Modül:aileler – Turkish" lang="tr" hreflang="tr" data-title="Modül:aileler" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wiktionary.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:families" title="ماڈیول:families – Urdu" lang="ur" hreflang="ur" data-title="ماڈیول:families" data-language-autonym="اردو" data-language-local-name="Urdu" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wiktionary.org/wiki/Modul:families" title="Modul:families – Uzbek" lang="uz" hreflang="uz" data-title="Modul:families" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="Uzbek" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wiktionary.org/wiki/M%C3%B4_%C4%91un:families" title="Mô đun:families – Vietnamese" lang="vi" hreflang="vi" data-title="Mô đun:families" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-yue mw-list-item"><a href="https://yue.wiktionary.org/wiki/%E6%A8%A1%E7%B5%84:families" title="模組:families – Cantonese" lang="yue" hreflang="yue" data-title="模組:families" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wiktionary.org/wiki/Module:Families" title="Module:Families – Chinese" lang="zh" hreflang="zh" data-title="Module:Families" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wiktionary.org/wiki/%E6%A8%A1%E7%B5%84:families" title="模組:families – Minnan" lang="nan" hreflang="nan" data-title="模組:families" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="Minnan" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q33083190#sitelinks-wiktionary" title="Jhyuk a̱ka̱fwuop tung lilyem ndung" class="wbc-editpage">A̱ka̱fwuop njhyuk</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="A̱ka̱ghwop-lyulyoot"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:families" title="View the module page [c]" accesskey="c"><span>Module</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module_talk:families&action=edit&redlink=1" rel="discussion" class="new" title="Bwoi a̱lyiat tazwa wat kyangmami hu (wat hu nshyia̱ bah) [t]" accesskey="t"><span>Bwoi a̱lyiat</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Nwuan mi̱ nwuan"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:families"><span>Fang</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:families&action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Jhyuk a̱tyin ka</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:families&action=history" title="Nwuan-a̱ka̱feang mmam na̱ ku swak di̱ wat huni [h]" accesskey="h"><span>Nwuan nkhang</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Nkyangta̱m" > <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">Nkyangta̱m</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">Nkyangta̱m</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">ta̱kup</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Nta̱m </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Module:families"><span>Fang</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:families&action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Jhyuk a̱tyin ka</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:families&action=history"><span>Nwuan nkhang</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Kuzangka̱i </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Wat_khwo:WhatLinksHere/Module:families" title="Lis a̱mgba̱m pejí na̱ fwop a̱ji ni [j]" accesskey="j"><span>Yihwa hwa á̱ ku fwuop a̱ji</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Wat_khwo:RecentChangesLinked/Module:families" rel="nofollow" title="A̱ka̱shai mmam nani mi̱ ngwat na̱ fwuop di̱ wat huni [k]" accesskey="k"><span>A̱ka̱shai na̱ byia̱ a̱meang a̱ni</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard?uselang=kcg" title="Kpa̱t a̱yaafail [u]" accesskey="u"><span>Kpa̱t fayit</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Module:families&oldid=26952" title="A̱di̱ndi̱ng a̱fwuop nwuan-a̱ka̱feang wat huni"><span>A̱di̱ndi̱ng a̱fwuop</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Module:families&action=info" title="More information about this page"><span>Nkhang wat</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Wat_khwo:UrlShortener&url=https%3A%2F%2Fkcg.wiktionary.org%2Fwiki%2FModule%3Afamilies"><span>Shyia̱ a̱kum URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Wat_khwo:QrCode&url=https%3A%2F%2Fkcg.wiktionary.org%2Fwiki%2FModule%3Afamilies"><span>Cyok ma̱ng zwunzwuo-a̱muup QR ji</span></a></li> </ul> </div> </div> <div id="p-electronpdfservice-sidebar-portlet-heading" class="vector-menu mw-portlet mw-portlet-electronpdfservice-sidebar-portlet-heading" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="electron-print_pdf" class="mw-list-item"><a href="/w/index.php?title=Wat_khwo:DownloadAsPdf&page=Module%3Afamilies&action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Kpa wat huni nang á̱ maai á̱ lyui a̱ni [p]" accesskey="p"><span>Kpa hu nang á̱ maai lyui a̱ni</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> Di̱ nta̱m jhyang </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q33083190" title="A̱fwuop a̱ngga a̱gigyang deita nang á̱ fwuop a̱ni [g]" accesskey="g"><span>A̱ngga Wikidata</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Li"> <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">Li</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">ta̱kup</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">Neet di̱ Swánga̱lyiatwuki</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="kcg" dir="ltr"><p>This module is used to retrieve and manage Wiktionary's various language families and the information associated with them. See <a href="/w/index.php?title=Sw%C3%A1nga%CC%B1lyiatwuki:Families&action=edit&redlink=1" class="new" title="Swánga̱lyiatwuki:Families (wat hu nshyia̱ bah)">Wiktionary:Families</a> for more information. </p><p>This module provides access to other modules. To access the information from within a template, see <a href="/wiki/Module:families/templates" title="Module:families/templates">Module:families/templates</a>. </p><p>The information itself is stored in <a href="/wiki/Module:families/data" title="Module:families/data">Module:families/data</a>. This module should <b>not</b> be used directly by any other module, the data should only be accessed through the functions provided by Module:families. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Finding_and_retrieving_families">Finding and retrieving families</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-1" title="Tamm jhyuk: Finding and retrieving families"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The module exports a number of functions that are used to find families. </p> <div class="mw-heading mw-heading3"><h3 id="getByCode">getByCode</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-2" title="Tamm jhyuk: getByCode"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>getByCode(code)</code> </p><p>Finds the family whose code matches the one provided. If it exists, it returns a <code>Family</code> object representing the family. Otherwise, it returns <code>nil</code>. </p> <div class="mw-heading mw-heading3"><h3 id="getByCanonicalName">getByCanonicalName</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-3" title="Tamm jhyuk: getByCanonicalName"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>getByCanonicalName(name)</code> </p><p>Looks for the family whose canonical name (the name used to represent that language on Wiktionary) matches the one provided. If it exists, it returns a <code>Family</code> object representing the family. Otherwise, it returns <code>nil</code>. The canonical name of families should always be unique (it is an error for two families on Wiktionary to share the same canonical name), so this is guaranteed to give at most one result. </p> <div class="mw-heading mw-heading2"><h2 id="Family_objects">Family objects</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-4" title="Tamm jhyuk: Family objects"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A <code>Family</code> object is returned from one of the functions above. It is a Lua representation of a family and the data associated with it. It has a number of methods that can be called on it, using the <code>:</code> syntax. For example: </p> <div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span> <span class="n">m_families</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:families"</span><span class="p">)</span> <span class="kd">local</span> <span class="n">fam</span> <span class="o">=</span> <span class="n">m_families</span><span class="p">.</span><span class="n">getByCode</span><span class="p">(</span><span class="s2">"ine"</span><span class="p">)</span> <span class="kd">local</span> <span class="n">name</span> <span class="o">=</span> <span class="n">fam</span><span class="p">:</span><span class="n">getCanonicalName</span><span class="p">()</span> <span class="c1">-- "name" will now be "Indo-European"</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Family:getCode">Family:getCode</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-5" title="Tamm jhyuk: Family:getCode"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>:getCode()</code> </p><p>Returns the family code of the family. Example: <code>"ine"</code> for the Indo-European languages. </p> <div class="mw-heading mw-heading3"><h3 id="Family:getCanonicalName">Family:getCanonicalName</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-6" title="Tamm jhyuk: Family:getCanonicalName"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>:getCanonicalName()</code> </p><p>Returns the canonical name of the family. This is the name used to represent that language family on Wiktionary, and is guaranteed to be unique to that family alone. Example: <code>"Indo-European"</code> for the Indo-European languages. </p> <div class="mw-heading mw-heading3"><h3 id="Family:getDisplayForm">Family:getDisplayForm</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-7" title="Tamm jhyuk: Family:getDisplayForm"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>:getDisplayForm()</code> </p><p>Returns the display form of the family. For families, this is the same as the value returned by <code>:getCategoryName("nocap")</code>, i.e. it reads "NAME languages" (e.g. <code style="white-space:pre-wrap;" class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="s2">"Indo-Iranian languages"</span></code>). For regular and etymology languages, this is the same as the canonical name, and for scripts, it reads "NAME script" (e.g. <code style="white-space:pre-wrap;" class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="s2">"Arabic script"</span></code>). The displayed text used in <code>:makeCategoryLink</code> is always the same as the display form. </p> <div class="mw-heading mw-heading3"><h3 id="Family:getAllNames">Family:getAllNames</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-8" title="Tamm jhyuk: Family:getAllNames"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>:getAllNames()</code> </p><p>Returns a table of all names that the family is known by, including the canonical name. The names are not guaranteed to be unique, sometimes more than one family is known by the same name. Example: <code>{"Slavic", "Slavonic"}</code> for the Slavic languages. </p> <div class="mw-heading mw-heading3"><h3 id="Family:getFamily">Family:getFamily</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-9" title="Tamm jhyuk: Family:getFamily"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>:getFamily()</code> </p><p>Returns a <code>Family</code> object for the parent family that the family is a part of. </p> <div class="mw-heading mw-heading3"><h3 id="Family:getProtoLanguage">Family:getProtoLanguage</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-10" title="Tamm jhyuk: Family:getProtoLanguage"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>:getProtoLanguage()</code> </p><p>Returns a <code>Language</code> object (see <a href="/wiki/Module:languages" title="Module:languages">Module:languages</a>) for the proto-language of this family, if one exists. </p> <div class="mw-heading mw-heading3"><h3 id="Family:getCategoryName">Family:getCategoryName</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-11" title="Tamm jhyuk: Family:getCategoryName"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>:getCategoryName(nocap)</code> </p><p>Returns the name of the main category of that family. Example: <code>"Germanic languages"</code> for the Germanic languages, whose category is at <a href="/w/index.php?title=Sa:Germanic_languages&action=edit&redlink=1" class="new" title="Sa:Germanic languages (wat hu nshyia̱ bah)">Category:Germanic languages</a>. </p><p>Unless optional argument <code>nocap</code> is given, the family name at the beginning of the returned value will be capitalized. This capitalization is correct for category names, but not if the family name is lowercase and the returned value of this function is used in the middle of a sentence. (For example, the pseudo-family with the code <code>qfa-mix</code> has the name <code>"mixed"</code>, which should remain lowercase when used as part of the category name <a href="/w/index.php?title=Sa:Terms_derived_from_mixed_languages&action=edit&redlink=1" class="new" title="Sa:Terms derived from mixed languages (wat hu nshyia̱ bah)">Category:Terms derived from mixed languages</a> but should be capitalized in <a href="/w/index.php?title=Sa:Mixed_languages&action=edit&redlink=1" class="new" title="Sa:Mixed languages (wat hu nshyia̱ bah)">Category:Mixed languages</a>.) If you are considering using <code>getCategoryName("nocap")</code>, use <code>getDisplayForm()</code> instead. </p> <div class="mw-heading mw-heading3"><h3 id="Family:getWikidataItem">Family:getWikidataItem</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-12" title="Tamm jhyuk: Family:getWikidataItem"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>:getWikidataItem()</code> </p><p>Returns the Wikidata item of that family. </p> <div class="mw-heading mw-heading3"><h3 id="Family:getWikipediaArticle">Family:getWikipediaArticle</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Module:families/doc&action=edit&section=T-13" title="Tamm jhyuk: Family:getWikipediaArticle"><span>jhyuk</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>:getWikipediaArticle()</code> </p><p>Returns the Wikipedia article of that family, usually derived from <code>:getWikidataItem()</code>. </p> <hr /><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="kd">local</span> <span class="n">export</span> <span class="o">=</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="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-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a> <span class="kd">local</span> <span class="n">Family</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getCode</span><span class="p">()</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></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-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a> <span class="kr">end</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getCanonicalName</span><span class="p">()</span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></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><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a> <span class="kr">end</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getDisplayForm</span><span class="p">()</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></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-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a> <span class="kr">end</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="kr">function</span> <span class="nc">Family</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-19"><a href="#L-19"><span class="linenos" data-line="19"></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-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a> <span class="kr">end</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getAliases</span><span class="p">()</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></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-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a> <span class="kr">end</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a> </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">Family</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-27"><a href="#L-27"><span class="linenos" data-line="27"></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-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="c1">--function Family:getAllNames()</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a> <span class="c1">-- return self._rawData.names</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a> <span class="c1">--end</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a> <span class="cm">--[==[Given a list of types as strings, returns true if the family has all of them. Possible types are explained in [[Module:families/data]].]==]</span> </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">Family</span><span class="p">:</span><span class="nf">hasType</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">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_type</span> <span class="kr">then</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_type</span> <span class="o">=</span> <span class="p">{</span><span class="n">family</span> <span class="o">=</span> <span class="kc">true</span><span class="p">}</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">:</span><span class="n">getNonEtymologicalCode</span><span class="p">()</span> <span class="o">==</span> <span class="n">self</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="kr">then</span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_type</span><span class="p">.</span><span class="n">full</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a> <span class="kr">else</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_type</span><span class="p">[</span><span class="s2">"etymology-only"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a> <span class="kr">end</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">_rawData</span><span class="p">.</span><span class="nb">type</span> <span class="kr">then</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="nb">type</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">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="nb">type</span><span class="p">,</span> <span class="s2">"%s*,%s*"</span><span class="p">))</span> <span class="kr">do</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_type</span><span class="p">[</span><span class="nb">type</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a> <span class="kr">end</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a> <span class="kr">end</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a> <span class="kr">end</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="nb">type</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">{...}</span> <span class="kr">do</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_type</span><span class="p">[</span><span class="nb">type</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a> <span class="kr">end</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a> <span class="kr">end</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> <span class="kr">return</span> <span class="kc">true</span> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a> <span class="kr">end</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> <span class="cm">--[==[Returns a {Family} object for the superfamily that the family belongs to.]==]</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getFamily</span><span class="p">()</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">_familyObject</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a> <span class="kd">local</span> <span class="n">familyCode</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getFamilyCode</span><span class="p">()</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a> <span class="kr">if</span> <span class="n">familyCode</span> <span class="kr">then</span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_familyObject</span> <span class="o">=</span> <span class="n">export</span><span class="p">.</span><span class="n">getByCode</span><span class="p">(</span><span class="n">familyCode</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a> <span class="kr">else</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_familyObject</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a> <span class="kr">end</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a> <span class="kr">end</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_familyObject</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a> <span class="kr">end</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="cm">--[==[Returns the code of the family's superfamily.]==]</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getFamilyCode</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">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_familyCode</span> <span class="kr">then</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_familyCode</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">3</span><span class="p">]</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a> <span class="kr">end</span> </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">_familyCode</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">--[==[Returns the canonical name of the family's superfamily.]==]</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">Family</span><span class="p">:</span><span class="nf">getFamilyName</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">if</span> <span class="n">self</span><span class="p">.</span><span class="n">_familyName</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> <span class="kd">local</span> <span class="n">family</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getFamily</span><span class="p">()</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a> <span class="kr">if</span> <span class="n">family</span> <span class="kr">then</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_familyName</span> <span class="o">=</span> <span class="n">family</span><span class="p">:</span><span class="n">getCanonicalName</span><span class="p">()</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> <span class="kr">else</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_familyName</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a> <span class="kr">end</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a> <span class="kr">end</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_familyName</span> <span class="ow">or</span> <span class="kc">nil</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><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a> <span class="cm">--[==[Check whether the family belongs to {superfamily} (which can be a family code or object), and returns a boolean. If more than one is given, returns {true} if the family belongs to any of them. A family is '''not''' considered to belong to itself.]==]</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">inFamily</span><span class="p">(...)</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">superfamily</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">{...}</span> <span class="kr">do</span> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">superfamily</span><span class="p">)</span> <span class="o">==</span> <span class="s2">"table"</span> <span class="kr">then</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a> <span class="n">superfamily</span> <span class="o">=</span> <span class="n">superfamily</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> </span><span id="L-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a> <span class="kr">end</span> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> <span class="kd">local</span> <span class="n">family</span><span class="p">,</span> <span class="n">code</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getFamily</span><span class="p">()</span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> <span class="kr">while</span> <span class="kc">true</span> <span class="kr">do</span> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">family</span> <span class="kr">then</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a> <span class="kr">end</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a> <span class="n">code</span> <span class="o">=</span> <span class="n">family</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="n">family</span> <span class="o">=</span> <span class="n">family</span><span class="p">:</span><span class="n">getFamily</span><span class="p">()</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> <span class="c1">-- If family is parent to itself, return false.</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="kr">if</span> <span class="n">family</span> <span class="ow">and</span> <span class="n">family</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="o">==</span> <span class="n">code</span> <span class="kr">then</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a> <span class="kr">elseif</span> <span class="n">code</span> <span class="o">==</span> <span class="n">superfamily</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">return</span> <span class="kc">true</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a> <span class="kr">end</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="kr">end</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getParent</span><span class="p">()</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="n">self</span><span class="p">.</span><span class="n">_parentObject</span> <span class="o">==</span> <span class="kc">nil</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="kd">local</span> <span class="n">parentCode</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getParentCode</span><span class="p">()</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> <span class="kr">if</span> <span class="n">parentCode</span> <span class="kr">then</span> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_parentObject</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:languages"</span><span class="p">).</span><span class="n">getByCode</span><span class="p">(</span><span class="n">parentCode</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="kc">true</span><span class="p">,</span> <span class="kc">true</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a> <span class="kr">else</span> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_parentObject</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a> <span class="kr">end</span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a> <span class="kr">end</span> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_parentObject</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a> <span class="kr">end</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getParentCode</span><span class="p">()</span> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_parentCode</span> <span class="kr">then</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_parentCode</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">5</span><span class="p">]</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a> <span class="kr">end</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_parentCode</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a> <span class="kr">end</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getParentName</span><span class="p">()</span> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">_parentName</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a> <span class="kd">local</span> <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-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a> <span class="kr">if</span> <span class="n">parent</span> <span class="kr">then</span> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_parentName</span> <span class="o">=</span> <span class="n">parent</span><span class="p">:</span><span class="n">getCanonicalName</span><span class="p">()</span> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a> <span class="kr">else</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_parentName</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a> <span class="kr">end</span> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a> <span class="kr">end</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="n">self</span><span class="p">.</span><span class="n">_parentName</span> <span class="ow">or</span> <span class="kc">nil</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="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getParentChain</span><span class="p">()</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_parentChain</span> <span class="kr">then</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_parentChain</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a> <span class="kd">local</span> <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-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a> <span class="kr">while</span> <span class="n">parent</span> <span class="kr">do</span> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">_parentChain</span><span class="p">,</span> <span class="n">parent</span><span class="p">)</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a> <span class="n">parent</span> <span class="o">=</span> <span class="n">parent</span><span class="p">:</span><span class="n">getParent</span><span class="p">()</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a> <span class="kr">end</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a> <span class="kr">end</span> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_parentChain</span> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a> <span class="kr">end</span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">hasParent</span><span class="p">(...)</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a> <span class="c1">--checkObject("family", nil, ...)</span> </span><span id="L-159"><a href="#L-159"><span class="linenos" data-line="159"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">other_family</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">{...}</span> <span class="kr">do</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">parent</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">getParentChain</span><span class="p">())</span> <span class="kr">do</span> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">other_family</span><span class="p">)</span> <span class="o">==</span> <span class="s2">"string"</span> <span class="kr">then</span> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a> <span class="kr">if</span> <span class="n">other_family</span> <span class="o">==</span> <span class="n">parent</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kc">true</span> <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">else</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a> <span class="kr">if</span> <span class="n">other_family</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="o">==</span> <span class="n">parent</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kc">true</span> <span class="kr">end</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a> <span class="kr">end</span> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a> <span class="kr">end</span> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a> <span class="kr">end</span> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></span></a> <span class="kr">end</span> </span><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a> <span class="cm">--[==[If the family is etymology-only, iterates through its parents until a regular family is found and returns it. If the family is a regular family, then it simply returns itself.]==]</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getNonEtymological</span><span class="p">()</span> </span><span id="L-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_nonEtymologicalObject</span> <span class="kr">then</span> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a> <span class="kd">local</span> <span class="n">nonEtymologicalCode</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getNonEtymologicalCode</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">if</span> <span class="n">nonEtymologicalCode</span> <span class="o">~=</span> <span class="n">self</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="kr">then</span> </span><span id="L-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_nonEtymologicalObject</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:languages"</span><span class="p">).</span><span class="n">getByCode</span><span class="p">(</span><span class="n">nonEtymologicalCode</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="kc">true</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a> <span class="kr">else</span> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_nonEtymologicalObject</span> <span class="o">=</span> <span class="n">self</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></span></a> <span class="kr">end</span> </span><span id="L-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a> <span class="kr">end</span> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_nonEtymologicalObject</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a> <span class="kr">end</span> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getNonEtymologicalCode</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">_nonEtymologicalCode</span> <span class="ow">or</span> <span class="n">self</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a> <span class="kr">end</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getNonEtymologicalName</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">if</span> <span class="n">self</span><span class="p">.</span><span class="n">_nonEtymologicalName</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a> <span class="kd">local</span> <span class="n">nonEtymological</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getNonEtymological</span><span class="p">()</span> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> <span class="kr">if</span> <span class="n">nonEtymological</span> <span class="kr">then</span> </span><span id="L-192"><a href="#L-192"><span class="linenos" data-line="192"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_nonEtymologicalName</span> <span class="o">=</span> <span class="n">nonEtymological</span><span class="p">:</span><span class="n">getCanonicalName</span><span class="p">()</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a> <span class="kr">else</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_nonEtymologicalName</span> <span class="o">=</span> <span class="kc">false</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 class="kr">end</span> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_nonEtymologicalName</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a> <span class="kr">end</span> </span><span id="L-199"><a href="#L-199"><span class="linenos" data-line="199"></span></a> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getProtoLanguage</span><span class="p">()</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">_protoLanguageObject</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_protoLanguageObject</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:languages"</span><span class="p">).</span><span class="n">getByCode</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">protoLanguage</span> <span class="ow">or</span> <span class="n">self</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="o">..</span> <span class="s2">"-pro"</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="kc">true</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">false</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">self</span><span class="p">.</span><span class="n">_protoLanguageObject</span> <span class="ow">or</span> <span class="kc">nil</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="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getProtoLanguageCode</span><span class="p">()</span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">_protoLanguageCode</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> <span class="kd">local</span> <span class="n">protoLanguage</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getProtoLanguage</span><span class="p">()</span> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_protoLanguageCode</span> <span class="o">=</span> <span class="n">protoLanguage</span> <span class="ow">and</span> <span class="n">protoLanguage</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="ow">or</span> <span class="kc">false</span> </span><span id="L-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a> <span class="kr">end</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_protoLanguageCode</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> <span class="kr">end</span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getProtoLanguageName</span><span class="p">()</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_protoLanguageName</span> <span class="kr">then</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_protoLanguageName</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getProtoLanguage</span><span class="p">():</span><span class="n">getCanonicalName</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">end</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_protoLanguageName</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a> <span class="kr">end</span> </span><span id="L-221"><a href="#L-221"><span class="linenos" data-line="221"></span></a> </span><span id="L-222"><a href="#L-222"><span class="linenos" data-line="222"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">hasAncestor</span><span class="p">(...)</span> </span><span id="L-223"><a href="#L-223"><span class="linenos" data-line="223"></span></a> <span class="c1">-- Go up the family tree until a protolanguage is found.</span> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a> <span class="kd">local</span> <span class="n">family</span> <span class="o">=</span> <span class="n">self</span> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a> <span class="kd">local</span> <span class="n">protolang</span> <span class="o">=</span> <span class="n">family</span><span class="p">:</span><span class="n">getProtoLanguage</span><span class="p">()</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a> <span class="kr">while</span> <span class="ow">not</span> <span class="n">protolang</span> <span class="kr">do</span> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a> <span class="n">family</span> <span class="o">=</span> <span class="n">family</span><span class="p">:</span><span class="n">getFamily</span><span class="p">()</span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a> <span class="n">protolang</span> <span class="o">=</span> <span class="n">family</span><span class="p">:</span><span class="n">getProtoLanguage</span><span class="p">()</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a> <span class="c1">-- Return false if the family is its own family, to avoid an infinite loop.</span> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a> <span class="kr">if</span> <span class="n">family</span><span class="p">:</span><span class="n">getFamilyCode</span><span class="p">()</span> <span class="o">==</span> <span class="n">family</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="kr">then</span> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a> <span class="kr">end</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 class="c1">-- If the protolanguage is not in the family, it must therefore be ancestral to it. Check if it is a match.</span> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">otherlang</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">{...}</span> <span class="kr">do</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a> <span class="kr">if</span> <span class="p">(</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a> <span class="nb">type</span><span class="p">(</span><span class="n">otherlang</span><span class="p">)</span> <span class="o">==</span> <span class="s2">"string"</span> <span class="ow">and</span> <span class="n">protolang</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="o">==</span> <span class="n">otherlang</span> <span class="ow">or</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a> <span class="nb">type</span><span class="p">(</span><span class="n">otherlang</span><span class="p">)</span> <span class="o">==</span> <span class="s2">"table"</span> <span class="ow">and</span> <span class="n">protolang</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> <span class="o">==</span> <span class="n">otherlang</span><span class="p">:</span><span class="n">getCode</span><span class="p">()</span> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a> <span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">protolang</span><span class="p">:</span><span class="n">inFamily</span><span class="p">(</span><span class="n">self</span><span class="p">)</span> <span class="kr">then</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="kc">true</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 class="kr">end</span> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a> <span class="c1">-- If not, check the protolanguage's ancestry.</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">protolang</span><span class="p">:</span><span class="n">hasAncestor</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="kd">local</span> <span class="kr">function</span> <span class="nf">fetch_descendants</span><span class="p">(</span><span class="n">self</span><span class="p">,</span> <span class="n">format</span><span class="p">)</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a> <span class="kd">local</span> <span class="n">languages</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:languages/code to canonical name"</span><span class="p">)</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a> <span class="kd">local</span> <span class="n">etymology_languages</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:etymology languages/code to canonical name"</span><span class="p">)</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a> <span class="kd">local</span> <span class="n">families</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:families/code to canonical name"</span><span class="p">)</span> </span><span id="L-251"><a href="#L-251"><span class="linenos" data-line="251"></span></a> <span class="kd">local</span> <span class="n">descendants</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="kd">local</span> <span class="n">family</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getFamily</span><span class="p">()</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a> <span class="c1">-- Iterate over all three datasets.</span> </span><span id="L-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">data</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">{</span><span class="n">languages</span><span class="p">,</span> <span class="n">etymology_languages</span><span class="p">,</span> <span class="n">families</span><span class="p">}</span> <span class="kr">do</span> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></span></a> <span class="kr">for</span> <span class="n">code</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="kr">do</span> </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">lang</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:languages"</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">true</span><span class="p">,</span> <span class="kc">true</span><span class="p">,</span> <span class="n">useRequire</span><span class="p">)</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a> <span class="kr">if</span> <span class="n">lang</span><span class="p">:</span><span class="n">inFamily</span><span class="p">(</span><span class="n">self</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a> <span class="kr">if</span> <span class="n">format</span> <span class="o">==</span> <span class="s2">"object"</span> <span class="kr">then</span> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">descendants</span><span class="p">,</span> <span class="n">lang</span><span class="p">)</span> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a> <span class="kr">elseif</span> <span class="n">format</span> <span class="o">==</span> <span class="s2">"code"</span> <span class="kr">then</span> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">descendants</span><span class="p">,</span> <span class="n">code</span><span class="p">)</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a> <span class="kr">elseif</span> <span class="n">format</span> <span class="o">==</span> <span class="s2">"name"</span> <span class="kr">then</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">descendants</span><span class="p">,</span> <span class="n">lang</span><span class="p">:</span><span class="n">getCanonicalName</span><span class="p">())</span> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a> <span class="kr">end</span> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a> <span class="kr">end</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a> <span class="kr">end</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a> <span class="kr">end</span> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a> <span class="kr">return</span> <span class="n">descendants</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a> <span class="kr">end</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">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getDescendants</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">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_descendantObjects</span> <span class="kr">then</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_descendantObjects</span> <span class="o">=</span> <span class="n">fetch_descendants</span><span class="p">(</span><span class="n">self</span><span class="p">,</span> <span class="s2">"object"</span><span class="p">)</span> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a> <span class="kr">end</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_descendantObjects</span> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a> <span class="kr">end</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getDescendantCodes</span><span class="p">()</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_descendantCodes</span> <span class="kr">then</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_descendantCodes</span> <span class="o">=</span> <span class="n">fetch_descendants</span><span class="p">(</span><span class="n">self</span><span class="p">,</span> <span class="s2">"code"</span><span class="p">)</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a> <span class="kr">end</span> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_descendantCodes</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a> <span class="kr">end</span> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getDescendantNames</span><span class="p">()</span> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_descendantNames</span> <span class="kr">then</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">_descendantNames</span> <span class="o">=</span> <span class="n">fetch_descendants</span><span class="p">(</span><span class="n">self</span><span class="p">,</span> <span class="s2">"name"</span><span class="p">)</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a> <span class="kr">end</span> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">_descendantNames</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a> <span class="kr">end</span> </span><span id="L-291"><a href="#L-291"><span class="linenos" data-line="291"></span></a> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">hasDescendant</span><span class="p">(...)</span> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">lang</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">{...}</span> <span class="kr">do</span> </span><span id="L-294"><a href="#L-294"><span class="linenos" data-line="294"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">lang</span><span class="p">)</span> <span class="o">==</span> <span class="s2">"string"</span> <span class="kr">then</span> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a> <span class="n">lang</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:languages"</span><span class="p">).</span><span class="n">getByCode</span><span class="p">(</span><span class="n">lang</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="kc">true</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-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a> <span class="kr">end</span> </span><span id="L-297"><a href="#L-297"><span class="linenos" data-line="297"></span></a> <span class="kr">if</span> <span class="n">lang</span><span class="p">:</span><span class="n">inFamily</span><span class="p">(</span><span class="n">self</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a> <span class="kr">return</span> <span class="kc">true</span> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a> <span class="kr">end</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a> <span class="kr">end</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a> <span class="kr">end</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a> <span class="kr">function</span> <span class="nc">Family</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-305"><a href="#L-305"><span class="linenos" data-line="305"></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><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a> <span class="c1">-- If the name already has "languages" in it, don't add it.</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">name</span><span class="p">:</span><span class="n">find</span><span class="p">(</span><span class="s2">"[Ll]anguages$"</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">name</span> <span class="o">..</span> <span class="s2">" languages"</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a> <span class="kr">end</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="ow">not</span> <span class="n">nocap</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="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-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 class="kr">return</span> <span class="n">name</span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a> <span class="kr">end</span> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">makeCategoryLink</span><span class="p">()</span> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></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-319"><a href="#L-319"><span class="linenos" data-line="319"></span></a> <span class="kr">end</span> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getWikidataItem</span><span class="p">()</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a> <span class="kd">local</span> <span class="n">item</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 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">wikidata_item</span> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">item</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="kr">return</span> <span class="kc">nil</span> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a> <span class="kr">end</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a> </span><span id="L-328"><a href="#L-328"><span class="linenos" data-line="328"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">~=</span> <span class="s2">"number"</span> <span class="kr">then</span> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a> <span class="nb">error</span><span class="p">(</span><span class="s2">"The method getWikidataItem expects the item to be stored as a number, but it is currently a "</span> <span class="o">..</span> <span class="nb">type</span><span class="p">(</span><span class="n">code</span><span class="p">)</span> <span class="o">..</span> <span class="s2">"."</span><span class="p">)</span> </span><span id="L-330"><a href="#L-330"><span class="linenos" data-line="330"></span></a> <span class="kr">end</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> <span class="kr">return</span> <span class="s2">"Q"</span> <span class="o">..</span> <span class="n">item</span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a> <span class="kr">end</span> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getWikipediaArticle</span><span class="p">()</span> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a> <span class="kr">return</span> <span class="p">(</span><span class="n">self</span><span class="p">:</span><span class="n">getWikidataItem</span><span class="p">()</span> <span class="ow">and</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span> <span class="ow">and</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">sitelink</span><span class="p">(</span><span class="n">self</span><span class="p">:</span><span class="n">getWikidataItem</span><span class="p">(),</span> <span class="s1">'enwiki'</span><span class="p">))</span> <span class="ow">or</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">getCategoryName</span><span class="p">()</span> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a> <span class="kr">end</span> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">makeWikipediaLink</span><span class="p">()</span> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a> <span class="kr">return</span> <span class="s2">"[[w:"</span> <span class="o">..</span> <span class="n">self</span><span class="p">:</span><span class="n">getWikipediaArticle</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">getCanonicalName</span><span class="p">()</span> <span class="o">..</span> <span class="s2">"]]"</span> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a> <span class="kr">end</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">toJSON</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">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">_type</span> <span class="kr">then</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">hasType</span><span class="p">()</span> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a> <span class="kr">end</span> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a> <span class="kd">local</span> <span class="n">types</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></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">_type</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></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-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a> <span class="kr">end</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a> <span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></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-355"><a href="#L-355"><span class="linenos" data-line="355"></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-356"><a href="#L-356"><span class="linenos" data-line="356"></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-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a> <span class="n">family</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">3</span><span class="p">],</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a> <span class="n">protoLanguage</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">protoLanguage</span><span class="p">,</span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></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-360"><a href="#L-360"><span class="linenos" data-line="360"></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-361"><a href="#L-361"><span class="linenos" data-line="361"></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-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a> <span class="nb">type</span> <span class="o">=</span> <span class="n">types</span><span class="p">,</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a> <span class="n">wikidataItem</span> <span class="o">=</span> <span class="n">self</span><span class="p">:</span><span class="n">getWikidataItem</span><span class="p">(),</span> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a> <span class="p">}</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a> <span class="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-367"><a href="#L-367"><span class="linenos" data-line="367"></span></a> <span class="kr">end</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a> <span class="kr">function</span> <span class="nc">Family</span><span class="p">:</span><span class="nf">getRawData</span><span class="p">()</span> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></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-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a> <span class="kr">end</span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a> <span class="n">Family</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">Family</span> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a> <span class="kr">return</span> <span class="n">data</span> <span class="ow">and</span> <span class="nb">setmetatable</span><span class="p">({</span> <span class="n">_rawData</span> <span class="o">=</span> <span class="n">data</span><span class="p">,</span> <span class="n">_code</span> <span class="o">=</span> <span class="n">code</span> <span class="p">},</span> <span class="n">Family</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a><span class="kr">end</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></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">useRequire</span><span class="p">)</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">conditionalRequire</span><span class="p">(</span><span class="n">modulename</span><span class="p">)</span> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a> <span class="kr">if</span> <span class="n">useRequire</span> <span class="kr">then</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="n">modulename</span><span class="p">)</span> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a> <span class="kr">else</span> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">loadData</span><span class="p">(</span><span class="n">modulename</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">end</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="kd">local</span> <span class="n">data</span> <span class="o">=</span> <span class="n">conditionalRequire</span><span class="p">(</span><span class="s2">"Module:families/data"</span><span class="p">)[</span><span class="n">code</span><span class="p">]</span> </span><span id="L-388"><a href="#L-388"><span class="linenos" data-line="388"></span></a> <span class="kr">if</span> <span class="n">data</span> <span class="kr">then</span> </span><span id="L-389"><a href="#L-389"><span class="linenos" data-line="389"></span></a> <span class="kr">return</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-390"><a href="#L-390"><span class="linenos" data-line="390"></span></a> <span class="kr">end</span> </span><span id="L-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">conditionalRequire</span><span class="p">(</span><span class="s2">"Module:families/data/etymology"</span><span class="p">)[</span><span class="n">code</span><span class="p">]</span> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a> <span class="kr">if</span> <span class="n">data</span> <span class="kr">then</span> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="s2">"Module:languages"</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-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a> <span class="kr">end</span> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a> </span><span id="L-397"><a href="#L-397"><span class="linenos" data-line="397"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-398"><a href="#L-398"><span class="linenos" data-line="398"></span></a><span class="kr">end</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></span></a><span class="kr">function</span> <span class="nc">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-401"><a href="#L-401"><span class="linenos" data-line="401"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">conditionalRequire</span><span class="p">(</span><span class="n">modulename</span><span class="p">)</span> </span><span id="L-402"><a href="#L-402"><span class="linenos" data-line="402"></span></a> <span class="kr">if</span> <span class="n">useRequire</span> <span class="kr">then</span> </span><span id="L-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="n">modulename</span><span class="p">)</span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a> <span class="kr">else</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">loadData</span><span class="p">(</span><span class="n">modulename</span><span class="p">)</span> </span><span id="L-406"><a href="#L-406"><span class="linenos" data-line="406"></span></a> <span class="kr">end</span> </span><span id="L-407"><a href="#L-407"><span class="linenos" data-line="407"></span></a> <span class="kr">end</span> </span><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></span></a> <span class="kd">local</span> <span class="n">byName</span> <span class="o">=</span> <span class="n">conditionalRequire</span><span class="p">(</span><span class="s2">"Module:families/canonical names"</span><span class="p">)</span> </span><span id="L-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a> <span class="kd">local</span> <span class="n">code</span> <span class="o">=</span> <span class="n">byName</span> <span class="ow">and</span> <span class="n">byName</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="ow">or</span> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a> <span class="n">byName</span><span class="p">[</span><span class="n">name</span><span class="p">:</span><span class="n">match</span><span class="p">(</span><span class="s2">"^(.*) languages$"</span><span class="p">)]</span> </span><span id="L-412"><a href="#L-412"><span class="linenos" data-line="412"></span></a> </span><span id="L-413"><a href="#L-413"><span class="linenos" data-line="413"></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="n">useRequire</span><span class="p">)</span> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a><span class="kr">end</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a> </span><span id="L-416"><a href="#L-416"><span class="linenos" data-line="416"></span></a><span class="kr">return</span> <span class="n">export</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐74fffdc954‐lt8pb Cached time: 20250225051050 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] CPU time usage: 0.029 seconds Real time usage: 0.040 seconds Preprocessor visited node count: 46/1000000 Post‐expand include size: 5026/2097152 bytes Template argument size: 0/2097152 bytes Highest expansion depth: 4/100 Expensive parser function count: 3/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 1239/5000000 bytes Lua time usage: 0.010/10.000 seconds Lua memory usage: 843985/104857600 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 30.733 1 -total 100.00% 30.733 1 Module:families/doc 74.19% 22.800 2 Ta̱mpi̱let:code --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Bwuok ndyo neet "<a dir="ltr" href="https://kcg.wiktionary.org/w/index.php?title=Module:families&oldid=26952">https://kcg.wiktionary.org/w/index.php?title=Module:families&oldid=26952</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Wat_khwo:Categories" title="Wat khwo:Categories">Sa</a>: <ul><li><a href="/w/index.php?title=Sa:Language_and_script_modules&action=edit&redlink=1" class="new" title="Sa:Language and script modules (wat hu nshyia̱ bah)">Language and script modules</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Á̱ ku jhyuk wat huni di̱ ngaan a̱tuk mam 14 Zwat A̱ni̱nai 2023, di̱ tswam 16:47.</li> <li id="footer-info-copyright">Á̱ sa̱u lyuut hu a̱tafa <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Kwaa̱mbwat A̱ka̱wat Creative Commons Attribution-ShareAlike hu hwa</a>; nka̱nda̱n nta̱m jhyang bye nshyia̱. Nwuan a li <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Nka̱nda̱n Nyian Ta̱m</a> na a li a̱kyokyuat nkhang wu.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Kwaa̱mbwat a̱bala̱lang</a></li> <li id="footer-places-about"><a href="/wiki/Sw%C3%A1nga%CC%B1lyiatwuki:Tazwa">Tazwa Swánga̱lyiatwuki</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Sw%C3%A1nga%CC%B1lyiatwuki:Fwuo_lyen_kuzangka%CC%B1i">Nfwuo lyen kpa̱sai</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Á̱nietnok</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/kcg.wiktionary.org">Lung lulung</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Shei a̱lyiat kuki na</a></li> <li id="footer-places-mobileview"><a href="//kcg.m.wiktionary.org/w/index.php?title=Module:families&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Jet a̱bwoi</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"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></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"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Zop</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div 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="Zop Swánga̱lyiatwuki"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Wat_khwo:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Zop</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Nkyangmami" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-namespace">Module</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">families</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>lilyem 61</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Mbeang a̱pyia̱ a̱lyiat</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </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-74fffdc954-lt8pb","wgBackendResponseTime":200,"wgPageParseReport":{"limitreport":{"cputime":"0.029","walltime":"0.040","ppvisitednodes":{"value":46,"limit":1000000},"postexpandincludesize":{"value":5026,"limit":2097152},"templateargumentsize":{"value":0,"limit":2097152},"expansiondepth":{"value":4,"limit":100},"expensivefunctioncount":{"value":3,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":1239,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 30.733 1 -total","100.00% 30.733 1 Module:families/doc"," 74.19% 22.800 2 Ta̱mpi̱let:code"]},"scribunto":{"limitreport-timeusage":{"value":"0.010","limit":"10.000"},"limitreport-memusage":{"value":843985,"limit":104857600}},"cachereport":{"origin":"mw-web.codfw.main-74fffdc954-lt8pb","timestamp":"20250225051050","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>