CINXE.COM
Module:LangSwitch - Wikidata
<!DOCTYPE html> <html class="client-nojs" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Module:LangSwitch - Wikidata</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )wikidatawikimwclientpreferences=([^;]+)/);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":"55ff9dad-eb77-4751-9c3f-5f5149031f65","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:LangSwitch","wgTitle":"LangSwitch","wgCurRevisionId":1773905619,"wgRevisionId":1773905619,"wgArticleId":58744344,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"], "wgCategories":["Modules for general use","Modules subject to page protection"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:LangSwitch","wgRelevantArticleId":58744344,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgNoticeProject":"wikidata","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":4000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q58832772", "wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","skins.vector.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","skins.vector.legacy.js","wikibase.ui.entitysearch","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.Search","ext.gadget.ProtectionIndicators","ext.gadget.imagelinks","ext.gadget.formWizard","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=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"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.wikidata.org/wiki/Module:LangSwitch"> <link rel="apple-touch-icon" href="/static/apple-touch/wikidata.png"> <link rel="icon" href="/static/favicon/wikidata.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikidata (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.wikidata.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.wikidata.org/wiki/Module:LangSwitch"> <link rel="license" href="/wiki/Wikidata:Copyright"> <link rel="alternate" type="application/atom+xml" title="Wikidata 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_LangSwitch rootpage-Module_LangSwitch 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">LangSwitch</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">From Wikidata</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 class="moduleheader"><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><style data-mw-deduplicate="TemplateStyles:r1765858490">.mw-parser-output .module-nav .tab1 a,.mw-parser-output .module-nav .tab2 a,.mw-parser-output .module-nav .tab3 a{display:inline-block;padding:0.8em;background-position:inherit;background-repeat:inherit;border-right:1px solid rgba(0,0,0,0.13)}.mw-parser-output .module-nav .tab1 a{background-image:linear-gradient(to bottom,#f2f6f8 0%,#d8e1e7 50%,#c3d4dd 100%)}.mw-parser-output .module-nav .tab2 a{background-image:linear-gradient(to bottom,#ebf7de 0%,#cee0bc 100%)}.mw-parser-output .module-nav .tab3 a{background-image:linear-gradient(to bottom,#fefcea 0%,#ede3a6 100%)}</style> <span class="module-nav"> <span class="tab1"><a class="mw-selflink-fragment" href="#com-module-code">Code</a></span><span class="tab1"><a href="/wiki/Module_talk:LangSwitch" title="Module talk:LangSwitch">Discussion</a></span><span class="tab1"><a class="external text" href="https://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/:Module:LangSwitch&limit=999">Links</a></span><span class="tab1"><a class="external text" href="https://templatecount.toolforge.org/index.php?lang=wikidata&namespace=828&name=LangSwitch">Link count</a></span> <span class="tab2"><a href="/wiki/Special:PrefixIndex/Module:LangSwitch" title="Special:PrefixIndex/Module:LangSwitch">Subpages</a></span><span class="tab2"><a href="/wiki/Special:MyLanguage/Module:LangSwitch/doc" title="Special:MyLanguage/Module:LangSwitch/doc">Documentation</a></span><span class="tab2"><a href="/wiki/Module:LangSwitch/testcases" title="Module:LangSwitch/testcases">Tests</a></span><span class="tab2"><a href="/wiki/Module_talk:LangSwitch/testcases" title="Module talk:LangSwitch/testcases">Results</a></span><span class="tab2"><a href="/w/index.php?title=Module:LangSwitch/sandbox&action=edit&redlink=1" class="new" title="Module:LangSwitch/sandbox (page does not exist)">Sandbox</a></span><span class="tab2"><a class="mw-selflink selflink">Live code</a></span> <span class="tab3"><a href="/wiki/Special:PrefixIndex/Module:" title="Special:PrefixIndex/Module:">All modules</a></span></span></div> <style data-mw-deduplicate="TemplateStyles:r2202362292">.mw-parser-output th.mbox-text,.mw-parser-output td.mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output td.mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.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}.mw-parser-output table.ambox{margin:0 10%;border:1px solid var(--border-color-base,#a2a9b1);border-left:10px solid var(--border-color-progressive,#36c);background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box}.mw-parser-output table.ambox+table.ambox{margin-top:-1px}.mw-parser-output .ambox th.mbox-text,.mw-parser-output .ambox td.mbox-text{padding:0.25em 0.5em}.mw-parser-output .ambox td.mbox-image{padding:2px 0 2px 0.5em}.mw-parser-output .ambox td.mbox-imageright{padding:2px 0.5em 2px 0}.mw-parser-output table.ambox-notice{border-left:10px solid var(--border-color-progressive,#36c)}.mw-parser-output table.ambox-speedy{border-left:10px solid var(--border-color-error,#b32424);background-color:#fee7e6}.mw-parser-output table.ambox-delete{border-left:10px solid var(--border-color-error,#b32424)}.mw-parser-output table.ambox-content{border-left:10px solid #f28500}.mw-parser-output table.ambox-style{border-left:10px solid var(--border-color-content-removed,#fc3)}.mw-parser-output table.ambox-move{border-left:10px solid #9932cc}.mw-parser-output table.ambox-protection{border-left:10px solid var(--border-color-base,#a2a9b1)}.mw-parser-output table.imbox{margin:4px 10%;border-collapse:collapse;border:3px solid var(--border-color-progressive,#36c);background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.5em;display:block}.mw-parser-output .mbox-inside .imbox{margin:4px}.mw-parser-output table.imbox-notice{border:3px solid var(--border-color-progressive,#36c)}.mw-parser-output table.imbox-speedy{border:3px solid var(--border-color-error,#b32424);background-color:#fee7e6}.mw-parser-output table.imbox-delete{border:3px solid var(--border-color-error,#b32424)}.mw-parser-output table.imbox-content{border:3px solid #f28500}.mw-parser-output table.imbox-style{border:3px solid var(--border-color-content-removed,#fc3)}.mw-parser-output table.imbox-move{border:3px solid #9932cc}.mw-parser-output table.imbox-protection{border:3px solid var(--border-color-base,#a2a9b1)}.mw-parser-output table.imbox-license{border:3px solid #88a;background-color:#f7f8ff}.mw-parser-output table.imbox-featured{border:3px solid #cba135}.mw-parser-output table.cmbox{margin:3px 10%;border-collapse:collapse;border:1px solid var(--border-color-base,#a2a9b1);background-color:#dfe8ff;box-sizing:border-box}.mw-parser-output table.cmbox-notice{background-color:#d8e8ff}.mw-parser-output table.cmbox-speedy{margin-top:4px;margin-bottom:4px;border:4px solid var(--border-color-error,#b32424);background-color:#ffdbdb}.mw-parser-output table.cmbox-delete{background-color:#ffdbdb}.mw-parser-output table.cmbox-content{background-color:#ffe7ce}.mw-parser-output table.cmbox-style{background-color:#fff9db}.mw-parser-output table.cmbox-move{background-color:#e4d8ff}.mw-parser-output table.cmbox-protection{background-color:#efefe1}.mw-parser-output table.ombox{margin:4px 10%;border-collapse:collapse;border:1px solid var(--border-color-base,#a2a9b1);background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box}.mw-parser-output table.ombox-notice{border:1px solid var(--border-color-base,#a2a9b1)}.mw-parser-output table.ombox-speedy{border:2px solid var(--border-color-error,#b32424);background-color:#fee7e6}.mw-parser-output table.ombox-delete{border:2px solid var(--border-color-error,#b32424)}.mw-parser-output table.ombox-content{border:1px solid #f28500}.mw-parser-output table.ombox-style{border:1px solid var(--border-color-content-removed,#fc3)}.mw-parser-output table.ombox-move{border:1px solid #9932cc}.mw-parser-output table.ombox-protection{border:2px solid var(--border-color-base,#a2a9b1)}.mw-parser-output table.tmbox{margin:4px 10%;border-collapse:collapse;border:1px solid var(--border-color-base,#a2a9b1);background-color:var(--background-color-neutral-subtle,#f8f9fa);min-width:80%;box-sizing:border-box}.mw-parser-output .tmbox.mbox-small{min-width:0}.mw-parser-output .mediawiki .mbox-inside .tmbox{margin:2px 0;width:100%}.mw-parser-output .mbox-inside .tmbox.mbox-small{line-height:1.5em;font-size:100%}.mw-parser-output table.tmbox-speedy{border:2px solid var(--border-color-error,#b32424);background-color:#fee7e6}.mw-parser-output table.tmbox-delete{border:2px solid var(--border-color-error,#b32424)}.mw-parser-output table.tmbox-content{border:2px solid #f28500}.mw-parser-output table.tmbox-style{border:2px solid var(--border-color-content-removed,#fc3)}.mw-parser-output table.tmbox-move{border:2px solid #9932cc}.mw-parser-output table.tmbox-protection{border:1px solid #c0c090}.mw-parser-output table.fmbox{clear:both;margin:0.2em 0;width:100%;border:1px solid var(--border-color-base,#a2a9b1);background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box}.mw-parser-output table.fmbox-system{background-color:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output table.fmbox-warning{border:1px solid #bb7070;background-color:#ffdbdb}.mw-parser-output table.fmbox-editnotice{background-color:transparent}html body.mediawiki .mw-parser-output .mbox-small{clear:right;float:right;margin:4px 0 4px 1em;box-sizing:border-box;width:238px;font-size:88%;line-height:1.25em}html body.mediawiki .mw-parser-output .mbox-small-left{margin:4px 1em 4px 0;box-sizing:border-box;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}</style><table class="plainlinks ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><a href="/wiki/File:Green_tick.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Green_tick.svg/40px-Green_tick.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Green_tick.svg/60px-Green_tick.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Green_tick.svg/80px-Green_tick.svg.png 2x" data-file-width="600" data-file-height="600" /></a></span></td><td class="mbox-text">This module is rated as <a href="/wiki/Category:Modules_for_general_use" title="Category:Modules for general use">ready for general use</a>. It has reached a mature form and is thought to be bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by <a href="https://en.wikipedia.org/wiki/en:Wikipedia:TESTCASES" class="extiw" title="w:en:Wikipedia:TESTCASES">sandbox testing</a> rather than repeated trial-and-error editing.</td></tr></tbody></table><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r2202362292"><table class="plainlinks ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><a href="/wiki/File:Full-protection-shackle-block.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/40px-Full-protection-shackle-block.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/60px-Full-protection-shackle-block.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/80px-Full-protection-shackle-block.svg.png 2x" data-file-width="512" data-file-height="512" /></a></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/en:Wikipedia:High-risk_templates" class="extiw" title="w:en:Wikipedia:High-risk templates">highly visible module</a> in use by a very large number of articles, or is <a href="https://en.wikipedia.org/wiki/en:Wikipedia:SUBST" class="extiw" title="w:en:Wikipedia: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 is <a href="https://en.wikipedia.org/wiki/en:Wikipedia:PROTECT" class="extiw" title="w:en:Wikipedia:PROTECT">protected</a> from editing.</td></tr></tbody></table> <dl><dt>Code for <a href="/wiki/Template:LangSwitch" title="Template:LangSwitch">Template:LangSwitch</a> copied from <a href="https://commons.wikimedia.org/wiki/Module:LangSwitch" class="extiw" title="c:Module:LangSwitch">c:Module:LangSwitch</a>.</dt></dl> <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 class="cm"> |___/ </span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a><span class="cm"> Authors and maintainers:</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="cm">* User:Zolo - original version in Module:Fallback</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a><span class="cm">* User:Jarekt </span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="cm">]]</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a><span class="c1">-- add optional module </span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a><span class="c1">-- used for debugging purposes as it detects cases of unintended global variables</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a><span class="nb">require</span><span class="p">(</span><span class="s1">'strict'</span><span class="p">)</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="kd">local</span> <span class="n">p</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a><span class="cm">--[[</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a><span class="cm">_langSwitch</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a><span class="cm"> </span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a><span class="cm">This function is the core part of the LangSwitch template. </span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a><span class="cm"> </span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a><span class="cm">Example usage from Lua:</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a><span class="cm">text = _langSwitch({en='text in english', pl='tekst po polsku'}, lang)</span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a><span class="cm"> </span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a><span class="cm">Parameters:</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a><span class="cm"> args - table with translations by language</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a><span class="cm"> lang - desired language (often user's native language)</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a><span class="cm"> Error Handling:</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a><span class="cm">]]</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_langSwitch</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="c1">-- args: table of translations</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a> <span class="c1">-- Return error if there is not default and no english version</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">en</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">default</span> <span class="kr">then</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a> <span class="kd">local</span> <span class="n">err</span> <span class="o">=</span> <span class="s1">'<b class="error">LangSwitch Error: no default</b>'</span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">nocat</span> <span class="o">==</span> <span class="s1">'1'</span> <span class="kr">then</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a> <span class="kr">return</span> <span class="n">err</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a> <span class="kr">else</span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a> <span class="kr">return</span> <span class="n">err</span> <span class="o">..</span> <span class="s1">'[[Category:LangSwitch template without default version]]'</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a> <span class="kr">end</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> <span class="kr">end</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a> <span class="c1">-- To improve performance try quick switch, and load fallback chain only if needed. </span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a> <span class="c1">-- In the vast majority of cases fast switch is sufficient</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a> <span class="kd">local</span> <span class="n">val</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">lang</span><span class="p">]</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a> <span class="kr">if</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'~'</span> <span class="kr">then</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a> <span class="kr">return</span> <span class="s1">''</span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a> <span class="kr">elseif</span> <span class="n">val</span> <span class="ow">and</span> <span class="n">val</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a> <span class="kr">return</span> <span class="n">val</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a> <span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">quick</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="kc">nil</span> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a> <span class="kr">end</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> <span class="c1">-- get the list of accepetable language (lang + those in lang's fallback chain) and check their content</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a> <span class="nb">assert</span><span class="p">(</span><span class="n">lang</span><span class="p">,</span> <span class="s1">'LangSwitch Error: no lang'</span><span class="p">)</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></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-60"><a href="#L-60"><span class="linenos" data-line="60"></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-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">langList</span><span class="p">,</span><span class="nb">math.max</span><span class="p">(</span><span class="o">#</span><span class="n">langList</span><span class="p">,</span><span class="mi">2</span><span class="p">),</span><span class="s1">'default'</span><span class="p">)</span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></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-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a> <span class="n">val</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">language</span><span class="p">]</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a> <span class="kr">if</span> <span class="n">val</span> <span class="o">==</span> <span class="s1">'~'</span> <span class="kr">then</span> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a> <span class="kr">return</span> <span class="s1">''</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a> <span class="kr">elseif</span> <span class="n">val</span> <span class="ow">and</span> <span class="n">val</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a> <span class="kr">return</span> <span class="n">val</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">end</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="cm">--[[</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a><span class="cm">langSwitch</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a><span class="cm"> </span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a><span class="cm">This function is the core part of the LangSwitch template. </span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a><span class="cm"> </span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a><span class="cm">Example Usage from a template:</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a><span class="cm">{{#invoke:fallback|langSwitch|en=text in english|pl=tekst po polsku|lang={{int:lang}} }}</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a><span class="cm"> </span> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a><span class="cm">Parameters:</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a><span class="cm"> frame.args - table with translations by language</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a><span class="cm"> frame.args.lang - desired language (often user's native language)</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a><span class="cm"> Error Handling:</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a><span class="cm">]]</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">langSwitch</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> <span class="c1">-- version to be used from wikitext</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a> <span class="c1">-- if no expected args provided than check parent template/module args</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">en</span><span class="o">==</span><span class="kc">nil</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">default</span><span class="o">==</span><span class="kc">nil</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">nocat</span><span class="o">==</span><span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a> <span class="n">args</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">getCurrentFrame</span><span class="p">():</span><span class="n">getParent</span><span class="p">().</span><span class="n">args</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a> <span class="kr">end</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="n">lang</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">lang</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="ow">not</span> <span class="n">lang</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">isKnownLanguageTag</span><span class="p">(</span><span class="n">lang</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a> <span class="n">lang</span> <span class="o">=</span> <span class="n">frame</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-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a> <span class="kr">end</span> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> <span class="c1">-- Try quick switch which checks the most likely option when fallback is not needed</span> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a> <span class="n">args</span><span class="p">.</span><span class="n">quick</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> <span class="kd">local</span> <span class="n">val</span> <span class="o">=</span> <span class="n">p</span><span class="p">.</span><span class="n">_langSwitch</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">lang</span><span class="p">)</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a> <span class="kr">if</span> <span class="n">val</span> <span class="kr">then</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a> <span class="kr">return</span> <span class="n">val</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="kr">end</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="c1">-- Allow input in format: {{LangSwitch|de=Grün|es/it/pt=Verde|fr=Vert|en=Green |lang=en}}</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a> <span class="c1">-- with multiple languages mapping to a single value</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a> <span class="kd">local</span> <span class="n">args1</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a> <span class="kr">for</span> <span class="n">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">args</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a> <span class="kr">if</span> <span class="n">value</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</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-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> <span class="kr">for</span> <span class="n">str</span> <span class="kr">in</span> <span class="nb">string.gmatch</span><span class="p">(</span> <span class="n">name</span><span class="p">,</span> <span class="s2">"([^/]+)"</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a> <span class="n">args1</span><span class="p">[</span><span class="n">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a> <span class="kr">end</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a> <span class="kr">end</span> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> <span class="kr">end</span> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a> <span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_langSwitch</span><span class="p">(</span><span class="n">args1</span><span class="p">,</span> <span class="n">lang</span><span class="p">)</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a><span class="kr">end</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a><span class="kr">return</span> <span class="n">p</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐78f4c97c5d‐6zcwp Cached time: 20241129000542 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1] CPU time usage: 0.121 seconds Real time usage: 0.200 seconds Preprocessor visited node count: 338/1000000 Post‐expand include size: 8972/2097152 bytes Template argument size: 220/2097152 bytes Highest expansion depth: 9/100 Expensive parser function count: 0/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 12507/5000000 bytes Lua time usage: 0.073/10.000 seconds Lua memory usage: 1024680/52428800 bytes Number of Wikibase entities loaded: 0/500 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 180.117 1 -total 78.64% 141.638 1 Module:LangSwitch/doc 52.38% 94.339 2 Template:Module_rating 47.45% 85.470 2 Template:Ombox 18.74% 33.757 1 Template:Module-nav 10.29% 18.534 5 Template:Module-nav/i18n 8.08% 14.552 5 Template:LangSwitch 2.54% 4.580 1 Template:LuaLogo --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://www.wikidata.org/w/index.php?title=Module:LangSwitch&oldid=1773905619">https://www.wikidata.org/w/index.php?title=Module:LangSwitch&oldid=1773905619</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">Categories</a>: <ul><li><a href="/wiki/Category:Modules_for_general_use" title="Category:Modules for general use">Modules for general use</a></li><li><a href="/wiki/Category:Modules_subject_to_page_protection" title="Category:Modules subject to page protection">Modules subject to page protection</a></li></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%3ALangSwitch" 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%3ALangSwitch" 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:LangSwitch" 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:LangSwitch" 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:LangSwitch"><span>Read</span></a></li><li id="ca-viewsource" class="mw-list-item"><a href="/w/index.php?title=Module:LangSwitch&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:LangSwitch&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View 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 Wikidata" aria-label="Search Wikidata" autocapitalize="sentences" title="Search Wikidata [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Special:Search"> <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/Wikidata: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">Navigation</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/Wikidata:Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Project:Community_portal" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-villagepump" class="mw-list-item"><a href="/wiki/Wikidata:Project_chat"><span>Project chat</span></a></li><li id="n-special-newitem" class="mw-list-item"><a href="/wiki/Special:NewItem"><span>Create a new Item</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-wikibase-randomitem" class="mw-list-item"><a href="/wiki/Special:Random/Main" title="[x]" accesskey="x"><span>Random Item</span></a></li><li id="n-wikibase-queryservice" class="mw-list-item"><a href="//query.wikidata.org/"><span>Query Service</span></a></li><li id="n-nearby-pages-title" class="mw-list-item"><a href="/wiki/Special:Nearby"><span>Nearby</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</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_wikidata.org&uselang=en" title="Support us"><span>Donate</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-lexeme-lexicographical-data" class="mw-portlet mw-portlet-wikibase-lexeme-lexicographical-data vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-lexeme-lexicographical-data-label" > <h3 id="p-wikibase-lexeme-lexicographical-data-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Lexicographical data</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-special-newlexeme" class="mw-list-item"><a href="/wiki/Special:NewLexeme"><span>Create a new Lexeme</span></a></li><li id="n-recentchanges-lexemes" class="mw-list-item"><a href="https://www.wikidata.org/wiki/Special:RecentChanges?namespace=146%3B147"><span>Recent changes</span></a></li><li id="n-wikibase-lexeme-randomlexeme" class="mw-list-item"><a href="/wiki/Special:Random/Lexeme"><span>Random Lexeme</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:LangSwitch" 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:LangSwitch" 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:LangSwitch&oldid=1773905619" 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:LangSwitch&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fwww.wikidata.org%2Fwiki%2FModule%3ALangSwitch"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fwww.wikidata.org%2Fwiki%2FModule%3ALangSwitch"><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%3ALangSwitch&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-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Module:LangSwitch" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-species mw-list-item"><a href="https://species.wikimedia.org/wiki/Module:LangSwitch" hreflang="en"><span>Wikispecies</span></a></li><li class="wb-otherproject-link wb-otherproject-wikifunctions mw-list-item"><a href="https://www.wikifunctions.org/wiki/Module:LangSwitch" hreflang="en"><span>Wikifunctions</span></a></li><li class="wb-otherproject-link wb-otherproject-wikimania mw-list-item"><a href="https://wikimania.wikimedia.org/wiki/Module:LangSwitch" hreflang="en"><span>Wikimania</span></a></li><li class="wb-otherproject-link wb-otherproject-wikipedia mw-list-item"><a href="https://en.wikipedia.org/wiki/Module:LangSwitch" hreflang="en"><span>Wikipedia</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://en.wikiquote.org/wiki/Module:LangSwitch" hreflang="en"><span>Wikiquote</span></a></li><li class="wb-otherproject-link wb-otherproject-wikivoyage mw-list-item"><a href="https://en.wikivoyage.org/wiki/Module:LangSwitch" hreflang="en"><span>Wikivoyage</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/Q58832772" 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-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:LangSwitch" title="মডিউল:LangSwitch – Bangla" lang="bn" hreflang="bn" data-title="মডিউল:LangSwitch" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-br mw-list-item"><a href="https://br.wikipedia.org/wiki/Modulenn:LangSwitch" title="Modulenn:LangSwitch – Breton" lang="br" hreflang="br" data-title="Modulenn:LangSwitch" data-language-autonym="Brezhoneg" data-language-local-name="Breton" class="interlanguage-link-target"><span>Brezhoneg</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/M%C3%B2dul:LangSwitch" title="Mòdul:LangSwitch – Catalan" lang="ca" hreflang="ca" data-title="Mòdul:LangSwitch" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wikipedia.org/wiki/%D9%85%DB%86%D8%AF%DB%8C%D9%88%D9%88%D9%84:LangSwitch" title="مۆدیوول:LangSwitch – Central Kurdish" lang="ckb" hreflang="ckb" data-title="مۆدیوول:LangSwitch" data-language-autonym="کوردی" data-language-local-name="Central Kurdish" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/Module:LangSwitch" title="Module:LangSwitch – Greek" lang="el" hreflang="el" data-title="Module:LangSwitch" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Module:LangSwitch" title="Module:LangSwitch – English" lang="en" hreflang="en" data-title="Module:LangSwitch" data-language-autonym="English" data-language-local-name="English" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/M%C3%B3dulo:LangSwitch" title="Módulo:LangSwitch – Spanish" lang="es" hreflang="es" data-title="Módulo:LangSwitch" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:LangSwitch" title="پودمان:LangSwitch – Persian" lang="fa" hreflang="fa" data-title="پودمان:LangSwitch" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Module:LangSwitch" title="Module:LangSwitch – French" lang="fr" hreflang="fr" data-title="Module:LangSwitch" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Module:LangSwitch" title="Module:LangSwitch – Irish" lang="ga" hreflang="ga" data-title="Module:LangSwitch" data-language-autonym="Gaeilge" data-language-local-name="Irish" class="interlanguage-link-target"><span>Gaeilge</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:LangSwitch" title="વિભાગ:LangSwitch – Gujarati" lang="gu" hreflang="gu" data-title="વિભાગ:LangSwitch" data-language-autonym="ગુજરાતી" data-language-local-name="Gujarati" class="interlanguage-link-target"><span>ગુજરાતી</span></a></li><li class="interlanguage-link interwiki-ha mw-list-item"><a href="https://ha.wikipedia.org/wiki/Module:LangSwitch" title="Module:LangSwitch – Hausa" lang="ha" hreflang="ha" data-title="Module:LangSwitch" data-language-autonym="Hausa" data-language-local-name="Hausa" class="interlanguage-link-target"><span>Hausa</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%93%88:LangSwitch" title="모듈:LangSwitch – Korean" lang="ko" hreflang="ko" data-title="모듈:LangSwitch" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Modul:LangSwitch" title="Modul:LangSwitch – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Modul:LangSwitch" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Module:LangSwitch" title="Module:LangSwitch – Simple English" lang="en-simple" hreflang="en-simple" data-title="Module:LangSwitch" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Modul:LangSwitch" title="Modul:LangSwitch – Slovenian" lang="sl" hreflang="sl" data-title="Modul:LangSwitch" data-language-autonym="Slovenščina" data-language-local-name="Slovenian" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Modul:LangSwitch" title="Modul:LangSwitch – Swedish" lang="sv" hreflang="sv" data-title="Modul:LangSwitch" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/Module:LangSwitch" title="Module:LangSwitch – Tamil" lang="ta" hreflang="ta" data-title="Module:LangSwitch" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-ti mw-list-item"><a href="https://ti.wikipedia.org/wiki/%E1%88%9E%E1%8B%B5%E1%8B%A9%E1%88%8D:LangSwitch" title="ሞድዩል:LangSwitch – Tigrinya" lang="ti" hreflang="ti" data-title="ሞድዩል:LangSwitch" data-language-autonym="ትግርኛ" data-language-local-name="Tigrinya" class="interlanguage-link-target"><span>ትግርኛ</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Mod%C3%BCl:LangSwitch" title="Modül:LangSwitch – Turkish" lang="tr" hreflang="tr" data-title="Modül:LangSwitch" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:LangSwitch" title="Модуль:LangSwitch – Ukrainian" lang="uk" hreflang="uk" data-title="Модуль:LangSwitch" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vec mw-list-item"><a href="https://vec.wikipedia.org/wiki/Modulo:LangSwitch" title="Modulo:LangSwitch – Venetian" lang="vec" hreflang="vec" data-title="Modulo:LangSwitch" data-language-autonym="Vèneto" data-language-local-name="Venetian" class="interlanguage-link-target"><span>Vèneto</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/M%C3%B4_%C4%91un:LangSwitch" title="Mô đun:LangSwitch – Vietnamese" lang="vi" hreflang="vi" data-title="Mô đun:LangSwitch" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Module:LangSwitch" title="Module:LangSwitch – Chinese" lang="zh" hreflang="zh" data-title="Module:LangSwitch" 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:LangSwitch" title="模組:LangSwitch – Cantonese" lang="yue" hreflang="yue" data-title="模組:LangSwitch" 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/Q58832772#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 17 November 2022, at 23:40.</li> <li id="footer-info-copyright">All structured data from the main, Property, Lexeme, and EntitySchema namespaces is available under the <a rel="nofollow" class="external text" href="//creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>; text in the other namespaces is available under the <a rel="nofollow" class="external text" href="//creativecommons.org/licenses/by-sa/4.0/">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 <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/Special:MyLanguage/Project:Introduction">About Wikidata</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Special:MyLanguage/Project: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/#/www.wikidata.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//m.wikidata.org/w/index.php?title=Module:LangSwitch&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> <li id="footer-places-data-access"><a href="/wiki/Special:MyLanguage/Wikidata:Data_access">Data access</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.main-78f4c97c5d-6zcwp","wgBackendResponseTime":439,"wgPageParseReport":{"limitreport":{"cputime":"0.121","walltime":"0.200","ppvisitednodes":{"value":338,"limit":1000000},"postexpandincludesize":{"value":8972,"limit":2097152},"templateargumentsize":{"value":220,"limit":2097152},"expansiondepth":{"value":9,"limit":100},"expensivefunctioncount":{"value":0,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":12507,"limit":5000000},"entityaccesscount":{"value":0,"limit":500},"timingprofile":["100.00% 180.117 1 -total"," 78.64% 141.638 1 Module:LangSwitch/doc"," 52.38% 94.339 2 Template:Module_rating"," 47.45% 85.470 2 Template:Ombox"," 18.74% 33.757 1 Template:Module-nav"," 10.29% 18.534 5 Template:Module-nav/i18n"," 8.08% 14.552 5 Template:LangSwitch"," 2.54% 4.580 1 Template:LuaLogo"]},"scribunto":{"limitreport-timeusage":{"value":"0.073","limit":"10.000"},"limitreport-memusage":{"value":1024680,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-78f4c97c5d-6zcwp","timestamp":"20241129000542","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>