CINXE.COM
View source for Module:Countries - Wikimedia Commons
<!DOCTYPE html> <html class="client-nojs" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>View source for Module:Countries - 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":true,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"a5e08879-9b15-4c9c-b0ea-bfcc99cebdd9","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:Countries","wgTitle":"Countries","wgCurRevisionId":586574659,"wgRevisionId":0,"wgArticleId":62028240,"wgIsArticle":false,"wgIsRedirect":false,"wgAction":"edit","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[ ],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:Countries","wgRelevantArticleId":62028240,"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":30000,"wgCodeEditorCurrentLanguage":"lua","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,"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.codeEditor.styles":"ready", "skins.vector.styles.legacy":"ready","jquery.tablesorter.styles":"ready","ext.charinsert.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","codex-search-styles":"ready","ext.uls.pt":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.codeEditor","ext.scribunto.edit","mediawiki.action.edit.collapsibleFooter","site","mediawiki.page.ready","jquery.tablesorter","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.charinsert","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.charinsert.styles%7Cext.codeEditor.styles%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cjquery.tablesorter.styles%7Cskins.vector.styles.legacy&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.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="noindex,nofollow,max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="View source for Module:Countries - 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:Countries"> <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:Countries"> <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="//login.wikimedia.org"> </head> <body class="codeeditor-loading skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject page-Module_Countries rootpage-Module_Countries skin-vector action-edit"><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">View source for Module:Countries</h1> <div id="bodyContent" class="vector-body"> <div id="contentSub"><div id="mw-content-subtitle">← <a href="/wiki/Module:Countries" title="Module:Countries">Module:Countries</a></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"><p>You do not have permission to edit this page, for the following reasons: </p> <ul class="permissions-errors"><li class="mw-permissionerror-protectedpagetext"><div class="mw-parser-output"> <div id="mw-protectedpagetext"> <style data-mw-deduplicate="TemplateStyles:r919301499">.mw-parser-output .fmbox{clear:both;margin:0.2em 0;width:100%;border:1px solid #a2a9b1;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .fmbox-warning{border:1px solid #bb7070;background-color:#ffdbdb}.mw-parser-output .fmbox-editnotice{background-color:transparent}.mw-parser-output .fmbox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .fmbox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .fmbox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .fmbox .mbox-invalid-type{text-align:center}@media screen{html.skin-theme-clientpref-night .mw-parser-output .fmbox-warning{background-color:#300}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .fmbox-warning{background-color:#300}}</style><table class="plainlinks fmbox fmbox-editnotice" role="presentation"><tbody><tr><td class="mbox-image"><figure class="mw-halign-left" typeof="mw:File"><a href="/wiki/File:Template-protection-shackle-brackets_2.svg" class="mw-file-description"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Template-protection-shackle-brackets_2.svg/100px-Template-protection-shackle-brackets_2.svg.png" decoding="async" width="100" height="100" class="mw-file-element" srcset="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Template-protection-shackle-brackets_2.svg/150px-Template-protection-shackle-brackets_2.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Template-protection-shackle-brackets_2.svg/200px-Template-protection-shackle-brackets_2.svg.png 2x" data-file-width="512" data-file-height="512" /></a><figcaption></figcaption></figure></td><td class="mbox-text"><dl><dt style=""><strong style="font-size:130%">This page is currently protected, and can be edited only by <a href="/wiki/Commons:Template_editor" class="mw-redirect" title="Commons:Template editor">template editors</a> and <a href="/wiki/Commons:A" class="mw-redirect" title="Commons:A">administrators</a>.</strong></dt></dl> <ul><li>Some <a href="/wiki/Commons:Templates" title="Commons:Templates">templates</a> and site interface pages are permanently <a href="/wiki/Commons:Page_protection#Types_of_protection" class="mw-redirect" title="Commons:Page protection">protected</a> due to visibility or risk.</li> <li>The reason for protection can be found in the <span class="plainlinks"><a class="external text" href="https://commons.wikimedia.org/w/index.php?title=Special:Log&type=protect&page=Module:Countries">protection log</a></span>.</li> <li>You can <a href="/wiki/Module_talk:Countries" title="Module talk:Countries">discuss this page</a> with others. If you have noticed an error or have a suggestion for a simple change, start a <span class="plainlinks"><a class="external text" href="https://commons.wikimedia.org/w/index.php?title=Module_talk:Countries&action=edit&section=new">new section</a></span> and insert the text <code>{{edit request}}</code> followed by your request. A template editor or an administrator may then make the change on your behalf.</li> <li>You may also test proposed changes in the <a href="/wiki/Module:Countries/sandbox" title="Module:Countries/sandbox">template's sandbox</a>.</li> <li>You may <a href="/wiki/Commons:Administrators%27_noticeboard/Blocks_and_protections" title="Commons:Administrators' noticeboard/Blocks and protections">request unprotection</a> of the page.</li></ul></td></tr></tbody></table></div></div></li></ul> <li class="mw-permissionerror-globalblocking-blockedtext-range"><b>Your IP address is in a range that has been <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Global_blocks" class="extiw" title="m:Special:MyLanguage/Global blocks">blocked on all Wikimedia Foundation wikis</a>.</b> <p>The block was made by <a href="/wiki/User:Jon_Kolbert" title="User:Jon Kolbert">Jon Kolbert</a>. The reason given is <i><a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/NOP" class="extiw" title="m:Special:MyLanguage/NOP">Open proxy/Webhost</a>: See the <a href="https://meta.wikimedia.org/wiki/WM:OP/H" class="extiw" title="m:WM:OP/H">help page</a> if you are affected </i>. </p> <ul><li>Start of block: 15:12, 27 August 2023</li> <li>Expiry of block: 15:12, 27 August 2028</li></ul> <p>Your current IP address is 8.222.208.146. The blocked range is 8.222.128.0/17. </p><p>Please include all above details in any queries you make. If you believe you were blocked by mistake, you can find additional information and instructions in the <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/No_open_proxies" class="extiw" title="m:Special:MyLanguage/No open proxies">No open proxies</a> global policy. </p> Otherwise, to discuss the block please <a href="https://meta.wikimedia.org/wiki/Steward_requests/Global" class="extiw" title="m:Steward requests/Global">post a request for review on Meta-Wiki</a>. You could also send an email to the <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Stewards" class="extiw" title="m:Special:MyLanguage/Stewards">stewards</a> <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/VRT" class="extiw" title="m:Special:MyLanguage/VRT">VRT</a> queue at <kbd>stewards@wikimedia.org</kbd> including all above details.</li><hr /> <p>You can view and copy the source of this page. </p><textarea readonly="" accesskey="," id="wpTextbox1" cols="80" rows="25" style="" class="mw-editfont-monospace" lang="en" dir="ltr" name="wpTextbox1">--[==[ This module implements templates that output a countries navbox. First usage was at [[Template:Countries of Europe]]. --]==] -- Locally used by langSwitch(). local _langSwitch -- Cache for loading 'Module:Fallback' lazily. -- Locally used by getList():getCodes() and _main(). local function langSwitch(translations, lang) if translations[lang] then return translations[lang] end --[==[ Note: the sandbox version handles BCP 47 rules more strictly for fallbacks. In addition it is a bit faster, uses less temporary memory than the current non-sandbox version of Module:Fallback. --]==] _langSwitch = _langSwitch or require('Module:Fallback/sandbox')._langSwitch return _langSwitch(translations, lang) or '' end -- Locally used by getList():getTitle() and getGroupData(). --[==[ If text is a non-empty string (not just containing spaces), return its trimmed content. Otherwise, return nil (text is an empty string or is not a string). --]==] local function stripToNil(text) if type(text) == 'string' then text = text:match('^%s*(.-)%s*$') -- trim starting and trailing spaces if text ~= '' then -- not nil and not empty return text:gsub('%s+', ' ') -- compress and normalize inner spaces end end return nil end -- Locally used by getTargetFromCatRedirect(). local _getTargetFromCatRedirect -- Cache for loading 'Module:Redirect' lazily. --[==[ Detect soft redirect in wiki page content of 'Category:' pages using template {{Category redirect|target}} or one of its known aliases on Commons. Loaded lazily from 'Module:Redirect'. --]==] local function getTargetFromCatRedirect(...) if not _getTargetFromCatRedirect then _getTargetFromCatRedirect = require('Module:Redirect').getTargetFromCatRedirect end getTargetFromCatRedirect = _getTargetFromCatRedirect return getTargetFromCatRedirect(...) end -- Locally used by getList(). local _makeSortKey -- Cache for loading 'Module:MakeSortKey' lazily. -- Locally used by _main(). local function getList(lists, exclude, options, infos) --[==[ Return: * title of redirect target (prefixed by ':' if it's a category), if the specified page is a redirect and target exists; * false if specified page is not a suitable target, try next page if any; * nil if specified page should be used as the target --]==] local function getRedirectTarget(titleObj) if titleObj.isRedirect then -- target is false if target page with that title does not exist local target = titleObj.redirectTarget.prefixedText return type(target) == 'string' and target:match('^%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:') and (':' .. target) or target end local content = titleObj:getContent() if content then local target = getTargetFromCatRedirect(content) if target then return ':' .. target end if content:match('{{%s*[Dd]isambig%s*}}') or content:match('{{%s*[Dd]ab%s*}}') then return false end end return nil end --[==[ Avoid overhead of checking target for a country with no alternative name. LATER: It appears the extra overhead may be low; perhaps remove this? --]==] local function getNilTarget(titleObj) return nil end -- Locally used by getTitle() and makeItem() and set as info = codes[code]. local info --[==[ Return the title of a link to an existing page (if not 'all'), or nil if there's none. Uses (info, options) from getList(). --]==] local function getTitle(tryThe) local pfx = (stripToNil(options.prefix) or '') .. options.presep --[==[ Enforce a single leading ':' for links to special namespaces (namespace names are not case-significant). --]==] local ns, name = pfx:match('^:*%s-(%w+)%s*:%s*(.-)$') if ns then --[==[ TODO: should we recognize interwiki prefixes here (e.g. "fr:" or "de:" which are also special namespaces) to enforce an inline link to the other wiki, instead of generating an interwiki on the side bar? This is for not needed on international wikis like Commons, but may be needed on Wikipedia. --]==] for _, special in ipairs({'Category', 'File', 'Special'}) do if special:lower() == ns:lower() then pfx = ':' .. special .. ':' .. name end end end local sfx = stripToNil(options.suffix) or '' --[==[ Replace final parts found in (option.suffix), according to the optional (subst) table defined in the (info) taken from the entry defined for the country code in (lists) --]==] sfx = options.sufsep .. (type(info.subst) == 'table' and sfx:gsub('%S.+$', info.subst) or sfx) local getTarget = #info > 1 and getRedirectTarget or getNilTarget for i, name in ipairs(info) do if tryThe then if i > 1 then return nil end name = 'the ' .. name end --[==[ Compress whitespaces in excess possibly introduced by (option.presep, option.sufsep) in (pfx) or (sfx), or left after applying (info.subst) to the (option.suffix) --]==] local title = stripToNil(pfx .. name .. sfx) or '' if options.all then return title end local titleObj = mw.title.new(title) if titleObj and titleObj.exists then local t = getTarget(titleObj) if t ~= false then return t or title end end end return nil end local itemPattern = '[[{title}|<bdi>{label}</bdi>]]{post}{bullet}' local head, trail = '<span style="white-space:nowrap">', '</span>' --[==[ These bullets are used by makeItem(), but also after processing all items to remove the last bullet==stdBullet. --]==] local altBullet, stdBullet = ' ≈', " '''·'''" --[==[ trail is used here, but also after processing all items to remove the last bullet==stdBullet. --]==] itemPattern = head .. itemPattern .. trail local post -- Locally used recursively. local function makeItem(tryThe) local pretitle = '' local itemLabel local bullet = stdBullet local second = '' if tryThe then --[==[ LATER: This assumes 'the' applies to the first name, and only the first. --]==] if not info.the then return nil end if options.all then pretitle = 'the ' itemLabel, second = makeItem() bullet = altBullet second = ' ' .. second end end local title = getTitle(tryThe) if not title then return nil end itemLabel = not options.all and mw.wikibase.getLabelByLang(info.qid, options.lang) or (pretitle .. info[1]) return itemLabel, (itemPattern:gsub('{(%a+)}', { title = title, label = itemLabel, post = post, bullet = bullet, }) ) .. second end --[==[ Language selection. The following works with a list that defines results for various languages. It also handles the special entries illustrated in the following. If the provided list does not contain an entry for the provided lang, langSwitch() will look for fallbacks defined in that list: assume 'LX' and 'LY' are language codes that are not defined in the list, and 'LX' falls back to 'en', while 'LY' falls back to 'default'. Currently, the latter cannot occur, but it conceivably could. list = { automatic = 'AB CD EF GH', -- country codes english = 'automatic', -- uselang=en → 'AB CD EF GH' without sort default = 'automatic sorted', -- uselang=LY → 'AB CD EF GH' after sorting en = 'automatic sorted', -- uselang=LX → 'AB CD EF GH' after sorting }, * We'll use codes = the space-separated codes which are the most appropriate order for lang. * We'll use getSortKey = nil or a function to make a sort key, if the entry was 'automatic sorted'. * The two entries 'automatic' and 'english' override what langSwitch alone would return. But a specific language may be set to use. As an optimization, lang=='en' uses the 'english' entry setting, if defined: * when english=='automatic', the result is the automatic setting, which may or may not use the overhead of sorting. Sorting applies to country names obtained from Wikidata in the user's language: * The automatic sorting is crude (language neutral) and will often be unhelpful for specific languages (notably for the ideographic script which remains sorted in binary order and still requires manual sorting). * It is based on sort keys computed in Module:MakeSortKey. --]==] local codes if options.lang == 'en' and lists.english then codes = lists.english else codes = langSwitch(lists, options.lang) end local getSortKey if codes == 'automatic' or codes == 'automatic sorted' then if codes == 'automatic sorted' then if not _makeSortKey then _makeSortKey = require('Module:MakeSortKey').makeSortKey end getSortKey = _makeSortKey end codes = lists.automatic or error('Codes list uses "' .. codes .. '" but "automatic" is not defined') end --[==[ Split the space-separated list of codes, find and process their info to build the unsorted items to display. Items will be actually sorted, if wanted, once they are complete. --]==] local items, wantSort = {}, getSortKey and not options.all for code in codes:gmatch('%S+') do if not exclude[code] then info = infos[code] if info then post = (options.showcode and (' <bdi>[<kbd>' .. code .. '</kbd>]</bdi>') or '') .. (type(info.mark) == 'string' and ('<sup><bdi>' .. info.mark .. '</bdi></sup>') or '') .. (type(info.note) == 'string' and (' <bdi>' .. info.note .. '</bdi>') or '') post = post ~= '' and '<small style="font-size:88%">' .. post .. '</small>' or '' local itemLabel, result = makeItem(true) if not result then itemLabel, result = makeItem() end if result then table.insert(items, wantSort and { getSortKey(itemLabel, options.lang), result } or result) end else options.message = options.message or ('No info about code "' .. code .. '"') end end end --[==[ Sort the items, if wanted, using the sort key (precomputed above) with which they were associated. --]==] if wantSort then table.sort(items, function (a, b) return a[1] < b[1] end) for i, v in ipairs(items) do items[i] = v[2] end end --[==[ Pack the items into a single string, and remove the last bullet==stdBullet just before trail. --]==] local result = table.concat(items, ' ') local stdBulletTrail = stdBullet .. trail local stdBulletTrailLen = #stdBulletTrail if result:sub(-stdBulletTrailLen) == stdBulletTrail then -- Omit trailing bullet from last item result = result:sub(1, -stdBulletTrailLen - 1) .. trail end return result end -- Locally used by _main() and main(). local function isnonempty(text) return text and text ~= '' end -- Locally used by main(). --[==[ Exported by this module, for usage in Lua. --]==] local function _main(options, data) -- Caller must provide a valid language code in options.lang. local lang = options.lang local langObj = mw.language.new(lang) --[==[ Generate the table of variable names supported in placeholders (inside patterns or subpatterns), or in simple conditions. --]==] local var = { -- These supported variables are independant of the sections. lang = lang, dir = langObj:getDir(), -- value = 'ltr' or 'rtl' colon = options.colon or ': ', } local wantSimple = options.simple and data.simple local exceptions = data.simple or {} -- Each section adds two variables for its title and its list of items. local sections = exceptions.sections or {} for section, titles in pairs(data.titles) do -- Add support for the variable named like '{section}title'. if not wantSimple or sections[section] then var[section .. 'title'] = '<bdi>' .. langSwitch(titles, lang) .. '</bdi>' end end for section, lists in pairs(data.lists) do -- Add support for the variable named like '{section}list'. if not wantSimple or sections[section] then local exclude = wantSimple and {} or sections[section] or {} var[section .. 'list'] = getList(lists, exclude, options, data.infos) end end --[==[ The pattern may contain '{variablename}' placeholders to be replaced by the value of `var['variablename']`. See above for supported variables. --]==] local pattern = wantSimple and exceptions.pattern or data.pattern local usedpattern if type(pattern) == 'string' then -- This is an unconditional pattern, represented as a simple string usedpattern = pattern elseif type(pattern) == 'table' then --[==[ pattern is an array containing an ordered array of conditional patterns, added in the same order to the result (non-integer keys in this table are ignored). --]==] usedpattern = '' -- Note: keys not in the numbered sequence are ignored. for _, condpattern in ipairs(pattern) do --[=[ Each conditional pattern is represented either: - as a simple string when there's no condition (this unconditional pattern will be always added to the result), or - as an ordered table, whose first element is a subpattern string and the other elements represent an union of several (non-exclusive) conditions. (If any one of the conditions evaluates to true (OR), the conditional subpattern will be used.) Each condition may itself be represented either: - as a simple string for simple conditions, or - as an ordered table of subconditions, i.e. a conjunction of several (non-exclusive) simple conditions. (If any one of the subconditions evaluates to false (AND), the conditional subpattern will NOT be used. Simple conditions are represented as strings, used to evaluate tests based on names of variables (usable in placeholders of patterns or subpatterns.) The variable names used in simple conditions don't need to be present within the pattern or subpattern strings. A simple condition can currently take one the following forms: - 'variablename': the simple condition is true if the variable with that name is non-empty; - '!variablename': the simple condition is true if the variable with that name is empty. --]=] local subpattern, condition if type(condpattern) == 'string' then -- Unconditional subpattern. subpattern, condition = condpattern, true elseif type(condpattern) == 'table' then -- Conditional subpattern. subpattern, condition = '', false -- Note: keys not in the numbered sequence are ignored. for i, v in ipairs(condpattern) do --[==[ The first element is the subpattern, other numbered elements are its conditions (forming an union). --]==] if i == 1 then subpattern = v -- Handle conditions that are simple strings. elseif type(v) == 'string' then --[==[ Evaluate the condition string which is for now a simple variable name: * the condition '!variablename' is true if this variable has an empty string value; * the condition 'variablename' is true if this variable has a non-empty string value; * the supported variable names are defined above (e.g. {section}..'title' and {section}..'list'). --]==] if v:sub(1, 1) == '!' and not isnonempty(var[v:sub(2)]) or v:sub(1, 1) ~= '!' and isnonempty(var[v]) then condition = true -- Subpattern EFFECTIVELY used. break -- Don't need to evaluate other conditions. --else --[==[ Other string values of v are ignored. This condition evaluates as false, other possible conditions must be evaluated. --]==] end --[==[ Handle conditions that are arrays of subconditions (AND). If any subcondition evaluates to false, the condition also evaluates to false, and other conditions must be checked to evaluate them as OR). --]==] elseif type(v) == 'table' then --[==[ The subpattern will then be used unless a subcondition evaluates to false. --]==] condition = true -- Note: keys not in the numbered sequence are ignored. for _, w in ipairs(v) do -- Handle subconditions that are simple strings. if type(w) == 'string' then --[==[ Evaluate the subcondition string which is for now a simple variable name (like above). --]==] if w:sub(1, 1) == '!' and isnonempty(var[w:sub(2)]) or w:sub(1, 1) ~= '!' and not isnonempty(var[w]) then condition = false --[==[ This subcondition is evaluated as false. The subpattern may still be used, but need to evaluate other conditions. ]==] break --else --[==[ Other string values of v are ignored. This subcondition evaluates as false, other possible subconditions must be evaluated. --]==] end else --[==[ Don't know what to do with this type of subcondition. And because this is part of a conjonction (AND), the subcondition evaluates as false. The subpattern may still be used, but we need to evaluate other conditions. --]==] condition = false break end end if condition then --[==[ If the array of subconditions (AND) is still true, the main condition (OR) instantly evaluates as true. The subpattern will EFFECTIVELY be used. Don't need to evaluate other conditions. --]==] break end --else --[==[ Don't know what to do with this type of condition. And because this is part of an union (OR), it is ignored, but we can evaluate other conditions. --]==] end end end if condition then usedpattern = usedpattern .. subpattern end end --else --[==[ Don't know what to do with this type of pattern (not used in the final pattern) --]==] end return usedpattern:gsub('{(%a+)}', var) end -- Locally used by getGroupData() and show(). --[==[ If there's no ':' in the id, it is assumed to be in a subpage of Module:Countries; otherwise it can be the full page name of any other module stored anywhere. Also autodetect the '/sandbox' version according to the parent page name. --]==] local function getDataModuleName(frame, id) return (id:find(':', 1, true) and id or 'Module:Countries/' .. id) .. (frame and frame:getTitle():find('sandbox', 1, true) and '/sandbox' or '') end -- Locally used by main(). local function getGroupData(frame) --[==[ Return table of data defining a group of items for the first template parameter. The data will rarely be used more than once on a page, so mw.loadData is not useful. --]==] local data -- Id of the group (case sensitive), e.g. 'Europe' or 'Module:CustomData'. local id = stripToNil(frame.args[1]) if id then local module, status = getDataModuleName(frame, id), nil status, data = pcall(require, module) if not status then error('Data could not be loaded from [[:' .. module ..']]') end end if type(data) ~= 'table' then error('First template parameter must specify a defined data module') end -- Compatiblity note: `.infos` is preferred, `.countries` is legacy. -- We do not allow to define both (would be ambiguous). if data.infos == nil and data.countries ~= nil then data.infos = data.countries data.countries = nil end if type(data.titles) ~= 'table' or type(data.lists) ~= 'table' or type(data.infos) ~= 'table' or type(data.countries) ~= 'nil' or type(data.pattern) ~= 'string' and type(data.pattern) ~= 'table' or type(data.simple) ~= 'nil' and type(data.simple) ~= 'table' or type(data.simple) == 'table' and ( type(data.simple.pattern) ~= 'string' and type(data.simple.pattern) ~= 'table' or type(data.simple.sections) ~= 'table' ) then error('The specified data module (' .. id .. ') is not validly defined') end if frame.args.mode == 'fop' then --[==[ For Module:TNTExpandByCountries which generates "Commons:Freedom of panorama" pages: * Use any given fop exception name. For example, the exception fop = 'Luxembourg' means that [[Luxembourg|...]] should be the returned link so TNTExpandByCountries uses Template:Luxembourg which correctly contains {{Label|Q32|...}}. * Do not follow redirects. That occurs if only one name for a country code is given. --]==] for code, spec in pairs(data.infos) do if spec.fop then if spec.fop == 'EXCLUDE' then data.infos[code] = nil else data.infos[code] = { spec.fop, qid = spec.qid -- other fields in `spec` are not needed. } end end end end return data end --[==[ Exported by this module, for usage in wiki templates. --]==] local function main(frame) local args = frame.args local options = { --[==[ Use default args set by "{{#invoke:}}" used in any page or in the main template. --]==] prefix = args.prefix or '', presep = args.presep or args.sep or ' ', sufsep = args.sufsep or args.sep or ' ', suffix = args.suffix or '', simple = args.simple, showcode = args.showcode, all = args.all, nocat = args.nocat, lang = args.lang or frame:callParserFunction('Int', 'Lang'), } local lang = options.lang --[==[ Override args with those passed to the main template (and check them verbosely). --]==] args = frame:getParent().args if args then options.prefix = args.prefix or options.prefix options.presep = args.presep or args.sep or options.presep options.sufsep = args.sufsep or args.sep or options.presep options.suffix = args.suffix or options.suffix options.simple = args.simple or options.simple options.showcode = args.showcode or options.showcode options.all = args.all or options.all options.nocat = args.nocat or options.nocat local goodArgs, badArgs = { prefix = true, presep = true, sufsep = true, suffix = true, sep = true, simple = true, showcode = true, all = true, nocat = true, }, {} for k, v in pairs(args) do if not goodArgs[k] then table.insert(badArgs, k .. '=' .. v) end end if #badArgs > 0 then options.message = 'invalid parameter "|' .. mw.text.nowiki(table.concat(badArgs, '|')) .. '"' end end options.colon = frame:expandTemplate({ title = 'colon', args = { lang = lang, }, }) options.simple = isnonempty(options.simple) options.showcode = isnonempty(options.showcode) options.all = isnonempty(options.all) options.nocat = isnonempty(options.nocat) local result = _main(options, getGroupData(frame)) if options.message then --[==[ Check if a warning should be displayed for invalid input. --]==] local success, revid = pcall(function () return frame:preprocess('{{REVISIONID}}') end) if success and revid == '' then result = result .. '<strong class="error">Error: ' .. options.message .. '</strong>' end if not options.nocat then result = result .. '[[Category:Countries template with invalid parameters]]' end end return result end --[==[ Exported by this module, for usage by {{#invoke:thisModule|show}} in wiki. For documentation, return wikitext listing data from the country modules. See [[Module talk:Countries/show]] for results. --]==] local function show(frame) local templateids = { --[==[ Format for each entry: { '<Template name>', '<Data module id>' }, Note: without any embedded ':', the '<Data module id>' indicates loading 'Module:Countries/<Data module id>' by default. Data modules do not necessarily have to be subpages of 'Module:Countries', but must then specify their full page name (starting by 'Module:'). Templates and data modules don't need to be listed all, they are only here to be used on the report shown on [[Module talk:Countries/show]], which performs extensive check of all features of this module. --]==] { 'Countries of Africa', 'Africa' }, { 'Countries of the Americas', 'Americas' }, { 'Countries of the Arab world', 'Arab world' }, { 'Countries of Asia', 'Asia' }, { 'Countries of the Caribbean', 'Caribbean' }, { 'Countries of Central America', 'Central America' }, { 'Countries of Europe', 'Europe' }, { 'Countries of the European Union', 'European Union' }, { 'Countries of North America', 'North America' }, { 'Countries of North America (subcontinent)', 'North America (subcontinent)' }, { 'Countries of Oceania', 'Oceania' }, { 'Countries of South America', 'South America' }, { 'Countries in the United Kingdom', 'United Kingdom' }, { 'Copyright rules by territory', 'CRT other' }, { 'Olympic teams', 'Olympic teams' }, { 'Most populous cities of the world', 'Module:Most populous cities of the world' }, { 'Regions of France', 'Module:Regions of France' }, { 'Departments of France', 'Module:Departments of France' }, } local lines = {} local function output(line) lines[#lines + 1] = line end for _, templateid in ipairs(templateids) do local template, id = templateid[1], templateid[2] local module = getDataModuleName(frame, id) local data = require(module) -- Compatibility note: `.infos` is prefered, `.countries` is legacy. local infos = data.infos or data.countries if infos then local codes, maxnames, usethe = {}, 0, false for code, info in pairs(infos) do codes[#codes + 1] = '' .. code maxnames = math.max(#info, maxnames) usethe = usethe or info.the end table.sort(codes) output('== ' .. template .. ' ==') output('* [[Template:' .. template .. ']]') output('* [[' .. module .. ']]') output('{|class="wikitable sortable"') output('|-') output('!scope="col"| Code') output('!scope="col"| Wikidata') if usethe then output('!scope="col"| the') end output('!scope="col" colspan="' .. (maxnames < 2 and maxnames or 2) .. '"| Name' .. (maxnames <= 1 and '' or maxnames == 2 and ' and alias' or ' and aliases') .. ' on Commons') for _, code in ipairs(codes) do local info = infos[code] output('|-') output('!scope="row" style="text-align:left"| <kbd style="font-size:smaller">' .. code .. '</kbd>') output('| <small>' .. (info.qid and ('[[d:' .. info.qid .. '|' .. info.qid .. ']]') or '') .. '</small>') if usethe then output(info.the and ('| [[The ' .. info[1] .. '|the]] <small>([[:Category:The ' .. info[1] .. '|cat]])</small>') or '|style="background:#CCC"| &nbsp;') end output(info[1] and ('| [[' .. info[1] .. ']] <small>([[:Category:' .. info[1] .. '|cat]])</small>') or '|style="background:#CCC"| &nbsp;') if maxnames >= 2 then local aliases = {} for i = 2, #info do aliases[#aliases + 1] = '[[' .. info[i] .. ']] <small>([[:Category:' .. info[i] .. '|cat]])</small>' end output(#aliases > 0 and ('| ' .. table.concat(aliases, ', ')) or '|style="background:#CCC"| &nbsp;') end end output('|}') output('') end end return table.concat(lines, '\n') end --[==[ Exports. --]==] return { main = main, -- For use in a MediaWiki template. _main = _main, -- For use in Lua only. show = show, -- Only for the documentation of this module. } </textarea><div id="mw-scribunto-console"></div><div class="templatesUsed"><div class="mw-templatesUsedExplanation"><p>Templates used on this page: </p></div><ul> <li><a href="/wiki/Template:Border-radius" title="Template:Border-radius">Template:Border-radius</a> (<a href="/w/index.php?title=Template:Border-radius&action=edit" title="Template:Border-radius">view source</a>) (protected)</li><li><a href="/wiki/Template:Copyright_rules_by_territory" title="Template:Copyright rules by territory">Template:Copyright rules by territory</a> (<a href="/w/index.php?title=Template:Copyright_rules_by_territory&action=edit" title="Template:Copyright rules by territory">edit</a>) </li><li><a href="/wiki/Template:Copyright_rules_by_territory/sandbox" title="Template:Copyright rules by territory/sandbox">Template:Copyright rules by territory/sandbox</a> (<a href="/w/index.php?title=Template:Copyright_rules_by_territory/sandbox&action=edit" title="Template:Copyright rules by territory/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_Africa" title="Template:Countries of Africa">Template:Countries of Africa</a> (<a href="/w/index.php?title=Template:Countries_of_Africa&action=edit" title="Template:Countries of Africa">edit</a>) </li><li><a href="/wiki/Template:Countries_of_Africa/sandbox" title="Template:Countries of Africa/sandbox">Template:Countries of Africa/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_Africa/sandbox&action=edit" title="Template:Countries of Africa/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_Asia" title="Template:Countries of Asia">Template:Countries of Asia</a> (<a href="/w/index.php?title=Template:Countries_of_Asia&action=edit" title="Template:Countries of Asia">edit</a>) </li><li><a href="/wiki/Template:Countries_of_Asia/sandbox" title="Template:Countries of Asia/sandbox">Template:Countries of Asia/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_Asia/sandbox&action=edit" title="Template:Countries of Asia/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_Central_America" title="Template:Countries of Central America">Template:Countries of Central America</a> (<a href="/w/index.php?title=Template:Countries_of_Central_America&action=edit" title="Template:Countries of Central America">edit</a>) </li><li><a href="/wiki/Template:Countries_of_Central_America/sandbox" title="Template:Countries of Central America/sandbox">Template:Countries of Central America/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_Central_America/sandbox&action=edit" title="Template:Countries of Central America/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_Europe" title="Template:Countries of Europe">Template:Countries of Europe</a> (<a href="/w/index.php?title=Template:Countries_of_Europe&action=edit" title="Template:Countries of Europe">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:Countries_of_Europe/sandbox" title="Template:Countries of Europe/sandbox">Template:Countries of Europe/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_Europe/sandbox&action=edit" title="Template:Countries of Europe/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_North_America" title="Template:Countries of North America">Template:Countries of North America</a> (<a href="/w/index.php?title=Template:Countries_of_North_America&action=edit" title="Template:Countries of North America">edit</a>) </li><li><a href="/wiki/Template:Countries_of_North_America/sandbox" title="Template:Countries of North America/sandbox">Template:Countries of North America/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_North_America/sandbox&action=edit" title="Template:Countries of North America/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_North_America_(subcontinent)" title="Template:Countries of North America (subcontinent)">Template:Countries of North America (subcontinent)</a> (<a href="/w/index.php?title=Template:Countries_of_North_America_(subcontinent)&action=edit" title="Template:Countries of North America (subcontinent)">edit</a>) </li><li><a href="/wiki/Template:Countries_of_North_America_(subcontinent)/sandbox" title="Template:Countries of North America (subcontinent)/sandbox">Template:Countries of North America (subcontinent)/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_North_America_(subcontinent)/sandbox&action=edit" title="Template:Countries of North America (subcontinent)/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_Oceania" title="Template:Countries of Oceania">Template:Countries of Oceania</a> (<a href="/w/index.php?title=Template:Countries_of_Oceania&action=edit" title="Template:Countries of Oceania">edit</a>) </li><li><a href="/wiki/Template:Countries_of_Oceania/sandbox" title="Template:Countries of Oceania/sandbox">Template:Countries of Oceania/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_Oceania/sandbox&action=edit" title="Template:Countries of Oceania/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_South_America" title="Template:Countries of South America">Template:Countries of South America</a> (<a href="/w/index.php?title=Template:Countries_of_South_America&action=edit" title="Template:Countries of South America">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:Countries_of_South_America/sandbox" title="Template:Countries of South America/sandbox">Template:Countries of South America/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_South_America/sandbox&action=edit" title="Template:Countries of South America/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_Americas" title="Template:Countries of the Americas">Template:Countries of the Americas</a> (<a href="/w/index.php?title=Template:Countries_of_the_Americas&action=edit" title="Template:Countries of the Americas">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_Americas/sandbox" title="Template:Countries of the Americas/sandbox">Template:Countries of the Americas/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_the_Americas/sandbox&action=edit" title="Template:Countries of the Americas/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_Arab_world" title="Template:Countries of the Arab world">Template:Countries of the Arab world</a> (<a href="/w/index.php?title=Template:Countries_of_the_Arab_world&action=edit" title="Template:Countries of the Arab world">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_Arab_world/sandbox" title="Template:Countries of the Arab world/sandbox">Template:Countries of the Arab world/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_the_Arab_world/sandbox&action=edit" title="Template:Countries of the Arab world/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_Caribbean" title="Template:Countries of the Caribbean">Template:Countries of the Caribbean</a> (<a href="/w/index.php?title=Template:Countries_of_the_Caribbean&action=edit" title="Template:Countries of the Caribbean">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_Caribbean/sandbox" title="Template:Countries of the Caribbean/sandbox">Template:Countries of the Caribbean/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_the_Caribbean/sandbox&action=edit" title="Template:Countries of the Caribbean/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_European_Union" title="Template:Countries of the European Union">Template:Countries of the European Union</a> (<a href="/w/index.php?title=Template:Countries_of_the_European_Union&action=edit" title="Template:Countries of the European Union">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_European_Union/sandbox" title="Template:Countries of the European Union/sandbox">Template:Countries of the European Union/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_the_European_Union/sandbox&action=edit" title="Template:Countries of the European Union/sandbox">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_United_Kingdom" class="mw-redirect" title="Template:Countries of the United Kingdom">Template:Countries of the United Kingdom</a> (<a href="/w/index.php?title=Template:Countries_of_the_United_Kingdom&action=edit" class="mw-redirect" title="Template:Countries of the United Kingdom">edit</a>) </li><li><a href="/wiki/Template:Countries_of_the_United_Kingdom/sandbox" class="mw-redirect" title="Template:Countries of the United Kingdom/sandbox">Template:Countries of the United Kingdom/sandbox</a> (<a href="/w/index.php?title=Template:Countries_of_the_United_Kingdom/sandbox&action=edit" class="mw-redirect" title="Template:Countries of the United Kingdom/sandbox">edit</a>) </li><li><a href="/wiki/Template:Departments_of_France" title="Template:Departments of France">Template:Departments of France</a> (<a href="/w/index.php?title=Template:Departments_of_France&action=edit" title="Template:Departments of France">view source</a>) (semi-protected)</li><li><a href="/wiki/Template:Departments_of_France/sandbox" title="Template:Departments of France/sandbox">Template:Departments of France/sandbox</a> (<a href="/w/index.php?title=Template:Departments_of_France/sandbox&action=edit" title="Template:Departments of France/sandbox">edit</a>) </li><li><a href="/wiki/Template:Heavily_used_module" title="Template:Heavily used module">Template:Heavily used module</a> (<a href="/w/index.php?title=Template:Heavily_used_module&action=edit" title="Template:Heavily used module">edit</a>) </li><li><a href="/wiki/Template:Heavily_used_module/en" title="Template:Heavily used module/en">Template:Heavily used module/en</a> (<a href="/w/index.php?title=Template:Heavily_used_module/en&action=edit" title="Template:Heavily used module/en">edit</a>) </li><li><a href="/wiki/Template:Heavily_used_module/layout" title="Template:Heavily used module/layout">Template:Heavily used module/layout</a> (<a href="/w/index.php?title=Template:Heavily_used_module/layout&action=edit" title="Template:Heavily used module/layout">edit</a>) </li><li><a href="/wiki/Template:Lang" title="Template:Lang">Template:Lang</a> (<a href="/w/index.php?title=Template:Lang&action=edit" title="Template:Lang">view source</a>) (protected)</li><li><a href="/wiki/Template:LangSwitch" title="Template:LangSwitch">Template:LangSwitch</a> (<a href="/w/index.php?title=Template:LangSwitch&action=edit" title="Template:LangSwitch">view source</a>) (protected)</li><li><a href="/wiki/Template:Linear-gradient" title="Template:Linear-gradient">Template:Linear-gradient</a> (<a href="/w/index.php?title=Template:Linear-gradient&action=edit" title="Template:Linear-gradient">view source</a>) (semi-protected)</li><li><a href="/wiki/Template:LuaLogo" title="Template:LuaLogo">Template:LuaLogo</a> (<a href="/w/index.php?title=Template:LuaLogo&action=edit" title="Template:LuaLogo">view source</a>) (protected)</li><li><a href="/wiki/Template:Mbox" title="Template:Mbox">Template:Mbox</a> (<a href="/w/index.php?title=Template:Mbox&action=edit" title="Template:Mbox">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:Mbox/styles.css" title="Template:Mbox/styles.css">Template:Mbox/styles.css</a> (<a href="/w/index.php?title=Template:Mbox/styles.css&action=edit" title="Template:Mbox/styles.css">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:Module-nav" title="Template:Module-nav">Template:Module-nav</a> (<a href="/w/index.php?title=Template:Module-nav&action=edit" title="Template:Module-nav">view source</a>) (protected)</li><li><a href="/wiki/Template:Module-nav/i18n" title="Template:Module-nav/i18n">Template:Module-nav/i18n</a> (<a href="/w/index.php?title=Template:Module-nav/i18n&action=edit" title="Template:Module-nav/i18n">edit</a>) </li><li><a href="/wiki/Template:Module-nav/tab" title="Template:Module-nav/tab">Template:Module-nav/tab</a> (<a href="/w/index.php?title=Template:Module-nav/tab&action=edit" title="Template:Module-nav/tab">view source</a>) (protected)</li><li><a href="/wiki/Template:Module-nav/tab2" title="Template:Module-nav/tab2">Template:Module-nav/tab2</a> (<a href="/w/index.php?title=Template:Module-nav/tab2&action=edit" title="Template:Module-nav/tab2">view source</a>) (protected)</li><li><a href="/wiki/Template:Module-nav/tab3" title="Template:Module-nav/tab3">Template:Module-nav/tab3</a> (<a href="/w/index.php?title=Template:Module-nav/tab3&action=edit" title="Template:Module-nav/tab3">view source</a>) (protected)</li><li><a href="/wiki/Template:Most_populous_cities_of_the_world" title="Template:Most populous cities of the world">Template:Most populous cities of the world</a> (<a href="/w/index.php?title=Template:Most_populous_cities_of_the_world&action=edit" title="Template:Most populous cities of the world">edit</a>) </li><li><a href="/wiki/Template:Most_populous_cities_of_the_world/sandbox" title="Template:Most populous cities of the world/sandbox">Template:Most populous cities of the world/sandbox</a> (<a href="/w/index.php?title=Template:Most_populous_cities_of_the_world/sandbox&action=edit" title="Template:Most populous cities of the world/sandbox">edit</a>) </li><li><a href="/wiki/Template:Olympic_teams" title="Template:Olympic teams">Template:Olympic teams</a> (<a href="/w/index.php?title=Template:Olympic_teams&action=edit" title="Template:Olympic teams">edit</a>) </li><li><a href="/wiki/Template:Olympic_teams/sandbox" title="Template:Olympic teams/sandbox">Template:Olympic teams/sandbox</a> (<a href="/w/index.php?title=Template:Olympic_teams/sandbox&action=edit" title="Template:Olympic teams/sandbox">edit</a>) </li><li><a href="/wiki/Template:Regions_of_France" title="Template:Regions of France">Template:Regions of France</a> (<a href="/w/index.php?title=Template:Regions_of_France&action=edit" title="Template:Regions of France">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:Regions_of_France/sandbox" title="Template:Regions of France/sandbox">Template:Regions of France/sandbox</a> (<a href="/w/index.php?title=Template:Regions_of_France/sandbox&action=edit" title="Template:Regions of France/sandbox">edit</a>) </li><li><a href="/wiki/Template:States_of_the_United_States" title="Template:States of the United States">Template:States of the United States</a> (<a href="/w/index.php?title=Template:States_of_the_United_States&action=edit" title="Template:States of the United States">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:States_of_the_United_States/sandbox" title="Template:States of the United States/sandbox">Template:States of the United States/sandbox</a> (<a href="/w/index.php?title=Template:States_of_the_United_States/sandbox&action=edit" title="Template:States of the United States/sandbox">edit</a>) </li><li><a href="/wiki/Template:T" title="Template:T">Template:T</a> (<a href="/w/index.php?title=Template:T&action=edit" title="Template:T">view source</a>) (protected)</li><li><a href="/wiki/Template:T/main" title="Template:T/main">Template:T/main</a> (<a href="/w/index.php?title=Template:T/main&action=edit" title="Template:T/main">view source</a>) (protected)</li><li><a href="/wiki/Module:Autotranslate" title="Module:Autotranslate">Module:Autotranslate</a> (<a href="/w/index.php?title=Module:Autotranslate&action=edit" title="Module:Autotranslate">view source</a>) (protected)</li><li><a href="/wiki/Module:Convert/tester" title="Module:Convert/tester">Module:Convert/tester</a> (<a href="/w/index.php?title=Module:Convert/tester&action=edit" title="Module:Convert/tester">edit</a>) </li><li><a href="/wiki/Module:Countries" title="Module:Countries">Module:Countries</a> (<a href="/w/index.php?title=Module:Countries&action=edit" title="Module:Countries">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Countries/Africa" title="Module:Countries/Africa">Module:Countries/Africa</a> (<a href="/w/index.php?title=Module:Countries/Africa&action=edit" title="Module:Countries/Africa">edit</a>) </li><li><a href="/wiki/Module:Countries/Africa/sandbox" title="Module:Countries/Africa/sandbox">Module:Countries/Africa/sandbox</a> (<a href="/w/index.php?title=Module:Countries/Africa/sandbox&action=edit" title="Module:Countries/Africa/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/Americas" title="Module:Countries/Americas">Module:Countries/Americas</a> (<a href="/w/index.php?title=Module:Countries/Americas&action=edit" title="Module:Countries/Americas">edit</a>) </li><li><a href="/wiki/Module:Countries/Americas/sandbox" title="Module:Countries/Americas/sandbox">Module:Countries/Americas/sandbox</a> (<a href="/w/index.php?title=Module:Countries/Americas/sandbox&action=edit" title="Module:Countries/Americas/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/Arab_world" title="Module:Countries/Arab world">Module:Countries/Arab world</a> (<a href="/w/index.php?title=Module:Countries/Arab_world&action=edit" title="Module:Countries/Arab world">edit</a>) </li><li><a href="/wiki/Module:Countries/Arab_world/sandbox" title="Module:Countries/Arab world/sandbox">Module:Countries/Arab world/sandbox</a> (<a href="/w/index.php?title=Module:Countries/Arab_world/sandbox&action=edit" title="Module:Countries/Arab world/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/Asia" title="Module:Countries/Asia">Module:Countries/Asia</a> (<a href="/w/index.php?title=Module:Countries/Asia&action=edit" title="Module:Countries/Asia">edit</a>) </li><li><a href="/wiki/Module:Countries/Asia/sandbox" title="Module:Countries/Asia/sandbox">Module:Countries/Asia/sandbox</a> (<a href="/w/index.php?title=Module:Countries/Asia/sandbox&action=edit" title="Module:Countries/Asia/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/CRT_other" title="Module:Countries/CRT other">Module:Countries/CRT other</a> (<a href="/w/index.php?title=Module:Countries/CRT_other&action=edit" title="Module:Countries/CRT other">edit</a>) </li><li><a href="/wiki/Module:Countries/CRT_other/sandbox" title="Module:Countries/CRT other/sandbox">Module:Countries/CRT other/sandbox</a> (<a href="/w/index.php?title=Module:Countries/CRT_other/sandbox&action=edit" title="Module:Countries/CRT other/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/Caribbean" title="Module:Countries/Caribbean">Module:Countries/Caribbean</a> (<a href="/w/index.php?title=Module:Countries/Caribbean&action=edit" title="Module:Countries/Caribbean">edit</a>) </li><li><a href="/wiki/Module:Countries/Caribbean/sandbox" title="Module:Countries/Caribbean/sandbox">Module:Countries/Caribbean/sandbox</a> (<a href="/w/index.php?title=Module:Countries/Caribbean/sandbox&action=edit" title="Module:Countries/Caribbean/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/Central_America" title="Module:Countries/Central America">Module:Countries/Central America</a> (<a href="/w/index.php?title=Module:Countries/Central_America&action=edit" title="Module:Countries/Central America">edit</a>) </li><li><a href="/wiki/Module:Countries/Central_America/sandbox" title="Module:Countries/Central America/sandbox">Module:Countries/Central America/sandbox</a> (<a href="/w/index.php?title=Module:Countries/Central_America/sandbox&action=edit" title="Module:Countries/Central America/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/Europe" title="Module:Countries/Europe">Module:Countries/Europe</a> (<a href="/w/index.php?title=Module:Countries/Europe&action=edit" title="Module:Countries/Europe">edit</a>) </li><li><a href="/wiki/Module:Countries/Europe/sandbox" title="Module:Countries/Europe/sandbox">Module:Countries/Europe/sandbox</a> (<a href="/w/index.php?title=Module:Countries/Europe/sandbox&action=edit" title="Module:Countries/Europe/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/European_Union" title="Module:Countries/European Union">Module:Countries/European Union</a> (<a href="/w/index.php?title=Module:Countries/European_Union&action=edit" title="Module:Countries/European Union">edit</a>) </li><li><a href="/wiki/Module:Countries/European_Union/sandbox" title="Module:Countries/European Union/sandbox">Module:Countries/European Union/sandbox</a> (<a href="/w/index.php?title=Module:Countries/European_Union/sandbox&action=edit" title="Module:Countries/European Union/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/North_America" title="Module:Countries/North America">Module:Countries/North America</a> (<a href="/w/index.php?title=Module:Countries/North_America&action=edit" title="Module:Countries/North America">edit</a>) </li><li><a href="/wiki/Module:Countries/North_America/sandbox" title="Module:Countries/North America/sandbox">Module:Countries/North America/sandbox</a> (<a href="/w/index.php?title=Module:Countries/North_America/sandbox&action=edit" title="Module:Countries/North America/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/North_America_(subcontinent)" title="Module:Countries/North America (subcontinent)">Module:Countries/North America (subcontinent)</a> (<a href="/w/index.php?title=Module:Countries/North_America_(subcontinent)&action=edit" title="Module:Countries/North America (subcontinent)">edit</a>) </li><li><a href="/wiki/Module:Countries/North_America_(subcontinent)/sandbox" title="Module:Countries/North America (subcontinent)/sandbox">Module:Countries/North America (subcontinent)/sandbox</a> (<a href="/w/index.php?title=Module:Countries/North_America_(subcontinent)/sandbox&action=edit" title="Module:Countries/North America (subcontinent)/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/Oceania" title="Module:Countries/Oceania">Module:Countries/Oceania</a> (<a href="/w/index.php?title=Module:Countries/Oceania&action=edit" title="Module:Countries/Oceania">edit</a>) </li><li><a href="/wiki/Module:Countries/Oceania/sandbox" title="Module:Countries/Oceania/sandbox">Module:Countries/Oceania/sandbox</a> (<a href="/w/index.php?title=Module:Countries/Oceania/sandbox&action=edit" title="Module:Countries/Oceania/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/Olympic_teams" title="Module:Countries/Olympic teams">Module:Countries/Olympic teams</a> (<a href="/w/index.php?title=Module:Countries/Olympic_teams&action=edit" title="Module:Countries/Olympic teams">edit</a>) </li><li><a href="/wiki/Module:Countries/Olympic_teams/sandbox" title="Module:Countries/Olympic teams/sandbox">Module:Countries/Olympic teams/sandbox</a> (<a href="/w/index.php?title=Module:Countries/Olympic_teams/sandbox&action=edit" title="Module:Countries/Olympic teams/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/South_America" title="Module:Countries/South America">Module:Countries/South America</a> (<a href="/w/index.php?title=Module:Countries/South_America&action=edit" title="Module:Countries/South America">edit</a>) </li><li><a href="/wiki/Module:Countries/South_America/sandbox" title="Module:Countries/South America/sandbox">Module:Countries/South America/sandbox</a> (<a href="/w/index.php?title=Module:Countries/South_America/sandbox&action=edit" title="Module:Countries/South America/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/United_Kingdom" title="Module:Countries/United Kingdom">Module:Countries/United Kingdom</a> (<a href="/w/index.php?title=Module:Countries/United_Kingdom&action=edit" title="Module:Countries/United Kingdom">edit</a>) </li><li><a href="/wiki/Module:Countries/United_Kingdom/sandbox" title="Module:Countries/United Kingdom/sandbox">Module:Countries/United Kingdom/sandbox</a> (<a href="/w/index.php?title=Module:Countries/United_Kingdom/sandbox&action=edit" title="Module:Countries/United Kingdom/sandbox">edit</a>) </li><li><a href="/wiki/Module:Countries/doc" title="Module:Countries/doc">Module:Countries/doc</a> (<a href="/w/index.php?title=Module:Countries/doc&action=edit" title="Module:Countries/doc">edit</a>) </li><li><a href="/wiki/Module:Countries/sandbox" title="Module:Countries/sandbox">Module:Countries/sandbox</a> (<a href="/w/index.php?title=Module:Countries/sandbox&action=edit" title="Module:Countries/sandbox">edit</a>) </li><li><a href="/wiki/Module:Departments_of_France" title="Module:Departments of France">Module:Departments of France</a> (<a href="/w/index.php?title=Module:Departments_of_France&action=edit" title="Module:Departments of France">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Departments_of_France/sandbox" title="Module:Departments of France/sandbox">Module:Departments of France/sandbox</a> (<a href="/w/index.php?title=Module:Departments_of_France/sandbox&action=edit" title="Module:Departments of France/sandbox">edit</a>) </li><li><a href="/wiki/Module:LangSwitch" title="Module:LangSwitch">Module:LangSwitch</a> (<a href="/w/index.php?title=Module:LangSwitch&action=edit" title="Module:LangSwitch">view source</a>) (protected)</li><li><a href="/wiki/Module:Most_populous_cities_of_the_world" title="Module:Most populous cities of the world">Module:Most populous cities of the world</a> (<a href="/w/index.php?title=Module:Most_populous_cities_of_the_world&action=edit" title="Module:Most populous cities of the world">edit</a>) </li><li><a href="/wiki/Module:Most_populous_cities_of_the_world/sandbox" title="Module:Most populous cities of the world/sandbox">Module:Most populous cities of the world/sandbox</a> (<a href="/w/index.php?title=Module:Most_populous_cities_of_the_world/sandbox&action=edit" title="Module:Most populous cities of the world/sandbox">edit</a>) </li><li><a href="/wiki/Module:Regions_of_France" title="Module:Regions of France">Module:Regions of France</a> (<a href="/w/index.php?title=Module:Regions_of_France&action=edit" title="Module:Regions of France">edit</a>) </li><li><a href="/wiki/Module:Regions_of_France/sandbox" title="Module:Regions of France/sandbox">Module:Regions of France/sandbox</a> (<a href="/w/index.php?title=Module:Regions_of_France/sandbox&action=edit" title="Module:Regions of France/sandbox">edit</a>) </li><li><a href="/wiki/Module:States_of_the_United_States" title="Module:States of the United States">Module:States of the United States</a> (<a href="/w/index.php?title=Module:States_of_the_United_States&action=edit" title="Module:States of the United States">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:States_of_the_United_States/sandbox" title="Module:States of the United States/sandbox">Module:States of the United States/sandbox</a> (<a href="/w/index.php?title=Module:States_of_the_United_States/sandbox&action=edit" title="Module:States of the United States/sandbox">edit</a>) </li></ul></div><p id="mw-returnto">Return to <a href="/wiki/Module:Countries" title="Module:Countries">Module:Countries</a>.</p> <!--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/wiki/Module:Countries">https://commons.wikimedia.org/wiki/Module:Countries</a>"</div></div> <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></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%3ACountries&returntoquery=action%3Dedit" 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%3ACountries&returntoquery=action%3Dedit" 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:Countries" 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:Countries" 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="mw-list-item"><a href="/wiki/Module:Countries"><span>View</span></a></li><li id="ca-viewsource" class="selected mw-list-item"><a href="/w/index.php?title=Module:Countries&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:Countries&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:Countries" 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:Countries" 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-info" class="mw-list-item"><a href="/w/index.php?title=Module:Countries&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%2Fw%2Findex.php%3Ftitle%3DModule%3ACountries%26action%3Dedit"><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%2Fw%2Findex.php%3Ftitle%3DModule%3ACountries%26action%3Dedit"><span>Download QR code</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 id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q94334052" title="Link to connected data repository item [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> </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:Countries&action=edit&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.main-f69cdc8f6-fn5x6","wgBackendResponseTime":294,"wgPageParseReport":{"limitreport":{"cputime":"0.045","walltime":"0.065","ppvisitednodes":{"value":172,"limit":1000000},"postexpandincludesize":{"value":14146,"limit":2097152},"templateargumentsize":{"value":1708,"limit":2097152},"expansiondepth":{"value":17,"limit":100},"expensivefunctioncount":{"value":0,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":1026,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 50.344 1 Template:Protectedpagetext/PageTemplateProtected","100.00% 50.344 1 -total"," 92.03% 46.333 1 Template:Editnotice"," 57.04% 28.718 1 Template:Fmbox"," 30.45% 15.332 2 Template:FULLROOTPAGENAME"," 26.67% 13.429 1 Template:Namespace_has_subpages"," 8.62% 4.338 1 Template:Image"," 3.60% 1.810 1 Template:Str_left"]},"scribunto":{"limitreport-timeusage":{"value":"0.016","limit":"10.000"},"limitreport-memusage":{"value":715767,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-fn5x6","timestamp":"20241125033216","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>