CINXE.COM
Module:Wikidata label - Wikimedia Commons
<!DOCTYPE html> <html class="client-nojs" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Module:Wikidata label - Wikimedia Commons</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )commonswikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"0bf77569-e962-4621-8c65-1f233bd6651f","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:Wikidata_label","wgTitle":"Wikidata label","wgCurRevisionId":884909806,"wgRevisionId":884909806,"wgArticleId":51556222,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*" ],"wgCategories":["Modules subject to page protection"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:Wikidata_label","wgRelevantArticleId":51556222,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["templateeditor"],"wgRestrictionMove":["templateeditor"],"wgNoticeProject":"commons","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":false,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgCentralAuthMobileDomain":false,"upwizPropertyTitles":{"P180":"Main subjects visible in this work"},"upwizPropertyPlaceholders":{"P180":"e.g., Angolan giraffe"},"upwizPropertyCopyLabels":{"P180":"Main subjects"}, "wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q22050722","wbmiDefaultProperties":["P180"],"wbmiPropertyTitles":{"P180":"Items portrayed in this file"},"wbmiPropertyTypes":{"P180":"wikibase-item"},"wbmiRepoApiUrl":"/w/api.php","wbmiHelpUrls":{"P180":"https://commons.wikimedia.org/wiki/Special:MyLanguage/Commons:Depicts"},"wbmiExternalEntitySearchBaseUri":"https://www.wikidata.org/w/api.php","wbmiSupportedDataTypes":["wikibase-item","string","quantity","time","monolingualtext","external-id","globe-coordinate","url"],"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.gadget.Long-Image-Names-in-Categories":"ready","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.styles.legacy":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","codex-search-styles":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.Slideshow","ext.gadget.ZoomViewer","ext.gadget.CollapsibleTemplates","ext.gadget.fastcci","ext.gadget.Stockphoto","ext.gadget.WatchlistNotice","ext.gadget.AjaxQuickDelete","ext.gadget.WikiMiniAtlas","ext.gadget.LanguageSelect","ext.gadget.PictureOfTheYearEnhancements","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.wikimediaEvents.wikibase","ext.navigationTiming","ext.uls.compactlinks", "ext.uls.interface","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=codex-search-styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cskins.vector.styles.legacy%7Cwikibase.client.init&only=styles&skin=vector"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.gadget.Long-Image-Names-in-Categories&only=styles&skin=vector"> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Module:Wikidata label - Wikimedia Commons"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//commons.m.wikimedia.org/wiki/Module:Wikidata_label"> <link rel="apple-touch-icon" href="/static/apple-touch/commons.png"> <link rel="icon" href="/static/favicon/commons.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikimedia Commons"> <link rel="EditURI" type="application/rsd+xml" href="//commons.wikimedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://commons.wikimedia.org/wiki/Module:Wikidata_label"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="Wikimedia Commons Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject page-Module_Wikidata_label rootpage-Module_Wikidata_label skin-vector action-view"><div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div id="siteNotice"><!-- CentralNotice --></div> <div class="mw-indicators"> </div> <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">Wikidata label</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">From Wikimedia Commons, the free media repository</div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Jump to navigation</a> <a class="mw-jump-link" href="#searchInput">Jump to search</a> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div style="float:right"><div style="position:relative"> <div style="width:100px;height:100px;border-radius: 50%;;background-color:#19198A"></div> <div style="position:absolute;top:40px;color:#fff;font-family:Helvetica,Arial,sans-serif;font-weight:bold;font-size:52.5px;line-height:52.5px;">Lua</div> <div style="width:26.7px;height:26.7px;border-radius: 50%;;background-color:#fff;position:absolute;top:13.138699525547px;left:60.161300474453px"></div> </div></div><p><span class="plainlinks"> <a class="mw-selflink-fragment" href="#com-module-code"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Code</span></span></a><a href="/wiki/Module_talk:Wikidata_label" title="Module talk:Wikidata label"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Discussion</span></span></a><a class="external text" href="https://commons.wikimedia.org/w/index.php?title=Module:Wikidata_label&action=edit"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Edit</span></span></a><a class="external text" href="https://commons.wikimedia.org/w/index.php?title=Module:Wikidata_label&action=history"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">History</span></span></a><a class="external text" href="https://commons.wikimedia.org/w/index.php?title=Special:WhatLinksHere/:Module:Wikidata_label&limit=999"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Links</span></span></a><a class="external text" href="https://tools.wmflabs.org/templatecount/index.php?lang=commons&namespace=828&name=Wikidata_label"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Link count</span></span></a> <a href="/wiki/Special:PrefixIndex/Module:Wikidata_label" title="Special:PrefixIndex/Module:Wikidata label"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Subpages:</span></span></a><a href="/wiki/Special:MyLanguage/Module:Wikidata_label/doc" title="Special:MyLanguage/Module:Wikidata label/doc"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Documentation</span></span></a><a href="/wiki/Module:Wikidata_label/testcases" title="Module:Wikidata label/testcases"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Tests</span></span></a><a href="/w/index.php?title=Module_talk:Wikidata_label/testcases&action=edit&redlink=1" class="new" title="Module talk:Wikidata label/testcases (page does not exist)"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Results</span></span></a><a href="/wiki/Module:Wikidata_label/sandbox" title="Module:Wikidata label/sandbox"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Sandbox</span></span></a><a class="mw-selflink selflink"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Live code</span></span></a> <a href="/wiki/Special:PrefixIndex/Module:" title="Special:PrefixIndex/Module:"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d6d4c7 0%, #c4bb8b 100%);background-image:o-linear-gradient(top,#d6d4c7 0%, #c4bb8b 100%);background-image:-webkit-linear-gradient(top,#d6d4c7 0%, #c4bb8b 100%);background-image:linear-gradient(to bottom,#d6d4c7 0%, #c4bb8b 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#fefcea 0%, #ede3a6 100%);background-image:o-linear-gradient(top,#fefcea 0%, #ede3a6 100%);background-image:-webkit-linear-gradient(top,#fefcea 0%, #ede3a6 100%);background-image:linear-gradient(to bottom,#fefcea 0%, #ede3a6 100%);; padding:.8em;">All modules</span></span></a></span> <style data-mw-deduplicate="TemplateStyles:r861166424">.mw-parser-output td.mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output td.mbox-empty-cell{border:none;padding:0;width:1px}</style></p><table class="messagebox plainlinks layouttemplate en" lang="en" dir="ltr" style="margin:2px auto;width:80%;border:2px solid var(--border-color-progressive--hover,#48d);background:var(--background-color-neutral-subtle,#fbfcff);color:var(--color-base,#222);border-inline-start-width:8px;border-collapse:collapse;background:var(--background-color-interactive-subtle,#f8f9fa);margin-left:5.2em"><tbody><tr> <td class="mbox-image" style="padding-inline-start:.9em" dir="ltr"><span typeof="mw:File"><span><img alt="Protected" src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Template-protection-shackle-brackets_2.svg/40px-Template-protection-shackle-brackets_2.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Template-protection-shackle-brackets_2.svg/60px-Template-protection-shackle-brackets_2.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Template-protection-shackle-brackets_2.svg/80px-Template-protection-shackle-brackets_2.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text">This module is <a href="/wiki/Category:Modules_subject_to_page_protection" title="Category:Modules subject to page protection">subject to page protection</a>. It is a <a href="https://en.wikipedia.org/wiki/Wikipedia:High-risk_templates" class="extiw" title="en:Wikipedia:High-risk templates">highly visible module</a> in use by a very large number of pages, or is <a href="https://en.wikipedia.org/wiki/WP:SUBST" class="extiw" title="en:WP:SUBST">substituted</a> very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is <a href="https://en.wikipedia.org/wiki/WP:PROTECT" class="extiw" title="en:WP:PROTECT">protected</a> from editing.</td></tr></tbody></table> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1"><a href="#Documentation"><span class="tocnumber">1</span> <span class="toctext">Documentation</span></a> <ul> <li class="toclevel-2"><a href="#getLabel"><span class="tocnumber">1.1</span> <span class="toctext">getLabel</span></a></li> <li class="toclevel-2"><a href="#sitelinks"><span class="tocnumber">1.2</span> <span class="toctext">sitelinks</span></a></li> <li class="toclevel-2"><a href="#aliases"><span class="tocnumber">1.3</span> <span class="toctext">aliases</span></a></li> </ul> </li> <li class="toclevel-1"><a href="#Code"><span class="tocnumber">2</span> <span class="toctext">Code</span></a></li> </ul> </div> <div class="mw-heading mw-heading2"><h2 id="Documentation">Documentation</h2></div> <p>The module provides functions to fetch from Wikidata labels, aliases or sitelinks for specific <a href="https://www.wikidata.org/wiki/Help:Items" class="extiw" title="d:Help:Items">item</a> in specific language. Each function can be called both from Lua and from Wikitext templates. Used by <a href="/wiki/Template:Label" title="Template:Label"><span style="font-family:monospace,monospace;">{{Label}}</span></a> template. </p> <div class="mw-heading mw-heading3"><h3 id="getLabel">getLabel</h3></div> <p>This function returns a label translated to the desired language and linking to desired project, created based on Wikidata. </p> <dl><dt>Call from template</dt></dl> <p><code>{{#invoke:Wikidata label|getLabel |item=<''item ID''> |lang=<''language''> |link=<''link type''> |capitalization=,''capitalization style''> }} </code> </p> <dl><dt>Calls from Lua</dt></dl> <p><code>require('Module:Wikidata label')._getLabel( item, [lang] , [link_type] , [capitalization] )</code> </p> <dl><dt>Inputs</dt></dl> <table class="wikitable"> <tbody><tr> <th scope="col">Name </th> <th scope="col">Function </th> <th scope="col">Default </th></tr> <tr> <td>item </td> <td>Wikidata item ID number in form "Q" + item number.<br />Also works with Wikidata properties if you use "P"+number. </td> <td>(required field) </td></tr> <tr> <td>lang </td> <td>Language code (only needs to be provided if the language displayed is to be fixed and independent of the user’s preferences). </td> <td><code>{{int:lang}}</code> </td></tr> <tr> <td>link </td> <td>link type:<br /><b>wikipedia</b> will try to link to Wikipedia (does not work for properties)<br /><b>wikidata</b> to Wikidata<br /><b>commons</b> to Commons (does not work for properties)<br /><b>-</b> (or <b>no</b>) means no link.<br />The code will first try the link of your choice, then, if it is unable to link to that, it will fallback and try linking to Wikipedia, and if that is not possible then it will link to Wikidata. </td> <td>wikipedia </td></tr> <tr> <td>capitalization </td> <td>can be:<br /><b>uc</b>: upper case<br /><b>lc</b>: lower case<br /><b>ucfirst</b>: upper case for the first letter<br /><b>lcfirst</b>: lower case for the first letter<br /><b>none</b>: to leave it as is </td> <td>none </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="sitelinks">sitelinks</h3></div> <p>This function returns a list of sitelinks for a single project organized by language </p> <dl><dt>Call from template</dt></dl> <p><code>{{#invoke:Wikidata label|sitelinks |item=<''item ID''> |project=<''project''> }} </code> </p> <dl><dt>Calls from Lua</dt></dl> <p><code>require('Module:Wikidata label')._sitelinks( item, project )</code> </p> <dl><dt>Inputs</dt></dl> <table class="wikitable"> <tbody><tr> <th scope="col">Name </th> <th scope="col">Function </th></tr> <tr> <td>item </td> <td>Wikidata item ID number in form "Q" + item number or entity class </td></tr> <tr> <td>project </td> <td>"wikipedia" (or "wiki"), "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", etc. </td></tr></tbody></table> <dl><dt>Output</dt> <dd></dd></dl> <ul><li>for <b>sitelinks</b> a comma separated list</li> <li>for <b>_sitelinks</b> a lua table</li></ul> <p><br /> </p> <div class="mw-heading mw-heading3"><h3 id="aliases">aliases</h3></div> <p>This function returns a list of aliases for a single language </p> <dl><dt>Call from template</dt></dl> <p><code>{{#invoke:Wikidata label|aliases |item=<''item ID''> |lang=<''language''> }} </code> </p> <dl><dt>Calls from Lua</dt></dl> <p><code>require('Module:Wikidata label')._aliases( item, lang )</code> </p> <dl><dt>Inputs</dt></dl> <table class="wikitable"> <tbody><tr> <th scope="col">Name </th> <th scope="col">Function </th></tr> <tr> <td>item </td> <td>Wikidata item ID number in form "Q" + item number or entity class </td></tr> <tr> <td>lang </td> <td>Language code </td></tr></tbody></table> <dl><dt>Output</dt> <dd></dd></dl> <ul><li>for <b>aliases</b> a comma separated list</li> <li>for <b>_aliases</b> a lua table</li></ul> <h2 id="Code" id="com-module-code">Code</h2><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="cm">--[[</span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a><span class="cm"> __ __ _ _ __ ___ _ _ _ _ _ _ _</span> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a><span class="cm"> | \/ | ___ __| |_ _| | ___ \ \ / (_) | _(_) __| | __ _| |_ __ _ | | __ _| |__ ___| |</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a><span class="cm"> | |\/| |/ _ \ / _` | | | | |/ _ (_) \ /\ / /| | |/ / |/ _` |/ _` | __/ _` | | |/ _` | '_ \ / _ \ |</span> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a><span class="cm"> | | | | (_) | (_| | |_| | | __/_ \ V V / | | <| | (_| | (_| | || (_| | | | (_| | |_) | __/ |</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="cm"> |_| |_|\___/ \__,_|\__,_|_|\___(_) \_/\_/ |_|_|\_\_|\__,_|\__,_|\__\__,_| |_|\__,_|_.__/ \___|_|</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a><span class="cm">This module is intended to be the engine behind "Template:Label".</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="cm">This module was copied from Commons please ask for changes there.</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="cm">Please do not modify this code without applying the changes first at "Module:Wikidata label/sandbox" and testing</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a><span class="cm">at "Module:Wikidata label/testcases".</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="cm">Authors and maintainers:</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a><span class="cm">* User:Jarekt - original version</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a><span class="cm">]]</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a><span class="nb">require</span><span class="p">(</span><span class="s1">'strict'</span><span class="p">)</span> <span class="c1">-- used for debugging purposes as it detects cases of unintended global variables</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a><span class="c1">--=============================================</span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a><span class="c1">--=== Internal functions ======================</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a><span class="c1">--=============================================</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a><span class="c1">---------------------------------------------------------------------------</span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a><span class="c1">-- Normalize input arguments by converting them all to lower case and</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a><span class="c1">-- replacing space with "_" in the argument name. Also empty strings are</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a><span class="c1">-- converted to nils. Arguments are collected from arguments passed to the</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a><span class="c1">-- module and if missing from the template that calls the module</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">normalize_input_args</span><span class="p">(</span><span class="n">input_args</span><span class="p">,</span> <span class="n">output_args</span><span class="p">)</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a> <span class="kr">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span> <span class="n">input_args</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a> <span class="n">value</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">trim</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="c1">-- trim whitespaces from the beggining and the end of the string</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a> <span class="kr">if</span> <span class="n">value</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> <span class="c1">-- nuke empty strings</span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">name</span><span class="p">)</span><span class="o">==</span><span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a> <span class="n">name</span> <span class="o">=</span> <span class="nb">string.gsub</span><span class="p">(</span> <span class="nb">string.lower</span><span class="p">(</span><span class="n">name</span><span class="p">),</span> <span class="s1">' '</span><span class="p">,</span> <span class="s1">'_'</span><span class="p">)</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a> <span class="kr">end</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a> <span class="n">output_args</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a> <span class="kr">end</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a> <span class="kr">end</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a> <span class="kr">return</span> <span class="n">output_args</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="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> <span class="n">args</span> <span class="o">=</span> <span class="n">normalize_input_args</span><span class="p">(</span><span class="n">frame</span><span class="p">:</span><span class="n">getParent</span><span class="p">().</span><span class="n">args</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a> <span class="n">args</span> <span class="o">=</span> <span class="n">normalize_input_args</span><span class="p">(</span><span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a> <span class="kr">return</span> <span class="n">args</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a><span class="kr">end</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a><span class="c1">---------------------------------------------------------------------------</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a><span class="c1">-- Function allowing for consistent treatment of boolean-like wikitext input.</span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a><span class="c1">-- It works similarly to Module:Yesno but does not assume val is a string</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">yesno</span><span class="p">(</span><span class="n">val</span><span class="p">,</span> <span class="n">default</span><span class="p">)</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'boolean'</span> <span class="kr">then</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> <span class="kr">return</span> <span class="n">val</span> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a> <span class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'number'</span> <span class="kr">then</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a> <span class="kr">if</span> <span class="n">val</span> <span class="o">==</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> <span class="kr">return</span> <span class="kc">true</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a> <span class="kr">elseif</span> <span class="n">val</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a> <span class="kr">end</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a> <span class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</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">val</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">lower</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="c1">-- put in lower case</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a> <span class="kr">if</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'no'</span> <span class="ow">or</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'n'</span> <span class="ow">or</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'false'</span> <span class="ow">or</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'0'</span> <span class="kr">then</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a> <span class="kr">return</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">elseif</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'yes'</span> <span class="ow">or</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'y'</span> <span class="ow">or</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'true'</span> <span class="ow">or</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'1'</span> <span class="kr">then</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a> <span class="kr">return</span> <span class="kc">true</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a> <span class="kr">end</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 class="kr">return</span> <span class="n">default</span> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a><span class="kr">end</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a><span class="c1">-------------------------------------------------------------------------</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a><span class="c1">-- get message in a given language</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a><span class="c1">-- INPUTS:</span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a><span class="c1">-- * msg - name of a message. For it to work [[MediaWiki:msg]] page need to be set up</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a><span class="c1">-- * lang - translate message to language "lang"</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a><span class="c1">-- * default - string to return in case this module is moved to a project where this message is not set</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a><span class="c1">-- OUTPUT:</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a><span class="c1">-- * translated message</span> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">getMessage</span><span class="p">(</span><span class="n">msg</span><span class="p">,</span> <span class="n">lang</span><span class="p">,</span> <span class="n">default</span><span class="p">)</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> <span class="n">msg</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">message</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">msg</span><span class="p">):</span><span class="n">inLanguage</span><span class="p">(</span><span class="n">lang</span><span class="p">):</span><span class="n">plain</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">return</span> <span class="p">(</span><span class="n">msg</span> <span class="o">==</span> <span class="kc">nil</span> <span class="ow">and</span> <span class="n">default</span><span class="p">)</span> <span class="ow">or</span> <span class="n">msg</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a><span class="kr">end</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a><span class="c1">---------------------------------------------------------------------------</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a><span class="c1">-- use different sitelink call depending if you already have an entity or not</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a><span class="c1">-- INPUTS:</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a><span class="c1">-- * item and entity - entity id and entity: if full entity already uploded than use that</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a><span class="c1">-- otherwise use entity id to look up sitelink</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a><span class="c1">-- * lang - language of the project</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a><span class="c1">-- OUTPUT:</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a><span class="c1">-- * sitelink</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">getSitelink</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">entity</span><span class="p">,</span> <span class="n">lang</span><span class="p">)</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="n">entity</span> <span class="ow">and</span> <span class="n">entity</span><span class="p">.</span><span class="n">getSitelink</span> <span class="kr">then</span> <span class="c1">-- if we have entity then use it</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a> <span class="kr">return</span> <span class="n">entity</span><span class="p">:</span><span class="n">getSitelink</span><span class="p">(</span><span class="n">lang</span> <span class="o">..</span> <span class="s1">'wiki'</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">else</span> <span class="c1">-- if no entity then use different function</span> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getSitelink</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">lang</span> <span class="o">..</span> <span class="s1">'wiki'</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">end</span> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a><span class="kr">end</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a><span class="c1">---------------------------------------------------------------------------</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a><span class="c1">-- use different sitelink call depending if you already have an entity or not</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a><span class="c1">-- INPUTS:</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a><span class="c1">-- * item and entity - entity id and entity: if full entity already uploded than use that</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a><span class="c1">-- otherwise use entity id to look up sitelink</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a><span class="c1">-- * prop - property for which to return the best statment</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a><span class="c1">-- OUTPUT:</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a><span class="c1">-- * value of the best statment (only from the first one)</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">getBestStatementsValue</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">entity</span><span class="p">,</span> <span class="n">prop</span><span class="p">)</span> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> <span class="kd">local</span> <span class="n">statments</span> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a> <span class="kr">if</span> <span class="n">entity</span> <span class="kr">then</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a> <span class="n">statments</span> <span class="o">=</span> <span class="n">entity</span><span class="p">:</span><span class="n">getBestStatements</span><span class="p">(</span><span class="n">prop</span><span class="p">)</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a> <span class="kr">else</span> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> <span class="n">statments</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getBestStatements</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">prop</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">end</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">statment</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">statments</span><span class="p">)</span> <span class="kr">do</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">statment</span> <span class="ow">and</span> <span class="n">statment</span><span class="p">.</span><span class="n">mainsnak</span><span class="p">.</span><span class="n">datavalue</span><span class="p">.</span><span class="n">value</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="kr">return</span> <span class="n">statment</span><span class="p">.</span><span class="n">mainsnak</span><span class="p">.</span><span class="n">datavalue</span><span class="p">.</span><span class="n">value</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a> <span class="kr">end</span> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a> <span class="kr">end</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a><span class="kr">end</span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a><span class="c1">---------------------------------------------------------------------------</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a><span class="c1">-- change capitalization of the label</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a><span class="c1">-- INPUTS:</span> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a><span class="c1">-- * label - label string</span> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a><span class="c1">-- * capitalization - capitalization to be applied: allowed values are "tc", "lc",</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a><span class="c1">-- "uc", "lcfirst", and "ucfirst". Any other value will return original string</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a><span class="c1">-- * lang - language of the label</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a><span class="c1">-- OUTPUT:</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a><span class="c1">-- * value of the best statment (only from the first one)</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">apply_capitalization</span><span class="p">(</span><span class="n">label</span><span class="p">,</span> <span class="n">capitalization</span><span class="p">,</span> <span class="n">lang</span><span class="p">)</span> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a> <span class="n">capitalization</span> <span class="o">=</span> <span class="nb">string.lower</span><span class="p">(</span><span class="n">capitalization</span> <span class="ow">or</span> <span class="s1">'none'</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">capitalization</span> <span class="o">==</span> <span class="s1">'none'</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="kr">return</span> <span class="n">label</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a> <span class="kr">elseif</span> <span class="n">capitalization</span> <span class="o">==</span> <span class="s1">'uc'</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="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">lang</span><span class="p">):</span><span class="n">uc</span><span class="p">(</span><span class="n">label</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">elseif</span> <span class="n">capitalization</span> <span class="o">==</span> <span class="s1">'lc'</span> <span class="kr">then</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">lang</span><span class="p">):</span><span class="n">lc</span><span class="p">(</span><span class="n">label</span><span class="p">)</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a> <span class="kr">elseif</span> <span class="n">capitalization</span> <span class="o">==</span> <span class="s1">'tc'</span> <span class="kr">then</span> <span class="c1">-- title case</span> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a> <span class="kd">local</span> <span class="n">new_label</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">word</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">label</span><span class="p">,</span> <span class="s1">' '</span><span class="p">))</span> <span class="kr">do</span> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">new_label</span><span class="p">,</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">lang</span><span class="p">):</span><span class="n">ucfirst</span><span class="p">(</span><span class="n">word</span><span class="p">))</span> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a> <span class="kr">end</span> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a> <span class="kr">return</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">new_label</span><span class="p">,</span> <span class="s1">' '</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">elseif</span> <span class="n">capitalization</span> <span class="o">==</span> <span class="s1">'ucfirst'</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="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">lang</span><span class="p">):</span><span class="n">ucfirst</span><span class="p">(</span><span class="n">label</span><span class="p">)</span> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a> <span class="kr">elseif</span> <span class="n">capitalization</span> <span class="o">==</span> <span class="s1">'lcfirst'</span> <span class="kr">then</span> </span><span id="L-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">lang</span><span class="p">):</span><span class="n">lcfirst</span><span class="p">(</span><span class="n">label</span><span class="p">)</span> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a> <span class="kr">end</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a> <span class="kr">return</span> <span class="n">label</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a><span class="kr">end</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a><span class="cm">--[[-------------------------------------------------------------------------</span> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a><span class="cm">get link based on user preference</span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a><span class="cm">INPUTS:</span> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a><span class="cm">* link_type - can be :</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a><span class="cm"> * "wikidata" - link to wikidata</span> </span><span id="L-159"><a href="#L-159"><span class="linenos" data-line="159"></span></a><span class="cm"> * "wikipedia" - link to wikipedia (language dependent)</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a><span class="cm"> * "wikidata talk" - link to wikidata talk page</span> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a><span class="cm"> * "commons" - link to commons (try sitelink then commons category then commons gallery)</span> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a><span class="cm"> * "commonscat" - link to commons (try commons category then commons gallery)</span> </span><span id="L-163"><a href="#L-163"><span class="linenos" data-line="163"></span></a><span class="cm"> * "-" - means no link</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a><span class="cm">* item - entity ID (always provided)</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a><span class="cm">* entity - whole entity. It can be nil if whole entity is not loaded</span> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a><span class="cm">* langList - language fallback list for preferred language (required)</span> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a><span class="cm">OUTPUT:</span> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a><span class="cm">* link - link to the wikimedia page</span> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></span></a><span class="cm">]]</span> </span><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">getLink</span><span class="p">(</span><span class="n">link_type</span><span class="p">,</span> <span class="n">item</span><span class="p">,</span> <span class="n">entity</span><span class="p">,</span> <span class="n">langList</span><span class="p">)</span> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a> <span class="kd">local</span> <span class="n">link</span><span class="p">,</span> <span class="n">eLink</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a> <span class="n">link_type</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">lower</span><span class="p">(</span><span class="n">link_type</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">)</span> </span><span id="L-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a> <span class="kd">local</span> <span class="n">item_type</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="c1">-- first letter prefix of item entity ID: 'Q', 'P' or 'M'</span> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a> <span class="kr">if</span> <span class="n">item_type</span> <span class="o">==</span> <span class="s1">'M'</span> <span class="kr">then</span> </span><span id="L-175"><a href="#L-175"><span class="linenos" data-line="175"></span></a> <span class="n">eLink</span><span class="o">=</span><span class="s1">'c:Special:EntityPage/'</span><span class="o">..</span><span class="n">item</span> </span><span id="L-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a> <span class="kr">elseif</span> <span class="n">item_type</span> <span class="o">==</span> <span class="s1">'Q'</span> <span class="kr">then</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a> <span class="n">eLink</span><span class="o">=</span><span class="s1">'d:'</span><span class="o">..</span><span class="n">item</span> <span class="c1">-- wikibase entity page link</span> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a> <span class="kr">elseif</span> <span class="n">item_type</span> <span class="o">==</span> <span class="s1">'P'</span> <span class="kr">then</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></span></a> <span class="n">eLink</span><span class="o">=</span><span class="s1">'d:Property:'</span><span class="o">..</span><span class="n">item</span> <span class="c1">-- wikibase entity page link</span> </span><span id="L-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a> <span class="kr">else</span> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a> <span class="n">eLink</span><span class="o">=</span><span class="s1">'d:Special:EntityPage/'</span><span class="o">..</span><span class="n">item</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a> <span class="kr">end</span> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a> <span class="kr">if</span> <span class="n">link_type</span> <span class="o">==</span> <span class="s1">'-'</span> <span class="kr">then</span> <span class="c1">-- allow different link formats</span> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a> <span class="n">link</span> <span class="o">=</span> <span class="s1">''</span> <span class="c1">-- no link</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></span></a> <span class="kr">elseif</span> <span class="n">link_type</span> <span class="o">==</span> <span class="s1">'wikidata'</span> <span class="ow">or</span> <span class="n">item_type</span> <span class="o">==</span> <span class="s1">'M'</span> <span class="kr">then</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a> <span class="n">link</span> <span class="o">=</span> <span class="n">eLink</span> <span class="c1">-- link to wikibase entity page</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a> <span class="kr">elseif</span> <span class="n">link_type</span> <span class="o">==</span> <span class="s1">'wikidata talk'</span> <span class="ow">and</span> <span class="n">item_type</span> <span class="o">==</span> <span class="s1">'P'</span> <span class="kr">then</span> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a> <span class="n">link</span> <span class="o">=</span> <span class="s1">'d:Property talk:'</span><span class="o">..</span> <span class="n">item</span> <span class="c1">-- link to wikidata property talk page</span> </span><span id="L-189"><a href="#L-189"><span class="linenos" data-line="189"></span></a> <span class="kr">elseif</span> <span class="n">link_type</span> <span class="o">==</span> <span class="s1">'wikidata talk'</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="n">link</span> <span class="o">=</span> <span class="s1">'d:Talk:'</span><span class="o">..</span><span class="n">item</span> <span class="c1">-- link to wikidata talk page</span> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> <span class="kr">elseif</span> <span class="n">link_type</span> <span class="o">==</span> <span class="s1">'commons'</span> <span class="ow">or</span> <span class="n">link_type</span> <span class="o">==</span> <span class="s1">'commonscat'</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="cm">--[[</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a><span class="cm"> When link_type == 'commons' we try the following links (in specified order):</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></span></a><span class="cm"> 1) commons sitelink</span> </span><span id="L-195"><a href="#L-195"><span class="linenos" data-line="195"></span></a><span class="cm"> 2) P373 "Commons Category" claims</span> </span><span id="L-196"><a href="#L-196"><span class="linenos" data-line="196"></span></a><span class="cm"> 3) P935 "Commons Gallery" claims</span> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a><span class="cm"> Since most items have a commons sitelink we never have to look for claims</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a><span class="cm"> When link_type == 'commonscat' we try to maximize chances of commons link being a category, so we</span> </span><span id="L-199"><a href="#L-199"><span class="linenos" data-line="199"></span></a><span class="cm"> try the following links (in specified order):</span> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a><span class="cm"> 1) commons sitelink, which is kept if it points to a category</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a><span class="cm"> 2) P373 "Commons Category" claims</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a><span class="cm"> 3) commons sitelink (which does not point to a category)</span> </span><span id="L-203"><a href="#L-203"><span class="linenos" data-line="203"></span></a><span class="cm"> 4) P935 "Commons Gallery" claims</span> </span><span id="L-204"><a href="#L-204"><span class="linenos" data-line="204"></span></a><span class="cm"> Since most pages have a commons sitelink we never have to look for claims</span> </span><span id="L-205"><a href="#L-205"><span class="linenos" data-line="205"></span></a><span class="cm"> ]]</span> </span><span id="L-206"><a href="#L-206"><span class="linenos" data-line="206"></span></a> <span class="kd">local</span> <span class="n">sLink</span> <span class="o">=</span> <span class="n">getSitelink</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">entity</span><span class="p">,</span> <span class="s1">'commons'</span><span class="p">)</span> <span class="c1">-- look for sitelink to commons</span> </span><span id="L-207"><a href="#L-207"><span class="linenos" data-line="207"></span></a> <span class="kr">if</span> <span class="n">sLink</span> <span class="kr">then</span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a> <span class="n">sLink</span> <span class="o">=</span> <span class="s1">'c:'</span><span class="o">..</span><span class="n">sLink</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="n">link_type</span> <span class="o">==</span> <span class="s1">'commons'</span><span class="p">)</span> <span class="ow">or</span> <span class="p">(</span><span class="n">link_type</span> <span class="o">==</span> <span class="s1">'commonscat'</span> <span class="ow">and</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">find</span><span class="p">(</span><span class="n">sLink</span><span class="p">,</span> <span class="s1">'Category:'</span><span class="p">))</span> <span class="kr">then</span> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></span></a> <span class="n">link</span> <span class="o">=</span> <span class="n">sLink</span> </span><span id="L-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a> <span class="kr">end</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a> <span class="kr">end</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">link</span> <span class="kr">then</span> <span class="c1">-- try linking to P373 "Commons Category"</span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a> <span class="kd">local</span> <span class="n">cat</span> <span class="o">=</span> <span class="n">getBestStatementsValue</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">entity</span><span class="p">,</span> <span class="s1">'P373'</span><span class="p">)</span> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a> <span class="n">link</span> <span class="o">=</span> <span class="p">(</span><span class="n">cat</span> <span class="o">~=</span> <span class="kc">nil</span> <span class="ow">and</span> <span class="s1">'c:Category:'</span> <span class="o">..</span> <span class="n">cat</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a> <span class="kr">end</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="n">link</span> <span class="o">=</span> <span class="n">link</span> <span class="ow">or</span> <span class="n">sLink</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">link</span> <span class="kr">then</span> <span class="c1">-- try linking to P935 "Commons Gallery"</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="n">link</span> <span class="o">=</span> <span class="n">getBestStatementsValue</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">entity</span><span class="p">,</span> <span class="s1">'P935'</span><span class="p">)</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 class="kr">end</span> </span><span id="L-222"><a href="#L-222"><span class="linenos" data-line="222"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">link</span> <span class="kr">then</span> <span class="c1">-- apply default "Wikipedia" link type</span> </span><span id="L-223"><a href="#L-223"><span class="linenos" data-line="223"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">language</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">langList</span><span class="p">)</span> <span class="kr">do</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">sitelink</span> <span class="o">=</span> <span class="n">getSitelink</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">entity</span><span class="p">,</span> <span class="n">language</span><span class="p">)</span> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a> <span class="kr">if</span> <span class="n">sitelink</span> <span class="kr">then</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a> <span class="n">link</span> <span class="o">=</span> <span class="s1">'w:'</span><span class="o">..</span> <span class="n">language</span> <span class="o">..</span><span class="s1">':'</span><span class="o">..</span> <span class="n">sitelink</span> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a> <span class="kr">break</span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a> <span class="kr">end</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a> <span class="kr">end</span> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a> <span class="kr">end</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="n">link</span> <span class="ow">or</span> <span class="n">eLink</span> <span class="c1">-- no wiki sitelink, so link to wikidata</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><span id="L-234"><a href="#L-234"><span class="linenos" data-line="234"></span></a><span class="c1">--=============================================</span> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a><span class="c1">--=== External functions ======================</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a><span class="c1">--=============================================</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a><span class="kd">local</span> <span class="n">p</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a><span class="c1">--======================================================================</span> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a><span class="c1">--=== API functions for use from other Scribunto modules ===============</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a><span class="c1">--======================================================================</span> </span><span id="L-242"><a href="#L-242"><span class="linenos" data-line="242"></span></a> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a><span class="cm">--[[</span> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a><span class="cm">_getLabel</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a> </span><span id="L-246"><a href="#L-246"><span class="linenos" data-line="246"></span></a><span class="cm">This function returns a label translated to desired language, created based on wikidata</span> </span><span id="L-247"><a href="#L-247"><span class="linenos" data-line="247"></span></a> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a><span class="cm">Inputs:</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a><span class="cm"> 1: item - wikidata's item's q-id or entity class</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a><span class="cm"> 2: lang - desired language of the label</span> </span><span id="L-251"><a href="#L-251"><span class="linenos" data-line="251"></span></a><span class="cm"> 3: link_type - link style. Possible values (case-insensitive): "wikipedia", "wikidata", "Commons", or "-" (no link)</span> </span><span id="L-252"><a href="#L-252"><span class="linenos" data-line="252"></span></a><span class="cm"> 4: capitalization - can be "uc" (upper case), "lc" (lower case), "ucfirst" (upper case for the first letter),</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a><span class="cm"> "lcfirst" (lower case for the first letter), or 'none' (default)</span> </span><span id="L-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></span></a><span class="cm">Error Handling:</span> </span><span id="L-256"><a href="#L-256"><span class="linenos" data-line="256"></span></a><span class="cm"> Bad q-id will result in displayed error</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a><span class="cm">]]</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_getLabel</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">lang</span><span class="p">,</span> <span class="n">link_type</span><span class="p">,</span> <span class="n">capitalization</span><span class="p">,</span> <span class="n">show_id</span><span class="p">)</span> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a> <span class="kd">local</span> <span class="n">entity</span><span class="p">,</span> <span class="n">s</span><span class="p">,</span> <span class="n">link</span><span class="p">,</span> <span class="n">label</span><span class="p">,</span> <span class="n">language</span><span class="p">,</span> <span class="n">desc</span> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a> <span class="c1">-- clean up the input parameters</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></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="s1">'string'</span> <span class="kr">then</span> <span class="c1">-- "item" is not a q-id</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a> <span class="n">entity</span> <span class="o">=</span> <span class="n">item</span> <span class="c1">-- "item" must be the entity</span> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a> <span class="n">item</span> <span class="o">=</span> <span class="n">entity</span><span class="p">.</span><span class="n">id</span> <span class="c1">-- look-up q-id</span> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a> <span class="kr">elseif</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="kr">then</span> <span class="c1">-- if it is just the number then add "Q" in front</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a> <span class="n">item</span> <span class="o">=</span> <span class="s1">'Q'</span><span class="o">..</span><span class="n">item</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="n">item</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">gsub</span><span class="p">(</span><span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">upper</span><span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s1">'PROPERTY:P'</span><span class="p">,</span> <span class="s1">'P'</span><span class="p">)</span> <span class="c1">-- make all the properties the same and capitalize</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a> <span class="kr">if</span> <span class="n">link_type</span> <span class="o">==</span> <span class="s1">'no'</span> <span class="kr">then</span> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a> <span class="n">link_type</span> <span class="o">=</span> <span class="s1">'-'</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a> <span class="kr">end</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">lang</span> <span class="kr">then</span> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a> <span class="n">label</span><span class="p">,</span> <span class="n">lang</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getLabelWithLang</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a> <span class="kr">end</span> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">lang</span> <span class="kr">then</span> <span class="c1">-- if still no language</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a> <span class="n">lang</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">getCurrentFrame</span><span class="p">():</span><span class="n">callParserFunction</span><span class="p">(</span><span class="s2">"int"</span><span class="p">,</span><span class="s2">"lang"</span><span class="p">)</span> <span class="c1">-- get user's chosen language</span> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a> <span class="n">label</span> <span class="o">=</span> <span class="kc">nil</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a> <span class="kr">end</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a> <span class="c1">-- build language fallback list</span> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a> <span class="n">lang</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">lower</span><span class="p">(</span><span class="n">lang</span><span class="p">)</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a> <span class="kd">local</span> <span class="n">langList</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">getFallbacksFor</span><span class="p">(</span><span class="n">lang</span><span class="p">)</span> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">langList</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">lang</span><span class="p">)</span> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a> <span class="c1">-- get label (visible part of the link)</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">label</span> <span class="kr">then</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">language</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">langList</span><span class="p">)</span> <span class="kr">do</span> <span class="c1">-- loop over language fallback list looking for label in the specific language</span> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a> <span class="kr">if</span> <span class="n">entity</span> <span class="kr">then</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a> <span class="n">label</span> <span class="o">=</span> <span class="n">entity</span><span class="p">:</span><span class="n">getLabel</span><span class="p">(</span><span class="n">language</span><span class="p">)</span> </span><span id="L-291"><a href="#L-291"><span class="linenos" data-line="291"></span></a> <span class="kr">else</span> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a> <span class="n">label</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getLabelByLang</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">language</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">end</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="n">label</span> <span class="kr">then</span> <span class="kr">break</span> <span class="kr">end</span> <span class="c1">-- label found and we are done</span> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a> <span class="kr">end</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">label</span> <span class="kr">then</span> <span class="c1">-- wikitext-escape the label if we have one</span> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a> <span class="n">label</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">nowiki</span><span class="p">(</span><span class="n">label</span><span class="p">)</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">if</span> <span class="ow">not</span> <span class="n">label</span> <span class="kr">then</span> <span class="c1">-- no labels found, so just show the q-id</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a> <span class="n">label</span> <span class="o">=</span> <span class="n">item</span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a> <span class="kr">elseif</span> <span class="n">show_id</span> <span class="kr">then</span> <span class="c1">-- add id</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a> <span class="n">show_id</span> <span class="o">=</span> <span class="n">yesno</span><span class="p">(</span><span class="n">show_id</span><span class="p">,</span><span class="kc">false</span><span class="p">)</span> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a> <span class="kr">if</span> <span class="n">show_id</span> <span class="kr">then</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">wordsep</span> <span class="o">=</span> <span class="n">getMessage</span><span class="p">(</span><span class="s1">'Word-separator'</span><span class="p">,</span> <span class="n">lang</span><span class="p">,</span> <span class="s1">' '</span><span class="p">)</span> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a> <span class="kd">local</span> <span class="n">id</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">message</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="s1">'parentheses'</span><span class="p">,</span> <span class="n">item</span><span class="p">):</span><span class="n">inLanguage</span><span class="p">(</span><span class="n">lang</span><span class="p">):</span><span class="n">plain</span><span class="p">()</span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a> <span class="n">id</span> <span class="o">=</span> <span class="p">(</span><span class="n">id</span><span class="o">~=</span><span class="kc">nil</span> <span class="ow">and</span> <span class="n">id</span><span class="p">)</span> <span class="ow">or</span> <span class="p">(</span><span class="s1">'('</span><span class="o">..</span><span class="n">item</span><span class="o">..</span><span class="s1">')'</span><span class="p">)</span> <span class="c1">-- in case this module is moved to a project where {{int:parenthesis}} is not set</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a> <span class="n">label</span> <span class="o">=</span> <span class="n">label</span> <span class="o">..</span> <span class="n">wordsep</span> <span class="o">..</span> <span class="s2">"<small>"</span> <span class="o">..</span> <span class="n">id</span> <span class="o">..</span> <span class="s2">"</small>"</span> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a> <span class="kr">end</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a> <span class="kr">end</span> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a> <span class="n">label</span> <span class="o">=</span> <span class="n">apply_capitalization</span><span class="p">(</span><span class="n">label</span><span class="p">,</span> <span class="n">capitalization</span><span class="p">,</span> <span class="n">lang</span><span class="p">)</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a> <span class="c1">-- look for description</span> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a> <span class="kr">if</span> <span class="n">entity</span> <span class="ow">and</span> <span class="n">entity</span><span class="p">.</span><span class="n">descriptions</span> <span class="ow">and</span> <span class="n">lang</span> <span class="kr">then</span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">language</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">langList</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a> <span class="kr">if</span> <span class="n">entity</span><span class="p">.</span><span class="n">descriptions</span><span class="p">[</span><span class="n">language</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a> <span class="n">desc</span> <span class="o">=</span> <span class="n">entity</span><span class="p">.</span><span class="n">descriptions</span><span class="p">[</span><span class="n">language</span><span class="p">].</span><span class="n">value</span> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></span></a> <span class="kr">break</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 class="kr">end</span> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a> <span class="kr">else</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a> <span class="n">desc</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getDescription</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a> <span class="kr">end</span> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a> <span class="kr">if</span> <span class="n">desc</span> <span class="ow">and</span> <span class="n">link_type</span> <span class="o">~=</span> <span class="s1">'-'</span> <span class="kr">then</span> <span class="c1">-- wikitext-escape the description if we have one</span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a> <span class="n">desc</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">nowiki</span><span class="p">(</span><span class="n">desc</span><span class="p">)</span> <span class="c1">-- add description as hover text</span> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a> <span class="n">label</span> <span class="o">=</span> <span class="s1">'<span title="'</span> <span class="o">..</span> <span class="n">desc</span> <span class="o">..</span> <span class="s1">'">'</span> <span class="o">..</span> <span class="n">label</span> <span class="o">..</span> <span class="s1">'</span>'</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a> <span class="kr">end</span> </span><span id="L-328"><a href="#L-328"><span class="linenos" data-line="328"></span></a> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a> <span class="c1">-- return the results</span> </span><span id="L-330"><a href="#L-330"><span class="linenos" data-line="330"></span></a> <span class="kr">if</span> <span class="n">link_type</span> <span class="o">==</span> <span class="s1">'-'</span> <span class="kr">then</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a> <span class="kr">return</span> <span class="n">label</span> <span class="c1">-- return just the label</span> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> <span class="kr">else</span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a> <span class="n">link</span> <span class="o">=</span> <span class="n">getLink</span><span class="p">(</span><span class="n">link_type</span><span class="p">,</span> <span class="n">item</span><span class="p">,</span> <span class="n">entity</span><span class="p">,</span> <span class="n">langList</span><span class="p">)</span> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> <span class="kr">return</span> <span class="s1">'[['</span> <span class="o">..</span> <span class="n">link</span> <span class="o">..</span> <span class="s1">'|'</span> <span class="o">..</span> <span class="n">label</span> <span class="o">..</span> <span class="s1">']]'</span> <span class="c1">-- return link</span> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a> <span class="kr">end</span> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a><span class="kr">end</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a><span class="cm">--[[-------------------------------------------------------------------------------</span> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a><span class="cm">_sitelinks</span> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a><span class="cm">This function returns a table of sitelinks for a single project organized by language</span> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a><span class="cm">Inputs:</span> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a><span class="cm"> 1: item - wikidata's item's q-id or entity class</span> </span><span id="L-345"><a href="#L-345"><span class="linenos" data-line="345"></span></a><span class="cm"> 2: project - (case-insensitive) one of: "wikipedia", "wikisource", "wikiquote", "wikibooks", "wikinews",</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a><span class="cm"> "wikiversity", "wikivoyage", "wiktionary", "commons", "mediawiki", "wikispecies", "wikidata", etc.</span> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a><span class="cm">Output:</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></span></a><span class="cm"> Table of sitelinks with language fields</span> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></span></a> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a><span class="cm">Output:</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a><span class="cm"> Table of sitelinks with language fields</span> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a><span class="cm">See also</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a><span class="cm">* [https://foundation.wikimedia.org/wiki/Special:SiteMatrix] for the full list of supported interwikis.</span> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a><span class="cm">* [https://dumps.wikimedia.org/backup-index.html] for the full list of sitecodes (used in database dumps).</span> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a><span class="cm">]]</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_sitelinks</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">project</span><span class="p">)</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a> <span class="kd">local</span> <span class="n">entity</span><span class="p">,</span> <span class="n">sitelink</span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a> <span class="c1">-- get entity</span> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></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="s1">'string'</span> <span class="kr">then</span> <span class="c1">-- "item" is a q-id</span> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a> <span class="n">entity</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getEntity</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a> <span class="kr">else</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a> <span class="n">entity</span> <span class="o">=</span> <span class="n">item</span> <span class="c1">-- "item" is the entity</span> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a> <span class="kr">end</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a> <span class="c1">-- convert from english project name to proproject code</span> </span><span id="L-367"><a href="#L-367"><span class="linenos" data-line="367"></span></a> <span class="kd">local</span> <span class="n">projLUT</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a> <span class="n">wikipedia</span> <span class="o">=</span> <span class="s1">'wiki'</span><span class="p">,</span> <span class="n">commons</span> <span class="o">=</span> <span class="s1">'commonswiki'</span><span class="p">,</span> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a> <span class="n">foundation</span> <span class="o">=</span> <span class="s1">'foundationwiki'</span><span class="p">,</span> <span class="n">mediawiki</span> <span class="o">=</span> <span class="s1">'mediawikiwiki'</span><span class="p">,</span> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></span></a> <span class="n">wikispecies</span> <span class="o">=</span> <span class="s1">'specieswiki'</span><span class="p">,</span> <span class="n">wikidata</span> <span class="o">=</span> <span class="s1">'wikidatawiki'</span><span class="p">,</span> </span><span id="L-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a> <span class="n">incubator</span> <span class="o">=</span> <span class="s1">'incubatorwiki'</span><span class="p">,</span> <span class="n">oldwikisource</span> <span class="o">=</span> <span class="s1">'sourceswiki'</span><span class="p">,</span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a> <span class="p">}</span> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a> <span class="kd">local</span> <span class="n">langLUT</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a> <span class="c1">-- These are not language codes before the 'wiki' or 'wikiversity' suffix in a sitecode:</span> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a> <span class="n">foundation</span> <span class="o">=</span> <span class="s1">'~'</span><span class="p">,</span> <span class="n">commons</span> <span class="o">=</span> <span class="s1">'~'</span><span class="p">,</span> <span class="c1">-- they will be skipped</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a> <span class="n">incubator</span> <span class="o">=</span> <span class="s1">'~'</span><span class="p">,</span> <span class="n">meta</span> <span class="o">=</span> <span class="s1">'~'</span><span class="p">,</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a> <span class="n">mediawiki</span> <span class="o">=</span> <span class="s1">'~'</span><span class="p">,</span> <span class="n">sources</span> <span class="o">=</span> <span class="s1">'~'</span><span class="p">,</span> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></span></a> <span class="n">species</span> <span class="o">=</span> <span class="s1">'~'</span><span class="p">,</span> <span class="n">beta</span> <span class="o">=</span> <span class="s1">'~'</span><span class="p">,</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a> <span class="c1">-- Legacy language codes used in sitecodes, remapped to standard Wikimedia language codes:</span> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a> <span class="c1">-- See https://meta.wikimedia.org/wiki/Special_language_codes for details</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a> <span class="n">als</span> <span class="o">=</span> <span class="s1">'gsw'</span><span class="p">,</span> <span class="n">bat_smg</span> <span class="o">=</span> <span class="s1">'sgs'</span><span class="p">,</span> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a> <span class="n">fiu_vro</span> <span class="o">=</span> <span class="s1">'vro'</span><span class="p">,</span> <span class="n">be_x_old</span> <span class="o">=</span> <span class="s1">'be-tarask'</span><span class="p">,</span> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a> <span class="n">roa_rup</span> <span class="o">=</span> <span class="s1">'rup'</span><span class="p">,</span> <span class="n">zh_classical</span> <span class="o">=</span> <span class="s1">'lzh'</span><span class="p">,</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a> <span class="n">zh_yue</span> <span class="o">=</span> <span class="s1">'yue'</span><span class="p">,</span> <span class="n">zh_min_nan</span> <span class="o">=</span> <span class="s1">'nan'</span><span class="p">,</span> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a> <span class="n">zh_wuu</span> <span class="o">=</span> <span class="s1">'wuu'</span><span class="p">,</span> <span class="n">no</span> <span class="o">=</span> <span class="s1">'nb'</span><span class="p">,</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a> <span class="p">}</span> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></span></a> <span class="n">project</span> <span class="o">=</span> <span class="n">project</span><span class="p">:</span><span class="n">lower</span><span class="p">()</span> </span><span id="L-388"><a href="#L-388"><span class="linenos" data-line="388"></span></a> <span class="n">project</span> <span class="o">=</span> <span class="n">projLUT</span><span class="p">[</span><span class="n">project</span><span class="p">]</span> <span class="ow">or</span> <span class="n">project</span> <span class="c1">-- correct the project name</span> </span><span id="L-389"><a href="#L-389"><span class="linenos" data-line="389"></span></a> <span class="kd">local</span> <span class="n">n</span> <span class="o">=</span> <span class="n">project</span><span class="p">:</span><span class="n">len</span><span class="p">()</span> </span><span id="L-390"><a href="#L-390"><span class="linenos" data-line="390"></span></a> <span class="kd">local</span> <span class="n">linkTable</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a> <span class="kr">if</span> <span class="n">entity</span> <span class="ow">and</span> <span class="n">entity</span><span class="p">.</span><span class="n">sitelinks</span> <span class="kr">then</span> <span class="c1">-- See if entity exists, and that it has sitelinks</span> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">sitelink</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">entity</span><span class="p">.</span><span class="n">sitelinks</span><span class="p">)</span> <span class="kr">do</span> <span class="c1">-- loop over all sitelinks</span> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a> <span class="kd">local</span> <span class="n">site</span> <span class="o">=</span> <span class="n">sitelink</span><span class="p">.</span><span class="n">site</span> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a> <span class="kd">local</span> <span class="n">m</span> <span class="o">=</span> <span class="n">site</span><span class="p">:</span><span class="n">len</span><span class="p">()</span> <span class="o">-</span> <span class="n">n</span> </span><span id="L-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a> <span class="kd">local</span> <span class="n">proj</span> <span class="o">=</span> <span class="n">site</span><span class="p">:</span><span class="n">sub</span><span class="p">(</span><span class="n">m</span> <span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="c1">-- project part of the siteID</span> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a> <span class="kr">if</span> <span class="n">proj</span> <span class="o">==</span> <span class="n">project</span> <span class="kr">then</span> <span class="c1">-- proj matches desired "project"</span> </span><span id="L-397"><a href="#L-397"><span class="linenos" data-line="397"></span></a> <span class="kd">local</span> <span class="n">lang</span> <span class="o">=</span> <span class="n">site</span><span class="p">:</span><span class="n">sub</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">m</span><span class="p">)</span> <span class="c1">-- language part of the siteID</span> </span><span id="L-398"><a href="#L-398"><span class="linenos" data-line="398"></span></a> <span class="n">lang</span> <span class="o">=</span> <span class="n">langLUT</span><span class="p">[</span><span class="n">lang</span><span class="p">]</span> <span class="ow">or</span> <span class="n">lang</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span><span class="s1">'_'</span><span class="p">,</span><span class="s1">'-'</span><span class="p">)</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a> <span class="kr">if</span> <span class="n">lang</span> <span class="o">~=</span> <span class="s1">'~'</span> <span class="kr">then</span> <span class="c1">-- proj matches desired "project"</span> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></span></a> <span class="n">linkTable</span><span class="p">[</span><span class="n">lang</span><span class="p">]</span> <span class="o">=</span> <span class="n">sitelink</span><span class="p">.</span><span class="n">title</span> </span><span id="L-401"><a href="#L-401"><span class="linenos" data-line="401"></span></a> <span class="kr">end</span> </span><span id="L-402"><a href="#L-402"><span class="linenos" data-line="402"></span></a> <span class="kr">end</span> </span><span id="L-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a> <span class="kr">end</span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a> <span class="kr">end</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a> <span class="kr">return</span> <span class="n">linkTable</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><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a><span class="cm">--[[----------------------------------------------------------------</span> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></span></a><span class="cm">_aliases</span> </span><span id="L-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a><span class="cm">This function returns a table of aliases for a single language</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="cm">Inputs:</span> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a><span class="cm"> 1: item - wikidata's item's q-id or entity class</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a><span class="cm"> 2: lang - language code, like 'en' or 'de'</span> </span><span id="L-416"><a href="#L-416"><span class="linenos" data-line="416"></span></a> </span><span id="L-417"><a href="#L-417"><span class="linenos" data-line="417"></span></a><span class="cm">Output:</span> </span><span id="L-418"><a href="#L-418"><span class="linenos" data-line="418"></span></a><span class="cm"> Table of aliases with language fields</span> </span><span id="L-419"><a href="#L-419"><span class="linenos" data-line="419"></span></a><span class="cm">]]</span> </span><span id="L-420"><a href="#L-420"><span class="linenos" data-line="420"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_aliases</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">lang</span><span class="p">)</span> </span><span id="L-421"><a href="#L-421"><span class="linenos" data-line="421"></span></a> <span class="kd">local</span> <span class="n">entity</span> </span><span id="L-422"><a href="#L-422"><span class="linenos" data-line="422"></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="s1">'string'</span> <span class="kr">then</span> <span class="c1">-- "item" is a q-id</span> </span><span id="L-423"><a href="#L-423"><span class="linenos" data-line="423"></span></a> <span class="n">entity</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getEntity</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> </span><span id="L-424"><a href="#L-424"><span class="linenos" data-line="424"></span></a> <span class="kr">else</span> </span><span id="L-425"><a href="#L-425"><span class="linenos" data-line="425"></span></a> <span class="n">entity</span> <span class="o">=</span> <span class="n">item</span> <span class="c1">-- "item" is the entity</span> </span><span id="L-426"><a href="#L-426"><span class="linenos" data-line="426"></span></a> <span class="kr">end</span> </span><span id="L-427"><a href="#L-427"><span class="linenos" data-line="427"></span></a> <span class="kd">local</span> <span class="n">aliasTable</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-428"><a href="#L-428"><span class="linenos" data-line="428"></span></a> <span class="kr">if</span> <span class="n">entity</span> <span class="ow">and</span> <span class="n">entity</span><span class="p">.</span><span class="n">aliases</span> <span class="kr">then</span> <span class="c1">-- See if there is an entity and that is has aliases</span> </span><span id="L-429"><a href="#L-429"><span class="linenos" data-line="429"></span></a> <span class="kr">if</span> <span class="n">entity</span><span class="p">.</span><span class="n">aliases</span><span class="p">[</span><span class="n">lang</span><span class="p">]</span> <span class="kr">then</span> <span class="c1">-- See if it has English Aliases</span> </span><span id="L-430"><a href="#L-430"><span class="linenos" data-line="430"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">alias</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">entity</span><span class="p">.</span><span class="n">aliases</span><span class="p">[</span><span class="n">lang</span><span class="p">])</span> <span class="kr">do</span> <span class="c1">-- Make a loop around the English aliases</span> </span><span id="L-431"><a href="#L-431"><span class="linenos" data-line="431"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">aliasTable</span><span class="p">,</span> <span class="n">alias</span><span class="p">.</span><span class="n">value</span><span class="p">)</span> <span class="c1">-- Create a table of English aliases</span> </span><span id="L-432"><a href="#L-432"><span class="linenos" data-line="432"></span></a> <span class="kr">end</span> </span><span id="L-433"><a href="#L-433"><span class="linenos" data-line="433"></span></a> <span class="kr">end</span> </span><span id="L-434"><a href="#L-434"><span class="linenos" data-line="434"></span></a> <span class="kr">end</span> </span><span id="L-435"><a href="#L-435"><span class="linenos" data-line="435"></span></a> <span class="kr">return</span> <span class="n">aliasTable</span> </span><span id="L-436"><a href="#L-436"><span class="linenos" data-line="436"></span></a><span class="kr">end</span> </span><span id="L-437"><a href="#L-437"><span class="linenos" data-line="437"></span></a> </span><span id="L-438"><a href="#L-438"><span class="linenos" data-line="438"></span></a><span class="c1">--======================================================================</span> </span><span id="L-439"><a href="#L-439"><span class="linenos" data-line="439"></span></a><span class="c1">--=== Invoke functions for use from wikitext, e.g., templates ==========</span> </span><span id="L-440"><a href="#L-440"><span class="linenos" data-line="440"></span></a><span class="c1">---=====================================================================</span> </span><span id="L-441"><a href="#L-441"><span class="linenos" data-line="441"></span></a> </span><span id="L-442"><a href="#L-442"><span class="linenos" data-line="442"></span></a><span class="cm">--[[</span> </span><span id="L-443"><a href="#L-443"><span class="linenos" data-line="443"></span></a><span class="cm">getLabel</span> </span><span id="L-444"><a href="#L-444"><span class="linenos" data-line="444"></span></a> </span><span id="L-445"><a href="#L-445"><span class="linenos" data-line="445"></span></a><span class="cm">This function returns a label translated to desired language, created based on wikidata</span> </span><span id="L-446"><a href="#L-446"><span class="linenos" data-line="446"></span></a> </span><span id="L-447"><a href="#L-447"><span class="linenos" data-line="447"></span></a><span class="cm">Usage:</span> </span><span id="L-448"><a href="#L-448"><span class="linenos" data-line="448"></span></a><span class="cm">{{#invoke:Wikidata label|getLabel|item=Q...|lang=..|link_style=..|capitalization=..}}</span> </span><span id="L-449"><a href="#L-449"><span class="linenos" data-line="449"></span></a> </span><span id="L-450"><a href="#L-450"><span class="linenos" data-line="450"></span></a><span class="cm">Parameters</span> </span><span id="L-451"><a href="#L-451"><span class="linenos" data-line="451"></span></a><span class="cm"> 1: wikidata's item's q-id (required)</span> </span><span id="L-452"><a href="#L-452"><span class="linenos" data-line="452"></span></a><span class="cm"> 2: language (optional; default {{int:lang}})</span> </span><span id="L-453"><a href="#L-453"><span class="linenos" data-line="453"></span></a><span class="cm"> 3: link_style: "wikipedia" (default), "Wikidata", "Commons", or "-" (no link)</span> </span><span id="L-454"><a href="#L-454"><span class="linenos" data-line="454"></span></a><span class="cm"> 4: capitalization - can be "uc", "lc", "tc", "ucfirst", "lcfirst"</span> </span><span id="L-455"><a href="#L-455"><span class="linenos" data-line="455"></span></a> </span><span id="L-456"><a href="#L-456"><span class="linenos" data-line="456"></span></a><span class="cm">Error Handling:</span> </span><span id="L-457"><a href="#L-457"><span class="linenos" data-line="457"></span></a><span class="cm"> Bad q-id will result in displayed error</span> </span><span id="L-458"><a href="#L-458"><span class="linenos" data-line="458"></span></a><span class="cm">]]</span> </span><span id="L-459"><a href="#L-459"><span class="linenos" data-line="459"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">getLabel</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-460"><a href="#L-460"><span class="linenos" data-line="460"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-461"><a href="#L-461"><span class="linenos" data-line="461"></span></a> <span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_getLabel</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">item</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">lang</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">link</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">capitalization</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">show_id</span><span class="p">)</span> </span><span id="L-462"><a href="#L-462"><span class="linenos" data-line="462"></span></a><span class="kr">end</span> </span><span id="L-463"><a href="#L-463"><span class="linenos" data-line="463"></span></a> </span><span id="L-464"><a href="#L-464"><span class="linenos" data-line="464"></span></a><span class="cm">--[[-------------------------------------------------------------------------------</span> </span><span id="L-465"><a href="#L-465"><span class="linenos" data-line="465"></span></a><span class="cm">sitelinks</span> </span><span id="L-466"><a href="#L-466"><span class="linenos" data-line="466"></span></a> </span><span id="L-467"><a href="#L-467"><span class="linenos" data-line="467"></span></a><span class="cm">This function returns a comma separated list of sitelinks for a single project organized by language</span> </span><span id="L-468"><a href="#L-468"><span class="linenos" data-line="468"></span></a><span class="cm">Its main purpose is to help with testing of _sitelinks function.</span> </span><span id="L-469"><a href="#L-469"><span class="linenos" data-line="469"></span></a> </span><span id="L-470"><a href="#L-470"><span class="linenos" data-line="470"></span></a><span class="cm">Usage:</span> </span><span id="L-471"><a href="#L-471"><span class="linenos" data-line="471"></span></a><span class="cm">{{#invoke:Wikidata label|sitelinks|item=Q...|project=..}}</span> </span><span id="L-472"><a href="#L-472"><span class="linenos" data-line="472"></span></a> </span><span id="L-473"><a href="#L-473"><span class="linenos" data-line="473"></span></a><span class="cm">Inputs:</span> </span><span id="L-474"><a href="#L-474"><span class="linenos" data-line="474"></span></a><span class="cm"> 1: item - wikidata's item's q-id or entity class</span> </span><span id="L-475"><a href="#L-475"><span class="linenos" data-line="475"></span></a><span class="cm"> 2: project - "wikipedia" (or "wiki"), "wikisource", "wikiquote", "wikibooks",</span> </span><span id="L-476"><a href="#L-476"><span class="linenos" data-line="476"></span></a><span class="cm"> "wikinews", "wikiversity", "wikivoyage", "wiktionary", etc.</span> </span><span id="L-477"><a href="#L-477"><span class="linenos" data-line="477"></span></a> </span><span id="L-478"><a href="#L-478"><span class="linenos" data-line="478"></span></a><span class="cm">Output:</span> </span><span id="L-479"><a href="#L-479"><span class="linenos" data-line="479"></span></a><span class="cm"> comma separated list</span> </span><span id="L-480"><a href="#L-480"><span class="linenos" data-line="480"></span></a><span class="cm">]]</span> </span><span id="L-481"><a href="#L-481"><span class="linenos" data-line="481"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">sitelinks</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-482"><a href="#L-482"><span class="linenos" data-line="482"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-483"><a href="#L-483"><span class="linenos" data-line="483"></span></a> <span class="kd">local</span> <span class="n">sitelinks</span> <span class="o">=</span> <span class="n">p</span><span class="p">.</span><span class="n">_sitelinks</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">item</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">project</span><span class="p">)</span> </span><span id="L-484"><a href="#L-484"><span class="linenos" data-line="484"></span></a> <span class="kd">local</span> <span class="n">sitelinkList</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-485"><a href="#L-485"><span class="linenos" data-line="485"></span></a> <span class="kr">for</span> <span class="n">lang</span><span class="p">,</span> <span class="n">sitelink</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">sitelinks</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-486"><a href="#L-486"><span class="linenos" data-line="486"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">sitelinkList</span><span class="p">,</span> <span class="p">(</span><span class="n">lang</span><span class="o">==</span><span class="s1">''</span> <span class="ow">and</span> <span class="n">sitelink</span><span class="p">)</span> <span class="ow">or</span> <span class="p">(</span><span class="n">lang</span> <span class="o">..</span> <span class="s1">':'</span> <span class="o">..</span> <span class="n">sitelink</span><span class="p">))</span> </span><span id="L-487"><a href="#L-487"><span class="linenos" data-line="487"></span></a> <span class="kr">end</span> </span><span id="L-488"><a href="#L-488"><span class="linenos" data-line="488"></span></a> <span class="kr">return</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">sitelinkList</span><span class="p">,</span> <span class="s1">', '</span><span class="p">)</span> </span><span id="L-489"><a href="#L-489"><span class="linenos" data-line="489"></span></a><span class="kr">end</span> </span><span id="L-490"><a href="#L-490"><span class="linenos" data-line="490"></span></a> </span><span id="L-491"><a href="#L-491"><span class="linenos" data-line="491"></span></a><span class="cm">--[[----------------------------------------------------------------------------</span> </span><span id="L-492"><a href="#L-492"><span class="linenos" data-line="492"></span></a><span class="cm">aliases</span> </span><span id="L-493"><a href="#L-493"><span class="linenos" data-line="493"></span></a> </span><span id="L-494"><a href="#L-494"><span class="linenos" data-line="494"></span></a><span class="cm">This function returns a comma separated list of aliases for a single language</span> </span><span id="L-495"><a href="#L-495"><span class="linenos" data-line="495"></span></a><span class="cm">Its main purpose is to help with testing of _aliases function.</span> </span><span id="L-496"><a href="#L-496"><span class="linenos" data-line="496"></span></a> </span><span id="L-497"><a href="#L-497"><span class="linenos" data-line="497"></span></a><span class="cm">Usage:</span> </span><span id="L-498"><a href="#L-498"><span class="linenos" data-line="498"></span></a><span class="cm">{{#invoke:Wikidata label|aliases|item=Q...|lang=..}}</span> </span><span id="L-499"><a href="#L-499"><span class="linenos" data-line="499"></span></a> </span><span id="L-500"><a href="#L-500"><span class="linenos" data-line="500"></span></a><span class="cm">Inputs:</span> </span><span id="L-501"><a href="#L-501"><span class="linenos" data-line="501"></span></a><span class="cm"> 1: item - wikidata's item's q-id or entity class</span> </span><span id="L-502"><a href="#L-502"><span class="linenos" data-line="502"></span></a><span class="cm"> 2: lang - language code, like 'en' or 'de'</span> </span><span id="L-503"><a href="#L-503"><span class="linenos" data-line="503"></span></a> </span><span id="L-504"><a href="#L-504"><span class="linenos" data-line="504"></span></a><span class="cm">Output:</span> </span><span id="L-505"><a href="#L-505"><span class="linenos" data-line="505"></span></a><span class="cm"> Comma separated list of aliases</span> </span><span id="L-506"><a href="#L-506"><span class="linenos" data-line="506"></span></a><span class="cm">]]</span> </span><span id="L-507"><a href="#L-507"><span class="linenos" data-line="507"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">aliases</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-508"><a href="#L-508"><span class="linenos" data-line="508"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-509"><a href="#L-509"><span class="linenos" data-line="509"></span></a> <span class="kr">return</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">p</span><span class="p">.</span><span class="n">_aliases</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">item</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">lang</span><span class="p">),</span> <span class="s1">', '</span><span class="p">)</span> </span><span id="L-510"><a href="#L-510"><span class="linenos" data-line="510"></span></a><span class="kr">end</span> </span><span id="L-511"><a href="#L-511"><span class="linenos" data-line="511"></span></a> </span><span id="L-512"><a href="#L-512"><span class="linenos" data-line="512"></span></a><span class="kr">return</span> <span class="n">p</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.canary‐64745488fd‐mkbs5 Cached time: 20241128110900 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] CPU time usage: 0.076 seconds Real time usage: 0.140 seconds Preprocessor visited node count: 2339/1000000 Post‐expand include size: 40269/2097152 bytes Template argument size: 4703/2097152 bytes Highest expansion depth: 12/100 Expensive parser function count: 2/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 829/5000000 bytes Lua time usage: 0.010/10.000 seconds Lua memory usage: 1005564/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 120.951 1 -total 55.44% 67.050 1 Module:Wikidata_label/doc 38.28% 46.300 1 Template:Module-nav 32.93% 39.833 1 Template:Module_rating 28.36% 34.305 1 Template:Ombox 21.86% 26.443 6 Template:Module-nav/tab 16.58% 20.057 5 Template:Module-nav/i18n 15.43% 18.657 9 Template:LangSwitch 12.65% 15.304 1 Template:Language-code-documentation 8.32% 10.062 6 Template:Module-nav/tab2 --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://commons.wikimedia.org/w/index.php?title=Module:Wikidata_label&oldid=884909806">https://commons.wikimedia.org/w/index.php?title=Module:Wikidata_label&oldid=884909806</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Category</a>: <ul><li><a href="/wiki/Category:Modules_subject_to_page_protection" title="Category:Modules subject to page protection">Modules subject to page protection</a></li></ul></div></div> </div> </div> <div id="mw-navigation"> <h2>Navigation menu</h2> <div id="mw-head"> <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Personal tools</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-uls" class="mw-list-item active"><a class="uls-trigger" href="#"><span>English</span></a></li><li id="pt-anonuserpage" class="mw-list-item"><span title="The user page for the IP address you are editing as">Not logged in</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AWikidata+label" title="You are encouraged to create an account and log in; however, it is not mandatory"><span>Create account</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Module%3AWikidata+label" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span>Log in</span></a></li> </ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-namespaces-label" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Namespaces</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected mw-list-item"><a href="/wiki/Module:Wikidata_label" title="View the module page [c]" accesskey="c"><span>Module</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/Module_talk:Wikidata_label" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </nav> <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-variants-label" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" > <label id="p-variants-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">English</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-views-label" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Views</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected mw-list-item"><a href="/wiki/Module:Wikidata_label"><span>View</span></a></li><li id="ca-viewsource" class="mw-list-item"><a href="/w/index.php?title=Module:Wikidata_label&action=edit" title="This page is protected. You can view its source [e]" accesskey="e"><span>View source</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=Module:Wikidata_label&action=history" title="Past revisions of this page [h]" accesskey="h"><span>History</span></a></li> </ul> </div> </nav> <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-cactions-label" title="More options" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" > <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">More</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box"> <h3 >Search</h3> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Search Wikimedia Commons" aria-label="Search Wikimedia Commons" autocapitalize="sentences" title="Search Wikimedia Commons [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Special:MediaSearch"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Search the pages for this text" value="Search"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Go to a page with this exact name if it exists" value="Go"> </div> </form> </div> </div> </div> <div id="mw-panel" class="vector-legacy-sidebar"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/wiki/Main_Page" title="Visit the main page"></a> </div> <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu-portal portal vector-menu" aria-labelledby="p-navigation-label" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Navigate</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-welcome" class="mw-list-item"><a href="/wiki/Commons:Welcome"><span>Welcome</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Commons:Community_portal" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-village-pump" class="mw-list-item"><a href="/wiki/Commons:Village_pump"><span>Village pump</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>Help center</span></a></li> </ul> </div> </nav> <nav id="p-participate" class="mw-portlet mw-portlet-participate vector-menu-portal portal vector-menu" aria-labelledby="p-participate-label" > <h3 id="p-participate-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Participate</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-uploadbtn" class="mw-list-item"><a href="/wiki/Special:UploadWizard"><span>Upload file</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-latestfiles" class="mw-list-item"><a href="/wiki/Special:NewFiles"><span>Latest files</span></a></li><li id="n-randomimage" class="mw-list-item"><a href="/wiki/Special:Random/File" title="Load a random file [x]" accesskey="x"><span>Random file</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Commons:Contact_us"><span>Contact us</span></a></li> </ul> </div> </nav> <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu-portal portal vector-menu" aria-labelledby="p-tb-label" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Tools</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Module:Wikidata_label" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Module:Wikidata_label" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Module:Wikidata_label&oldid=884909806" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Module:Wikidata_label&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fcommons.wikimedia.org%2Fwiki%2FModule%3AWikidata_label"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fcommons.wikimedia.org%2Fwiki%2FModule%3AWikidata_label"><span>Download QR code</span></a></li> </ul> </div> </nav> <nav id="p-electronpdfservice-sidebar-portlet-heading" class="mw-portlet mw-portlet-electronpdfservice-sidebar-portlet-heading vector-menu-portal portal vector-menu" aria-labelledby="p-electronpdfservice-sidebar-portlet-heading-label" > <h3 id="p-electronpdfservice-sidebar-portlet-heading-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Print/export</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="electron-print_pdf" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Module%3AWikidata_label&action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-otherprojects" class="mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-otherprojects-label" > <h3 id="p-wikibase-otherprojects-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In other projects</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-mediawiki mw-list-item"><a href="https://www.mediawiki.org/wiki/Module:Wikidata_label" hreflang="en"><span>MediaWiki</span></a></li><li class="wb-otherproject-link wb-otherproject-meta mw-list-item"><a href="https://meta.wikimedia.org/wiki/Module:Wikidata_label" hreflang="en"><span>Meta-Wiki</span></a></li><li class="wb-otherproject-link wb-otherproject-sources mw-list-item"><a href="https://wikisource.org/wiki/Module:Wikidata_label" hreflang="en"><span>Multilingual Wikisource</span></a></li><li class="wb-otherproject-link wb-otherproject-species mw-list-item"><a href="https://species.wikimedia.org/wiki/Module:Wikidata_label" hreflang="en"><span>Wikispecies</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://en.wikibooks.org/wiki/Module:Wikidata_label" hreflang="en"><span>Wikibooks</span></a></li><li class="wb-otherproject-link wb-otherproject-wikidata mw-list-item"><a href="https://www.wikidata.org/wiki/Module:Wikidata_label" hreflang="en"><span>Wikidata</span></a></li><li class="wb-otherproject-link wb-otherproject-wikifunctions mw-list-item"><a href="https://www.wikifunctions.org/wiki/Module:Wikidata_label" hreflang="en"><span>Wikifunctions</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://en.wikiquote.org/wiki/Module:Wikidata_label" hreflang="en"><span>Wikiquote</span></a></li><li class="wb-otherproject-link wb-otherproject-wikisource mw-list-item"><a href="https://en.wikisource.org/wiki/Module:Wikidata_label" hreflang="en"><span>Wikisource</span></a></li><li class="wb-otherproject-link wb-otherproject-wiktionary mw-list-item"><a href="https://en.wiktionary.org/wiki/Module:Wikidata_label" hreflang="en"><span>Wiktionary</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q22050722" title="Link to connected data repository item [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </nav> <nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu-portal portal vector-menu" aria-labelledby="p-lang-label" > <h3 id="p-lang-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In Wikipedia</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Modul:Wikidata_label" title="Modul:Wikidata label – Azerbaijani" lang="az" hreflang="az" data-title="Modul:Wikidata label" 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-cy mw-list-item"><a href="https://cy.wikipedia.org/wiki/Modiwl:Wikidata_label" title="Modiwl:Wikidata label – Welsh" lang="cy" hreflang="cy" data-title="Modiwl:Wikidata label" data-language-autonym="Cymraeg" data-language-local-name="Welsh" class="interlanguage-link-target"><span>Cymraeg</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Wikidata_label" title="پودمان:Wikidata label – Persian" lang="fa" hreflang="fa" data-title="پودمان:Wikidata label" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-gu mw-list-item"><a href="https://gu.wikipedia.org/wiki/%E0%AA%B5%E0%AA%BF%E0%AA%AD%E0%AA%BE%E0%AA%97:Wikidata_label" title="વિભાગ:Wikidata label – Gujarati" lang="gu" hreflang="gu" data-title="વિભાગ:Wikidata label" data-language-autonym="ગુજરાતી" data-language-local-name="Gujarati" class="interlanguage-link-target"><span>ગુજરાતી</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/%D5%84%D5%B8%D5%A4%D5%B8%D6%82%D5%AC:Wikidata_label" title="Մոդուլ:Wikidata label – Armenian" lang="hy" hreflang="hy" data-title="Մոդուլ:Wikidata label" 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.wikipedia.org/wiki/Modul:Wikidata_label" title="Modul:Wikidata label – Indonesian" lang="id" hreflang="id" data-title="Modul:Wikidata label" 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-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Modulis:Wikidata_label" title="Modulis:Wikidata label – Latvian" lang="lv" hreflang="lv" data-title="Modulis:Wikidata label" data-language-autonym="Latviešu" data-language-local-name="Latvian" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://mr.wikipedia.org/wiki/%E0%A4%B5%E0%A4%BF%E0%A4%AD%E0%A4%BE%E0%A4%97:Wikidata_label" title="विभाग:Wikidata label – Marathi" lang="mr" hreflang="mr" data-title="विभाग:Wikidata label" data-language-autonym="मराठी" data-language-local-name="Marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Wikidata_label" title="Модул:Wikidata label – Serbian" lang="sr" hreflang="sr" data-title="Модул:Wikidata label" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:Wikidata_label" title="ماڈیول:Wikidata label – Urdu" lang="ur" hreflang="ur" data-title="ماڈیول:Wikidata label" data-language-autonym="اردو" data-language-local-name="Urdu" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Module:Wikidata_label" title="Module:Wikidata label – Chinese" lang="zh" hreflang="zh" data-title="Module:Wikidata label" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Wikidata_label" title="模組:Wikidata label – Cantonese" lang="yue" hreflang="yue" data-title="模組:Wikidata label" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q22050722#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 18 June 2024, at 03:48.</li> <li id="footer-info-copyright">Files are available under licenses specified on their description page. All structured data from the file namespace is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>; all unstructured text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Commons:Welcome">About Wikimedia Commons</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Commons:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/commons.wikimedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//commons.m.wikimedia.org/w/index.php?title=Module:Wikidata_label&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> <script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"codex-search-styles\".\n[1.43] Use a CodexModule with codexComponents to set your specific components used: https://www.mediawiki.org/wiki/Codex#Using_a_limited_subset_of_components");mw.config.set({"wgHostname":"mw-web.codfw.canary-64745488fd-mkbs5","wgBackendResponseTime":260,"wgPageParseReport":{"limitreport":{"cputime":"0.076","walltime":"0.140","ppvisitednodes":{"value":2339,"limit":1000000},"postexpandincludesize":{"value":40269,"limit":2097152},"templateargumentsize":{"value":4703,"limit":2097152},"expansiondepth":{"value":12,"limit":100},"expensivefunctioncount":{"value":2,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":829,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 120.951 1 -total"," 55.44% 67.050 1 Module:Wikidata_label/doc"," 38.28% 46.300 1 Template:Module-nav"," 32.93% 39.833 1 Template:Module_rating"," 28.36% 34.305 1 Template:Ombox"," 21.86% 26.443 6 Template:Module-nav/tab"," 16.58% 20.057 5 Template:Module-nav/i18n"," 15.43% 18.657 9 Template:LangSwitch"," 12.65% 15.304 1 Template:Language-code-documentation"," 8.32% 10.062 6 Template:Module-nav/tab2"]},"scribunto":{"limitreport-timeusage":{"value":"0.010","limit":"10.000"},"limitreport-memusage":{"value":1005564,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.canary-64745488fd-mkbs5","timestamp":"20241128110900","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>