https://wiki.brucebeach.ca/w/api.php?action=feedcontributions&user=BruceBeachWikiSysop&feedformat=atom
Bruce Beach Wiki - User contributions [en]
2024-03-29T06:15:32Z
User contributions
MediaWiki 1.39.3
https://wiki.brucebeach.ca/w/index.php?title=Module:Portal_bar&diff=4043
Module:Portal bar
2022-06-26T18:25:36Z
<p>BruceBeachWikiSysop: Created page with "-- This module implements {{portal bar}}. require('Module:No globals') -- determine whether we're being called from a sandbox local isSandbox = mw.getCurrentFrame():getTitle():find('sandbox', 1, true) local sandbox = isSandbox and '/sandbox' or '' local portalModule = require('Module:Portal'..sandbox) local getImageName = portalModule._image local checkPortals = portalModule._checkPortals local processPortalArgs = portalModule._processPortalArgs local yesno = require(..."</p>
<hr />
<div>-- This module implements {{portal bar}}.<br />
<br />
require('Module:No globals')<br />
<br />
-- determine whether we're being called from a sandbox<br />
local isSandbox = mw.getCurrentFrame():getTitle():find('sandbox', 1, true)<br />
local sandbox = isSandbox and '/sandbox' or ''<br />
<br />
local portalModule = require('Module:Portal'..sandbox)<br />
local getImageName = portalModule._image<br />
local checkPortals = portalModule._checkPortals<br />
local processPortalArgs = portalModule._processPortalArgs<br />
local yesno = require( 'Module:Yesno' )<br />
local getArgs = require('Module:Arguments').getArgs<br />
local p = {}<br />
<br />
local function sandboxVersion(s)<br />
return isSandbox and s.."-sand" or s<br />
end<br />
<br />
-- Builds the portal bar used by {{portal bar}}.<br />
function p._main( portals, args )<br />
<br />
-- check for sensible args<br />
args = type(args) == "table" and args or {}<br />
<br />
-- Normalize arguments<br />
for key, default in pairs({border=true,redlinks=false,tracking=true}) do<br />
if args[key] == nil then args[key] = default end<br />
args[key] = yesno(args[key], default)<br />
end<br />
<br />
local nav = mw.html.create( 'div' )<br />
:addClass(sandboxVersion('portal-bar'))<br />
:addClass( 'noprint metadata noviewer' )<br />
:attr( 'role', 'navigation' )<br />
:attr( 'aria-label' , 'Portals' )<br />
:addClass(sandboxVersion(args.border and 'portal-bar-bordered' or 'portal-bar-unbordered'))<br />
<br />
local trackingCat = ''<br />
-- Allow any number of portals<br />
args.minPortals = 0<br />
args.maxPortals = -1<br />
-- Check to see whether there are redlinks, filter out unless args.redlink is true<br />
portals, trackingCat = checkPortals(portals, args)<br />
nav:wikitext(trackingCat)<br />
if #portals == 0 then<br />
return trackingCat<br />
end<br />
<br />
local related = yesno(args.related)<br />
if related then<br />
nav:addClass(sandboxVersion('portal-bar-related'))<br />
else<br />
local header = nav:tag('span')<br />
header:addClass(sandboxVersion('portal-bar-header'))<br />
header:wikitext('[[Wikipedia:Contents/Portals|Portal]]')<br />
if #portals > 1 then<br />
header:wikitext('s')<br />
end<br />
header:wikitext(':')<br />
end<br />
local container = nav:tag('div')<br />
container:addClass(sandboxVersion('portal-bar-content'))<br />
if related then<br />
container:addClass(sandboxVersion('portal-bar-content-related'))<br />
end<br />
local size = related and '27x25px' or '21x19px'<br />
for _, portal in ipairs( portals ) do<br />
container<br />
:tag( 'span' )<br />
:addClass(sandboxVersion('portal-bar-item'))<br />
:wikitext( string.format('[[File:%s|%s]]&nbsp;[[Portal:%s|%s]]',<br />
getImageName(portal,true), size, portal, portal))<br />
end<br />
<br />
local styleFile = 'Module:Portal bar'..sandbox..'/styles.css'<br />
return mw.getCurrentFrame():extensionTag{<br />
name = 'templatestyles', args = { src = styleFile }<br />
} .. tostring( nav ) <br />
end<br />
<br />
-- Processes external arguments and sends them to the other functions.<br />
function p.main( frame )<br />
local origArgs = getArgs(frame)<br />
local portals, args = processPortalArgs(origArgs)<br />
return p._main( portals, args )<br />
end<br />
<br />
return p</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:/Related_portals2&diff=4042
Template:/Related portals2
2022-06-26T18:22:52Z
<p>BruceBeachWikiSysop: Created page with "{{#invoke:Portal bar|main|border=no|related=yes}}<noinclude> {{documentation}} </noinclude>"</p>
<hr />
<div>{{#invoke:Portal bar|main|border=no|related=yes}}<noinclude><br />
{{documentation}}<br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:/box-header&diff=4041
Template:/box-header
2022-06-26T04:23:49Z
<p>BruceBeachWikiSysop: Created page with "{{#invoke:Box-header|boxHeader}}<noinclude> {{Box-footer}} {{documentation}} </noinclude>"</p>
<hr />
<div>{{#invoke:Box-header|boxHeader}}<noinclude><br />
{{Box-footer}}<br />
{{documentation}}<br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:/Opentask&diff=4040
Template:/Opentask
2022-06-26T04:18:27Z
<p>BruceBeachWikiSysop: </p>
<hr />
<div>{| class="messagebox standard-talk"<br />
|-<br />
! style="text-align: left; font-size: large;" | [[Image:Stock post message.svg|25px]] To-do list at Bruce Beach Wiki:<br />
| style="text-align: right; vertical-align: bottom;" | <small><span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}/to do|action=edit&preload=Template:Tasks/Preload}} edit] · [{{fullurl:{{FULLPAGENAME}}/to do|action=history}} history] · [{{fullurl:{{FULLPAGENAME}}/to do|action=watch}} watch] · [{{fullurl:{{FULLPAGENAME}}|action=purge}} refresh]</span></small><br />
|-<br />
| colspan="2" valign="top" style="background:#fffaef; padding:5px; margin: 5px; border: 1px dotted gray;" |<br />
[[File:Evolution-tasks.png|left]]<br />
:# Have a lot of fun!!!<br />
:# Review [[Special:RecentChanges|recent changes]] to clean up and test posts.<br />
:# Add appropriate categories to [[Special:UncategorizedPages|uncatagorized pages]].<br />
:# Improve pages.<br />
|}<br />
<noinclude><br />
== See also ==<br />
*[[Portal:European History/Tasks|European History Tasks]]<br />
<br />
[[Category:Wikiversity development]]<br />
[[Category:Wikiversity maintenance]]<br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:/Opentask&diff=4039
Template:/Opentask
2022-06-26T04:15:31Z
<p>BruceBeachWikiSysop: Created page with "{| class="messagebox standard-talk" |- ! style="text-align: left; font-size: large;" | 25px To-do list at Wikiversity: | style="text-align: right; vertical-align: bottom;" | <small><span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}/to do|action=edit&preload=Template:Tasks/Preload}} edit] · [{{fullurl:{{FULLPAGENAME}}/to do|action=history}} history] · [{{fullurl:{{FULLPAGENAME}}/to do|action=watch}} watch] · [{{fullurl:{{FULLPAGEN..."</p>
<hr />
<div>{| class="messagebox standard-talk"<br />
|-<br />
! style="text-align: left; font-size: large;" | [[Image:Stock post message.svg|25px]] To-do list at Wikiversity:<br />
| style="text-align: right; vertical-align: bottom;" | <small><span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}/to do|action=edit&preload=Template:Tasks/Preload}} edit] · [{{fullurl:{{FULLPAGENAME}}/to do|action=history}} history] · [{{fullurl:{{FULLPAGENAME}}/to do|action=watch}} watch] · [{{fullurl:{{FULLPAGENAME}}|action=purge}} refresh]</span></small><br />
|-<br />
| colspan="2" valign="top" style="background:#fffaef; padding:5px; margin: 5px; border: 1px dotted gray;" |<br />
[[File:Evolution-tasks.png|left]]<br />
:# Have a lot of fun!!!<br />
:# Review [[Special:RecentChanges|recent changes]] to clean up [[Wikiversity:Vandalism|vandalism]] and test posts.<br />
:# [[Wikiversity:Welcoming committee|Welcome]] new users to Wikiversity who haven't been welcomed yet.<br />
:# Add appropriate categories to [[Special:UncategorizedPages|uncatagorized pages]].<br />
:# Improve [[Wikiversity:Stub|stub]] pages.<br />
:# Create links from Wikipedia pages to high-quality Wikiversity pages using this [[w:Template:Wikiversity2|template]] or this [[w:Template:Wikiversity|template]]<br />
:# Visit [[Wikiversity:Maintenance|the Wikiversity maintenance hub]] and choose from a dazzling array of administrative chores.<br />
|}<br />
<noinclude><br />
== See also ==<br />
*[[Portal:European History/Tasks|European History Tasks]]<br />
<br />
[[Category:Wikiversity development]]<br />
[[Category:Wikiversity maintenance]]<br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:/Did_you_know&diff=4038
Template:/Did you know
2022-06-26T03:02:38Z
<p>BruceBeachWikiSysop: Created page with "<noinclude> {{pp-template}} <div style="border: 1px solid; width: 96%; color: black; padding: 1em; float: left; background: #EFEFEF"> {{DYKbox}} '''Did you know''' mentions and links to ''new'' articles, articles expanded by a factor of five within the last seven days, and newly-promoted good articles. To propose a new fact for this template, '''make a suggestion''' on the talk page. To report an error, see Wikipedia:Main Page/Errors|Mai..."</p>
<hr />
<div><noinclude><br />
{{pp-template}}<br />
<div style="border: 1px solid; width: 96%; color: black; padding: 1em; float: left; background: #EFEFEF"><br />
{{DYKbox}}<br />
'''Did you know''' mentions and links to ''new'' articles, articles expanded by a factor of five within the last seven days, and newly-promoted good articles. To propose a new fact for this template, '''make a suggestion''' on the [[Template talk:Did you know|talk page]].<br />
<br />
To report an error, see [[Wikipedia:Main Page/Errors|Main Page errors]]. <br />
<br />
Admins:<br />
*Before updating please [[Wikipedia:Did you know#Pictures|protect the featured image]].<br />
*After updating please [{{fullurl:Main Page|action=purge}} purge the cache of the Main Page] so that the updated version appears.</div><br />
__NOTOC__<br />
{{clear}}<br />
==Next update==<br />
{{DYK-Refresh}}<br />
<br />
==Hooks==<br />
{{DYKbox}}<br />
</noinclude><br />
<!--Hooks--><br />
{{main page image/DYK|image=Lawrence 27 inch cyclotron dees 1935.jpg|caption=[[Ernest Lawrence]]'s 27-inch (690&nbsp;mm) cyclotron}}<br />
* ... that in March 2020, there were nearly 1,500 medical '''[[cyclotron]]s''' ''(example pictured)'' in operation worldwide?<br />
* ... that '''[[Lorenzo Passerini]]''', who has conducted several operas in Sydney, revived Giordano's ''[[Fedora (opera)|Fedora]]'' at the [[Oper Frankfurt]]?<br />
* ... that [[John Cranko]]'s ballet '''''[[Initials R.B.M.E.]]''''' is named after the four original lead dancers, [[Richard Cragun]], [[Birgit Keil]], [[Marcia Haydée]] and [[Egon Madsen]], who were his close friends and muses? <!--spec. occ. June 26--><br />
* ... that the winter quarters of a circus owned by '''[[Benjamin Wallace (circus owner)|Benjamin Wallace]]''' are now the site of the [[Circus Hall of Fame]]?<br />
* ... that live broadcasts of the deciding {{cuegloss|frame}} of the '''[[2020 World Seniors Championship]]''' were replaced by [[golf]] highlights? <br />
* ... that trombonist '''[[Big Chief Russell Moore]]''' was the first member of the [[Pima people|Pima]] tribe to receive an obituary in ''[[The New York Times]]''?<br />
* ... that [[Ed Sheeran]] wrote "'''[[Remember the Name (Ed Sheeran song)|Remember the Name]]'''" as a homage to the "cheekier songs" on early [[Eminem]] albums?<br />
* ... that in 2007, '''[[Wildlife in the Bronx|José the beaver]]''' set up housekeeping in the Bronx?<br />
<!--HooksEnd--><br />
{{flatlist|class=dyk-footer noprint|style=margin-top: 0.5em; text-align: right;}}<br />
* '''[[Wikipedia:Recent additions|Archive]]'''<br />
* '''[[Help:Your first article|Start a new article]]'''<br />
* '''[[Template talk:Did you know|Nominate an article]]'''<br />
{{endflatlist}}<br />
<noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Portal:Bruce_Beach_Municipal_Drain&diff=4011
Portal:Bruce Beach Municipal Drain
2022-06-26T02:08:40Z
<p>BruceBeachWikiSysop: </p>
<hr />
<div><!-- This portal was created using subst:box portal skeleton --><br />
{{Portals browsebar}}__NOTOC__{{Portal styles}}<br />
<br />
<div style="clear:both; width:100%"><br />
<br />
{{/box-header|<big>{{PAGENAME}}</big>|{{FULLPAGENAME}}/Intro|}}<br />
{{/Intro}}<br />
{{box-footer|}}<br />
<br />
<div style="text-align:center; margin:0.25em auto 0.75em">{{purge|'''Show new selections'''}}</div><br />
<br />
<div class="portal-column-left"> <!-- Switch to one column on narrow screens --><br />
<br />
{{Random portal component with nominate|max=5|header=Selected article|footer=More articles...| subpage=Selected article}}<br />
<br />
{{Random portal component with nominate|max=5|header=Selected biography|footer=More biographies...| subpage=Selected biography}}<br />
<br />
{{/box-header|In the news|{{FULLPAGENAME}}/News|}}<br />
{{/News}}<br />
{{box-footer|[[/Current events|More current events...]]{{middot}} [[wikinews:{{FULLPAGENAME}}|Current events]] on [[wikinews:en|Wikinews]]}}<br />
</div><br />
<br />
<div class="portal-column-right"> <!-- Switch to one column on narrow screens --><br />
<br />
{{Random portal component with nominate|max=5|header=Selected picture|footer=More pictures...| subpage=Selected picture}}<br />
<br />
{{/box-header|Did you know?|{{FULLPAGENAME}}/Did you know|}}<br />
{{/Did you know}}<br />
{{box-footer|[[{{FULLPAGENAME}}/Did you know/archive|Archive]] – [[Help:Starting a new page|Start a new article]]}}<br />
<br />
{{/box-header|Categories|{{FULLPAGENAME}}/Categories|}}<br />
{{/Categories}}<br />
{{box-footer|}}<br />
<br />
</div><br />
<br />
<div style="clear:both; width:100%"><br />
<br />
{{/box-header|Topics|{{FULLPAGENAME}}/Topics|}}<br />
{{/Topics}}<br />
{{box-footer|}}<br />
<br />
{{/box-header|Related portals|{{FULLPAGENAME}}/Related portals|}}<br />
{{/Related portals}}<br />
{{box-footer|}}<br />
</div><br />
<br />
<div class="portal-column-left"> <!-- Switch to one column on narrow screens --><br />
{{/box-header|WikiProjects|{{FULLPAGENAME}}/Projects|}}<br />
{{/Projects}}<br />
{{box-footer|}}<br />
</div><br />
<br />
<div class="portal-column-right"> <!-- Switch to one column on narrow screens --><br />
{{/box-header|Things to do|{{FULLPAGENAME}}/Opentask|}}<br />
{{/Opentask}}<br />
{{box-footer|}}<br />
</div><br />
<br />
<div style="clear:both; width:100%"><br />
<br />
{{/box-header|Wikimedia|{{FULLPAGENAME}}/Wikimedia|}}<br />
{{/Wikimedia}}<br />
{{box-footer|}}<br />
<br />
</div><br />
{{portals}}<br />
{{purge page}}<br />
<br />
__NOTOC__ __NOEDITSECTION__<br />
<br />
[[Category:Portals under construction]]</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Unicode_data/scripts&diff=3408
Module:Unicode data/scripts
2022-06-25T21:30:41Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>--[=[<br />
-- Official Unicode script values for individual codepoints and ranges of<br />
-- codepoints.<br />
<br />
-- https://www.unicode.org/Public/UNIDATA/Scripts.txt provided<br />
-- the script names, and https://www.unicode.org/Public/UNIDATA/PropertyValueAliases.txt<br />
-- provided script codes corresponding to the names (see [[Script (Unicode)]]).<br />
--]=]<br />
<br />
local data = {<br />
singles = {<br />
[0x000AA] = "Latn",<br />
[0x000BA] = "Latn",<br />
[0x000D7] = "Zyyy",<br />
[0x000F7] = "Zyyy",<br />
[0x00374] = "Zyyy",<br />
[0x0037E] = "Zyyy",<br />
[0x0037F] = "Grek",<br />
[0x00384] = "Grek",<br />
[0x00385] = "Zyyy",<br />
[0x00386] = "Grek",<br />
[0x00387] = "Zyyy",<br />
[0x0038C] = "Grek",<br />
[0x00605] = "Zyyy",<br />
[0x0060C] = "Zyyy",<br />
[0x0061B] = "Zyyy",<br />
[0x0061F] = "Zyyy",<br />
[0x00640] = "Zyyy",<br />
[0x00670] = "Zinh",<br />
[0x006DD] = "Zyyy",<br />
[0x0085E] = "Mand",<br />
[0x008E2] = "Zyyy",<br />
[0x009B2] = "Beng",<br />
[0x009D7] = "Beng",<br />
[0x00A3C] = "Guru",<br />
[0x00A51] = "Guru",<br />
[0x00A5E] = "Guru",<br />
[0x00AD0] = "Gujr",<br />
[0x00B9C] = "Taml",<br />
[0x00BD0] = "Taml",<br />
[0x00BD7] = "Taml",<br />
[0x00C5D] = "Telu",<br />
[0x00DBD] = "Sinh",<br />
[0x00DCA] = "Sinh",<br />
[0x00DD6] = "Sinh",<br />
[0x00E3F] = "Zyyy",<br />
[0x00E84] = "Laoo",<br />
[0x00EA5] = "Laoo",<br />
[0x00EC6] = "Laoo",<br />
[0x010C7] = "Geor",<br />
[0x010CD] = "Geor",<br />
[0x010FB] = "Zyyy",<br />
[0x01258] = "Ethi",<br />
[0x012C0] = "Ethi",<br />
[0x0171F] = "Tglg",<br />
[0x01804] = "Mong",<br />
[0x01805] = "Zyyy",<br />
[0x01940] = "Limb",<br />
[0x01CD3] = "Zyyy",<br />
[0x01CE1] = "Zyyy",<br />
[0x01CED] = "Zinh",<br />
[0x01CF4] = "Zinh",<br />
[0x01CFA] = "Zyyy",<br />
[0x01D2B] = "Cyrl",<br />
[0x01D78] = "Cyrl",<br />
[0x01DBF] = "Grek",<br />
[0x01F59] = "Grek",<br />
[0x01F5B] = "Grek",<br />
[0x01F5D] = "Grek",<br />
[0x02071] = "Latn",<br />
[0x0207F] = "Latn",<br />
[0x02126] = "Grek",<br />
[0x02132] = "Latn",<br />
[0x0214E] = "Latn",<br />
[0x02D27] = "Geor",<br />
[0x02D2D] = "Geor",<br />
[0x02D7F] = "Tfng",<br />
[0x03005] = "Hani",<br />
[0x03006] = "Zyyy",<br />
[0x03007] = "Hani",<br />
[0x030A0] = "Zyyy",<br />
[0x032FF] = "Zyyy",<br />
[0x0A7D3] = "Latn",<br />
[0x0A92E] = "Zyyy",<br />
[0x0A92F] = "Kali",<br />
[0x0A95F] = "Rjng",<br />
[0x0A9CF] = "Zyyy",<br />
[0x0AB5B] = "Zyyy",<br />
[0x0AB65] = "Grek",<br />
[0x0FB3E] = "Hebr",<br />
[0x0FDCF] = "Arab",<br />
[0x0FEFF] = "Zyyy",<br />
[0x0FF70] = "Zyyy",<br />
[0x101A0] = "Grek",<br />
[0x101FD] = "Zinh",<br />
[0x102E0] = "Zinh",<br />
[0x1039F] = "Ugar",<br />
[0x1056F] = "Aghb",<br />
[0x10808] = "Cprt",<br />
[0x1083C] = "Cprt",<br />
[0x1083F] = "Cprt",<br />
[0x1091F] = "Phnx",<br />
[0x1093F] = "Lydi",<br />
[0x1107F] = "Brah",<br />
[0x110CD] = "Kthi",<br />
[0x11288] = "Mult",<br />
[0x1133B] = "Zinh",<br />
[0x11350] = "Gran",<br />
[0x11357] = "Gran",<br />
[0x118FF] = "Wara",<br />
[0x11909] = "Diak",<br />
[0x11D3A] = "Gonm",<br />
[0x11FB0] = "Lisu",<br />
[0x11FFF] = "Taml",<br />
[0x16FE0] = "Tang",<br />
[0x16FE1] = "Nshu",<br />
[0x16FE4] = "Kits",<br />
[0x1B000] = "Kana",<br />
[0x1D4A2] = "Zyyy",<br />
[0x1D4BB] = "Zyyy",<br />
[0x1D546] = "Zyyy",<br />
[0x1E2FF] = "Wcho",<br />
[0x1EE24] = "Arab",<br />
[0x1EE27] = "Arab",<br />
[0x1EE39] = "Arab",<br />
[0x1EE3B] = "Arab",<br />
[0x1EE42] = "Arab",<br />
[0x1EE47] = "Arab",<br />
[0x1EE49] = "Arab",<br />
[0x1EE4B] = "Arab",<br />
[0x1EE54] = "Arab",<br />
[0x1EE57] = "Arab",<br />
[0x1EE59] = "Arab",<br />
[0x1EE5B] = "Arab",<br />
[0x1EE5D] = "Arab",<br />
[0x1EE5F] = "Arab",<br />
[0x1EE64] = "Arab",<br />
[0x1EE7E] = "Arab",<br />
[0x1F200] = "Hira",<br />
[0x1F7F0] = "Zyyy",<br />
[0xE0001] = "Zyyy",<br />
},<br />
<br />
ranges = {<br />
{ 0x00000, 0x00040, "Zyyy" },<br />
{ 0x00041, 0x0005A, "Latn" },<br />
{ 0x0005B, 0x00060, "Zyyy" },<br />
{ 0x00061, 0x0007A, "Latn" },<br />
{ 0x0007B, 0x000A9, "Zyyy" },<br />
{ 0x000AB, 0x000B9, "Zyyy" },<br />
{ 0x000BB, 0x000BF, "Zyyy" },<br />
{ 0x000C0, 0x000D6, "Latn" },<br />
{ 0x000D8, 0x000F6, "Latn" },<br />
{ 0x000F8, 0x002B8, "Latn" },<br />
{ 0x002B9, 0x002DF, "Zyyy" },<br />
{ 0x002E0, 0x002E4, "Latn" },<br />
{ 0x002E5, 0x002E9, "Zyyy" },<br />
{ 0x002EA, 0x002EB, "Bopo" },<br />
{ 0x002EC, 0x002FF, "Zyyy" },<br />
{ 0x00300, 0x0036F, "Zinh" },<br />
{ 0x00370, 0x00373, "Grek" },<br />
{ 0x00375, 0x00377, "Grek" },<br />
{ 0x0037A, 0x0037D, "Grek" },<br />
{ 0x00388, 0x0038A, "Grek" },<br />
{ 0x0038E, 0x003A1, "Grek" },<br />
{ 0x003A3, 0x003E1, "Grek" },<br />
{ 0x003E2, 0x003EF, "Copt" },<br />
{ 0x003F0, 0x003FF, "Grek" },<br />
{ 0x00400, 0x00484, "Cyrl" },<br />
{ 0x00485, 0x00486, "Zinh" },<br />
{ 0x00487, 0x0052F, "Cyrl" },<br />
{ 0x00531, 0x00556, "Armn" },<br />
{ 0x00559, 0x0058A, "Armn" },<br />
{ 0x0058D, 0x0058F, "Armn" },<br />
{ 0x00591, 0x005C7, "Hebr" },<br />
{ 0x005D0, 0x005EA, "Hebr" },<br />
{ 0x005EF, 0x005F4, "Hebr" },<br />
{ 0x00600, 0x00604, "Arab" },<br />
{ 0x00606, 0x0060B, "Arab" },<br />
{ 0x0060D, 0x0061A, "Arab" },<br />
{ 0x0061C, 0x0061E, "Arab" },<br />
{ 0x00620, 0x0063F, "Arab" },<br />
{ 0x00641, 0x0064A, "Arab" },<br />
{ 0x0064B, 0x00655, "Zinh" },<br />
{ 0x00656, 0x0066F, "Arab" },<br />
{ 0x00671, 0x006DC, "Arab" },<br />
{ 0x006DE, 0x006FF, "Arab" },<br />
{ 0x00700, 0x0070D, "Syrc" },<br />
{ 0x0070F, 0x0074A, "Syrc" },<br />
{ 0x0074D, 0x0074F, "Syrc" },<br />
{ 0x00750, 0x0077F, "Arab" },<br />
{ 0x00780, 0x007B1, "Thaa" },<br />
{ 0x007C0, 0x007FA, "Nkoo" },<br />
{ 0x007FD, 0x007FF, "Nkoo" },<br />
{ 0x00800, 0x0082D, "Samr" },<br />
{ 0x00830, 0x0083E, "Samr" },<br />
{ 0x00840, 0x0085B, "Mand" },<br />
{ 0x00860, 0x0086A, "Syrc" },<br />
{ 0x00870, 0x0088E, "Arab" },<br />
{ 0x00890, 0x00891, "Arab" },<br />
{ 0x00898, 0x008E1, "Arab" },<br />
{ 0x008E3, 0x008FF, "Arab" },<br />
{ 0x00900, 0x00950, "Deva" },<br />
{ 0x00951, 0x00954, "Zinh" },<br />
{ 0x00955, 0x00963, "Deva" },<br />
{ 0x00964, 0x00965, "Zyyy" },<br />
{ 0x00966, 0x0097F, "Deva" },<br />
{ 0x00980, 0x00983, "Beng" },<br />
{ 0x00985, 0x0098C, "Beng" },<br />
{ 0x0098F, 0x00990, "Beng" },<br />
{ 0x00993, 0x009A8, "Beng" },<br />
{ 0x009AA, 0x009B0, "Beng" },<br />
{ 0x009B6, 0x009B9, "Beng" },<br />
{ 0x009BC, 0x009C4, "Beng" },<br />
{ 0x009C7, 0x009C8, "Beng" },<br />
{ 0x009CB, 0x009CE, "Beng" },<br />
{ 0x009DC, 0x009DD, "Beng" },<br />
{ 0x009DF, 0x009E3, "Beng" },<br />
{ 0x009E6, 0x009FE, "Beng" },<br />
{ 0x00A01, 0x00A03, "Guru" },<br />
{ 0x00A05, 0x00A0A, "Guru" },<br />
{ 0x00A0F, 0x00A10, "Guru" },<br />
{ 0x00A13, 0x00A28, "Guru" },<br />
{ 0x00A2A, 0x00A30, "Guru" },<br />
{ 0x00A32, 0x00A33, "Guru" },<br />
{ 0x00A35, 0x00A36, "Guru" },<br />
{ 0x00A38, 0x00A39, "Guru" },<br />
{ 0x00A3E, 0x00A42, "Guru" },<br />
{ 0x00A47, 0x00A48, "Guru" },<br />
{ 0x00A4B, 0x00A4D, "Guru" },<br />
{ 0x00A59, 0x00A5C, "Guru" },<br />
{ 0x00A66, 0x00A76, "Guru" },<br />
{ 0x00A81, 0x00A83, "Gujr" },<br />
{ 0x00A85, 0x00A8D, "Gujr" },<br />
{ 0x00A8F, 0x00A91, "Gujr" },<br />
{ 0x00A93, 0x00AA8, "Gujr" },<br />
{ 0x00AAA, 0x00AB0, "Gujr" },<br />
{ 0x00AB2, 0x00AB3, "Gujr" },<br />
{ 0x00AB5, 0x00AB9, "Gujr" },<br />
{ 0x00ABC, 0x00AC5, "Gujr" },<br />
{ 0x00AC7, 0x00AC9, "Gujr" },<br />
{ 0x00ACB, 0x00ACD, "Gujr" },<br />
{ 0x00AE0, 0x00AE3, "Gujr" },<br />
{ 0x00AE6, 0x00AF1, "Gujr" },<br />
{ 0x00AF9, 0x00AFF, "Gujr" },<br />
{ 0x00B01, 0x00B03, "Orya" },<br />
{ 0x00B05, 0x00B0C, "Orya" },<br />
{ 0x00B0F, 0x00B10, "Orya" },<br />
{ 0x00B13, 0x00B28, "Orya" },<br />
{ 0x00B2A, 0x00B30, "Orya" },<br />
{ 0x00B32, 0x00B33, "Orya" },<br />
{ 0x00B35, 0x00B39, "Orya" },<br />
{ 0x00B3C, 0x00B44, "Orya" },<br />
{ 0x00B47, 0x00B48, "Orya" },<br />
{ 0x00B4B, 0x00B4D, "Orya" },<br />
{ 0x00B55, 0x00B57, "Orya" },<br />
{ 0x00B5C, 0x00B5D, "Orya" },<br />
{ 0x00B5F, 0x00B63, "Orya" },<br />
{ 0x00B66, 0x00B77, "Orya" },<br />
{ 0x00B82, 0x00B83, "Taml" },<br />
{ 0x00B85, 0x00B8A, "Taml" },<br />
{ 0x00B8E, 0x00B90, "Taml" },<br />
{ 0x00B92, 0x00B95, "Taml" },<br />
{ 0x00B99, 0x00B9A, "Taml" },<br />
{ 0x00B9E, 0x00B9F, "Taml" },<br />
{ 0x00BA3, 0x00BA4, "Taml" },<br />
{ 0x00BA8, 0x00BAA, "Taml" },<br />
{ 0x00BAE, 0x00BB9, "Taml" },<br />
{ 0x00BBE, 0x00BC2, "Taml" },<br />
{ 0x00BC6, 0x00BC8, "Taml" },<br />
{ 0x00BCA, 0x00BCD, "Taml" },<br />
{ 0x00BE6, 0x00BFA, "Taml" },<br />
{ 0x00C00, 0x00C0C, "Telu" },<br />
{ 0x00C0E, 0x00C10, "Telu" },<br />
{ 0x00C12, 0x00C28, "Telu" },<br />
{ 0x00C2A, 0x00C39, "Telu" },<br />
{ 0x00C3C, 0x00C44, "Telu" },<br />
{ 0x00C46, 0x00C48, "Telu" },<br />
{ 0x00C4A, 0x00C4D, "Telu" },<br />
{ 0x00C55, 0x00C56, "Telu" },<br />
{ 0x00C58, 0x00C5A, "Telu" },<br />
{ 0x00C60, 0x00C63, "Telu" },<br />
{ 0x00C66, 0x00C6F, "Telu" },<br />
{ 0x00C77, 0x00C7F, "Telu" },<br />
{ 0x00C80, 0x00C8C, "Knda" },<br />
{ 0x00C8E, 0x00C90, "Knda" },<br />
{ 0x00C92, 0x00CA8, "Knda" },<br />
{ 0x00CAA, 0x00CB3, "Knda" },<br />
{ 0x00CB5, 0x00CB9, "Knda" },<br />
{ 0x00CBC, 0x00CC4, "Knda" },<br />
{ 0x00CC6, 0x00CC8, "Knda" },<br />
{ 0x00CCA, 0x00CCD, "Knda" },<br />
{ 0x00CD5, 0x00CD6, "Knda" },<br />
{ 0x00CDD, 0x00CDE, "Knda" },<br />
{ 0x00CE0, 0x00CE3, "Knda" },<br />
{ 0x00CE6, 0x00CEF, "Knda" },<br />
{ 0x00CF1, 0x00CF2, "Knda" },<br />
{ 0x00D00, 0x00D0C, "Mlym" },<br />
{ 0x00D0E, 0x00D10, "Mlym" },<br />
{ 0x00D12, 0x00D44, "Mlym" },<br />
{ 0x00D46, 0x00D48, "Mlym" },<br />
{ 0x00D4A, 0x00D4F, "Mlym" },<br />
{ 0x00D54, 0x00D63, "Mlym" },<br />
{ 0x00D66, 0x00D7F, "Mlym" },<br />
{ 0x00D81, 0x00D83, "Sinh" },<br />
{ 0x00D85, 0x00D96, "Sinh" },<br />
{ 0x00D9A, 0x00DB1, "Sinh" },<br />
{ 0x00DB3, 0x00DBB, "Sinh" },<br />
{ 0x00DC0, 0x00DC6, "Sinh" },<br />
{ 0x00DCF, 0x00DD4, "Sinh" },<br />
{ 0x00DD8, 0x00DDF, "Sinh" },<br />
{ 0x00DE6, 0x00DEF, "Sinh" },<br />
{ 0x00DF2, 0x00DF4, "Sinh" },<br />
{ 0x00E01, 0x00E3A, "Thai" },<br />
{ 0x00E40, 0x00E5B, "Thai" },<br />
{ 0x00E81, 0x00E82, "Laoo" },<br />
{ 0x00E86, 0x00E8A, "Laoo" },<br />
{ 0x00E8C, 0x00EA3, "Laoo" },<br />
{ 0x00EA7, 0x00EBD, "Laoo" },<br />
{ 0x00EC0, 0x00EC4, "Laoo" },<br />
{ 0x00EC8, 0x00ECD, "Laoo" },<br />
{ 0x00ED0, 0x00ED9, "Laoo" },<br />
{ 0x00EDC, 0x00EDF, "Laoo" },<br />
{ 0x00F00, 0x00F47, "Tibt" },<br />
{ 0x00F49, 0x00F6C, "Tibt" },<br />
{ 0x00F71, 0x00F97, "Tibt" },<br />
{ 0x00F99, 0x00FBC, "Tibt" },<br />
{ 0x00FBE, 0x00FCC, "Tibt" },<br />
{ 0x00FCE, 0x00FD4, "Tibt" },<br />
{ 0x00FD5, 0x00FD8, "Zyyy" },<br />
{ 0x00FD9, 0x00FDA, "Tibt" },<br />
{ 0x01000, 0x0109F, "Mymr" },<br />
{ 0x010A0, 0x010C5, "Geor" },<br />
{ 0x010D0, 0x010FA, "Geor" },<br />
{ 0x010FC, 0x010FF, "Geor" },<br />
{ 0x01100, 0x011FF, "Hang" },<br />
{ 0x01200, 0x01248, "Ethi" },<br />
{ 0x0124A, 0x0124D, "Ethi" },<br />
{ 0x01250, 0x01256, "Ethi" },<br />
{ 0x0125A, 0x0125D, "Ethi" },<br />
{ 0x01260, 0x01288, "Ethi" },<br />
{ 0x0128A, 0x0128D, "Ethi" },<br />
{ 0x01290, 0x012B0, "Ethi" },<br />
{ 0x012B2, 0x012B5, "Ethi" },<br />
{ 0x012B8, 0x012BE, "Ethi" },<br />
{ 0x012C2, 0x012C5, "Ethi" },<br />
{ 0x012C8, 0x012D6, "Ethi" },<br />
{ 0x012D8, 0x01310, "Ethi" },<br />
{ 0x01312, 0x01315, "Ethi" },<br />
{ 0x01318, 0x0135A, "Ethi" },<br />
{ 0x0135D, 0x0137C, "Ethi" },<br />
{ 0x01380, 0x01399, "Ethi" },<br />
{ 0x013A0, 0x013F5, "Cher" },<br />
{ 0x013F8, 0x013FD, "Cher" },<br />
{ 0x01400, 0x0167F, "Cans" },<br />
{ 0x01680, 0x0169C, "Ogam" },<br />
{ 0x016A0, 0x016EA, "Runr" },<br />
{ 0x016EB, 0x016ED, "Zyyy" },<br />
{ 0x016EE, 0x016F8, "Runr" },<br />
{ 0x01700, 0x01715, "Tglg" },<br />
{ 0x01720, 0x01734, "Hano" },<br />
{ 0x01735, 0x01736, "Zyyy" },<br />
{ 0x01740, 0x01753, "Buhd" },<br />
{ 0x01760, 0x0176C, "Tagb" },<br />
{ 0x0176E, 0x01770, "Tagb" },<br />
{ 0x01772, 0x01773, "Tagb" },<br />
{ 0x01780, 0x017DD, "Khmr" },<br />
{ 0x017E0, 0x017E9, "Khmr" },<br />
{ 0x017F0, 0x017F9, "Khmr" },<br />
{ 0x01800, 0x01801, "Mong" },<br />
{ 0x01802, 0x01803, "Zyyy" },<br />
{ 0x01806, 0x01819, "Mong" },<br />
{ 0x01820, 0x01878, "Mong" },<br />
{ 0x01880, 0x018AA, "Mong" },<br />
{ 0x018B0, 0x018F5, "Cans" },<br />
{ 0x01900, 0x0191E, "Limb" },<br />
{ 0x01920, 0x0192B, "Limb" },<br />
{ 0x01930, 0x0193B, "Limb" },<br />
{ 0x01944, 0x0194F, "Limb" },<br />
{ 0x01950, 0x0196D, "Tale" },<br />
{ 0x01970, 0x01974, "Tale" },<br />
{ 0x01980, 0x019AB, "Talu" },<br />
{ 0x019B0, 0x019C9, "Talu" },<br />
{ 0x019D0, 0x019DA, "Talu" },<br />
{ 0x019DE, 0x019DF, "Talu" },<br />
{ 0x019E0, 0x019FF, "Khmr" },<br />
{ 0x01A00, 0x01A1B, "Bugi" },<br />
{ 0x01A1E, 0x01A1F, "Bugi" },<br />
{ 0x01A20, 0x01A5E, "Lana" },<br />
{ 0x01A60, 0x01A7C, "Lana" },<br />
{ 0x01A7F, 0x01A89, "Lana" },<br />
{ 0x01A90, 0x01A99, "Lana" },<br />
{ 0x01AA0, 0x01AAD, "Lana" },<br />
{ 0x01AB0, 0x01ACE, "Zinh" },<br />
{ 0x01B00, 0x01B4C, "Bali" },<br />
{ 0x01B50, 0x01B7E, "Bali" },<br />
{ 0x01B80, 0x01BBF, "Sund" },<br />
{ 0x01BC0, 0x01BF3, "Batk" },<br />
{ 0x01BFC, 0x01BFF, "Batk" },<br />
{ 0x01C00, 0x01C37, "Lepc" },<br />
{ 0x01C3B, 0x01C49, "Lepc" },<br />
{ 0x01C4D, 0x01C4F, "Lepc" },<br />
{ 0x01C50, 0x01C7F, "Olck" },<br />
{ 0x01C80, 0x01C88, "Cyrl" },<br />
{ 0x01C90, 0x01CBA, "Geor" },<br />
{ 0x01CBD, 0x01CBF, "Geor" },<br />
{ 0x01CC0, 0x01CC7, "Sund" },<br />
{ 0x01CD0, 0x01CD2, "Zinh" },<br />
{ 0x01CD4, 0x01CE0, "Zinh" },<br />
{ 0x01CE2, 0x01CE8, "Zinh" },<br />
{ 0x01CE9, 0x01CEC, "Zyyy" },<br />
{ 0x01CEE, 0x01CF3, "Zyyy" },<br />
{ 0x01CF5, 0x01CF7, "Zyyy" },<br />
{ 0x01CF8, 0x01CF9, "Zinh" },<br />
{ 0x01D00, 0x01D25, "Latn" },<br />
{ 0x01D26, 0x01D2A, "Grek" },<br />
{ 0x01D2C, 0x01D5C, "Latn" },<br />
{ 0x01D5D, 0x01D61, "Grek" },<br />
{ 0x01D62, 0x01D65, "Latn" },<br />
{ 0x01D66, 0x01D6A, "Grek" },<br />
{ 0x01D6B, 0x01D77, "Latn" },<br />
{ 0x01D79, 0x01DBE, "Latn" },<br />
{ 0x01DC0, 0x01DFF, "Zinh" },<br />
{ 0x01E00, 0x01EFF, "Latn" },<br />
{ 0x01F00, 0x01F15, "Grek" },<br />
{ 0x01F18, 0x01F1D, "Grek" },<br />
{ 0x01F20, 0x01F45, "Grek" },<br />
{ 0x01F48, 0x01F4D, "Grek" },<br />
{ 0x01F50, 0x01F57, "Grek" },<br />
{ 0x01F5F, 0x01F7D, "Grek" },<br />
{ 0x01F80, 0x01FB4, "Grek" },<br />
{ 0x01FB6, 0x01FC4, "Grek" },<br />
{ 0x01FC6, 0x01FD3, "Grek" },<br />
{ 0x01FD6, 0x01FDB, "Grek" },<br />
{ 0x01FDD, 0x01FEF, "Grek" },<br />
{ 0x01FF2, 0x01FF4, "Grek" },<br />
{ 0x01FF6, 0x01FFE, "Grek" },<br />
{ 0x02000, 0x0200B, "Zyyy" },<br />
{ 0x0200C, 0x0200D, "Zinh" },<br />
{ 0x0200E, 0x02064, "Zyyy" },<br />
{ 0x02066, 0x02070, "Zyyy" },<br />
{ 0x02074, 0x0207E, "Zyyy" },<br />
{ 0x02080, 0x0208E, "Zyyy" },<br />
{ 0x02090, 0x0209C, "Latn" },<br />
{ 0x020A0, 0x020C0, "Zyyy" },<br />
{ 0x020D0, 0x020F0, "Zinh" },<br />
{ 0x02100, 0x02125, "Zyyy" },<br />
{ 0x02127, 0x02129, "Zyyy" },<br />
{ 0x0212A, 0x0212B, "Latn" },<br />
{ 0x0212C, 0x02131, "Zyyy" },<br />
{ 0x02133, 0x0214D, "Zyyy" },<br />
{ 0x0214F, 0x0215F, "Zyyy" },<br />
{ 0x02160, 0x02188, "Latn" },<br />
{ 0x02189, 0x0218B, "Zyyy" },<br />
{ 0x02190, 0x02426, "Zyyy" },<br />
{ 0x02440, 0x0244A, "Zyyy" },<br />
{ 0x02460, 0x027FF, "Zyyy" },<br />
{ 0x02800, 0x028FF, "Brai" },<br />
{ 0x02900, 0x02B73, "Zyyy" },<br />
{ 0x02B76, 0x02B95, "Zyyy" },<br />
{ 0x02B97, 0x02BFF, "Zyyy" },<br />
{ 0x02C00, 0x02C5F, "Glag" },<br />
{ 0x02C60, 0x02C7F, "Latn" },<br />
{ 0x02C80, 0x02CF3, "Copt" },<br />
{ 0x02CF9, 0x02CFF, "Copt" },<br />
{ 0x02D00, 0x02D25, "Geor" },<br />
{ 0x02D30, 0x02D67, "Tfng" },<br />
{ 0x02D6F, 0x02D70, "Tfng" },<br />
{ 0x02D80, 0x02D96, "Ethi" },<br />
{ 0x02DA0, 0x02DA6, "Ethi" },<br />
{ 0x02DA8, 0x02DAE, "Ethi" },<br />
{ 0x02DB0, 0x02DB6, "Ethi" },<br />
{ 0x02DB8, 0x02DBE, "Ethi" },<br />
{ 0x02DC0, 0x02DC6, "Ethi" },<br />
{ 0x02DC8, 0x02DCE, "Ethi" },<br />
{ 0x02DD0, 0x02DD6, "Ethi" },<br />
{ 0x02DD8, 0x02DDE, "Ethi" },<br />
{ 0x02DE0, 0x02DFF, "Cyrl" },<br />
{ 0x02E00, 0x02E5D, "Zyyy" },<br />
{ 0x02E80, 0x02E99, "Hani" },<br />
{ 0x02E9B, 0x02EF3, "Hani" },<br />
{ 0x02F00, 0x02FD5, "Hani" },<br />
{ 0x02FF0, 0x02FFB, "Zyyy" },<br />
{ 0x03000, 0x03004, "Zyyy" },<br />
{ 0x03008, 0x03020, "Zyyy" },<br />
{ 0x03021, 0x03029, "Hani" },<br />
{ 0x0302A, 0x0302D, "Zinh" },<br />
{ 0x0302E, 0x0302F, "Hang" },<br />
{ 0x03030, 0x03037, "Zyyy" },<br />
{ 0x03038, 0x0303B, "Hani" },<br />
{ 0x0303C, 0x0303F, "Zyyy" },<br />
{ 0x03041, 0x03096, "Hira" },<br />
{ 0x03099, 0x0309A, "Zinh" },<br />
{ 0x0309B, 0x0309C, "Zyyy" },<br />
{ 0x0309D, 0x0309F, "Hira" },<br />
{ 0x030A1, 0x030FA, "Kana" },<br />
{ 0x030FB, 0x030FC, "Zyyy" },<br />
{ 0x030FD, 0x030FF, "Kana" },<br />
{ 0x03105, 0x0312F, "Bopo" },<br />
{ 0x03131, 0x0318E, "Hang" },<br />
{ 0x03190, 0x0319F, "Zyyy" },<br />
{ 0x031A0, 0x031BF, "Bopo" },<br />
{ 0x031C0, 0x031E3, "Zyyy" },<br />
{ 0x031F0, 0x031FF, "Kana" },<br />
{ 0x03200, 0x0321E, "Hang" },<br />
{ 0x03220, 0x0325F, "Zyyy" },<br />
{ 0x03260, 0x0327E, "Hang" },<br />
{ 0x0327F, 0x032CF, "Zyyy" },<br />
{ 0x032D0, 0x032FE, "Kana" },<br />
{ 0x03300, 0x03357, "Kana" },<br />
{ 0x03358, 0x033FF, "Zyyy" },<br />
{ 0x03400, 0x04DBF, "Hani" },<br />
{ 0x04DC0, 0x04DFF, "Zyyy" },<br />
{ 0x04E00, 0x09FFF, "Hani" },<br />
{ 0x0A000, 0x0A48C, "Yiii" },<br />
{ 0x0A490, 0x0A4C6, "Yiii" },<br />
{ 0x0A4D0, 0x0A4FF, "Lisu" },<br />
{ 0x0A500, 0x0A62B, "Vaii" },<br />
{ 0x0A640, 0x0A69F, "Cyrl" },<br />
{ 0x0A6A0, 0x0A6F7, "Bamu" },<br />
{ 0x0A700, 0x0A721, "Zyyy" },<br />
{ 0x0A722, 0x0A787, "Latn" },<br />
{ 0x0A788, 0x0A78A, "Zyyy" },<br />
{ 0x0A78B, 0x0A7CA, "Latn" },<br />
{ 0x0A7D0, 0x0A7D1, "Latn" },<br />
{ 0x0A7D5, 0x0A7D9, "Latn" },<br />
{ 0x0A7F2, 0x0A7FF, "Latn" },<br />
{ 0x0A800, 0x0A82C, "Sylo" },<br />
{ 0x0A830, 0x0A839, "Zyyy" },<br />
{ 0x0A840, 0x0A877, "Phag" },<br />
{ 0x0A880, 0x0A8C5, "Saur" },<br />
{ 0x0A8CE, 0x0A8D9, "Saur" },<br />
{ 0x0A8E0, 0x0A8FF, "Deva" },<br />
{ 0x0A900, 0x0A92D, "Kali" },<br />
{ 0x0A930, 0x0A953, "Rjng" },<br />
{ 0x0A960, 0x0A97C, "Hang" },<br />
{ 0x0A980, 0x0A9CD, "Java" },<br />
{ 0x0A9D0, 0x0A9D9, "Java" },<br />
{ 0x0A9DE, 0x0A9DF, "Java" },<br />
{ 0x0A9E0, 0x0A9FE, "Mymr" },<br />
{ 0x0AA00, 0x0AA36, "Cham" },<br />
{ 0x0AA40, 0x0AA4D, "Cham" },<br />
{ 0x0AA50, 0x0AA59, "Cham" },<br />
{ 0x0AA5C, 0x0AA5F, "Cham" },<br />
{ 0x0AA60, 0x0AA7F, "Mymr" },<br />
{ 0x0AA80, 0x0AAC2, "Tavt" },<br />
{ 0x0AADB, 0x0AADF, "Tavt" },<br />
{ 0x0AAE0, 0x0AAF6, "Mtei" },<br />
{ 0x0AB01, 0x0AB06, "Ethi" },<br />
{ 0x0AB09, 0x0AB0E, "Ethi" },<br />
{ 0x0AB11, 0x0AB16, "Ethi" },<br />
{ 0x0AB20, 0x0AB26, "Ethi" },<br />
{ 0x0AB28, 0x0AB2E, "Ethi" },<br />
{ 0x0AB30, 0x0AB5A, "Latn" },<br />
{ 0x0AB5C, 0x0AB64, "Latn" },<br />
{ 0x0AB66, 0x0AB69, "Latn" },<br />
{ 0x0AB6A, 0x0AB6B, "Zyyy" },<br />
{ 0x0AB70, 0x0ABBF, "Cher" },<br />
{ 0x0ABC0, 0x0ABED, "Mtei" },<br />
{ 0x0ABF0, 0x0ABF9, "Mtei" },<br />
{ 0x0AC00, 0x0D7A3, "Hang" },<br />
{ 0x0D7B0, 0x0D7C6, "Hang" },<br />
{ 0x0D7CB, 0x0D7FB, "Hang" },<br />
{ 0x0F900, 0x0FA6D, "Hani" },<br />
{ 0x0FA70, 0x0FAD9, "Hani" },<br />
{ 0x0FB00, 0x0FB06, "Latn" },<br />
{ 0x0FB13, 0x0FB17, "Armn" },<br />
{ 0x0FB1D, 0x0FB36, "Hebr" },<br />
{ 0x0FB38, 0x0FB3C, "Hebr" },<br />
{ 0x0FB40, 0x0FB41, "Hebr" },<br />
{ 0x0FB43, 0x0FB44, "Hebr" },<br />
{ 0x0FB46, 0x0FB4F, "Hebr" },<br />
{ 0x0FB50, 0x0FBC2, "Arab" },<br />
{ 0x0FBD3, 0x0FD3D, "Arab" },<br />
{ 0x0FD3E, 0x0FD3F, "Zyyy" },<br />
{ 0x0FD40, 0x0FD8F, "Arab" },<br />
{ 0x0FD92, 0x0FDC7, "Arab" },<br />
{ 0x0FDF0, 0x0FDFF, "Arab" },<br />
{ 0x0FE00, 0x0FE0F, "Zinh" },<br />
{ 0x0FE10, 0x0FE19, "Zyyy" },<br />
{ 0x0FE20, 0x0FE2D, "Zinh" },<br />
{ 0x0FE2E, 0x0FE2F, "Cyrl" },<br />
{ 0x0FE30, 0x0FE52, "Zyyy" },<br />
{ 0x0FE54, 0x0FE66, "Zyyy" },<br />
{ 0x0FE68, 0x0FE6B, "Zyyy" },<br />
{ 0x0FE70, 0x0FE74, "Arab" },<br />
{ 0x0FE76, 0x0FEFC, "Arab" },<br />
{ 0x0FF01, 0x0FF20, "Zyyy" },<br />
{ 0x0FF21, 0x0FF3A, "Latn" },<br />
{ 0x0FF3B, 0x0FF40, "Zyyy" },<br />
{ 0x0FF41, 0x0FF5A, "Latn" },<br />
{ 0x0FF5B, 0x0FF65, "Zyyy" },<br />
{ 0x0FF66, 0x0FF6F, "Kana" },<br />
{ 0x0FF71, 0x0FF9D, "Kana" },<br />
{ 0x0FF9E, 0x0FF9F, "Zyyy" },<br />
{ 0x0FFA0, 0x0FFBE, "Hang" },<br />
{ 0x0FFC2, 0x0FFC7, "Hang" },<br />
{ 0x0FFCA, 0x0FFCF, "Hang" },<br />
{ 0x0FFD2, 0x0FFD7, "Hang" },<br />
{ 0x0FFDA, 0x0FFDC, "Hang" },<br />
{ 0x0FFE0, 0x0FFE6, "Zyyy" },<br />
{ 0x0FFE8, 0x0FFEE, "Zyyy" },<br />
{ 0x0FFF9, 0x0FFFD, "Zyyy" },<br />
{ 0x10000, 0x1000B, "Linb" },<br />
{ 0x1000D, 0x10026, "Linb" },<br />
{ 0x10028, 0x1003A, "Linb" },<br />
{ 0x1003C, 0x1003D, "Linb" },<br />
{ 0x1003F, 0x1004D, "Linb" },<br />
{ 0x10050, 0x1005D, "Linb" },<br />
{ 0x10080, 0x100FA, "Linb" },<br />
{ 0x10100, 0x10102, "Zyyy" },<br />
{ 0x10107, 0x10133, "Zyyy" },<br />
{ 0x10137, 0x1013F, "Zyyy" },<br />
{ 0x10140, 0x1018E, "Grek" },<br />
{ 0x10190, 0x1019C, "Zyyy" },<br />
{ 0x101D0, 0x101FC, "Zyyy" },<br />
{ 0x10280, 0x1029C, "Lyci" },<br />
{ 0x102A0, 0x102D0, "Cari" },<br />
{ 0x102E1, 0x102FB, "Zyyy" },<br />
{ 0x10300, 0x10323, "Ital" },<br />
{ 0x1032D, 0x1032F, "Ital" },<br />
{ 0x10330, 0x1034A, "Goth" },<br />
{ 0x10350, 0x1037A, "Perm" },<br />
{ 0x10380, 0x1039D, "Ugar" },<br />
{ 0x103A0, 0x103C3, "Xpeo" },<br />
{ 0x103C8, 0x103D5, "Xpeo" },<br />
{ 0x10400, 0x1044F, "Dsrt" },<br />
{ 0x10450, 0x1047F, "Shaw" },<br />
{ 0x10480, 0x1049D, "Osma" },<br />
{ 0x104A0, 0x104A9, "Osma" },<br />
{ 0x104B0, 0x104D3, "Osge" },<br />
{ 0x104D8, 0x104FB, "Osge" },<br />
{ 0x10500, 0x10527, "Elba" },<br />
{ 0x10530, 0x10563, "Aghb" },<br />
{ 0x10570, 0x1057A, "Vith" },<br />
{ 0x1057C, 0x1058A, "Vith" },<br />
{ 0x1058C, 0x10592, "Vith" },<br />
{ 0x10594, 0x10595, "Vith" },<br />
{ 0x10597, 0x105A1, "Vith" },<br />
{ 0x105A3, 0x105B1, "Vith" },<br />
{ 0x105B3, 0x105B9, "Vith" },<br />
{ 0x105BB, 0x105BC, "Vith" },<br />
{ 0x10600, 0x10736, "Lina" },<br />
{ 0x10740, 0x10755, "Lina" },<br />
{ 0x10760, 0x10767, "Lina" },<br />
{ 0x10780, 0x10785, "Latn" },<br />
{ 0x10787, 0x107B0, "Latn" },<br />
{ 0x107B2, 0x107BA, "Latn" },<br />
{ 0x10800, 0x10805, "Cprt" },<br />
{ 0x1080A, 0x10835, "Cprt" },<br />
{ 0x10837, 0x10838, "Cprt" },<br />
{ 0x10840, 0x10855, "Armi" },<br />
{ 0x10857, 0x1085F, "Armi" },<br />
{ 0x10860, 0x1087F, "Palm" },<br />
{ 0x10880, 0x1089E, "Nbat" },<br />
{ 0x108A7, 0x108AF, "Nbat" },<br />
{ 0x108E0, 0x108F2, "Hatr" },<br />
{ 0x108F4, 0x108F5, "Hatr" },<br />
{ 0x108FB, 0x108FF, "Hatr" },<br />
{ 0x10900, 0x1091B, "Phnx" },<br />
{ 0x10920, 0x10939, "Lydi" },<br />
{ 0x10980, 0x1099F, "Mero" },<br />
{ 0x109A0, 0x109B7, "Merc" },<br />
{ 0x109BC, 0x109CF, "Merc" },<br />
{ 0x109D2, 0x109FF, "Merc" },<br />
{ 0x10A00, 0x10A03, "Khar" },<br />
{ 0x10A05, 0x10A06, "Khar" },<br />
{ 0x10A0C, 0x10A13, "Khar" },<br />
{ 0x10A15, 0x10A17, "Khar" },<br />
{ 0x10A19, 0x10A35, "Khar" },<br />
{ 0x10A38, 0x10A3A, "Khar" },<br />
{ 0x10A3F, 0x10A48, "Khar" },<br />
{ 0x10A50, 0x10A58, "Khar" },<br />
{ 0x10A60, 0x10A7F, "Sarb" },<br />
{ 0x10A80, 0x10A9F, "Narb" },<br />
{ 0x10AC0, 0x10AE6, "Mani" },<br />
{ 0x10AEB, 0x10AF6, "Mani" },<br />
{ 0x10B00, 0x10B35, "Avst" },<br />
{ 0x10B39, 0x10B3F, "Avst" },<br />
{ 0x10B40, 0x10B55, "Prti" },<br />
{ 0x10B58, 0x10B5F, "Prti" },<br />
{ 0x10B60, 0x10B72, "Phli" },<br />
{ 0x10B78, 0x10B7F, "Phli" },<br />
{ 0x10B80, 0x10B91, "Phlp" },<br />
{ 0x10B99, 0x10B9C, "Phlp" },<br />
{ 0x10BA9, 0x10BAF, "Phlp" },<br />
{ 0x10C00, 0x10C48, "Orkh" },<br />
{ 0x10C80, 0x10CB2, "Hung" },<br />
{ 0x10CC0, 0x10CF2, "Hung" },<br />
{ 0x10CFA, 0x10CFF, "Hung" },<br />
{ 0x10D00, 0x10D27, "Rohg" },<br />
{ 0x10D30, 0x10D39, "Rohg" },<br />
{ 0x10E60, 0x10E7E, "Arab" },<br />
{ 0x10E80, 0x10EA9, "Yezi" },<br />
{ 0x10EAB, 0x10EAD, "Yezi" },<br />
{ 0x10EB0, 0x10EB1, "Yezi" },<br />
{ 0x10F00, 0x10F27, "Sogo" },<br />
{ 0x10F30, 0x10F59, "Sogd" },<br />
{ 0x10F70, 0x10F89, "Ougr" },<br />
{ 0x10FB0, 0x10FCB, "Chrs" },<br />
{ 0x10FE0, 0x10FF6, "Elym" },<br />
{ 0x11000, 0x1104D, "Brah" },<br />
{ 0x11052, 0x11075, "Brah" },<br />
{ 0x11080, 0x110C2, "Kthi" },<br />
{ 0x110D0, 0x110E8, "Sora" },<br />
{ 0x110F0, 0x110F9, "Sora" },<br />
{ 0x11100, 0x11134, "Cakm" },<br />
{ 0x11136, 0x11147, "Cakm" },<br />
{ 0x11150, 0x11176, "Mahj" },<br />
{ 0x11180, 0x111DF, "Shrd" },<br />
{ 0x111E1, 0x111F4, "Sinh" },<br />
{ 0x11200, 0x11211, "Khoj" },<br />
{ 0x11213, 0x1123E, "Khoj" },<br />
{ 0x11280, 0x11286, "Mult" },<br />
{ 0x1128A, 0x1128D, "Mult" },<br />
{ 0x1128F, 0x1129D, "Mult" },<br />
{ 0x1129F, 0x112A9, "Mult" },<br />
{ 0x112B0, 0x112EA, "Sind" },<br />
{ 0x112F0, 0x112F9, "Sind" },<br />
{ 0x11300, 0x11303, "Gran" },<br />
{ 0x11305, 0x1130C, "Gran" },<br />
{ 0x1130F, 0x11310, "Gran" },<br />
{ 0x11313, 0x11328, "Gran" },<br />
{ 0x1132A, 0x11330, "Gran" },<br />
{ 0x11332, 0x11333, "Gran" },<br />
{ 0x11335, 0x11339, "Gran" },<br />
{ 0x1133C, 0x11344, "Gran" },<br />
{ 0x11347, 0x11348, "Gran" },<br />
{ 0x1134B, 0x1134D, "Gran" },<br />
{ 0x1135D, 0x11363, "Gran" },<br />
{ 0x11366, 0x1136C, "Gran" },<br />
{ 0x11370, 0x11374, "Gran" },<br />
{ 0x11400, 0x1145B, "Newa" },<br />
{ 0x1145D, 0x11461, "Newa" },<br />
{ 0x11480, 0x114C7, "Tirh" },<br />
{ 0x114D0, 0x114D9, "Tirh" },<br />
{ 0x11580, 0x115B5, "Sidd" },<br />
{ 0x115B8, 0x115DD, "Sidd" },<br />
{ 0x11600, 0x11644, "Modi" },<br />
{ 0x11650, 0x11659, "Modi" },<br />
{ 0x11660, 0x1166C, "Mong" },<br />
{ 0x11680, 0x116B9, "Takr" },<br />
{ 0x116C0, 0x116C9, "Takr" },<br />
{ 0x11700, 0x1171A, "Ahom" },<br />
{ 0x1171D, 0x1172B, "Ahom" },<br />
{ 0x11730, 0x11746, "Ahom" },<br />
{ 0x11800, 0x1183B, "Dogr" },<br />
{ 0x118A0, 0x118F2, "Wara" },<br />
{ 0x11900, 0x11906, "Diak" },<br />
{ 0x1190C, 0x11913, "Diak" },<br />
{ 0x11915, 0x11916, "Diak" },<br />
{ 0x11918, 0x11935, "Diak" },<br />
{ 0x11937, 0x11938, "Diak" },<br />
{ 0x1193B, 0x11946, "Diak" },<br />
{ 0x11950, 0x11959, "Diak" },<br />
{ 0x119A0, 0x119A7, "Nand" },<br />
{ 0x119AA, 0x119D7, "Nand" },<br />
{ 0x119DA, 0x119E4, "Nand" },<br />
{ 0x11A00, 0x11A47, "Zanb" },<br />
{ 0x11A50, 0x11AA2, "Soyo" },<br />
{ 0x11AB0, 0x11ABF, "Cans" },<br />
{ 0x11AC0, 0x11AF8, "Pauc" },<br />
{ 0x11C00, 0x11C08, "Bhks" },<br />
{ 0x11C0A, 0x11C36, "Bhks" },<br />
{ 0x11C38, 0x11C45, "Bhks" },<br />
{ 0x11C50, 0x11C6C, "Bhks" },<br />
{ 0x11C70, 0x11C8F, "Marc" },<br />
{ 0x11C92, 0x11CA7, "Marc" },<br />
{ 0x11CA9, 0x11CB6, "Marc" },<br />
{ 0x11D00, 0x11D06, "Gonm" },<br />
{ 0x11D08, 0x11D09, "Gonm" },<br />
{ 0x11D0B, 0x11D36, "Gonm" },<br />
{ 0x11D3C, 0x11D3D, "Gonm" },<br />
{ 0x11D3F, 0x11D47, "Gonm" },<br />
{ 0x11D50, 0x11D59, "Gonm" },<br />
{ 0x11D60, 0x11D65, "Gong" },<br />
{ 0x11D67, 0x11D68, "Gong" },<br />
{ 0x11D6A, 0x11D8E, "Gong" },<br />
{ 0x11D90, 0x11D91, "Gong" },<br />
{ 0x11D93, 0x11D98, "Gong" },<br />
{ 0x11DA0, 0x11DA9, "Gong" },<br />
{ 0x11EE0, 0x11EF8, "Maka" },<br />
{ 0x11FC0, 0x11FF1, "Taml" },<br />
{ 0x12000, 0x12399, "Xsux" },<br />
{ 0x12400, 0x1246E, "Xsux" },<br />
{ 0x12470, 0x12474, "Xsux" },<br />
{ 0x12480, 0x12543, "Xsux" },<br />
{ 0x12F90, 0x12FF2, "Cpmn" },<br />
{ 0x13000, 0x1342E, "Egyp" },<br />
{ 0x13430, 0x13438, "Egyp" },<br />
{ 0x14400, 0x14646, "Hluw" },<br />
{ 0x16800, 0x16A38, "Bamu" },<br />
{ 0x16A40, 0x16A5E, "Mroo" },<br />
{ 0x16A60, 0x16A69, "Mroo" },<br />
{ 0x16A6E, 0x16A6F, "Mroo" },<br />
{ 0x16A70, 0x16ABE, "Tnsa" },<br />
{ 0x16AC0, 0x16AC9, "Tnsa" },<br />
{ 0x16AD0, 0x16AED, "Bass" },<br />
{ 0x16AF0, 0x16AF5, "Bass" },<br />
{ 0x16B00, 0x16B45, "Hmng" },<br />
{ 0x16B50, 0x16B59, "Hmng" },<br />
{ 0x16B5B, 0x16B61, "Hmng" },<br />
{ 0x16B63, 0x16B77, "Hmng" },<br />
{ 0x16B7D, 0x16B8F, "Hmng" },<br />
{ 0x16E40, 0x16E9A, "Medf" },<br />
{ 0x16F00, 0x16F4A, "Plrd" },<br />
{ 0x16F4F, 0x16F87, "Plrd" },<br />
{ 0x16F8F, 0x16F9F, "Plrd" },<br />
{ 0x16FE2, 0x16FE3, "Hani" },<br />
{ 0x16FF0, 0x16FF1, "Hani" },<br />
{ 0x17000, 0x187F7, "Tang" },<br />
{ 0x18800, 0x18AFF, "Tang" },<br />
{ 0x18B00, 0x18CD5, "Kits" },<br />
{ 0x18D00, 0x18D08, "Tang" },<br />
{ 0x1AFF0, 0x1AFF3, "Kana" },<br />
{ 0x1AFF5, 0x1AFFB, "Kana" },<br />
{ 0x1AFFD, 0x1AFFE, "Kana" },<br />
{ 0x1B001, 0x1B11F, "Hira" },<br />
{ 0x1B120, 0x1B122, "Kana" },<br />
{ 0x1B150, 0x1B152, "Hira" },<br />
{ 0x1B164, 0x1B167, "Kana" },<br />
{ 0x1B170, 0x1B2FB, "Nshu" },<br />
{ 0x1BC00, 0x1BC6A, "Dupl" },<br />
{ 0x1BC70, 0x1BC7C, "Dupl" },<br />
{ 0x1BC80, 0x1BC88, "Dupl" },<br />
{ 0x1BC90, 0x1BC99, "Dupl" },<br />
{ 0x1BC9C, 0x1BC9F, "Dupl" },<br />
{ 0x1BCA0, 0x1BCA3, "Zyyy" },<br />
{ 0x1CF00, 0x1CF2D, "Zinh" },<br />
{ 0x1CF30, 0x1CF46, "Zinh" },<br />
{ 0x1CF50, 0x1CFC3, "Zyyy" },<br />
{ 0x1D000, 0x1D0F5, "Zyyy" },<br />
{ 0x1D100, 0x1D126, "Zyyy" },<br />
{ 0x1D129, 0x1D166, "Zyyy" },<br />
{ 0x1D167, 0x1D169, "Zinh" },<br />
{ 0x1D16A, 0x1D17A, "Zyyy" },<br />
{ 0x1D17B, 0x1D182, "Zinh" },<br />
{ 0x1D183, 0x1D184, "Zyyy" },<br />
{ 0x1D185, 0x1D18B, "Zinh" },<br />
{ 0x1D18C, 0x1D1A9, "Zyyy" },<br />
{ 0x1D1AA, 0x1D1AD, "Zinh" },<br />
{ 0x1D1AE, 0x1D1EA, "Zyyy" },<br />
{ 0x1D200, 0x1D245, "Grek" },<br />
{ 0x1D2E0, 0x1D2F3, "Zyyy" },<br />
{ 0x1D300, 0x1D356, "Zyyy" },<br />
{ 0x1D360, 0x1D378, "Zyyy" },<br />
{ 0x1D400, 0x1D454, "Zyyy" },<br />
{ 0x1D456, 0x1D49C, "Zyyy" },<br />
{ 0x1D49E, 0x1D49F, "Zyyy" },<br />
{ 0x1D4A5, 0x1D4A6, "Zyyy" },<br />
{ 0x1D4A9, 0x1D4AC, "Zyyy" },<br />
{ 0x1D4AE, 0x1D4B9, "Zyyy" },<br />
{ 0x1D4BD, 0x1D4C3, "Zyyy" },<br />
{ 0x1D4C5, 0x1D505, "Zyyy" },<br />
{ 0x1D507, 0x1D50A, "Zyyy" },<br />
{ 0x1D50D, 0x1D514, "Zyyy" },<br />
{ 0x1D516, 0x1D51C, "Zyyy" },<br />
{ 0x1D51E, 0x1D539, "Zyyy" },<br />
{ 0x1D53B, 0x1D53E, "Zyyy" },<br />
{ 0x1D540, 0x1D544, "Zyyy" },<br />
{ 0x1D54A, 0x1D550, "Zyyy" },<br />
{ 0x1D552, 0x1D6A5, "Zyyy" },<br />
{ 0x1D6A8, 0x1D7CB, "Zyyy" },<br />
{ 0x1D7CE, 0x1D7FF, "Zyyy" },<br />
{ 0x1D800, 0x1DA8B, "Sgnw" },<br />
{ 0x1DA9B, 0x1DA9F, "Sgnw" },<br />
{ 0x1DAA1, 0x1DAAF, "Sgnw" },<br />
{ 0x1DF00, 0x1DF1E, "Latn" },<br />
{ 0x1E000, 0x1E006, "Glag" },<br />
{ 0x1E008, 0x1E018, "Glag" },<br />
{ 0x1E01B, 0x1E021, "Glag" },<br />
{ 0x1E023, 0x1E024, "Glag" },<br />
{ 0x1E026, 0x1E02A, "Glag" },<br />
{ 0x1E100, 0x1E12C, "Hmnp" },<br />
{ 0x1E130, 0x1E13D, "Hmnp" },<br />
{ 0x1E140, 0x1E149, "Hmnp" },<br />
{ 0x1E14E, 0x1E14F, "Hmnp" },<br />
{ 0x1E290, 0x1E2AE, "Toto" },<br />
{ 0x1E2C0, 0x1E2F9, "Wcho" },<br />
{ 0x1E7E0, 0x1E7E6, "Ethi" },<br />
{ 0x1E7E8, 0x1E7EB, "Ethi" },<br />
{ 0x1E7ED, 0x1E7EE, "Ethi" },<br />
{ 0x1E7F0, 0x1E7FE, "Ethi" },<br />
{ 0x1E800, 0x1E8C4, "Mend" },<br />
{ 0x1E8C7, 0x1E8D6, "Mend" },<br />
{ 0x1E900, 0x1E94B, "Adlm" },<br />
{ 0x1E950, 0x1E959, "Adlm" },<br />
{ 0x1E95E, 0x1E95F, "Adlm" },<br />
{ 0x1EC71, 0x1ECB4, "Zyyy" },<br />
{ 0x1ED01, 0x1ED3D, "Zyyy" },<br />
{ 0x1EE00, 0x1EE03, "Arab" },<br />
{ 0x1EE05, 0x1EE1F, "Arab" },<br />
{ 0x1EE21, 0x1EE22, "Arab" },<br />
{ 0x1EE29, 0x1EE32, "Arab" },<br />
{ 0x1EE34, 0x1EE37, "Arab" },<br />
{ 0x1EE4D, 0x1EE4F, "Arab" },<br />
{ 0x1EE51, 0x1EE52, "Arab" },<br />
{ 0x1EE61, 0x1EE62, "Arab" },<br />
{ 0x1EE67, 0x1EE6A, "Arab" },<br />
{ 0x1EE6C, 0x1EE72, "Arab" },<br />
{ 0x1EE74, 0x1EE77, "Arab" },<br />
{ 0x1EE79, 0x1EE7C, "Arab" },<br />
{ 0x1EE80, 0x1EE89, "Arab" },<br />
{ 0x1EE8B, 0x1EE9B, "Arab" },<br />
{ 0x1EEA1, 0x1EEA3, "Arab" },<br />
{ 0x1EEA5, 0x1EEA9, "Arab" },<br />
{ 0x1EEAB, 0x1EEBB, "Arab" },<br />
{ 0x1EEF0, 0x1EEF1, "Arab" },<br />
{ 0x1F000, 0x1F02B, "Zyyy" },<br />
{ 0x1F030, 0x1F093, "Zyyy" },<br />
{ 0x1F0A0, 0x1F0AE, "Zyyy" },<br />
{ 0x1F0B1, 0x1F0BF, "Zyyy" },<br />
{ 0x1F0C1, 0x1F0CF, "Zyyy" },<br />
{ 0x1F0D1, 0x1F0F5, "Zyyy" },<br />
{ 0x1F100, 0x1F1AD, "Zyyy" },<br />
{ 0x1F1E6, 0x1F1FF, "Zyyy" },<br />
{ 0x1F201, 0x1F202, "Zyyy" },<br />
{ 0x1F210, 0x1F23B, "Zyyy" },<br />
{ 0x1F240, 0x1F248, "Zyyy" },<br />
{ 0x1F250, 0x1F251, "Zyyy" },<br />
{ 0x1F260, 0x1F265, "Zyyy" },<br />
{ 0x1F300, 0x1F6D7, "Zyyy" },<br />
{ 0x1F6DD, 0x1F6EC, "Zyyy" },<br />
{ 0x1F6F0, 0x1F6FC, "Zyyy" },<br />
{ 0x1F700, 0x1F773, "Zyyy" },<br />
{ 0x1F780, 0x1F7D8, "Zyyy" },<br />
{ 0x1F7E0, 0x1F7EB, "Zyyy" },<br />
{ 0x1F800, 0x1F80B, "Zyyy" },<br />
{ 0x1F810, 0x1F847, "Zyyy" },<br />
{ 0x1F850, 0x1F859, "Zyyy" },<br />
{ 0x1F860, 0x1F887, "Zyyy" },<br />
{ 0x1F890, 0x1F8AD, "Zyyy" },<br />
{ 0x1F8B0, 0x1F8B1, "Zyyy" },<br />
{ 0x1F900, 0x1FA53, "Zyyy" },<br />
{ 0x1FA60, 0x1FA6D, "Zyyy" },<br />
{ 0x1FA70, 0x1FA74, "Zyyy" },<br />
{ 0x1FA78, 0x1FA7C, "Zyyy" },<br />
{ 0x1FA80, 0x1FA86, "Zyyy" },<br />
{ 0x1FA90, 0x1FAAC, "Zyyy" },<br />
{ 0x1FAB0, 0x1FABA, "Zyyy" },<br />
{ 0x1FAC0, 0x1FAC5, "Zyyy" },<br />
{ 0x1FAD0, 0x1FAD9, "Zyyy" },<br />
{ 0x1FAE0, 0x1FAE7, "Zyyy" },<br />
{ 0x1FAF0, 0x1FAF6, "Zyyy" },<br />
{ 0x1FB00, 0x1FB92, "Zyyy" },<br />
{ 0x1FB94, 0x1FBCA, "Zyyy" },<br />
{ 0x1FBF0, 0x1FBF9, "Zyyy" },<br />
{ 0x20000, 0x2A6DF, "Hani" },<br />
{ 0x2A700, 0x2B738, "Hani" },<br />
{ 0x2B740, 0x2B81D, "Hani" },<br />
{ 0x2B820, 0x2CEA1, "Hani" },<br />
{ 0x2CEB0, 0x2EBE0, "Hani" },<br />
{ 0x2F800, 0x2FA1D, "Hani" },<br />
{ 0x30000, 0x3134A, "Hani" },<br />
{ 0xE0020, 0xE007F, "Zyyy" },<br />
{ 0xE0100, 0xE01EF, "Zinh" },<br />
},<br />
-- Scripts.txt gives full names; here we consider them aliases to save space.<br />
aliases = {<br />
Adlm = "Adlam",<br />
Aghb = "Caucasian Albanian",<br />
Ahom = "Ahom",<br />
Arab = "Arabic",<br />
Armi = "Imperial Aramaic",<br />
Armn = "Armenian",<br />
Avst = "Avestan",<br />
Bali = "Balinese",<br />
Bamu = "Bamum",<br />
Bass = "Bassa Vah",<br />
Batk = "Batak",<br />
Beng = "Bengali",<br />
Bhks = "Bhaiksuki",<br />
Bopo = "Bopomofo",<br />
Brah = "Brahmi",<br />
Brai = "Braille",<br />
Bugi = "Buginese",<br />
Buhd = "Buhid",<br />
Cakm = "Chakma",<br />
Cans = "Canadian Aboriginal",<br />
Cari = "Carian",<br />
Cham = "Cham",<br />
Cher = "Cherokee",<br />
Chrs = "Chorasmian",<br />
Copt = "Coptic",<br />
Cpmn = "Cypro Minoan",<br />
Cprt = "Cypriot",<br />
Cyrl = "Cyrillic",<br />
Deva = "Devanagari",<br />
Diak = "Dives Akuru",<br />
Dogr = "Dogra",<br />
Dsrt = "Deseret",<br />
Dupl = "Duployan",<br />
Egyp = "Egyptian Hieroglyphs",<br />
Elba = "Elbasan",<br />
Elym = "Elymaic",<br />
Ethi = "Ethiopic",<br />
Geor = "Georgian",<br />
Glag = "Glagolitic",<br />
Gong = "Gunjala Gondi",<br />
Gonm = "Masaram Gondi",<br />
Goth = "Gothic",<br />
Gran = "Grantha",<br />
Grek = "Greek",<br />
Gujr = "Gujarati",<br />
Guru = "Gurmukhi",<br />
Hang = "Hangul",<br />
Hani = "Han",<br />
Hano = "Hanunoo",<br />
Hatr = "Hatran",<br />
Hebr = "Hebrew",<br />
Hira = "Hiragana",<br />
Hluw = "Anatolian Hieroglyphs",<br />
Hmng = "Pahawh Hmong",<br />
Hmnp = "Nyiakeng Puachue Hmong",<br />
Hrkt = "Katakana Or Hiragana",<br />
Hung = "Old Hungarian",<br />
Ital = "Old Italic",<br />
Java = "Javanese",<br />
Kali = "Kayah Li",<br />
Kana = "Katakana",<br />
Khar = "Kharoshthi",<br />
Khmr = "Khmer",<br />
Khoj = "Khojki",<br />
Kits = "Khitan Small Script",<br />
Knda = "Kannada",<br />
Kthi = "Kaithi",<br />
Lana = "Tai Tham",<br />
Laoo = "Lao",<br />
Latn = "Latin",<br />
Lepc = "Lepcha",<br />
Limb = "Limbu",<br />
Lina = "Linear A",<br />
Linb = "Linear B",<br />
Lisu = "Lisu",<br />
Lyci = "Lycian",<br />
Lydi = "Lydian",<br />
Mahj = "Mahajani",<br />
Maka = "Makasar",<br />
Mand = "Mandaic",<br />
Mani = "Manichaean",<br />
Marc = "Marchen",<br />
Medf = "Medefaidrin",<br />
Mend = "Mende Kikakui",<br />
Merc = "Meroitic Cursive",<br />
Mero = "Meroitic Hieroglyphs",<br />
Mlym = "Malayalam",<br />
Modi = "Modi",<br />
Mong = "Mongolian",<br />
Mroo = "Mro",<br />
Mtei = "Meetei Mayek",<br />
Mult = "Multani",<br />
Mymr = "Myanmar",<br />
Nand = "Nandinagari",<br />
Narb = "Old North Arabian",<br />
Nbat = "Nabataean",<br />
Newa = "Newa",<br />
Nkoo = "Nko",<br />
Nshu = "Nushu",<br />
Ogam = "Ogham",<br />
Olck = "Ol Chiki",<br />
Orkh = "Old Turkic",<br />
Orya = "Oriya",<br />
Osge = "Osage",<br />
Osma = "Osmanya",<br />
Ougr = "Old Uyghur",<br />
Palm = "Palmyrene",<br />
Pauc = "Pau Cin Hau",<br />
Perm = "Old Permic",<br />
Phag = "Phags Pa",<br />
Phli = "Inscriptional Pahlavi",<br />
Phlp = "Psalter Pahlavi",<br />
Phnx = "Phoenician",<br />
Plrd = "Miao",<br />
Prti = "Inscriptional Parthian",<br />
Rjng = "Rejang",<br />
Rohg = "Hanifi Rohingya",<br />
Runr = "Runic",<br />
Samr = "Samaritan",<br />
Sarb = "Old South Arabian",<br />
Saur = "Saurashtra",<br />
Sgnw = "SignWriting",<br />
Shaw = "Shavian",<br />
Shrd = "Sharada",<br />
Sidd = "Siddham",<br />
Sind = "Khudawadi",<br />
Sinh = "Sinhala",<br />
Sogd = "Sogdian",<br />
Sogo = "Old Sogdian",<br />
Sora = "Sora Sompeng",<br />
Soyo = "Soyombo",<br />
Sund = "Sundanese",<br />
Sylo = "Syloti Nagri",<br />
Syrc = "Syriac",<br />
Tagb = "Tagbanwa",<br />
Takr = "Takri",<br />
Tale = "Tai Le",<br />
Talu = "New Tai Lue",<br />
Taml = "Tamil",<br />
Tang = "Tangut",<br />
Tavt = "Tai Viet",<br />
Telu = "Telugu",<br />
Tfng = "Tifinagh",<br />
Tglg = "Tagalog",<br />
Thaa = "Thaana",<br />
Thai = "Thai",<br />
Tibt = "Tibetan",<br />
Tirh = "Tirhuta",<br />
Tnsa = "Tangsa",<br />
Toto = "Toto",<br />
Ugar = "Ugaritic",<br />
Vaii = "Vai",<br />
Vith = "Vithkuqi",<br />
Wara = "Warang Citi",<br />
Wcho = "Wancho",<br />
Xpeo = "Old Persian",<br />
Xsux = "Cuneiform",<br />
Yezi = "Yezidi",<br />
Yiii = "Yi",<br />
Zanb = "Zanabazar Square",<br />
Zinh = "Inherited",<br />
Zyyy = "Common",<br />
Zzzz = "Unknown",<br />
},<br />
}<br />
<br />
-- Required for binary search function in [[Module:Language/scripts]].<br />
-- Cannot get length of module loaded with mw.loadData.<br />
data.ranges.length = #data.ranges<br />
<br />
data.rtl = {}<br />
<br />
for _, script in ipairs(mw.loadData "Module:Lang/data".rtl_scripts) do<br />
-- [[Module:Lang/data]] has script codes in lowercase;<br />
-- this module has script codes with the first letter capitalized.<br />
data.rtl[script:gsub("^%a", string.upper)] = true<br />
end<br />
<br />
return data</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Unicode_data&diff=3406
Module:Unicode data
2022-06-25T21:30:39Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>local p = {}<br />
<br />
local floor = math.floor<br />
<br />
local function errorf(level, ...)<br />
if type(level) == "number" then<br />
return error(string.format(...), level + 1)<br />
else -- level is actually the format string.<br />
return error(string.format(level, ...), 2)<br />
end<br />
end<br />
<br />
local function binary_range_search(codepoint, ranges)<br />
local low, mid, high<br />
low, high = 1, ranges.length or require "Module:TableTools".length(ranges)<br />
while low <= high do<br />
mid = floor((low + high) / 2)<br />
local range = ranges[mid]<br />
if codepoint < range[1] then<br />
high = mid - 1<br />
elseif codepoint <= range[2] then<br />
return range, mid<br />
else<br />
low = mid + 1<br />
end<br />
end<br />
return nil, mid<br />
end<br />
p.binary_range_search = binary_range_search<br />
<br />
--[[<br />
local function linear_range_search(codepoint, ranges)<br />
for i, range in ipairs(ranges) do<br />
if range[1] <= codepoint and codepoint <= range[2] then<br />
return range<br />
end<br />
end<br />
end<br />
--]]<br />
<br />
-- Load a module by indexing "loader" with the name of the module minus the<br />
-- "Module:Unicode data/" part. For instance, loader.blocks returns<br />
-- [[Module:Unicode data/blocks]]. If a module cannot be loaded, false will be<br />
-- returned.<br />
local loader = setmetatable({}, {<br />
__index = function (self, key)<br />
local success, data = pcall(mw.loadData, "Module:Unicode data/" .. key)<br />
if not success then<br />
data = false<br />
end<br />
self[key] = data<br />
return data<br />
end<br />
})<br />
<br />
-- For the algorithm used to generate Hangul Syllable names,<br />
-- see "Hangul Syllable Name Generation" in section 3.12 of the<br />
-- Unicode Specification:<br />
-- https://www.unicode.org/versions/Unicode11.0.0/ch03.pdf<br />
local name_hooks = {<br />
{ 0x00, 0x1F, "<control-%04X>" }, -- C0 control characters<br />
{ 0x7F, 0x9F, "<control-%04X>" }, -- DEL and C1 control characters<br />
{ 0x3400, 0x4DBF, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension A<br />
{ 0x4E00, 0x9FFF, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph<br />
{ 0xAC00, 0xD7A3, function (codepoint) -- Hangul Syllables<br />
local Hangul_data = loader.Hangul<br />
local syllable_index = codepoint - 0xAC00<br />
<br />
return ("HANGUL SYLLABLE %s%s%s"):format(<br />
Hangul_data.leads[floor(syllable_index / Hangul_data.final_count)],<br />
Hangul_data.vowels[floor((syllable_index % Hangul_data.final_count)<br />
/ Hangul_data.trail_count)],<br />
Hangul_data.trails[syllable_index % Hangul_data.trail_count]<br />
)<br />
end },<br />
-- High Surrogates, High Private Use Surrogates, Low Surrogates<br />
{ 0xD800, 0xDFFF, "<surrogate-%04X>" },<br />
{ 0xE000, 0xF8FF, "<private-use-%04X>" }, -- Private Use<br />
-- CJK Compatibility Ideographs<br />
{ 0xF900, 0xFA6D, "CJK COMPATIBILITY IDEOGRAPH-%04X" },<br />
{ 0xFA70, 0xFAD9, "CJK COMPATIBILITY IDEOGRAPH-%04X" },<br />
{ 0x17000, 0x187F7, "TANGUT IDEOGRAPH-%04X" }, -- Tangut Ideograph<br />
{ 0x18800, 0x18AFF, function (codepoint)<br />
return ("TANGUT COMPONENT-%03d"):format(codepoint - 0x187FF)<br />
end },<br />
{ 0x18D00, 0x18D08, "TANGUT IDEOGRAPH-%04X" }, -- Tangut Ideograph Supplement<br />
{ 0x1B170, 0x1B2FB, "NUSHU CHARACTER-%04X" }, -- Nushu<br />
{ 0x20000, 0x2A6DF, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension B<br />
{ 0x2A700, 0x2B738, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension C<br />
{ 0x2B740, 0x2B81D, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension D<br />
{ 0x2B820, 0x2CEA1, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension E<br />
{ 0x2CEB0, 0x2EBE0, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension F<br />
-- CJK Compatibility Ideographs Supplement (Supplementary Ideographic Plane)<br />
{ 0x2F800, 0x2FA1D, "CJK COMPATIBILITY IDEOGRAPH-%04X" },<br />
{ 0xE0100, 0xE01EF, function (codepoint) -- Variation Selectors Supplement<br />
return ("VARIATION SELECTOR-%d"):format(codepoint - 0xE0100 + 17)<br />
end},<br />
{ 0x30000, 0x3134A, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension G<br />
{ 0xF0000, 0xFFFFD, "<private-use-%04X>" }, -- Plane 15 Private Use<br />
{ 0x100000, 0x10FFFD, "<private-use-%04X>" } -- Plane 16 Private Use<br />
}<br />
name_hooks.length = #name_hooks<br />
<br />
local name_range_cache<br />
<br />
local function generate_name(data, codepoint)<br />
if type(data) == "string" then<br />
return data:format(codepoint)<br />
else<br />
return data(codepoint)<br />
end<br />
end<br />
<br />
--[[<br />
-- Checks that the code point is a number and in range.<br />
-- Does not check whether code point is an integer.<br />
-- Not used<br />
local function check_codepoint(funcName, argIdx, val)<br />
require 'libraryUtil'.checkType(funcName, argIdx, val, 'number')<br />
if codepoint < 0 or 0x10FFFF < codepoint then<br />
errorf("Codepoint %04X out of range", codepoint)<br />
end<br />
end<br />
--]]<br />
<br />
-- https://www.unicode.org/versions/Unicode11.0.0/ch04.pdf, section 4.8<br />
function p.lookup_name(codepoint)<br />
-- U+FDD0-U+FDEF and all code points ending in FFFE or FFFF are Unassigned<br />
-- (Cn) and specifically noncharacters:<br />
-- https://www.unicode.org/faq/private_use.html#nonchar4<br />
if 0xFDD0 <= codepoint and (codepoint <= 0xFDEF<br />
or floor(codepoint % 0x10000) >= 0xFFFE) then<br />
return ("<noncharacter-%04X>"):format(codepoint)<br />
end<br />
<br />
if name_range_cache -- Check if previously used "name hook" applies to this code point.<br />
and codepoint >= name_range_cache[1]<br />
and codepoint <= name_range_cache[2] then<br />
return generate_name(name_range_cache[3], codepoint)<br />
end<br />
<br />
local range = binary_range_search(codepoint, name_hooks)<br />
if range then<br />
name_range_cache = range<br />
return generate_name(range[3], codepoint)<br />
end<br />
<br />
local data = loader[('names/%03X'):format(codepoint / 0x1000)]<br />
<br />
if data and data[codepoint] then<br />
return data[codepoint]<br />
<br />
-- Unassigned (Cn) consists of noncharacters and reserved characters.<br />
-- The character has been established not to be a noncharacter,<br />
-- and if it were assigned, its name would already been retrieved,<br />
-- so it must be reserved.<br />
else<br />
return ("<reserved-%04X>"):format(codepoint)<br />
end<br />
end<br />
<br />
--[[<br />
-- No image data modules on Wikipedia yet.<br />
function p.lookup_image(codepoint)<br />
local data = loader[('images/%03X'):format(codepoint / 0x1000)]<br />
<br />
if data then<br />
return data[codepoint]<br />
end<br />
end<br />
--]]<br />
<br />
local planes = {<br />
[ 0] = "Basic Multilingual Plane";<br />
[ 1] = "Supplementary Multilingual Plane";<br />
[ 2] = "Supplementary Ideographic Plane";<br />
[ 3] = "Tertiary Ideographic Plane";<br />
[14] = "Supplementary Special-purpose Plane";<br />
[15] = "Supplementary Private Use Area-A";<br />
[16] = "Supplementary Private Use Area-B";<br />
}<br />
<br />
-- Load [[Module:Unicode data/blocks]] if needed and assign it to this variable.<br />
local blocks<br />
<br />
local function block_iter(blocks, i)<br />
i = i + 1<br />
local data = blocks[i]<br />
if data then<br />
-- Unpack doesn't work on tables loaded with mw.loadData.<br />
return i, data[1], data[2], data[3]<br />
end<br />
end<br />
<br />
-- An ipairs-type iterator generator for the list of blocks.<br />
function p.enum_blocks()<br />
local blocks = loader.blocks<br />
return block_iter, blocks, 0<br />
end<br />
<br />
function p.lookup_plane(codepoint)<br />
local i = floor(codepoint / 0x10000)<br />
return planes[i] or ("Plane %u"):format(i)<br />
end<br />
<br />
function p.lookup_block(codepoint)<br />
local blocks = loader.blocks<br />
local range = binary_range_search(codepoint, blocks)<br />
if range then<br />
return range[3]<br />
else<br />
return "No Block"<br />
end<br />
end<br />
<br />
function p.get_block_info(name)<br />
for i, block in ipairs(loader.blocks) do<br />
if block[3] == name then<br />
return block<br />
end<br />
end<br />
end<br />
<br />
function p.is_valid_pagename(pagename)<br />
local has_nonws = false<br />
<br />
for cp in mw.ustring.gcodepoint(pagename) do<br />
if (cp == 0x0023) -- #<br />
or (cp == 0x005B) -- [<br />
or (cp == 0x005D) -- ]<br />
or (cp == 0x007B) -- {<br />
or (cp == 0x007C) -- |<br />
or (cp == 0x007D) -- }<br />
or (cp == 0x180E) -- MONGOLIAN VOWEL SEPARATOR<br />
or ((cp >= 0x2000) and (cp <= 0x200A)) -- spaces in General Punctuation block<br />
or (cp == 0xFFFD) -- REPLACEMENT CHARACTER<br />
then<br />
return false<br />
end<br />
<br />
local printable, result = p.is_printable(cp)<br />
if not printable then<br />
return false<br />
end<br />
<br />
if result ~= "space-separator" then<br />
has_nonws = true<br />
end<br />
end<br />
<br />
return has_nonws<br />
end<br />
<br />
local function manual_unpack(what, from)<br />
if what[from + 1] == nil then<br />
return what[from]<br />
end<br />
<br />
local result = {}<br />
from = from or 1<br />
for i, item in ipairs(what) do<br />
if i >= from then<br />
table.insert(result, item)<br />
end<br />
end<br />
return unpack(result)<br />
end<br />
<br />
local function compare_ranges(range1, range2)<br />
return range1[1] < range2[1]<br />
end<br />
<br />
-- Creates a function to look up data in a module that contains "singles" (a<br />
-- code point-to-data map) and "ranges" (an array containing arrays that contain<br />
-- the low and high code points of a range and the data associated with that<br />
-- range).<br />
-- "loader" loads and returns the "singles" and "ranges" tables.<br />
-- "match_func" is passed the code point and either the data or the "dots", and<br />
-- generates the final result of the function.<br />
-- The varargs ("dots") describes the default data to be returned if there wasn't<br />
-- a match.<br />
-- In case the function is used more than once, "cache" saves ranges that have<br />
-- already been found to match, or a range whose data is the default if there<br />
-- was no match.<br />
local function memo_lookup(data_module_subpage, match_func, ...)<br />
local dots = { ... }<br />
local cache = {}<br />
local singles, ranges<br />
<br />
return function (codepoint)<br />
if not singles then<br />
local data_module = loader[data_module_subpage]<br />
singles, ranges = data_module.singles, data_module.ranges<br />
end<br />
<br />
if singles[codepoint] then<br />
return match_func(codepoint, singles[codepoint])<br />
end<br />
<br />
local range = binary_range_search(codepoint, cache)<br />
if range then<br />
return match_func(codepoint, manual_unpack(range, 3))<br />
end<br />
<br />
local range, index = binary_range_search(codepoint, ranges)<br />
if range then<br />
table.insert(cache, range)<br />
table.sort(cache, compare_ranges)<br />
return match_func(codepoint, manual_unpack(range, 3))<br />
end<br />
<br />
if ranges[index] then<br />
local dots_range<br />
if codepoint > ranges[index][2] then<br />
dots_range = {<br />
ranges[index][2] + 1,<br />
ranges[index + 1] and ranges[index + 1][1] - 1 or 0x10FFFF,<br />
unpack(dots)<br />
}<br />
else -- codepoint < range[index][1]<br />
dots_range = {<br />
ranges[index - 1] and ranges[index - 1][2] + 1 or 0,<br />
ranges[index][1] - 1,<br />
unpack(dots)<br />
}<br />
end<br />
table.sort(cache, compare_ranges)<br />
end<br />
<br />
return match_func(codepoint)<br />
end<br />
end<br />
<br />
-- Get a code point's combining class value in [[Module:Unicode data/combining]],<br />
-- and return whether this value is not zero. Zero is assigned as the default<br />
-- if the combining class value is not found in this data module.<br />
-- That is, return true if character is combining, or false if it is not.<br />
-- See https://www.unicode.org/reports/tr44/#Canonical_Combining_Class_Values for<br />
-- more information.<br />
p.is_combining = memo_lookup(<br />
"combining",<br />
function (codepoint, combining_class)<br />
return combining_class and combining_class ~= 0 or false<br />
end,<br />
0)<br />
<br />
function p.add_dotted_circle(str)<br />
return (mw.ustring.gsub(str, ".",<br />
function(char)<br />
if p.is_combining(mw.ustring.codepoint(char)) then<br />
return '◌' .. char<br />
end<br />
end))<br />
end<br />
<br />
local lookup_control = memo_lookup(<br />
"control",<br />
function (codepoint, ccc)<br />
return ccc or "assigned"<br />
end,<br />
"assigned")<br />
p.lookup_control = lookup_control<br />
<br />
function p.is_assigned(codepoint)<br />
return lookup_control(codepoint) ~= "unassigned"<br />
end<br />
<br />
function p.is_printable(codepoint)<br />
local result = lookup_control(codepoint)<br />
return (result == "assigned") or (result == "space-separator"), result<br />
end<br />
<br />
function p.is_whitespace(codepoint)<br />
local result = lookup_control(codepoint)<br />
return (result == "space-separator"), result<br />
end<br />
<br />
p.lookup_category = memo_lookup(<br />
"category",<br />
function (codepoint, category)<br />
return category<br />
end,<br />
"Cn")<br />
<br />
local lookup_script = memo_lookup(<br />
"scripts",<br />
function (codepoint, script_code)<br />
return script_code or 'Zzzz'<br />
end,<br />
"Zzzz")<br />
p.lookup_script = lookup_script<br />
<br />
function p.get_best_script(str)<br />
-- Check type of argument, because mw.text.decode coerces numbers to strings!<br />
require "libraryUtil".checkType("get_best_script", 1, str, "string")<br />
<br />
-- Convert HTML character references (including named character references,<br />
-- or character entities) to characters.<br />
str = mw.text.decode(str, true)<br />
<br />
local scripts = {}<br />
for codepoint in mw.ustring.gcodepoint(str) do<br />
local script = lookup_script(codepoint)<br />
<br />
-- Ignore "Inherited", "Undetermined", or "Uncoded" scripts.<br />
if not (script == "Zyyy" or script == "Zinh" or script == "Zzzz") then<br />
scripts[script] = true<br />
end<br />
end<br />
<br />
-- If scripts does not contain two or more keys,<br />
-- return first and only key (script code) in table.<br />
if not next(scripts, next(scripts)) then<br />
return next(scripts)<br />
end -- else return majority script, or else "Zzzz"?<br />
end<br />
<br />
function p.is_Latin(str)<br />
require "libraryUtil".checkType("get_best_script", 1, str, "string")<br />
str = mw.text.decode(str, true)<br />
<br />
-- Search for the leading bytes that introduce the UTF-8 encoding of the<br />
-- code points U+0340-U+10FFFF. If they are not found and there is at least<br />
-- one Latin-script character, the string counts as Latin, because the rest<br />
-- of the characters can only be Zyyy, Zinh, and Zzzz.<br />
-- The only scripts found below U+0370 (the first code point of the Greek<br />
-- and Coptic block) are Latn, Zyyy, Zinh, and Zzzz.<br />
-- See the codepage in the [[UTF-8]] article.<br />
if not str:find "[\205-\244]" then<br />
for codepoint in mw.ustring.gcodepoint(str) do<br />
if lookup_script(codepoint) == "Latn" then<br />
return true<br />
end<br />
end<br />
end<br />
<br />
local Latn = false<br />
<br />
for codepoint in mw.ustring.gcodepoint(str) do<br />
local script = lookup_script(codepoint)<br />
<br />
if script == "Latn" then<br />
Latn = true<br />
elseif not (script == "Zyyy" or script == "Zinh"<br />
or script == "Zzzz") then<br />
return false<br />
end<br />
end<br />
<br />
return Latn<br />
end<br />
<br />
-- Checks that a string contains only characters belonging to right-to-left<br />
-- scripts, or characters of ignorable scripts.<br />
function p.is_rtl(str)<br />
require "libraryUtil".checkType("get_best_script", 1, str, "string")<br />
str = mw.text.decode(str, true)<br />
<br />
-- Search for the leading bytes that introduce the UTF-8 encoding of the<br />
-- code points U+0580-U+10FFFF. If they are not found, the string can only<br />
-- have characters from a left-to-right script, because the first code point<br />
-- in a right-to-left script is U+0591, in the Hebrew block.<br />
if not str:find "[\214-\244]" then<br />
return false<br />
end<br />
<br />
local result = false<br />
local rtl = loader.scripts.rtl<br />
for codepoint in mw.ustring.gcodepoint(str) do<br />
local script = lookup_script(codepoint)<br />
<br />
if rtl[script] then<br />
result = true<br />
elseif not (script == "Zyyy" or script == "Zinh"<br />
or script == "Zzzz") then<br />
return false<br />
end<br />
end<br />
<br />
return result<br />
end<br />
<br />
local function get_codepoint(args, arg)<br />
local codepoint_string = args[arg]<br />
or errorf(2, "Parameter %s is required", tostring(arg))<br />
local codepoint = tonumber(codepoint_string, 16)<br />
or errorf(2, "Parameter %s is not a code point in hexadecimal base",<br />
tostring(arg))<br />
if not (0 <= codepoint and codepoint <= 0x10FFFF) then<br />
errorf(2, "code point in parameter %s out of range", tostring(arg))<br />
end<br />
return codepoint<br />
end<br />
<br />
local function get_func(args, arg, prefix)<br />
local suffix = args[arg]<br />
or errorf(2, "Parameter %s is required", tostring(arg))<br />
suffix = mw.text.trim(suffix)<br />
local func_name = prefix .. suffix<br />
local func = p[func_name]<br />
or errorf(2, "There is no function '%s'", func_name)<br />
return func<br />
end<br />
<br />
-- This function allows any of the "lookup" functions to be invoked. The first<br />
-- parameter is the word after "lookup_"; the second parameter is the code point<br />
-- in hexadecimal base.<br />
function p.lookup(frame)<br />
local func = get_func(frame.args, 1, "lookup_")<br />
local codepoint = get_codepoint(frame.args, 2)<br />
local result = func(codepoint)<br />
if func == p.lookup_name then<br />
-- Prevent code point labels such as <control-0000> from being<br />
-- interpreted as HTML tags.<br />
result = result:gsub("<", "&lt;")<br />
end<br />
return result<br />
end<br />
<br />
function p.is(frame)<br />
local func = get_func(frame.args, 1, "is_")<br />
<br />
-- is_Latin and is_valid_pagename take strings.<br />
if func == p.is_Latin or func == p.is_valid_pagename or func == p.is_rtl then<br />
return (func(frame.args[2]))<br />
else -- The rest take code points.<br />
local codepoint = get_codepoint(frame.args, 2)<br />
return (func(codepoint)) -- Adjust to one result.<br />
end<br />
end<br />
<br />
return p</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Transclusion_count/data/C&diff=3404
Module:Transclusion count/data/C
2022-06-25T21:30:38Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>return {<br />
["C"] = 594000,<br />
["C-Class"] = 75000,<br />
["C-SPAN"] = 12000,<br />
["C-cmn"] = 2500,<br />
["C-pl"] = 52000,<br />
["C."] = 2300,<br />
["CAN"] = 20000,<br />
["CANelec"] = 13000,<br />
["CANelec/gain"] = 2400,<br />
["CANelec/hold"] = 4400,<br />
["CANelec/source"] = 6400,<br />
["CANelec/top"] = 5600,<br />
["CANelec/total"] = 5600,<br />
["CAS"] = 3800,<br />
["CBB_Standings_End"] = 14000,<br />
["CBB_Standings_Entry"] = 14000,<br />
["CBB_Standings_Start"] = 14000,<br />
["CBB_Yearly_Record_End"] = 2800,<br />
["CBB_Yearly_Record_Entry"] = 2900,<br />
["CBB_Yearly_Record_Start"] = 2800,<br />
["CBB_Yearly_Record_Subhead"] = 3400,<br />
["CBB_Yearly_Record_Subtotal"] = 2700,<br />
["CBB_roster/Footer"] = 6900,<br />
["CBB_roster/Header"] = 6900,<br />
["CBB_roster/Player"] = 6800,<br />
["CBB_schedule_end"] = 9500,<br />
["CBB_schedule_entry"] = 9600,<br />
["CBB_schedule_start"] = 9600,<br />
["CBB_yearly_record_end"] = 3800,<br />
["CBB_yearly_record_end/legend"] = 3400,<br />
["CBB_yearly_record_entry"] = 3800,<br />
["CBB_yearly_record_start"] = 3700,<br />
["CBB_yearly_record_subhead"] = 3500,<br />
["CBB_yearly_record_subtotal"] = 3600,<br />
["CBSB_Standings_End"] = 4000,<br />
["CBSB_Standings_Entry"] = 4000,<br />
["CBSB_Standings_Start"] = 4000,<br />
["CBSB_link"] = 3300,<br />
["CC0"] = 4500,<br />
["CENTURY"] = 16000,<br />
["CFB_Standings_End"] = 32000,<br />
["CFB_Standings_Entry"] = 32000,<br />
["CFB_Standings_Start"] = 32000,<br />
["CFB_Yearly_Record_End"] = 6400,<br />
["CFB_Yearly_Record_End/legend"] = 2200,<br />
["CFB_Yearly_Record_Entry"] = 6400,<br />
["CFB_Yearly_Record_Start"] = 6400,<br />
["CFB_Yearly_Record_Subhead"] = 6400,<br />
["CFB_Yearly_Record_Subtotal"] = 6300,<br />
["CFB_schedule"] = 24000,<br />
["CFB_schedule_entry"] = 17000,<br />
["CFL_Year"] = 5400,<br />
["CGF_year"] = 2400,<br />
["CHE"] = 10000,<br />
["CHI"] = 2700,<br />
["CHL"] = 3600,<br />
["CHN"] = 11000,<br />
["CN"] = 2300,<br />
["COI"] = 14000,<br />
["COIUL"] = 124000,<br />
["COI_editnotice"] = 6200,<br />
["COL"] = 4700,<br />
["COLON"] = 13000,<br />
["CRI"] = 2100,<br />
["CRO"] = 4000,<br />
["CSK"] = 2800,<br />
["CSS_image_crop"] = 3800,<br />
["CUB"] = 3500,<br />
["CURRENTDATE"] = 3600,<br />
["CURRENTISOYEAR"] = 2000,<br />
["CURRENTMINUTE"] = 2500,<br />
["CZE"] = 14000,<br />
["Calendar"] = 2400,<br />
["California/color"] = 11000,<br />
["Call_sign_disambiguation"] = 2900,<br />
["Campaignbox"] = 21000,<br />
["CanProvName"] = 12000,<br />
["CanadaByProvinceCatNav"] = 9600,<br />
["CanadaProvinceThe"] = 3900,<br />
["Canadian_English"] = 5000,<br />
["Canadian_Parliament_links"] = 5100,<br />
["Canadian_election_result"] = 13000,<br />
["Canadian_election_result/gain"] = 2500,<br />
["Canadian_election_result/hold"] = 4500,<br />
["Canadian_election_result/source"] = 7500,<br />
["Canadian_election_result/top"] = 12000,<br />
["Canadian_election_result/top/ElectionYearTest"] = 5300,<br />
["Canadian_election_result/total"] = 9600,<br />
["Canadian_party_colour"] = 7500,<br />
["Canadian_party_colour/colour"] = 16000,<br />
["Canadian_party_colour/colour/default"] = 16000,<br />
["Canadian_party_colour/name"] = 14000,<br />
["Canadian_party_colour/name/default"] = 6100,<br />
["Canned_search"] = 3900,<br />
["Cascite"] = 15000,<br />
["Caselaw_source"] = 3900,<br />
["Cast_listing"] = 11000,<br />
["Cat"] = 291000,<br />
["CatAutoTOC"] = 623000,<br />
["CatAutoTOC/core"] = 622000,<br />
["CatRel"] = 3800,<br />
["CatTrack"] = 3000,<br />
["Cat_class"] = 6700,<br />
["Cat_in_use"] = 50000,<br />
["Cat_main"] = 174000,<br />
["Cat_more"] = 107000,<br />
["Cat_more_if_exists"] = 44000,<br />
["Cat_see_also"] = 3400,<br />
["Catalog_lookup_link"] = 487000,<br />
["Category"] = 200000,<br />
["Category-Class"] = 14000,<br />
["Category-inline"] = 8300,<br />
["Category_TOC"] = 71000,<br />
["Category_TOC/tracking"] = 71000,<br />
["Category_U.S._State_elections_by_year"] = 7300,<br />
["Category_U.S._State_elections_by_year/core"] = 7200,<br />
["Category_class"] = 36000,<br />
["Category_class/column"] = 36000,<br />
["Category_class/second_row_column"] = 36000,<br />
["Category_described_in_year"] = 5600,<br />
["Category_diffuse"] = 7500,<br />
["Category_disambiguation"] = 2300,<br />
["Category_disambiguation/category_link"] = 2300,<br />
["Category_explanation"] = 75000,<br />
["Category_handler"] = 3220000,<br />
["Category_ifexist"] = 4800,<br />
["Category_importance"] = 11000,<br />
["Category_importance/column"] = 11000,<br />
["Category_importance/second_row_column"] = 11000,<br />
["Category_link"] = 310000,<br />
["Category_link_with_count"] = 5700,<br />
["Category_ordered_by_date"] = 9700,<br />
["Category_other"] = 847000,<br />
["Category_redirect"] = 103000,<br />
["Category_see_also"] = 33000,<br />
["Category_see_also/Category_pair_check"] = 33000,<br />
["Category_see_also_if_exists"] = 71000,<br />
["Category_see_also_if_exists_2"] = 84000,<br />
["Category_title"] = 2400,<br />
["Catexp"] = 7100,<br />
["CathEncy"] = 2300,<br />
["Catholic"] = 4200,<br />
["Catholic_Encyclopedia"] = 5100,<br />
["Catmain"] = 24000,<br />
["Catmore"] = 9400,<br />
["Caution"] = 2100,<br />
["Cbb_link"] = 7600,<br />
["Cbignore"] = 96000,<br />
["Cbsb_link"] = 2000,<br />
["Cc-by-2.5"] = 4300,<br />
["Cc-by-3.0"] = 9800,<br />
["Cc-by-sa-2.5"] = 3000,<br />
["Cc-by-sa-2.5,2.0,1.0"] = 3100,<br />
["Cc-by-sa-3.0"] = 29000,<br />
["Cc-by-sa-3.0,2.5,2.0,1.0"] = 2800,<br />
["Cc-by-sa-3.0-migrated"] = 28000,<br />
["Cc-by-sa-4.0"] = 12000,<br />
["Cc-zero"] = 4400,<br />
["CensusAU"] = 11000,<br />
["Census_2016_AUS"] = 8700,<br />
["Cent"] = 5300,<br />
["Center"] = 239000,<br />
["Centralized_discussion"] = 5600,<br />
["Centralized_discussion/core"] = 5600,<br />
["Centralized_discussion/styles.css"] = 5600,<br />
["Centre"] = 2600,<br />
["Century"] = 2000,<br />
["Century_name_from_decade_or_year"] = 72000,<br />
["Century_name_from_title_decade"] = 7200,<br />
["Century_name_from_title_year"] = 7000,<br />
["Certification_Cite/Title"] = 25000,<br />
["Certification_Cite/URL"] = 29000,<br />
["Certification_Cite/archivedate"] = 5300,<br />
["Certification_Cite/archiveurl"] = 5300,<br />
["Certification_Cite_Ref"] = 26000,<br />
["Certification_Table_Bottom"] = 25000,<br />
["Certification_Table_Entry"] = 26000,<br />
["Certification_Table_Entry/Foot"] = 25000,<br />
["Certification_Table_Entry/Foot/helper"] = 25000,<br />
["Certification_Table_Entry/Region"] = 26000,<br />
["Certification_Table_Entry/Sales"] = 25000,<br />
["Certification_Table_Entry/Sales/DanishPeriod"] = 2700,<br />
["Certification_Table_Entry/Sales/DanishPeriodHelper1"] = 2700,<br />
["Certification_Table_Entry/Sales/DanishPeriodHelper2"] = 2700,<br />
["Certification_Table_Entry/Sales/GermanPeriod"] = 3100,<br />
["Certification_Table_Entry/Sales/ItalianHelper"] = 2900,<br />
["Certification_Table_Top"] = 26000,<br />
["Cfb_link"] = 23000,<br />
["Cfd_result"] = 2400,<br />
["Cfdend"] = 4000,<br />
["Chart"] = 4500,<br />
["Chart/end"] = 4600,<br />
["Chart/start"] = 4600,<br />
["Chart_bottom"] = 3000,<br />
["Chart_top"] = 3000,<br />
["Check_completeness_of_transclusions"] = 6300,<br />
["Check_talk"] = 27000,<br />
["Check_talk_wp"] = 1370000,<br />
["Check_winner_by_scores"] = 12000,<br />
["CheckedSockpuppet"] = 7100,<br />
["Checked_sockpuppet"] = 18000,<br />
["Checkedsockpuppet"] = 5300,<br />
["Checkip"] = 12000,<br />
["Checkuser"] = 70000,<br />
["Checkuserblock-account"] = 9000,<br />
["Chem"] = 4700,<br />
["Chem/atom"] = 4600,<br />
["Chem/link"] = 4700,<br />
["Chem_molar_mass"] = 17000,<br />
["Chem_molar_mass/format"] = 17000,<br />
["Chembox"] = 13000,<br />
["Chembox/styles.css"] = 13000,<br />
["Chembox_3DMet"] = 13000,<br />
["Chembox_3DMet/format"] = 13000,<br />
["Chembox_AllOtherNames"] = 12000,<br />
["Chembox_AllOtherNames/format"] = 12000,<br />
["Chembox_Appearance"] = 5600,<br />
["Chembox_BoilingPt"] = 3600,<br />
["Chembox_CASNo"] = 13000,<br />
["Chembox_CASNo/format"] = 13000,<br />
["Chembox_CalcTemperatures"] = 6400,<br />
["Chembox_ChEBI"] = 13000,<br />
["Chembox_ChEBI/format"] = 13000,<br />
["Chembox_ChEMBL"] = 13000,<br />
["Chembox_ChEMBL/format"] = 13000,<br />
["Chembox_ChemSpiderID"] = 13000,<br />
["Chembox_ChemSpiderID/format"] = 13000,<br />
["Chembox_CompTox"] = 13000,<br />
["Chembox_CompTox/format"] = 13000,<br />
["Chembox_Datapage_check"] = 13000,<br />
["Chembox_Density"] = 4600,<br />
["Chembox_DrugBank"] = 13000,<br />
["Chembox_DrugBank/format"] = 13000,<br />
["Chembox_ECHA"] = 7300,<br />
["Chembox_ECNumber"] = 13000,<br />
["Chembox_ECNumber/format"] = 13000,<br />
["Chembox_Elements"] = 13000,<br />
["Chembox_Elements/molecular_formula"] = 17000,<br />
["Chembox_Footer"] = 13000,<br />
["Chembox_Footer/tracking"] = 13000,<br />
["Chembox_GHS_(set)"] = 3300,<br />
["Chembox_Hazards"] = 11000,<br />
["Chembox_IUPHAR_ligand"] = 13000,<br />
["Chembox_IUPHAR_ligand/format"] = 13000,<br />
["Chembox_Identifiers"] = 13000,<br />
["Chembox_InChI"] = 12000,<br />
["Chembox_InChI/format"] = 12000,<br />
["Chembox_Indexlist"] = 13000,<br />
["Chembox_Jmol"] = 13000,<br />
["Chembox_Jmol/format"] = 13000,<br />
["Chembox_KEGG"] = 13000,<br />
["Chembox_KEGG/format"] = 13000,<br />
["Chembox_MeltingPt"] = 5500,<br />
["Chembox_Properties"] = 13000,<br />
["Chembox_PubChem"] = 13000,<br />
["Chembox_PubChem/format"] = 13000,<br />
["Chembox_RTECS"] = 13000,<br />
["Chembox_RTECS/format"] = 13000,<br />
["Chembox_Related"] = 3000,<br />
["Chembox_SMILES"] = 12000,<br />
["Chembox_SMILES/format"] = 12000,<br />
["Chembox_SolubilityInWater"] = 3600,<br />
["Chembox_UNII"] = 13000,<br />
["Chembox_UNII/format"] = 13000,<br />
["Chembox_headerbar"] = 13000,<br />
["Chembox_image"] = 12000,<br />
["Chembox_image_cell"] = 12000,<br />
["Chembox_image_sbs"] = 12000,<br />
["Chembox_parametercheck"] = 13000,<br />
["Chembox_setDatarow"] = 4300,<br />
["Chembox_setHeader"] = 4300,<br />
["Chembox_templatePar/formatPreviewMessage"] = 13000,<br />
["Chembox_verification"] = 7100,<br />
["Chemicals"] = 7300,<br />
["Chemistry"] = 2900,<br />
["Chemspidercite"] = 11000,<br />
["Chessgames_player"] = 3400,<br />
["Chinese"] = 7700,<br />
["Chr"] = 8900,<br />
["ChristianityWikiProject"] = 6000,<br />
["Circa"] = 50000,<br />
["Circular_reference"] = 4700,<br />
["Citation"] = 349000,<br />
["Citation/make_link"] = 5400,<br />
["Citation/styles.css"] = 44000,<br />
["Citation_needed"] = 500000,<br />
["Citation_needed_span"] = 3200,<br />
["Citation_style"] = 4300,<br />
["Cite_AV_media"] = 38000,<br />
["Cite_AV_media_notes"] = 24000,<br />
["Cite_Appletons'"] = 2400,<br />
["Cite_Australian_Dictionary_of_Biography"] = 2900,<br />
["Cite_Catholic_Encyclopedia"] = 8100,<br />
["Cite_Colledge2006"] = 3100,<br />
["Cite_DCB"] = 2800,<br />
["Cite_DNB"] = 17000,<br />
["Cite_EB1911"] = 24000,<br />
["Cite_GNIS"] = 2500,<br />
["Cite_Gaia_DR2"] = 2300,<br />
["Cite_Jewish_Encyclopedia"] = 2800,<br />
["Cite_NIE"] = 3600,<br />
["Cite_NSW_Parliament"] = 3300,<br />
["Cite_NSW_SHR"] = 2600,<br />
["Cite_ODNB"] = 14000,<br />
["Cite_Q"] = 48000,<br />
["Cite_QHR"] = 3000,<br />
["Cite_QPN"] = 3900,<br />
["Cite_Rowlett"] = 2500,<br />
["Cite_Russian_law"] = 7800,<br />
["Cite_Sports-Reference"] = 54000,<br />
["Cite_WoRMS"] = 4900,<br />
["Cite_act"] = 2200,<br />
["Cite_arXiv"] = 4300,<br />
["Cite_bcgnis"] = 2900,<br />
["Cite_book"] = 1460000,<br />
["Cite_certification"] = 29000,<br />
["Cite_cgndb"] = 2800,<br />
["Cite_conference"] = 14000,<br />
["Cite_court"] = 4900,<br />
["Cite_dictionary"] = 5100,<br />
["Cite_document"] = 8900,<br />
["Cite_encyclopedia"] = 189000,<br />
["Cite_episode"] = 16000,<br />
["Cite_gnis"] = 35000,<br />
["Cite_interview"] = 6700,<br />
["Cite_iucn"] = 54000,<br />
["Cite_journal"] = 877000,<br />
["Cite_magazine"] = 188000,<br />
["Cite_map"] = 32000,<br />
["Cite_news"] = 1370000,<br />
["Cite_newspaper_The_Times"] = 6100,<br />
["Cite_patent"] = 4800,<br />
["Cite_patent/authors"] = 3900,<br />
["Cite_patent/core"] = 5200,<br />
["Cite_peakbagger"] = 4000,<br />
["Cite_podcast"] = 3000,<br />
["Cite_press_release"] = 56000,<br />
["Cite_report"] = 29000,<br />
["Cite_rowlett"] = 2500,<br />
["Cite_simbad"] = 4100,<br />
["Cite_sports-reference"] = 58000,<br />
["Cite_thesis"] = 24000,<br />
["Cite_tweet"] = 28000,<br />
["Cite_video"] = 12000,<br />
["Cite_video_game"] = 2900,<br />
["Cite_web"] = 4290000,<br />
["Cite_wikisource"] = 5100,<br />
["Cite_wikisource/make_link"] = 55000,<br />
["Civil_navigation"] = 2700,<br />
["Cl"] = 109000,<br />
["Clade"] = 6500,<br />
["Clade/styles.css"] = 6500,<br />
["Clarify"] = 38000,<br />
["Class"] = 9530000,<br />
["Class/colour"] = 1770000,<br />
["Class/icon"] = 1310000,<br />
["Class_mask"] = 9770000,<br />
["Class_mask/b"] = 329000,<br />
["Classical"] = 7000,<br />
["Classicon"] = 4600,<br />
["Clc"] = 4900,<br />
["Cleanup"] = 11000,<br />
["Cleanup_bare_URLs"] = 3800,<br />
["Cleanup_reorganize"] = 2600,<br />
["Cleanup_rewrite"] = 5500,<br />
["Clear"] = 3530000,<br />
["Clear-left"] = 19000,<br />
["Clear_left"] = 32000,<br />
["Clear_right"] = 2800,<br />
["Clerk-Note"] = 9200,<br />
["Clerknote"] = 6900,<br />
["Clickable_button"] = 12000,<br />
["Clickable_button_2"] = 867000,<br />
["Clr"] = 3700,<br />
["Cmbox"] = 396000,<br />
["Cn"] = 75000,<br />
["Cnote2"] = 2100,<br />
["Cnote2_Begin"] = 2100,<br />
["Cnote2_End"] = 2100,<br />
["Coat_of_arms"] = 7500,<br />
["Cob"] = 11000,<br />
["Code"] = 47000,<br />
["Col-1-of-2"] = 2400,<br />
["Col-2"] = 165000,<br />
["Col-2-of-2"] = 2300,<br />
["Col-3"] = 10000,<br />
["Col-4"] = 3500,<br />
["Col-begin"] = 209000,<br />
["Col-break"] = 207000,<br />
["Col-end"] = 207000,<br />
["Col-float"] = 2400,<br />
["Col-float-break"] = 2300,<br />
["Col-float-end"] = 2300,<br />
["Col-float/styles.css"] = 2400,<br />
["Col-start"] = 22000,<br />
["Colbegin"] = 39000,<br />
["Colend"] = 52000,<br />
["Collapse"] = 8900,<br />
["Collapse_bottom"] = 48000,<br />
["Collapse_top"] = 48000,<br />
["Collapsebottom"] = 3800,<br />
["Collapsetop"] = 3800,<br />
["Collapsible_list"] = 49000,<br />
["Collapsible_option"] = 129000,<br />
["College"] = 7900,<br />
["CollegePrimaryHeader"] = 4900,<br />
["CollegePrimaryStyle"] = 90000,<br />
["CollegeSecondaryStyle"] = 2600,<br />
["College_Athlete_Recruit_End"] = 2600,<br />
["College_Athlete_Recruit_Entry"] = 2700,<br />
["College_Athlete_Recruit_Start"] = 2700,<br />
["College_athlete_recruit_end"] = 3700,<br />
["College_athlete_recruit_entry"] = 3800,<br />
["College_athlete_recruit_start"] = 3800,<br />
["College_color_list"] = 3700,<br />
["Colon"] = 17000,<br />
["Color"] = 469000,<br />
["Color_box"] = 70000,<br />
["Colorbox"] = 3400,<br />
["Colorbull"] = 5300,<br />
["Colored_link"] = 34000,<br />
["Colors"] = 2000,<br />
["Colour"] = 10000,<br />
["Coloured_link"] = 4900,<br />
["Column"] = 2100,<br />
["Column/styles.css"] = 2100,<br />
["Columns-list"] = 88000,<br />
["Comedy"] = 2600,<br />
["Comic_Book_DB"] = 3700,<br />
["Comicbookdb"] = 3600,<br />
["Comics-replaceability"] = 2900,<br />
["Comics_infobox_sec"] = 12000,<br />
["Comics_infobox_sec/creator_nat"] = 3000,<br />
["Comics_infobox_sec/formcat"] = 3100,<br />
["Comics_infobox_sec/genre"] = 3800,<br />
["Comics_infobox_sec/genrecat"] = 3500,<br />
["Comicsproj"] = 28000,<br />
["Comicsyrimage"] = 2000,<br />
["Comma_separated_entries"] = 378000,<br />
["Comma_separated_values"] = 39000,<br />
["Comment"] = 4600,<br />
["Committed_identity"] = 3000,<br />
["Committed_identity/styles.css"] = 3000,<br />
["Commons"] = 64000,<br />
["Commons-inline"] = 16000,<br />
["Commons_cat"] = 48000,<br />
["Commons_category"] = 819000,<br />
["Commons_category-inline"] = 132000,<br />
["Commons_category_inline"] = 5600,<br />
["Commonscat"] = 64000,<br />
["Commonscat-inline"] = 18000,<br />
["Commonscat_inline"] = 2200,<br />
["Commonscatinline"] = 7000,<br />
["Compact_TOC"] = 6800,<br />
["Compact_ToC"] = 5000,<br />
["Compare"] = 4700,<br />
["Compare_image_with_Wikidata"] = 8800,<br />
["Composition_bar"] = 9400,<br />
["Confirmed"] = 15000,<br />
["Confused"] = 2500,<br />
["Confusing"] = 2400,<br />
["CongBio"] = 9800,<br />
["CongLinks"] = 4400,<br />
["Connected_contributor"] = 16000,<br />
["Connected_contributor_(paid)"] = 6400,<br />
["Constellation_navbox"] = 6000,<br />
["Container"] = 9500,<br />
["Container_cat"] = 7200,<br />
["Container_category"] = 38000,<br />
["Containercat"] = 2700,<br />
["Contains_special_characters"] = 3600,<br />
["Contains_special_characters/core"] = 3600,<br />
["Content_category"] = 7400,<br />
["Context"] = 2700,<br />
["Continent2continental"] = 15000,<br />
["Continent_adjective_to_noun"] = 2200,<br />
["Controversial"] = 3100,<br />
["Convert"] = 1120000,<br />
["Convinfobox"] = 194000,<br />
["Convinfobox/2"] = 14000,<br />
["Convinfobox/3"] = 116000,<br />
["Convinfobox/pri2"] = 58000,<br />
["Convinfobox/prisec2"] = 2700,<br />
["Convinfobox/prisec3"] = 24000,<br />
["Convinfobox/sec2"] = 8200,<br />
["Coord"] = 1290000,<br />
["Coord_missing"] = 105000,<br />
["Coord_missing/CheckCat"] = 105000,<br />
["Coords"] = 7600,<br />
["Copied"] = 17000,<br />
["Copy_to_Wikimedia_Commons"] = 126000,<br />
["Copyvios"] = 3300,<br />
["Cospar"] = 3100,<br />
["Cot"] = 11000,<br />
["Count"] = 8100,<br />
["Country2continent"] = 28000,<br />
["Country2continental"] = 2400,<br />
["Country2nationality"] = 73000,<br />
["CountryPrefixThe"] = 101000,<br />
["Country_abbreviation"] = 85000,<br />
["Country_alias"] = 14000,<br />
["Country_at_games_navbox"] = 2500,<br />
["Country_at_games_navbox/below"] = 2500,<br />
["Country_data"] = 5500,<br />
["Country_data_AFG"] = 2000,<br />
["Country_data_ALB"] = 5900,<br />
["Country_data_ALG"] = 8400,<br />
["Country_data_AND"] = 2700,<br />
["Country_data_ANG"] = 3700,<br />
["Country_data_ARG"] = 44000,<br />
["Country_data_ARM"] = 6500,<br />
["Country_data_AUS"] = 70000,<br />
["Country_data_AUT"] = 42000,<br />
["Country_data_AZE"] = 7800,<br />
["Country_data_Afghanistan"] = 11000,<br />
["Country_data_Alaska"] = 2300,<br />
["Country_data_Albania"] = 17000,<br />
["Country_data_Alberta"] = 3500,<br />
["Country_data_Algeria"] = 22000,<br />
["Country_data_American_Samoa"] = 3100,<br />
["Country_data_Andorra"] = 7500,<br />
["Country_data_Angola"] = 10000,<br />
["Country_data_Anguilla"] = 2700,<br />
["Country_data_Antigua_and_Barbuda"] = 5900,<br />
["Country_data_Apulia"] = 7900,<br />
["Country_data_Argentina"] = 72000,<br />
["Country_data_Arizona"] = 2400,<br />
["Country_data_Arkansas"] = 2400,<br />
["Country_data_Armenia"] = 19000,<br />
["Country_data_Aruba"] = 3500,<br />
["Country_data_Australia"] = 113000,<br />
["Country_data_Austria"] = 68000,<br />
["Country_data_Azerbaijan"] = 24000,<br />
["Country_data_BAH"] = 3700,<br />
["Country_data_BAN"] = 3500,<br />
["Country_data_BAR"] = 2300,<br />
["Country_data_BEL"] = 47000,<br />
["Country_data_BER"] = 2200,<br />
["Country_data_BHR"] = 4000,<br />
["Country_data_BIH"] = 12000,<br />
["Country_data_BLR"] = 23000,<br />
["Country_data_BOL"] = 5300,<br />
["Country_data_BOT"] = 2100,<br />
["Country_data_BRA"] = 54000,<br />
["Country_data_BUL"] = 23000,<br />
["Country_data_Bahamas"] = 9400,<br />
["Country_data_Bahrain"] = 10000,<br />
["Country_data_Bangladesh"] = 16000,<br />
["Country_data_Barbados"] = 7900,<br />
["Country_data_Belarus"] = 39000,<br />
["Country_data_Belgium"] = 77000,<br />
["Country_data_Belize"] = 5100,<br />
["Country_data_Benin"] = 6900,<br />
["Country_data_Bermuda"] = 5700,<br />
["Country_data_Bhutan"] = 4600,<br />
["Country_data_Bolivia"] = 14000,<br />
["Country_data_Bosnia_and_Herzegovina"] = 26000,<br />
["Country_data_Botswana"] = 8800,<br />
["Country_data_Brazil"] = 91000,<br />
["Country_data_British_Columbia"] = 3200,<br />
["Country_data_British_Raj"] = 2000,<br />
["Country_data_British_Virgin_Islands"] = 3400,<br />
["Country_data_Brunei"] = 5900,<br />
["Country_data_Bulgaria"] = 46000,<br />
["Country_data_Burkina_Faso"] = 9800,<br />
["Country_data_Burma"] = 2700,<br />
["Country_data_Burundi"] = 5600,<br />
["Country_data_CAN"] = 55000,<br />
["Country_data_CGO"] = 2300,<br />
["Country_data_CHE"] = 4300,<br />
["Country_data_CHI"] = 16000,<br />
["Country_data_CHN"] = 39000,<br />
["Country_data_CIV"] = 7300,<br />
["Country_data_CMR"] = 8100,<br />
["Country_data_COD"] = 3000,<br />
["Country_data_COL"] = 22000,<br />
["Country_data_CRC"] = 6200,<br />
["Country_data_CRO"] = 31000,<br />
["Country_data_CUB"] = 8900,<br />
["Country_data_CYP"] = 8200,<br />
["Country_data_CZE"] = 43000,<br />
["Country_data_California"] = 6500,<br />
["Country_data_Cambodia"] = 8300,<br />
["Country_data_Cameroon"] = 16000,<br />
["Country_data_Canada"] = 109000,<br />
["Country_data_Cape_Verde"] = 6000,<br />
["Country_data_Catalonia"] = 3000,<br />
["Country_data_Cayman_Islands"] = 4200,<br />
["Country_data_Central_African_Republic"] = 4800,<br />
["Country_data_Chad"] = 5300,<br />
["Country_data_Chile"] = 36000,<br />
["Country_data_China"] = 73000,<br />
["Country_data_Chinese_Taipei"] = 17000,<br />
["Country_data_Colombia"] = 41000,<br />
["Country_data_Colorado"] = 5800,<br />
["Country_data_Comoros"] = 4300,<br />
["Country_data_Confederate_States_of_America"] = 3000,<br />
["Country_data_Connecticut"] = 3400,<br />
["Country_data_Cook_Islands"] = 3700,<br />
["Country_data_Costa_Rica"] = 16000,<br />
["Country_data_Croatia"] = 50000,<br />
["Country_data_Cuba"] = 19000,<br />
["Country_data_Curaçao"] = 3300,<br />
["Country_data_Cyprus"] = 19000,<br />
["Country_data_Czech_Republic"] = 70000,<br />
["Country_data_Czechoslovakia"] = 16000,<br />
["Country_data_DEN"] = 31000,<br />
["Country_data_DEU"] = 8100,<br />
["Country_data_DNK"] = 3400,<br />
["Country_data_DOM"] = 6800,<br />
["Country_data_Democratic_Republic_of_the_Congo"] = 11000,<br />
["Country_data_Denmark"] = 63000,<br />
["Country_data_Djibouti"] = 4500,<br />
["Country_data_Dominica"] = 4300,<br />
["Country_data_Dominican_Republic"] = 15000,<br />
["Country_data_ECU"] = 11000,<br />
["Country_data_EGY"] = 12000,<br />
["Country_data_ENG"] = 43000,<br />
["Country_data_ESA"] = 2100,<br />
["Country_data_ESP"] = 67000,<br />
["Country_data_EST"] = 13000,<br />
["Country_data_ETH"] = 3100,<br />
["Country_data_EU"] = 3600,<br />
["Country_data_East_Germany"] = 12000,<br />
["Country_data_East_Timor"] = 4900,<br />
["Country_data_Ecuador"] = 22000,<br />
["Country_data_Egypt"] = 30000,<br />
["Country_data_El_Salvador"] = 12000,<br />
["Country_data_Empire_of_Japan"] = 3800,<br />
["Country_data_England"] = 86000,<br />
["Country_data_Equatorial_Guinea"] = 5100,<br />
["Country_data_Eritrea"] = 5200,<br />
["Country_data_Estonia"] = 32000,<br />
["Country_data_Eswatini"] = 4800,<br />
["Country_data_Ethiopia"] = 12000,<br />
["Country_data_Europe"] = 2400,<br />
["Country_data_European_Union"] = 7300,<br />
["Country_data_FIJ"] = 3500,<br />
["Country_data_FIN"] = 31000,<br />
["Country_data_FRA"] = 90000,<br />
["Country_data_FRG"] = 13000,<br />
["Country_data_FR_Yugoslavia"] = 3700,<br />
["Country_data_Falkland_Islands"] = 2100,<br />
["Country_data_Faroe_Islands"] = 5200,<br />
["Country_data_Federated_States_of_Micronesia"] = 3100,<br />
["Country_data_Fiji"] = 10000,<br />
["Country_data_Finland"] = 58000,<br />
["Country_data_Florida"] = 6900,<br />
["Country_data_France"] = 189000,<br />
["Country_data_French_Guiana"] = 2000,<br />
["Country_data_French_Polynesia"] = 3600,<br />
["Country_data_GAB"] = 2200,<br />
["Country_data_GBR"] = 50000,<br />
["Country_data_GDR"] = 6700,<br />
["Country_data_GEO"] = 12000,<br />
["Country_data_GER"] = 75000,<br />
["Country_data_GHA"] = 9000,<br />
["Country_data_GRE"] = 23000,<br />
["Country_data_GUA"] = 4700,<br />
["Country_data_GUI"] = 2800,<br />
["Country_data_GUY"] = 2200,<br />
["Country_data_Gabon"] = 7300,<br />
["Country_data_Gambia"] = 6400,<br />
["Country_data_Georgia"] = 7800,<br />
["Country_data_Georgia_(U.S._state)"] = 2800,<br />
["Country_data_Georgia_(country)"] = 25000,<br />
["Country_data_German_Empire"] = 5100,<br />
["Country_data_Germany"] = 135000,<br />
["Country_data_Ghana"] = 21000,<br />
["Country_data_Gibraltar"] = 4800,<br />
["Country_data_Great_Britain"] = 60000,<br />
["Country_data_Greece"] = 52000,<br />
["Country_data_Greenland"] = 2700,<br />
["Country_data_Grenada"] = 5000,<br />
["Country_data_Guadeloupe"] = 2700,<br />
["Country_data_Guam"] = 4600,<br />
["Country_data_Guatemala"] = 12000,<br />
["Country_data_Guernsey"] = 2300,<br />
["Country_data_Guinea"] = 8100,<br />
["Country_data_Guinea-Bissau"] = 4900,<br />
["Country_data_Guyana"] = 7400,<br />
["Country_data_HAI"] = 2900,<br />
["Country_data_HKG"] = 12000,<br />
["Country_data_HON"] = 4200,<br />
["Country_data_HUN"] = 34000,<br />
["Country_data_Haiti"] = 8400,<br />
["Country_data_Honduras"] = 11000,<br />
["Country_data_Hong_Kong"] = 23000,<br />
["Country_data_Hungary"] = 59000,<br />
["Country_data_IDN"] = 4500,<br />
["Country_data_INA"] = 9500,<br />
["Country_data_IND"] = 28000,<br />
["Country_data_IRE"] = 9900,<br />
["Country_data_IRI"] = 4900,<br />
["Country_data_IRL"] = 19000,<br />
["Country_data_IRN"] = 5800,<br />
["Country_data_IRQ"] = 3800,<br />
["Country_data_ISL"] = 7800,<br />
["Country_data_ISR"] = 19000,<br />
["Country_data_ITA"] = 79000,<br />
["Country_data_Iceland"] = 20000,<br />
["Country_data_Idaho"] = 2300,<br />
["Country_data_Illinois"] = 5600,<br />
["Country_data_India"] = 96000,<br />
["Country_data_Indiana"] = 3100,<br />
["Country_data_Indonesia"] = 34000,<br />
["Country_data_Iowa"] = 3200,<br />
["Country_data_Iran"] = 84000,<br />
["Country_data_Iraq"] = 13000,<br />
["Country_data_Ireland"] = 33000,<br />
["Country_data_Isle_of_Man"] = 3100,<br />
["Country_data_Israel"] = 40000,<br />
["Country_data_Italy"] = 129000,<br />
["Country_data_Ivory_Coast"] = 15000,<br />
["Country_data_JAM"] = 8700,<br />
["Country_data_JOR"] = 3600,<br />
["Country_data_JP"] = 8000,<br />
["Country_data_JPN"] = 55000,<br />
["Country_data_Jamaica"] = 18000,<br />
["Country_data_Japan"] = 105000,<br />
["Country_data_Jersey"] = 2700,<br />
["Country_data_Jordan"] = 11000,<br />
["Country_data_KAZ"] = 18000,<br />
["Country_data_KEN"] = 6600,<br />
["Country_data_KGZ"] = 3400,<br />
["Country_data_KOR"] = 29000,<br />
["Country_data_KSA"] = 5300,<br />
["Country_data_KUW"] = 3700,<br />
["Country_data_Kazakhstan"] = 31000,<br />
["Country_data_Kentucky"] = 2300,<br />
["Country_data_Kenya"] = 17000,<br />
["Country_data_Kingdom_of_France"] = 2000,<br />
["Country_data_Kingdom_of_Great_Britain"] = 4500,<br />
["Country_data_Kingdom_of_Italy"] = 3700,<br />
["Country_data_Kiribati"] = 3000,<br />
["Country_data_Kosovo"] = 7900,<br />
["Country_data_Kuwait"] = 9900,<br />
["Country_data_Kyrgyzstan"] = 9000,<br />
["Country_data_LAT"] = 13000,<br />
["Country_data_LIB"] = 2500,<br />
["Country_data_LIE"] = 2900,<br />
["Country_data_LIT"] = 2900,<br />
["Country_data_LTU"] = 11000,<br />
["Country_data_LUX"] = 9700,<br />
["Country_data_LVA"] = 2400,<br />
["Country_data_Laos"] = 7300,<br />
["Country_data_Latvia"] = 28000,<br />
["Country_data_Lebanon"] = 14000,<br />
["Country_data_Lesotho"] = 4900,<br />
["Country_data_Liberia"] = 7000,<br />
["Country_data_Libya"] = 8500,<br />
["Country_data_Liechtenstein"] = 7400,<br />
["Country_data_Lithuania"] = 28000,<br />
["Country_data_Louisiana"] = 2200,<br />
["Country_data_Luxembourg"] = 21000,<br />
["Country_data_MAC"] = 2300,<br />
["Country_data_MAR"] = 11000,<br />
["Country_data_MAS"] = 10000,<br />
["Country_data_MDA"] = 6800,<br />
["Country_data_MEX"] = 28000,<br />
["Country_data_MGL"] = 2600,<br />
["Country_data_MKD"] = 6800,<br />
["Country_data_MLI"] = 3900,<br />
["Country_data_MLT"] = 5100,<br />
["Country_data_MNE"] = 7200,<br />
["Country_data_MON"] = 3300,<br />
["Country_data_MOZ"] = 2100,<br />
["Country_data_MYA"] = 2800,<br />
["Country_data_MYS"] = 3500,<br />
["Country_data_Macau"] = 6100,<br />
["Country_data_Macedonia"] = 4800,<br />
["Country_data_Madagascar"] = 8700,<br />
["Country_data_Malawi"] = 5500,<br />
["Country_data_Malaysia"] = 33000,<br />
["Country_data_Maldives"] = 6000,<br />
["Country_data_Mali"] = 11000,<br />
["Country_data_Malta"] = 15000,<br />
["Country_data_Manitoba"] = 2500,<br />
["Country_data_Marshall_Islands"] = 3700,<br />
["Country_data_Martinique"] = 2700,<br />
["Country_data_Maryland"] = 3500,<br />
["Country_data_Massachusetts"] = 3200,<br />
["Country_data_Mauritania"] = 5500,<br />
["Country_data_Mauritius"] = 7800,<br />
["Country_data_Mexico"] = 55000,<br />
["Country_data_Michigan"] = 4400,<br />
["Country_data_Minnesota"] = 4000,<br />
["Country_data_Missouri"] = 2400,<br />
["Country_data_Moldova"] = 17000,<br />
["Country_data_Monaco"] = 9500,<br />
["Country_data_Mongolia"] = 9200,<br />
["Country_data_Montana"] = 2600,<br />
["Country_data_Montenegro"] = 16000,<br />
["Country_data_Montserrat"] = 2600,<br />
["Country_data_Morocco"] = 24000,<br />
["Country_data_Mozambique"] = 7100,<br />
["Country_data_Myanmar"] = 12000,<br />
["Country_data_NAM"] = 3200,<br />
["Country_data_NED"] = 56000,<br />
["Country_data_NEP"] = 2600,<br />
["Country_data_NGA"] = 7300,<br />
["Country_data_NGR"] = 7400,<br />
["Country_data_NIR"] = 9200,<br />
["Country_data_NLD"] = 5700,<br />
["Country_data_NOR"] = 26000,<br />
["Country_data_NZ"] = 2900,<br />
["Country_data_NZL"] = 30000,<br />
["Country_data_Namibia"] = 9400,<br />
["Country_data_Nauru"] = 2500,<br />
["Country_data_Nazi_Germany"] = 9400,<br />
["Country_data_Nepal"] = 15000,<br />
["Country_data_Netherlands"] = 99000,<br />
["Country_data_Netherlands_Antilles"] = 2300,<br />
["Country_data_Nevada"] = 2100,<br />
["Country_data_New_Brunswick"] = 2600,<br />
["Country_data_New_Caledonia"] = 3400,<br />
["Country_data_New_Hampshire"] = 2000,<br />
["Country_data_New_Jersey"] = 4400,<br />
["Country_data_New_Mexico"] = 2200,<br />
["Country_data_New_South_Wales"] = 5500,<br />
["Country_data_New_York"] = 4100,<br />
["Country_data_New_York_(state)"] = 7000,<br />
["Country_data_New_Zealand"] = 55000,<br />
["Country_data_Newfoundland_and_Labrador"] = 2300,<br />
["Country_data_Nicaragua"] = 8200,<br />
["Country_data_Niger"] = 5500,<br />
["Country_data_Nigeria"] = 31000,<br />
["Country_data_North_Carolina"] = 3800,<br />
["Country_data_North_Korea"] = 12000,<br />
["Country_data_North_Macedonia"] = 15000,<br />
["Country_data_Northern_Cyprus"] = 2100,<br />
["Country_data_Northern_Ireland"] = 13000,<br />
["Country_data_Northern_Mariana_Islands"] = 2800,<br />
["Country_data_Norway"] = 62000,<br />
["Country_data_Nova_Scotia"] = 2300,<br />
["Country_data_OMA"] = 2500,<br />
["Country_data_Ohio"] = 5600,<br />
["Country_data_Oman"] = 8300,<br />
["Country_data_Ontario"] = 3800,<br />
["Country_data_Ottoman_Empire"] = 2500,<br />
["Country_data_PAK"] = 7600,<br />
["Country_data_PAN"] = 5400,<br />
["Country_data_PAR"] = 9300,<br />
["Country_data_PER"] = 11000,<br />
["Country_data_PHI"] = 10000,<br />
["Country_data_PHL"] = 2600,<br />
["Country_data_PNG"] = 2500,<br />
["Country_data_POL"] = 45000,<br />
["Country_data_POR"] = 28000,<br />
["Country_data_PRC"] = 2400,<br />
["Country_data_PRK"] = 4300,<br />
["Country_data_PRT"] = 2700,<br />
["Country_data_PUR"] = 7000,<br />
["Country_data_Pakistan"] = 26000,<br />
["Country_data_Palau"] = 3000,<br />
["Country_data_Palestine"] = 6500,<br />
["Country_data_Panama"] = 14000,<br />
["Country_data_Papua_New_Guinea"] = 7600,<br />
["Country_data_Paraguay"] = 18000,<br />
["Country_data_Pennsylvania"] = 4200,<br />
["Country_data_People's_Republic_of_China"] = 3100,<br />
["Country_data_Peru"] = 29000,<br />
["Country_data_Philippines"] = 33000,<br />
["Country_data_Poland"] = 136000,<br />
["Country_data_Portugal"] = 57000,<br />
["Country_data_Prussia"] = 2500,<br />
["Country_data_Puerto_Rico"] = 16000,<br />
["Country_data_QAT"] = 7100,<br />
["Country_data_Qatar"] = 15000,<br />
["Country_data_Quebec"] = 4200,<br />
["Country_data_ROM"] = 12000,<br />
["Country_data_ROU"] = 24000,<br />
["Country_data_RSA"] = 29000,<br />
["Country_data_RUS"] = 60000,<br />
["Country_data_Republic_of_China"] = 5900,<br />
["Country_data_Republic_of_Ireland"] = 22000,<br />
["Country_data_Republic_of_the_Congo"] = 7400,<br />
["Country_data_Romania"] = 57000,<br />
["Country_data_Russia"] = 103000,<br />
["Country_data_Russian_Empire"] = 4600,<br />
["Country_data_Rwanda"] = 7300,<br />
["Country_data_SAM"] = 2800,<br />
["Country_data_SCG"] = 3000,<br />
["Country_data_SCO"] = 24000,<br />
["Country_data_SEN"] = 7100,<br />
["Country_data_SER"] = 3400,<br />
["Country_data_SGP"] = 2200,<br />
["Country_data_SIN"] = 6700,<br />
["Country_data_SLO"] = 18000,<br />
["Country_data_SLV"] = 2800,<br />
["Country_data_SMR"] = 2900,<br />
["Country_data_SPA"] = 4300,<br />
["Country_data_SRB"] = 24000,<br />
["Country_data_SRI"] = 4400,<br />
["Country_data_SUI"] = 39000,<br />
["Country_data_SVK"] = 27000,<br />
["Country_data_SVN"] = 6200,<br />
["Country_data_SWE"] = 52000,<br />
["Country_data_SWI"] = 4400,<br />
["Country_data_SYR"] = 3300,<br />
["Country_data_Saint_Kitts_and_Nevis"] = 4600,<br />
["Country_data_Saint_Lucia"] = 4800,<br />
["Country_data_Saint_Vincent_and_the_Grenadines"] = 4700,<br />
["Country_data_Samoa"] = 7400,<br />
["Country_data_San_Marino"] = 8100,<br />
["Country_data_Saskatchewan"] = 3100,<br />
["Country_data_Saudi_Arabia"] = 17000,<br />
["Country_data_Scotland"] = 46000,<br />
["Country_data_Senegal"] = 15000,<br />
["Country_data_Serbia"] = 48000,<br />
["Country_data_Serbia_and_Montenegro"] = 4900,<br />
["Country_data_Seychelles"] = 5400,<br />
["Country_data_Sierra_Leone"] = 7000,<br />
["Country_data_Singapore"] = 24000,<br />
["Country_data_Slovakia"] = 45000,<br />
["Country_data_Slovenia"] = 38000,<br />
["Country_data_Solomon_Islands"] = 4500,<br />
["Country_data_Somalia"] = 6000,<br />
["Country_data_South_Africa"] = 58000,<br />
["Country_data_South_Carolina"] = 3600,<br />
["Country_data_South_Korea"] = 55000,<br />
["Country_data_South_Sudan"] = 3800,<br />
["Country_data_South_Vietnam"] = 2100,<br />
["Country_data_Soviet_Union"] = 33000,<br />
["Country_data_Spain"] = 118000,<br />
["Country_data_Sri_Lanka"] = 17000,<br />
["Country_data_Sudan"] = 7800,<br />
["Country_data_Suriname"] = 6300,<br />
["Country_data_Swaziland"] = 2000,<br />
["Country_data_Sweden"] = 89000,<br />
["Country_data_Switzerland"] = 72000,<br />
["Country_data_Syria"] = 14000,<br />
["Country_data_São_Tomé_and_Príncipe"] = 3400,<br />
["Country_data_TAN"] = 2400,<br />
["Country_data_TCH"] = 9500,<br />
["Country_data_THA"] = 19000,<br />
["Country_data_TJK"] = 2400,<br />
["Country_data_TKM"] = 2600,<br />
["Country_data_TPE"] = 14000,<br />
["Country_data_TRI"] = 4500,<br />
["Country_data_TUN"] = 9600,<br />
["Country_data_TUR"] = 25000,<br />
["Country_data_Taiwan"] = 11000,<br />
["Country_data_Tajikistan"] = 8800,<br />
["Country_data_Tanzania"] = 10000,<br />
["Country_data_Tennessee"] = 2400,<br />
["Country_data_Texas"] = 6200,<br />
["Country_data_Thailand"] = 39000,<br />
["Country_data_Togo"] = 6600,<br />
["Country_data_Tonga"] = 6100,<br />
["Country_data_Trinidad_and_Tobago"] = 13000,<br />
["Country_data_Tunisia"] = 19000,<br />
["Country_data_Turkey"] = 67000,<br />
["Country_data_Turkmenistan"] = 7600,<br />
["Country_data_Turks_and_Caicos_Islands"] = 2700,<br />
["Country_data_Tuvalu"] = 2600,<br />
["Country_data_U.S."] = 2100,<br />
["Country_data_U.S._Virgin_Islands"] = 4800,<br />
["Country_data_UAE"] = 8500,<br />
["Country_data_UGA"] = 3600,<br />
["Country_data_UK"] = 18000,<br />
["Country_data_UKGBI"] = 2800,<br />
["Country_data_UKR"] = 33000,<br />
["Country_data_URS"] = 12000,<br />
["Country_data_URU"] = 14000,<br />
["Country_data_US"] = 5000,<br />
["Country_data_USA"] = 127000,<br />
["Country_data_USSR"] = 4400,<br />
["Country_data_UZB"] = 10000,<br />
["Country_data_Uganda"] = 12000,<br />
["Country_data_Ukraine"] = 59000,<br />
["Country_data_United_Arab_Emirates"] = 17000,<br />
["Country_data_United_Kingdom"] = 81000,<br />
["Country_data_United_Kingdom_of_Great_Britain_and_Ireland"] = 4100,<br />
["Country_data_United_Nations"] = 4100,<br />
["Country_data_United_States"] = 269000,<br />
["Country_data_United_States_of_America"] = 5000,<br />
["Country_data_Uruguay"] = 27000,<br />
["Country_data_Uzbekistan"] = 18000,<br />
["Country_data_VEN"] = 15000,<br />
["Country_data_VIE"] = 5700,<br />
["Country_data_Vanuatu"] = 5000,<br />
["Country_data_Vatican_City"] = 2300,<br />
["Country_data_Venezuela"] = 31000,<br />
["Country_data_Vietnam"] = 20000,<br />
["Country_data_Virginia"] = 3400,<br />
["Country_data_WAL"] = 16000,<br />
["Country_data_Wales"] = 32000,<br />
["Country_data_Washington"] = 3200,<br />
["Country_data_Washington,_D.C."] = 2300,<br />
["Country_data_Washington_(state)"] = 3700,<br />
["Country_data_West_Germany"] = 20000,<br />
["Country_data_West_Indies"] = 2400,<br />
["Country_data_Wisconsin"] = 6100,<br />
["Country_data_Wyoming"] = 2300,<br />
["Country_data_YUG"] = 8900,<br />
["Country_data_Yemen"] = 7000,<br />
["Country_data_Yugoslavia"] = 16000,<br />
["Country_data_ZAF"] = 4400,<br />
["Country_data_ZAM"] = 3000,<br />
["Country_data_ZIM"] = 7900,<br />
["Country_data_Zambia"] = 9100,<br />
["Country_data_Zimbabwe"] = 16000,<br />
["Country_flagbio"] = 24000,<br />
["Country_name"] = 23000,<br />
["Country_showdata"] = 5800,<br />
["Country_topics"] = 21000,<br />
["County"] = 7400,<br />
["County_(judet)_of_Romania"] = 3300,<br />
["Course_assignment"] = 4200,<br />
["Course_details"] = 5400,<br />
["Course_instructor"] = 2100,<br />
["Cquote"] = 36000,<br />
["Cr"] = 4000,<br />
["Create_taxonomy/link"] = 98000,<br />
["Cref2"] = 2100,<br />
["Cricinfo"] = 23000,<br />
["Cricketarchive"] = 3100,<br />
["Crime_opentask"] = 37000,<br />
["Croatian_Census_2011"] = 2000,<br />
["Cross"] = 3000,<br />
["Crossreference"] = 2200,<br />
["Crossreference/styles.css"] = 2200,<br />
["Csv"] = 2900,<br />
["Ct"] = 11000,<br />
["Curlie"] = 6900,<br />
["Currency"] = 2900,<br />
["Current_events"] = 8700,<br />
["Current_events/styles.css"] = 8700,<br />
["Currentdate"] = 22000,<br />
["Cvt"] = 86000,<br />
["Cycling_Archives"] = 4500,<br />
["Cycling_archives"] = 2900,<br />
["Cycling_team_link"] = 11000,<br />
["Module:CFB_schedule"] = 24000,<br />
["Module:CallAssert"] = 223000,<br />
["Module:CanElecResTopTest"] = 5300,<br />
["Module:CanadaByProvinceCatNav"] = 9600,<br />
["Module:Cat_main"] = 174000,<br />
["Module:Cat_more_if_exists"] = 44000,<br />
["Module:Catalog_lookup_link"] = 487000,<br />
["Module:Category_described_in_year"] = 5600,<br />
["Module:Category_described_in_year/conf"] = 5600,<br />
["Module:Category_handler"] = 4320000,<br />
["Module:Category_handler/blacklist"] = 4320000,<br />
["Module:Category_handler/config"] = 4320000,<br />
["Module:Category_handler/data"] = 4320000,<br />
["Module:Category_handler/shared"] = 4320000,<br />
["Module:Category_pair"] = 5800,<br />
["Module:Category_see_also"] = 33000,<br />
["Module:Celestial_object_quadrangle"] = 2600,<br />
["Module:Check_DYK_hook"] = 110000,<br />
["Module:Check_for_clobbered_parameters"] = 1160000,<br />
["Module:Check_for_unknown_parameters"] = 12900000,<br />
["Module:Check_isxn"] = 475000,<br />
["Module:Check_winner_by_scores"] = 12000,<br />
["Module:Citation/CS1"] = 5260000,<br />
["Module:Citation/CS1/COinS"] = 5260000,<br />
["Module:Citation/CS1/Configuration"] = 5260000,<br />
["Module:Citation/CS1/Date_validation"] = 5260000,<br />
["Module:Citation/CS1/Identifiers"] = 5260000,<br />
["Module:Citation/CS1/Suggestions"] = 26000,<br />
["Module:Citation/CS1/Utilities"] = 5270000,<br />
["Module:Citation/CS1/Whitelist"] = 5260000,<br />
["Module:Citation/CS1/styles.css"] = 5410000,<br />
["Module:Cite_Q"] = 48000,<br />
["Module:Cite_iucn"] = 54000,<br />
["Module:Cite_tweet"] = 28000,<br />
["Module:Cite_web"] = 32000,<br />
["Module:Clade"] = 6500,<br />
["Module:Class"] = 8300000,<br />
["Module:Class/configuration"] = 8300000,<br />
["Module:Class/definition.json"] = 8300000,<br />
["Module:Class/styles.css"] = 8250000,<br />
["Module:Clickable_button_2"] = 867000,<br />
["Module:Collapsible_list"] = 51000,<br />
["Module:College_color"] = 120000,<br />
["Module:College_color/data"] = 120000,<br />
["Module:Color_contrast"] = 481000,<br />
["Module:Color_contrast/colors"] = 483000,<br />
["Module:Commons_link"] = 234000,<br />
["Module:Complex_date"] = 66000,<br />
["Module:Convert"] = 1170000,<br />
["Module:Convert/data"] = 1170000,<br />
["Module:Convert/helper"] = 7000,<br />
["Module:Convert/text"] = 1170000,<br />
["Module:Convert/wikidata"] = 2500,<br />
["Module:Convert/wikidata/data"] = 2500,<br />
["Module:ConvertNumeric"] = 27000,<br />
["Module:Convert_character_width"] = 2800,<br />
["Module:Convert_character_width/data"] = 2800,<br />
["Module:Coordinates"] = 1300000,<br />
["Module:Coordinates/styles.css"] = 1300000,<br />
["Module:Copied"] = 17000,<br />
["Module:CountryAdjectiveDemonym"] = 42000,<br />
["Module:CountryAdjectiveDemonym/Adjectives"] = 42000,<br />
["Module:CountryAdjectiveDemonym/Demonyms"] = 42000,<br />
["Module:CountryAdjectiveDemonym/The"] = 42000,<br />
["Module:CountryData"] = 39000,<br />
["Module:CountryData/cacheA"] = 2100,<br />
["Module:CountryData/cacheE"] = 2300,<br />
["Module:CountryData/summary"] = 39000,<br />
["Module:Country_adjective"] = 4000,<br />
["Module:Country_alias"] = 50000,<br />
["Module:Country_alias/data"] = 50000,<br />
["Module:Currency"] = 2900,<br />
["Module:Currency/Presentation"] = 2900,<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Section_link&diff=3402
Module:Section link
2022-06-25T21:30:35Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>-- This module implements {{section link}}.<br />
require('Module:No globals');<br />
<br />
local checkType = require('libraryUtil').checkType<br />
<br />
local p = {}<br />
<br />
local function makeSectionLink(page, section, display)<br />
display = display or section<br />
page = page or ''<br />
-- MediaWiki doesn't allow these in `page`, so only need to do for `section`<br />
if type(section) == 'string' then<br />
section = string.gsub(section, "{", "&#x7B;")<br />
section = string.gsub(section, "}", "&#x7D;")<br />
end<br />
return string.format('[[%s#%s|%s]]', page, section, display)<br />
end<br />
<br />
local function normalizeTitle(title)<br />
title = mw.ustring.gsub(mw.ustring.gsub(title, "'", ""), '"', '')<br />
title = mw.ustring.gsub(title, "%b<>", "")<br />
return mw.title.new(title).prefixedText<br />
end<br />
<br />
function p._main(page, sections, options, title)<br />
-- Validate input.<br />
checkType('_main', 1, page, 'string', true)<br />
checkType('_main', 3, options, 'table', true)<br />
if sections == nil then<br />
sections = {}<br />
elseif type(sections) == 'string' then<br />
sections = {sections}<br />
elseif type(sections) ~= 'table' then<br />
error(string.format(<br />
"type error in argument #2 to '_main' " ..<br />
"(string, table or nil expected, got %s)",<br />
type(sections)<br />
), 2)<br />
end<br />
options = options or {}<br />
title = title or mw.title.getCurrentTitle()<br />
<br />
-- Deal with blank page names elegantly<br />
if page and not page:find('%S') then<br />
page = nil<br />
options.nopage = true<br />
end<br />
<br />
-- Make the link(s).<br />
local isShowingPage = not options.nopage<br />
if #sections <= 1 then<br />
local linkPage = page or ''<br />
local section = sections[1] or 'Notes'<br />
local display = '§&nbsp;' .. section<br />
if isShowingPage then<br />
page = page or title.prefixedText<br />
if options.display and options.display ~= '' then<br />
if normalizeTitle(options.display) == normalizeTitle(page) then<br />
display = options.display .. ' ' .. display<br />
else<br />
error(string.format(<br />
'Display title "%s" was ignored since it is ' ..<br />
"not equivalent to the page's actual title",<br />
options.display<br />
), 0)<br />
end<br />
else<br />
display = page .. ' ' .. display<br />
end<br />
end<br />
return makeSectionLink(linkPage, section, display)<br />
else<br />
-- Multiple sections. First, make a list of the links to display.<br />
local ret = {}<br />
for i, section in ipairs(sections) do<br />
ret[i] = makeSectionLink(page, section)<br />
end<br />
<br />
-- Assemble the list of links into a string with mw.text.listToText.<br />
-- We use the default separator for mw.text.listToText, but a custom<br />
-- conjunction. There is also a special case conjunction if we only<br />
-- have two links.<br />
local conjunction<br />
if #sections == 2 then<br />
conjunction = '&#8203; and '<br />
else<br />
conjunction = ', and '<br />
end<br />
ret = mw.text.listToText(ret, nil, conjunction)<br />
<br />
-- Add the intro text.<br />
local intro = '§§&nbsp;'<br />
if isShowingPage then<br />
intro = (page or title.prefixedText) .. ' ' .. intro<br />
end<br />
ret = intro .. ret<br />
<br />
return ret<br />
end<br />
end<br />
<br />
function p.main(frame)<br />
local yesno = require('Module:Yesno')<br />
local args = require('Module:Arguments').getArgs(frame, {<br />
wrappers = 'Template:Section link',<br />
valueFunc = function (key, value)<br />
value = value:match('^%s*(.-)%s*$') -- Trim whitespace<br />
-- Allow blank first parameters, as the wikitext template does this.<br />
if value ~= '' or key == 1 then<br />
return value<br />
end<br />
end<br />
})<br />
<br />
for k, v in pairs(args) do -- replace underscores in the positional parameter values<br />
if 'number' == type(k) then<br />
if not yesno (args['keep-underscores']) then -- unless |keep-underscores=yes<br />
args[k] = mw.uri.decode (v, 'WIKI'); -- percent-decode; replace underscores with space characters<br />
else<br />
args[k] = mw.uri.decode (v, 'PATH'); -- percent-decode; retain underscores<br />
end<br />
end<br />
end<br />
<br />
-- Sort the arguments.<br />
local page<br />
local sections, options = {}, {}<br />
for k, v in pairs(args) do<br />
if k == 1 then<br />
-- Doing this in the loop because of a bug in [[Module:Arguments]]<br />
-- when using pairs with deleted arguments.<br />
page = mw.text.decode(v, true)<br />
elseif type(k) == 'number' then<br />
sections[k] = v<br />
else<br />
options[k] = v<br />
end<br />
end<br />
<br />
options.nopage = yesno (options.nopage); -- make boolean<br />
<br />
-- Extract section from page, if present<br />
if page then<br />
local p, s = page:match('^(.-)#(.*)$')<br />
if p then page, sections[1] = p, s end<br />
end<br />
<br />
-- Compress the sections array.<br />
local function compressArray(t)<br />
local nums, ret = {}, {}<br />
for num in pairs(t) do<br />
nums[#nums + 1] = num<br />
end<br />
table.sort(nums)<br />
for i, num in ipairs(nums) do<br />
ret[i] = t[num]<br />
end<br />
return ret<br />
end<br />
sections = compressArray(sections)<br />
<br />
return p._main(page, sections, options)<br />
end<br />
<br />
return p</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Language/data/iana_variants&diff=3400
Module:Language/data/iana variants
2022-06-25T21:30:27Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>-- File-Date: 2022-03-02<br />
return {<br />
["1606nict"] = {<br />
["descriptions"] = {"Late Middle French (to 1606)"},<br />
["prefixes"] = {"frm"},<br />
},<br />
["1694acad"] = {<br />
["descriptions"] = {"Early Modern French"},<br />
["prefixes"] = {"fr"},<br />
},<br />
["1901"] = {<br />
["descriptions"] = {"Traditional German orthography"},<br />
["prefixes"] = {"de"},<br />
},<br />
["1959acad"] = {<br />
["descriptions"] = {"\"Academic\" (\"governmental\") variant of Belarusian as codified in 1959"},<br />
["prefixes"] = {"be"},<br />
},<br />
["1994"] = {<br />
["descriptions"] = {"Standardized Resian orthography"},<br />
["prefixes"] = {"sl-rozaj", "sl-rozaj-biske", "sl-rozaj-njiva", "sl-rozaj-osojs", "sl-rozaj-solba"},<br />
},<br />
["1996"] = {<br />
["descriptions"] = {"German orthography of 1996"},<br />
["prefixes"] = {"de"},<br />
},<br />
["abl1943"] = {<br />
["descriptions"] = {"Orthographic formulation of 1943 - Official in Brazil (Formulário Ortográfico de 1943 - Oficial no Brasil)"},<br />
["prefixes"] = {"pt-br"},<br />
},<br />
["akuapem"] = {<br />
["descriptions"] = {"Akuapem Twi"},<br />
["prefixes"] = {"tw"},<br />
},<br />
["alalc97"] = {<br />
["descriptions"] = {"ALA-LC Romanization, 1997 edition"},<br />
["prefixes"] = {},<br />
},<br />
["aluku"] = {<br />
["descriptions"] = {"Aluku dialect", "Boni dialect"},<br />
["prefixes"] = {"djk"},<br />
},<br />
["ao1990"] = {<br />
["descriptions"] = {"Portuguese Language Orthographic Agreement of 1990 (Acordo Ortográfico da Língua Portuguesa de 1990)"},<br />
["prefixes"] = {"pt", "gl"},<br />
},<br />
["aranes"] = {<br />
["descriptions"] = {"Aranese"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["arkaika"] = {<br />
["descriptions"] = {"Arcaicam Esperantom", "Arkaika Esperanto"},<br />
["prefixes"] = {"eo"},<br />
},<br />
["asante"] = {<br />
["descriptions"] = {"Asante Twi", "Ashanti Twi"},<br />
["prefixes"] = {"tw"},<br />
},<br />
["auvern"] = {<br />
["descriptions"] = {"Auvergnat"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["baku1926"] = {<br />
["descriptions"] = {"Unified Turkic Latin Alphabet (Historical)"},<br />
["prefixes"] = {"az", "ba", "crh", "kk", "krc", "ky", "sah", "tk", "tt", "uz"},<br />
},<br />
["balanka"] = {<br />
["descriptions"] = {"The Balanka dialect of Anii"},<br />
["prefixes"] = {"blo"},<br />
},<br />
["barla"] = {<br />
["descriptions"] = {"The Barlavento dialect group of Kabuverdianu"},<br />
["prefixes"] = {"kea"},<br />
},<br />
["basiceng"] = {<br />
["descriptions"] = {"Basic English"},<br />
["prefixes"] = {"en"},<br />
},<br />
["bauddha"] = {<br />
["descriptions"] = {"Buddhist Hybrid Sanskrit"},<br />
["prefixes"] = {"sa"},<br />
},<br />
["biscayan"] = {<br />
["descriptions"] = {"Biscayan dialect of Basque"},<br />
["prefixes"] = {"eu"},<br />
},<br />
["biske"] = {<br />
["descriptions"] = {"The San Giorgio dialect of Resian", "The Bila dialect of Resian"},<br />
["prefixes"] = {"sl-rozaj"},<br />
},<br />
["bohoric"] = {<br />
["descriptions"] = {"Slovene in Bohorič alphabet"},<br />
["prefixes"] = {"sl"},<br />
},<br />
["boont"] = {<br />
["descriptions"] = {"Boontling"},<br />
["prefixes"] = {"en"},<br />
},<br />
["bornholm"] = {<br />
["descriptions"] = {"Bornholmsk"},<br />
["prefixes"] = {"da"},<br />
},<br />
["cisaup"] = {<br />
["descriptions"] = {"Cisalpine"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["colb1945"] = {<br />
["descriptions"] = {"Portuguese-Brazilian Orthographic Convention of 1945 (Convenção Ortográfica Luso-Brasileira de 1945)"},<br />
["prefixes"] = {"pt"},<br />
},<br />
["cornu"] = {<br />
["descriptions"] = {"Cornu-English", "Cornish English", "Anglo-Cornish"},<br />
["prefixes"] = {"en"},<br />
},<br />
["creiss"] = {<br />
["descriptions"] = {"Occitan variants of the Croissant area"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["dajnko"] = {<br />
["descriptions"] = {"Slovene in Dajnko alphabet"},<br />
["prefixes"] = {"sl"},<br />
},<br />
["ekavsk"] = {<br />
["descriptions"] = {"Serbian with Ekavian pronunciation"},<br />
["prefixes"] = {"sr", "sr-latn", "sr-cyrl"},<br />
},<br />
["emodeng"] = {<br />
["descriptions"] = {"Early Modern English (1500-1700)"},<br />
["prefixes"] = {"en"},<br />
},<br />
["fonipa"] = {<br />
["descriptions"] = {"International Phonetic Alphabet"},<br />
["prefixes"] = {},<br />
},<br />
["fonkirsh"] = {<br />
["descriptions"] = {"Kirshenbaum Phonetic Alphabet"},<br />
["prefixes"] = {},<br />
},<br />
["fonnapa"] = {<br />
["descriptions"] = {"North American Phonetic Alphabet", "Americanist Phonetic Notation"},<br />
["prefixes"] = {},<br />
},<br />
["fonupa"] = {<br />
["descriptions"] = {"Uralic Phonetic Alphabet"},<br />
["prefixes"] = {},<br />
},<br />
["fonxsamp"] = {<br />
["descriptions"] = {"X-SAMPA transcription"},<br />
["prefixes"] = {},<br />
},<br />
["gallo"] = {<br />
["descriptions"] = {"Gallo"},<br />
["prefixes"] = {"fr"},<br />
},<br />
["gascon"] = {<br />
["descriptions"] = {"Gascon"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["grclass"] = {<br />
["descriptions"] = {"Classical Occitan orthography"},<br />
["prefixes"] = {"oc", "oc-aranes", "oc-auvern", "oc-cisaup", "oc-creiss", "oc-gascon", "oc-lemosin", "oc-lengadoc", "oc-nicard", "oc-provenc", "oc-vivaraup"},<br />
},<br />
["grital"] = {<br />
["descriptions"] = {"Italian-inspired Occitan orthography"},<br />
["prefixes"] = {"oc", "oc-cisaup", "oc-nicard", "oc-provenc"},<br />
},<br />
["grmistr"] = {<br />
["descriptions"] = {"Mistralian or Mistralian-inspired Occitan orthography"},<br />
["prefixes"] = {"oc", "oc-aranes", "oc-auvern", "oc-cisaup", "oc-creiss", "oc-gascon", "oc-lemosin", "oc-lengadoc", "oc-nicard", "oc-provenc", "oc-vivaraup"},<br />
},<br />
["hepburn"] = {<br />
["descriptions"] = {"Hepburn romanization"},<br />
["prefixes"] = {"ja-latn"},<br />
},<br />
["hognorsk"] = {<br />
["descriptions"] = {"Norwegian in Høgnorsk (High Norwegian) orthography"},<br />
["prefixes"] = {"nn"},<br />
},<br />
["hsistemo"] = {<br />
["descriptions"] = {"Standard H-system orthographic fallback for spelling Esperanto"},<br />
["prefixes"] = {"eo"},<br />
},<br />
["ijekavsk"] = {<br />
["descriptions"] = {"Serbian with Ijekavian pronunciation"},<br />
["prefixes"] = {"sr", "sr-latn", "sr-cyrl"},<br />
},<br />
["itihasa"] = {<br />
["descriptions"] = {"Epic Sanskrit"},<br />
["prefixes"] = {"sa"},<br />
},<br />
["ivanchov"] = {<br />
["descriptions"] = {"Bulgarian in 1899 orthography"},<br />
["prefixes"] = {"bg"},<br />
},<br />
["jauer"] = {<br />
["descriptions"] = {"Jauer dialect of Romansh"},<br />
["prefixes"] = {"rm"},<br />
},<br />
["jyutping"] = {<br />
["descriptions"] = {"Jyutping Cantonese Romanization"},<br />
["prefixes"] = {"yue"},<br />
},<br />
["kkcor"] = {<br />
["descriptions"] = {"Common Cornish orthography of Revived Cornish"},<br />
["prefixes"] = {"kw"},<br />
},<br />
["kociewie"] = {<br />
["descriptions"] = {"The Kociewie dialect of Polish"},<br />
["prefixes"] = {"pl"},<br />
},<br />
["kscor"] = {<br />
["descriptions"] = {"Standard Cornish orthography of Revived Cornish", "Kernowek Standard"},<br />
["prefixes"] = {"kw"},<br />
},<br />
["laukika"] = {<br />
["descriptions"] = {"Classical Sanskrit"},<br />
["prefixes"] = {"sa"},<br />
},<br />
["lemosin"] = {<br />
["descriptions"] = {"Limousin"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["lengadoc"] = {<br />
["descriptions"] = {"Languedocien"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["lipaw"] = {<br />
["descriptions"] = {"The Lipovaz dialect of Resian", "The Lipovec dialect of Resian"},<br />
["prefixes"] = {"sl-rozaj"},<br />
},<br />
["luna1918"] = {<br />
["descriptions"] = {"Post-1917 Russian orthography"},<br />
["prefixes"] = {"ru"},<br />
},<br />
["metelko"] = {<br />
["descriptions"] = {"Slovene in Metelko alphabet"},<br />
["prefixes"] = {"sl"},<br />
},<br />
["monoton"] = {<br />
["descriptions"] = {"Monotonic Greek"},<br />
["prefixes"] = {"el"},<br />
},<br />
["ndyuka"] = {<br />
["descriptions"] = {"Ndyuka dialect", "Aukan dialect"},<br />
["prefixes"] = {"djk"},<br />
},<br />
["nedis"] = {<br />
["descriptions"] = {"Natisone dialect", "Nadiza dialect"},<br />
["prefixes"] = {"sl"},<br />
},<br />
["newfound"] = {<br />
["descriptions"] = {"Newfoundland English"},<br />
["prefixes"] = {"en-ca"},<br />
},<br />
["nicard"] = {<br />
["descriptions"] = {"Niçard"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["njiva"] = {<br />
["descriptions"] = {"The Gniva dialect of Resian", "The Njiva dialect of Resian"},<br />
["prefixes"] = {"sl-rozaj"},<br />
},<br />
["nulik"] = {<br />
["descriptions"] = {"Volapük nulik", "Volapük perevidöl", "Volapük nulädik", "de Jong's Volapük", "New Volapük", "Revised Volapük", "Modern Volapük"},<br />
["prefixes"] = {"vo"},<br />
},<br />
["osojs"] = {<br />
["descriptions"] = {"The Oseacco dialect of Resian", "The Osojane dialect of Resian"},<br />
["prefixes"] = {"sl-rozaj"},<br />
},<br />
["oxendict"] = {<br />
["descriptions"] = {"Oxford English Dictionary spelling"},<br />
["prefixes"] = {"en"},<br />
},<br />
["pahawh2"] = {<br />
["descriptions"] = {"Pahawh Hmong Second Stage Reduced orthography"},<br />
["prefixes"] = {"mww", "hnj"},<br />
},<br />
["pahawh3"] = {<br />
["descriptions"] = {"Pahawh Hmong Third Stage Reduced orthography"},<br />
["prefixes"] = {"mww", "hnj"},<br />
},<br />
["pahawh4"] = {<br />
["descriptions"] = {"Pahawh Hmong Final Version orthography"},<br />
["prefixes"] = {"mww", "hnj"},<br />
},<br />
["pamaka"] = {<br />
["descriptions"] = {"Pamaka dialect"},<br />
["prefixes"] = {"djk"},<br />
},<br />
["peano"] = {<br />
["descriptions"] = {"Latino Sine Flexione", "Interlingua de API", "Interlingua de Peano"},<br />
["prefixes"] = {"la"},<br />
},<br />
["petr1708"] = {<br />
["descriptions"] = {"Petrine orthography"},<br />
["prefixes"] = {"ru"},<br />
},<br />
["pinyin"] = {<br />
["descriptions"] = {"Pinyin romanization"},<br />
["prefixes"] = {"zh-latn", "bo-latn"},<br />
},<br />
["polyton"] = {<br />
["descriptions"] = {"Polytonic Greek"},<br />
["prefixes"] = {"el"},<br />
},<br />
["provenc"] = {<br />
["descriptions"] = {"Provençal"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["puter"] = {<br />
["descriptions"] = {"Puter idiom of Romansh"},<br />
["prefixes"] = {"rm"},<br />
},<br />
["rigik"] = {<br />
["descriptions"] = {"Volapük rigik", "Schleyer's Volapük", "Original Volapük", "Classic Volapük"},<br />
["prefixes"] = {"vo"},<br />
},<br />
["rozaj"] = {<br />
["descriptions"] = {"Resian", "Resianic", "Rezijan"},<br />
["prefixes"] = {"sl"},<br />
},<br />
["rumgr"] = {<br />
["descriptions"] = {"Rumantsch Grischun"},<br />
["prefixes"] = {"rm"},<br />
},<br />
["scotland"] = {<br />
["descriptions"] = {"Scottish Standard English"},<br />
["prefixes"] = {"en"},<br />
},<br />
["scouse"] = {<br />
["descriptions"] = {"Scouse"},<br />
["prefixes"] = {"en"},<br />
},<br />
["simple"] = {<br />
["descriptions"] = {"Simplified form"},<br />
["prefixes"] = {},<br />
},<br />
["solba"] = {<br />
["descriptions"] = {"The Stolvizza dialect of Resian", "The Solbica dialect of Resian"},<br />
["prefixes"] = {"sl-rozaj"},<br />
},<br />
["sotav"] = {<br />
["descriptions"] = {"The Sotavento dialect group of Kabuverdianu"},<br />
["prefixes"] = {"kea"},<br />
},<br />
["spanglis"] = {<br />
["descriptions"] = {"Spanglish"},<br />
["prefixes"] = {"en", "es"},<br />
},<br />
["surmiran"] = {<br />
["descriptions"] = {"Surmiran idiom of Romansh"},<br />
["prefixes"] = {"rm"},<br />
},<br />
["sursilv"] = {<br />
["descriptions"] = {"Sursilvan idiom of Romansh"},<br />
["prefixes"] = {"rm"},<br />
},<br />
["sutsilv"] = {<br />
["descriptions"] = {"Sutsilvan idiom of Romansh"},<br />
["prefixes"] = {"rm"},<br />
},<br />
["synnejyl"] = {<br />
["descriptions"] = {"Synnejysk", "South Jutish"},<br />
["prefixes"] = {"da"},<br />
},<br />
["tarask"] = {<br />
["descriptions"] = {"Belarusian in Taraskievica orthography"},<br />
["prefixes"] = {"be"},<br />
},<br />
["tongyong"] = {<br />
["descriptions"] = {"Tongyong Pinyin romanization"},<br />
["prefixes"] = {"zh-latn"},<br />
},<br />
["tunumiit"] = {<br />
["descriptions"] = {"Tunumiisiut", "East Greenlandic", "Østgrønlandsk"},<br />
["prefixes"] = {"kl"},<br />
},<br />
["uccor"] = {<br />
["descriptions"] = {"Unified Cornish orthography of Revived Cornish"},<br />
["prefixes"] = {"kw"},<br />
},<br />
["ucrcor"] = {<br />
["descriptions"] = {"Unified Cornish Revised orthography of Revived Cornish"},<br />
["prefixes"] = {"kw"},<br />
},<br />
["ulster"] = {<br />
["descriptions"] = {"Ulster dialect of Scots"},<br />
["prefixes"] = {"sco"},<br />
},<br />
["unifon"] = {<br />
["descriptions"] = {"Unifon phonetic alphabet"},<br />
["prefixes"] = {"en", "hup", "kyh", "tol", "yur"},<br />
},<br />
["vaidika"] = {<br />
["descriptions"] = {"Vedic Sanskrit"},<br />
["prefixes"] = {"sa"},<br />
},<br />
["valencia"] = {<br />
["descriptions"] = {"Valencian"},<br />
["prefixes"] = {"ca"},<br />
},<br />
["vallader"] = {<br />
["descriptions"] = {"Vallader idiom of Romansh"},<br />
["prefixes"] = {"rm"},<br />
},<br />
["vecdruka"] = {<br />
["descriptions"] = {"Latvian orthography used before 1920s (\"vecā druka\")"},<br />
["prefixes"] = {"lv"},<br />
},<br />
["vivaraup"] = {<br />
["descriptions"] = {"Vivaro-Alpine"},<br />
["prefixes"] = {"oc"},<br />
},<br />
["wadegile"] = {<br />
["descriptions"] = {"Wade-Giles romanization"},<br />
["prefixes"] = {"zh-latn"},<br />
},<br />
["xsistemo"] = {<br />
["descriptions"] = {"Standard X-system orthographic fallback for spelling Esperanto"},<br />
["prefixes"] = {"eo"},<br />
}<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Language/data/iana_suppressed_scripts&diff=3398
Module:Language/data/iana suppressed scripts
2022-06-25T21:30:25Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>-- File-Date: 2022-03-02<br />
return {<br />
["Arab"] = {"ar", "fa", "ps", "ur"},<br />
["Armn"] = {"hy"},<br />
["Beng"] = {"as", "bn"},<br />
["Blis"] = {"zbl"},<br />
["Cyrl"] = {"ab", "be", "bg", "kk", "mk", "ru", "uk"},<br />
["Deva"] = {"hi", "mr", "ne", "kok", "mai"},<br />
["Ethi"] = {"am", "ti"},<br />
["Geor"] = {"ka"},<br />
["Grek"] = {"el"},<br />
["Gujr"] = {"gu"},<br />
["Guru"] = {"pa"},<br />
["Hebr"] = {"he", "iw", "yi"},<br />
["Jpan"] = {"ja"},<br />
["Khmr"] = {"km"},<br />
["Knda"] = {"kn"},<br />
["Kore"] = {"ko"},<br />
["Laoo"] = {"lo"},<br />
["Latn"] = {"af", "ay", "bs", "ca", "ch", "cs", "cy", "da", "de", "en", "eo",<br />
"es", "et", "eu", "fi", "fj", "fo", "fr", "fy", "ga", "gl", "gn",<br />
"gv", "hr", "ht", "hu", "id", "in", "is", "it", "kl", "la", "lb",<br />
"ln", "lt", "lv", "mg", "mh", "mo", "ms", "mt", "na", "nb", "nd",<br />
"nl", "nn", "no", "nr", "ny", "om", "pl", "pt", "qu", "rm", "rn",<br />
"ro", "rw", "sg", "sk", "sl", "sm", "so", "sq", "ss", "st", "sv",<br />
"sw", "tl", "tn", "to", "tr", "ts", "ve", "vi", "xh", "zu", "dsb",<br />
"frr", "frs", "gsw", "hsb", "men", "nds", "niu", "nso", "tem", "tkl", "tmh",<br />
"tpi", "tvl"},<br />
["Mlym"] = {"ml"},<br />
["Mymr"] = {"my"},<br />
["Nkoo"] = {"nqo"},<br />
["Orya"] = {"or"},<br />
["Sinh"] = {"si"},<br />
["Taml"] = {"ta"},<br />
["Telu"] = {"te"},<br />
["Thaa"] = {"dv"},<br />
["Thai"] = {"th"},<br />
["Tibt"] = {"dz"}<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Language/data/iana_scripts&diff=3396
Module:Language/data/iana scripts
2022-06-25T21:30:24Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>-- File-Date: 2022-03-02<br />
return {<br />
["Adlm"] = {"Adlam"},<br />
["Afak"] = {"Afaka"},<br />
["Aghb"] = {"Caucasian Albanian"},<br />
["Ahom"] = {"Ahom", "Tai Ahom"},<br />
["Arab"] = {"Arabic"},<br />
["Aran"] = {"Arabic (Nastaliq variant)"},<br />
["Armi"] = {"Imperial Aramaic"},<br />
["Armn"] = {"Armenian"},<br />
["Avst"] = {"Avestan"},<br />
["Bali"] = {"Balinese"},<br />
["Bamu"] = {"Bamum"},<br />
["Bass"] = {"Bassa Vah"},<br />
["Batk"] = {"Batak"},<br />
["Beng"] = {"Bengali", "Bangla"},<br />
["Bhks"] = {"Bhaiksuki"},<br />
["Blis"] = {"Blissymbols"},<br />
["Bopo"] = {"Bopomofo"},<br />
["Brah"] = {"Brahmi"},<br />
["Brai"] = {"Braille"},<br />
["Bugi"] = {"Buginese"},<br />
["Buhd"] = {"Buhid"},<br />
["Cakm"] = {"Chakma"},<br />
["Cans"] = {"Unified Canadian Aboriginal Syllabics"},<br />
["Cari"] = {"Carian"},<br />
["Cham"] = {"Cham"},<br />
["Cher"] = {"Cherokee"},<br />
["Chrs"] = {"Chorasmian"},<br />
["Cirt"] = {"Cirth"},<br />
["Copt"] = {"Coptic"},<br />
["Cpmn"] = {"Cypro-Minoan"},<br />
["Cprt"] = {"Cypriot syllabary"},<br />
["Cyrl"] = {"Cyrillic"},<br />
["Cyrs"] = {"Cyrillic (Old Church Slavonic variant)"},<br />
["Deva"] = {"Devanagari", "Nagari"},<br />
["Diak"] = {"Dives Akuru"},<br />
["Dogr"] = {"Dogra"},<br />
["Dsrt"] = {"Deseret", "Mormon"},<br />
["Dupl"] = {"Duployan shorthand", "Duployan stenography"},<br />
["Egyd"] = {"Egyptian demotic"},<br />
["Egyh"] = {"Egyptian hieratic"},<br />
["Egyp"] = {"Egyptian hieroglyphs"},<br />
["Elba"] = {"Elbasan"},<br />
["Elym"] = {"Elymaic"},<br />
["Ethi"] = {"Ethiopic", "Geʻez", "Ge'ez"},<br />
["Geok"] = {"Khutsuri (Asomtavruli and Nuskhuri)"},<br />
["Geor"] = {"Georgian (Mkhedruli and Mtavruli)"},<br />
["Glag"] = {"Glagolitic"},<br />
["Gong"] = {"Gunjala Gondi"},<br />
["Gonm"] = {"Masaram Gondi"},<br />
["Goth"] = {"Gothic"},<br />
["Gran"] = {"Grantha"},<br />
["Grek"] = {"Greek"},<br />
["Gujr"] = {"Gujarati"},<br />
["Guru"] = {"Gurmukhi"},<br />
["Hanb"] = {"Han with Bopomofo (alias for Han + Bopomofo)"},<br />
["Hang"] = {"Hangul", "Hangŭl", "Hangeul"},<br />
["Hani"] = {"Han", "Hanzi", "Kanji", "Hanja"},<br />
["Hano"] = {"Hanunoo", "Hanunóo"},<br />
["Hans"] = {"Han (Simplified variant)"},<br />
["Hant"] = {"Han (Traditional variant)"},<br />
["Hatr"] = {"Hatran"},<br />
["Hebr"] = {"Hebrew"},<br />
["Hira"] = {"Hiragana"},<br />
["Hluw"] = {"Anatolian Hieroglyphs", "Luwian Hieroglyphs", "Hittite Hieroglyphs"},<br />
["Hmng"] = {"Pahawh Hmong"},<br />
["Hmnp"] = {"Nyiakeng Puachue Hmong"},<br />
["Hrkt"] = {"Japanese syllabaries (alias for Hiragana + Katakana)"},<br />
["Hung"] = {"Old Hungarian", "Hungarian Runic"},<br />
["Inds"] = {"Indus", "Harappan"},<br />
["Ital"] = {"Old Italic (Etruscan, Oscan, etc.)"},<br />
["Jamo"] = {"Jamo (alias for Jamo subset of Hangul)"},<br />
["Java"] = {"Javanese"},<br />
["Jpan"] = {"Japanese (alias for Han + Hiragana + Katakana)"},<br />
["Jurc"] = {"Jurchen"},<br />
["Kali"] = {"Kayah Li"},<br />
["Kana"] = {"Katakana"},<br />
["Kawi"] = {"Kawi"},<br />
["Khar"] = {"Kharoshthi"},<br />
["Khmr"] = {"Khmer"},<br />
["Khoj"] = {"Khojki"},<br />
["Kitl"] = {"Khitan large script"},<br />
["Kits"] = {"Khitan small script"},<br />
["Knda"] = {"Kannada"},<br />
["Kore"] = {"Korean (alias for Hangul + Han)"},<br />
["Kpel"] = {"Kpelle"},<br />
["Kthi"] = {"Kaithi"},<br />
["Lana"] = {"Tai Tham", "Lanna"},<br />
["Laoo"] = {"Lao"},<br />
["Latf"] = {"Latin (Fraktur variant)"},<br />
["Latg"] = {"Latin (Gaelic variant)"},<br />
["Latn"] = {"Latin"},<br />
["Leke"] = {"Leke"},<br />
["Lepc"] = {"Lepcha", "Róng"},<br />
["Limb"] = {"Limbu"},<br />
["Lina"] = {"Linear A"},<br />
["Linb"] = {"Linear B"},<br />
["Lisu"] = {"Lisu", "Fraser"},<br />
["Loma"] = {"Loma"},<br />
["Lyci"] = {"Lycian"},<br />
["Lydi"] = {"Lydian"},<br />
["Mahj"] = {"Mahajani"},<br />
["Maka"] = {"Makasar"},<br />
["Mand"] = {"Mandaic", "Mandaean"},<br />
["Mani"] = {"Manichaean"},<br />
["Marc"] = {"Marchen"},<br />
["Maya"] = {"Mayan hieroglyphs"},<br />
["Medf"] = {"Medefaidrin", "Oberi Okaime", "Oberi Ɔkaimɛ"},<br />
["Mend"] = {"Mende Kikakui"},<br />
["Merc"] = {"Meroitic Cursive"},<br />
["Mero"] = {"Meroitic Hieroglyphs"},<br />
["Mlym"] = {"Malayalam"},<br />
["Modi"] = {"Modi", "Moḍī"},<br />
["Mong"] = {"Mongolian"},<br />
["Moon"] = {"Moon", "Moon code", "Moon script", "Moon type"},<br />
["Mroo"] = {"Mro", "Mru"},<br />
["Mtei"] = {"Meitei Mayek", "Meithei", "Meetei"},<br />
["Mult"] = {"Multani"},<br />
["Mymr"] = {"Myanmar", "Burmese"},<br />
["Nagm"] = {"Nag Mundari"},<br />
["Nand"] = {"Nandinagari"},<br />
["Narb"] = {"Old North Arabian", "Ancient North Arabian"},<br />
["Nbat"] = {"Nabataean"},<br />
["Newa"] = {"Newa", "Newar", "Newari", "Nepāla lipi"},<br />
["Nkdb"] = {"Naxi Dongba", "na²¹ɕi³³ to³³ba²¹", "Nakhi Tomba"},<br />
["Nkgb"] = {"Naxi Geba", "na²¹ɕi³³ gʌ²¹ba²¹", "'Na-'Khi ²Ggŏ-¹baw", "Nakhi Geba"},<br />
["Nkoo"] = {"N’Ko", "N'Ko"},<br />
["Nshu"] = {"Nüshu"},<br />
["Ogam"] = {"Ogham"},<br />
["Olck"] = {"Ol Chiki", "Ol Cemet'", "Ol", "Santali"},<br />
["Orkh"] = {"Old Turkic", "Orkhon Runic"},<br />
["Orya"] = {"Oriya", "Odia"},<br />
["Osge"] = {"Osage"},<br />
["Osma"] = {"Osmanya"},<br />
["Ougr"] = {"Old Uyghur"},<br />
["Palm"] = {"Palmyrene"},<br />
["Pauc"] = {"Pau Cin Hau"},<br />
["Pcun"] = {"Proto-Cuneiform"},<br />
["Pelm"] = {"Proto-Elamite"},<br />
["Perm"] = {"Old Permic"},<br />
["Phag"] = {"Phags-pa"},<br />
["Phli"] = {"Inscriptional Pahlavi"},<br />
["Phlp"] = {"Psalter Pahlavi"},<br />
["Phlv"] = {"Book Pahlavi"},<br />
["Phnx"] = {"Phoenician"},<br />
["Piqd"] = {"Klingon (KLI pIqaD)"},<br />
["Plrd"] = {"Miao", "Pollard"},<br />
["Prti"] = {"Inscriptional Parthian"},<br />
["Psin"] = {"Proto-Sinaitic"},<br />
["Ranj"] = {"Ranjana"},<br />
["Rjng"] = {"Rejang", "Redjang", "Kaganga"},<br />
["Rohg"] = {"Hanifi Rohingya"},<br />
["Roro"] = {"Rongorongo"},<br />
["Runr"] = {"Runic"},<br />
["Samr"] = {"Samaritan"},<br />
["Sara"] = {"Sarati"},<br />
["Sarb"] = {"Old South Arabian"},<br />
["Saur"] = {"Saurashtra"},<br />
["Sgnw"] = {"SignWriting"},<br />
["Shaw"] = {"Shavian", "Shaw"},<br />
["Shrd"] = {"Sharada", "Śāradā"},<br />
["Shui"] = {"Shuishu"},<br />
["Sidd"] = {"Siddham", "Siddhaṃ", "Siddhamātṛkā"},<br />
["Sind"] = {"Khudawadi", "Sindhi"},<br />
["Sinh"] = {"Sinhala"},<br />
["Sogd"] = {"Sogdian"},<br />
["Sogo"] = {"Old Sogdian"},<br />
["Sora"] = {"Sora Sompeng"},<br />
["Soyo"] = {"Soyombo"},<br />
["Sund"] = {"Sundanese"},<br />
["Sunu"] = {"Sunuwar"},<br />
["Sylo"] = {"Syloti Nagri"},<br />
["Syrc"] = {"Syriac"},<br />
["Syre"] = {"Syriac (Estrangelo variant)"},<br />
["Syrj"] = {"Syriac (Western variant)"},<br />
["Syrn"] = {"Syriac (Eastern variant)"},<br />
["Tagb"] = {"Tagbanwa"},<br />
["Takr"] = {"Takri", "Ṭākrī", "Ṭāṅkrī"},<br />
["Tale"] = {"Tai Le"},<br />
["Talu"] = {"New Tai Lue"},<br />
["Taml"] = {"Tamil"},<br />
["Tang"] = {"Tangut"},<br />
["Tavt"] = {"Tai Viet"},<br />
["Telu"] = {"Telugu"},<br />
["Teng"] = {"Tengwar"},<br />
["Tfng"] = {"Tifinagh", "Berber"},<br />
["Tglg"] = {"Tagalog", "Baybayin", "Alibata"},<br />
["Thaa"] = {"Thaana"},<br />
["Thai"] = {"Thai"},<br />
["Tibt"] = {"Tibetan"},<br />
["Tirh"] = {"Tirhuta"},<br />
["Tnsa"] = {"Tangsa"},<br />
["Toto"] = {"Toto"},<br />
["Ugar"] = {"Ugaritic"},<br />
["Vaii"] = {"Vai"},<br />
["Visp"] = {"Visible Speech"},<br />
["Vith"] = {"Vithkuqi"},<br />
["Wara"] = {"Warang Citi", "Varang Kshiti"},<br />
["Wcho"] = {"Wancho"},<br />
["Wole"] = {"Woleai"},<br />
["Xpeo"] = {"Old Persian"},<br />
["Xsux"] = {"Sumero-Akkadian cuneiform"},<br />
["Yezi"] = {"Yezidi"},<br />
["Yiii"] = {"Yi"},<br />
["Zanb"] = {"Zanabazar Square", "Zanabazarin Dörböljin Useg", "Xewtee Dörböljin Bicig", "Horizontal Square Script"},<br />
["Zinh"] = {"Code for inherited script"},<br />
["Zmth"] = {"Mathematical notation"},<br />
["Zsye"] = {"Symbols (Emoji variant)"},<br />
["Zsym"] = {"Symbols"},<br />
["Zxxx"] = {"Code for unwritten documents"},<br />
["Zyyy"] = {"Code for undetermined script"},<br />
["Zzzz"] = {"Code for uncoded script"}<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Language/data/iana_regions&diff=3394
Module:Language/data/iana regions
2022-06-25T21:30:23Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>-- File-Date: 2022-03-02<br />
return {<br />
["AC"] = {"Ascension Island"},<br />
["AD"] = {"Andorra"},<br />
["AE"] = {"United Arab Emirates"},<br />
["AF"] = {"Afghanistan"},<br />
["AG"] = {"Antigua and Barbuda"},<br />
["AI"] = {"Anguilla"},<br />
["AL"] = {"Albania"},<br />
["AM"] = {"Armenia"},<br />
["AO"] = {"Angola"},<br />
["AQ"] = {"Antarctica"},<br />
["AR"] = {"Argentina"},<br />
["AS"] = {"American Samoa"},<br />
["AT"] = {"Austria"},<br />
["AU"] = {"Australia"},<br />
["AW"] = {"Aruba"},<br />
["AX"] = {"Åland Islands"},<br />
["AZ"] = {"Azerbaijan"},<br />
["BA"] = {"Bosnia and Herzegovina"},<br />
["BB"] = {"Barbados"},<br />
["BD"] = {"Bangladesh"},<br />
["BE"] = {"Belgium"},<br />
["BF"] = {"Burkina Faso"},<br />
["BG"] = {"Bulgaria"},<br />
["BH"] = {"Bahrain"},<br />
["BI"] = {"Burundi"},<br />
["BJ"] = {"Benin"},<br />
["BL"] = {"Saint Barthélemy"},<br />
["BM"] = {"Bermuda"},<br />
["BN"] = {"Brunei Darussalam"},<br />
["BO"] = {"Bolivia"},<br />
["BQ"] = {"Bonaire, Sint Eustatius and Saba"},<br />
["BR"] = {"Brazil"},<br />
["BS"] = {"Bahamas"},<br />
["BT"] = {"Bhutan"},<br />
["BV"] = {"Bouvet Island"},<br />
["BW"] = {"Botswana"},<br />
["BY"] = {"Belarus"},<br />
["BZ"] = {"Belize"},<br />
["CA"] = {"Canada"},<br />
["CC"] = {"Cocos (Keeling) Islands"},<br />
["CD"] = {"The Democratic Republic of the Congo"},<br />
["CF"] = {"Central African Republic"},<br />
["CG"] = {"Congo"},<br />
["CH"] = {"Switzerland"},<br />
["CI"] = {"Côte d'Ivoire"},<br />
["CK"] = {"Cook Islands"},<br />
["CL"] = {"Chile"},<br />
["CM"] = {"Cameroon"},<br />
["CN"] = {"China"},<br />
["CO"] = {"Colombia"},<br />
["CP"] = {"Clipperton Island"},<br />
["CR"] = {"Costa Rica"},<br />
["CU"] = {"Cuba"},<br />
["CV"] = {"Cabo Verde", "Cape Verde"},<br />
["CW"] = {"Curaçao"},<br />
["CX"] = {"Christmas Island"},<br />
["CY"] = {"Cyprus"},<br />
["CZ"] = {"Czechia", "Czech Republic"},<br />
["DE"] = {"Germany"},<br />
["DG"] = {"Diego Garcia"},<br />
["DJ"] = {"Djibouti"},<br />
["DK"] = {"Denmark"},<br />
["DM"] = {"Dominica"},<br />
["DO"] = {"Dominican Republic"},<br />
["DZ"] = {"Algeria"},<br />
["EA"] = {"Ceuta, Melilla"},<br />
["EC"] = {"Ecuador"},<br />
["EE"] = {"Estonia"},<br />
["EG"] = {"Egypt"},<br />
["EH"] = {"Western Sahara"},<br />
["ER"] = {"Eritrea"},<br />
["ES"] = {"Spain"},<br />
["ET"] = {"Ethiopia"},<br />
["EU"] = {"European Union"},<br />
["EZ"] = {"Eurozone"},<br />
["FI"] = {"Finland"},<br />
["FJ"] = {"Fiji"},<br />
["FK"] = {"Falkland Islands (Malvinas)"},<br />
["FM"] = {"Federated States of Micronesia"},<br />
["FO"] = {"Faroe Islands"},<br />
["FR"] = {"France"},<br />
["GA"] = {"Gabon"},<br />
["GB"] = {"United Kingdom"},<br />
["GD"] = {"Grenada"},<br />
["GE"] = {"Georgia"},<br />
["GF"] = {"French Guiana"},<br />
["GG"] = {"Guernsey"},<br />
["GH"] = {"Ghana"},<br />
["GI"] = {"Gibraltar"},<br />
["GL"] = {"Greenland"},<br />
["GM"] = {"Gambia"},<br />
["GN"] = {"Guinea"},<br />
["GP"] = {"Guadeloupe"},<br />
["GQ"] = {"Equatorial Guinea"},<br />
["GR"] = {"Greece"},<br />
["GS"] = {"South Georgia and the South Sandwich Islands"},<br />
["GT"] = {"Guatemala"},<br />
["GU"] = {"Guam"},<br />
["GW"] = {"Guinea-Bissau"},<br />
["GY"] = {"Guyana"},<br />
["HK"] = {"Hong Kong"},<br />
["HM"] = {"Heard Island and McDonald Islands"},<br />
["HN"] = {"Honduras"},<br />
["HR"] = {"Croatia"},<br />
["HT"] = {"Haiti"},<br />
["HU"] = {"Hungary"},<br />
["IC"] = {"Canary Islands"},<br />
["ID"] = {"Indonesia"},<br />
["IE"] = {"Ireland"},<br />
["IL"] = {"Israel"},<br />
["IM"] = {"Isle of Man"},<br />
["IN"] = {"India"},<br />
["IO"] = {"British Indian Ocean Territory"},<br />
["IQ"] = {"Iraq"},<br />
["IR"] = {"Islamic Republic of Iran"},<br />
["IS"] = {"Iceland"},<br />
["IT"] = {"Italy"},<br />
["JE"] = {"Jersey"},<br />
["JM"] = {"Jamaica"},<br />
["JO"] = {"Jordan"},<br />
["JP"] = {"Japan"},<br />
["KE"] = {"Kenya"},<br />
["KG"] = {"Kyrgyzstan"},<br />
["KH"] = {"Cambodia"},<br />
["KI"] = {"Kiribati"},<br />
["KM"] = {"Comoros"},<br />
["KN"] = {"Saint Kitts and Nevis"},<br />
["KP"] = {"Democratic People's Republic of Korea"},<br />
["KR"] = {"Republic of Korea"},<br />
["KW"] = {"Kuwait"},<br />
["KY"] = {"Cayman Islands"},<br />
["KZ"] = {"Kazakhstan"},<br />
["LA"] = {"Lao People's Democratic Republic"},<br />
["LB"] = {"Lebanon"},<br />
["LC"] = {"Saint Lucia"},<br />
["LI"] = {"Liechtenstein"},<br />
["LK"] = {"Sri Lanka"},<br />
["LR"] = {"Liberia"},<br />
["LS"] = {"Lesotho"},<br />
["LT"] = {"Lithuania"},<br />
["LU"] = {"Luxembourg"},<br />
["LV"] = {"Latvia"},<br />
["LY"] = {"Libya"},<br />
["MA"] = {"Morocco"},<br />
["MC"] = {"Monaco"},<br />
["MD"] = {"Moldova"},<br />
["ME"] = {"Montenegro"},<br />
["MF"] = {"Saint Martin (French part)"},<br />
["MG"] = {"Madagascar"},<br />
["MH"] = {"Marshall Islands"},<br />
["MK"] = {"North Macedonia"},<br />
["ML"] = {"Mali"},<br />
["MM"] = {"Myanmar"},<br />
["MN"] = {"Mongolia"},<br />
["MO"] = {"Macao"},<br />
["MP"] = {"Northern Mariana Islands"},<br />
["MQ"] = {"Martinique"},<br />
["MR"] = {"Mauritania"},<br />
["MS"] = {"Montserrat"},<br />
["MT"] = {"Malta"},<br />
["MU"] = {"Mauritius"},<br />
["MV"] = {"Maldives"},<br />
["MW"] = {"Malawi"},<br />
["MX"] = {"Mexico"},<br />
["MY"] = {"Malaysia"},<br />
["MZ"] = {"Mozambique"},<br />
["NA"] = {"Namibia"},<br />
["NC"] = {"New Caledonia"},<br />
["NE"] = {"Niger"},<br />
["NF"] = {"Norfolk Island"},<br />
["NG"] = {"Nigeria"},<br />
["NI"] = {"Nicaragua"},<br />
["NL"] = {"Netherlands"},<br />
["NO"] = {"Norway"},<br />
["NP"] = {"Nepal"},<br />
["NR"] = {"Nauru"},<br />
["NU"] = {"Niue"},<br />
["NZ"] = {"New Zealand"},<br />
["OM"] = {"Oman"},<br />
["PA"] = {"Panama"},<br />
["PE"] = {"Peru"},<br />
["PF"] = {"French Polynesia"},<br />
["PG"] = {"Papua New Guinea"},<br />
["PH"] = {"Philippines"},<br />
["PK"] = {"Pakistan"},<br />
["PL"] = {"Poland"},<br />
["PM"] = {"Saint Pierre and Miquelon"},<br />
["PN"] = {"Pitcairn"},<br />
["PR"] = {"Puerto Rico"},<br />
["PS"] = {"State of Palestine"},<br />
["PT"] = {"Portugal"},<br />
["PW"] = {"Palau"},<br />
["PY"] = {"Paraguay"},<br />
["QA"] = {"Qatar"},<br />
["RE"] = {"Réunion"},<br />
["RO"] = {"Romania"},<br />
["RS"] = {"Serbia"},<br />
["RU"] = {"Russian Federation"},<br />
["RW"] = {"Rwanda"},<br />
["SA"] = {"Saudi Arabia"},<br />
["SB"] = {"Solomon Islands"},<br />
["SC"] = {"Seychelles"},<br />
["SD"] = {"Sudan"},<br />
["SE"] = {"Sweden"},<br />
["SG"] = {"Singapore"},<br />
["SH"] = {"Saint Helena, Ascension and Tristan da Cunha"},<br />
["SI"] = {"Slovenia"},<br />
["SJ"] = {"Svalbard and Jan Mayen"},<br />
["SK"] = {"Slovakia"},<br />
["SL"] = {"Sierra Leone"},<br />
["SM"] = {"San Marino"},<br />
["SN"] = {"Senegal"},<br />
["SO"] = {"Somalia"},<br />
["SR"] = {"Suriname"},<br />
["SS"] = {"South Sudan"},<br />
["ST"] = {"Sao Tome and Principe"},<br />
["SV"] = {"El Salvador"},<br />
["SX"] = {"Sint Maarten (Dutch part)"},<br />
["SY"] = {"Syrian Arab Republic"},<br />
["SZ"] = {"Eswatini", "eSwatini", "Swaziland"},<br />
["TA"] = {"Tristan da Cunha"},<br />
["TC"] = {"Turks and Caicos Islands"},<br />
["TD"] = {"Chad"},<br />
["TF"] = {"French Southern Territories"},<br />
["TG"] = {"Togo"},<br />
["TH"] = {"Thailand"},<br />
["TJ"] = {"Tajikistan"},<br />
["TK"] = {"Tokelau"},<br />
["TL"] = {"Timor-Leste"},<br />
["TM"] = {"Turkmenistan"},<br />
["TN"] = {"Tunisia"},<br />
["TO"] = {"Tonga"},<br />
["TR"] = {"Turkey"},<br />
["TT"] = {"Trinidad and Tobago"},<br />
["TV"] = {"Tuvalu"},<br />
["TW"] = {"Taiwan, Province of China"},<br />
["TZ"] = {"United Republic of Tanzania"},<br />
["UA"] = {"Ukraine"},<br />
["UG"] = {"Uganda"},<br />
["UM"] = {"United States Minor Outlying Islands"},<br />
["UN"] = {"United Nations"},<br />
["US"] = {"United States"},<br />
["UY"] = {"Uruguay"},<br />
["UZ"] = {"Uzbekistan"},<br />
["VA"] = {"Holy See (Vatican City State)"},<br />
["VC"] = {"Saint Vincent and the Grenadines"},<br />
["VE"] = {"Venezuela"},<br />
["VG"] = {"British Virgin Islands"},<br />
["VI"] = {"U.S. Virgin Islands"},<br />
["VN"] = {"Viet Nam"},<br />
["VU"] = {"Vanuatu"},<br />
["WF"] = {"Wallis and Futuna"},<br />
["WS"] = {"Samoa"},<br />
["YE"] = {"Yemen"},<br />
["YT"] = {"Mayotte"},<br />
["ZA"] = {"South Africa"},<br />
["ZM"] = {"Zambia"},<br />
["ZW"] = {"Zimbabwe"},<br />
["001"] = {"World"},<br />
["002"] = {"Africa"},<br />
["003"] = {"North America"},<br />
["005"] = {"South America"},<br />
["009"] = {"Oceania"},<br />
["011"] = {"Western Africa"},<br />
["013"] = {"Central America"},<br />
["014"] = {"Eastern Africa"},<br />
["015"] = {"Northern Africa"},<br />
["017"] = {"Middle Africa"},<br />
["018"] = {"Southern Africa"},<br />
["019"] = {"Americas"},<br />
["021"] = {"Northern America"},<br />
["029"] = {"Caribbean"},<br />
["030"] = {"Eastern Asia"},<br />
["034"] = {"Southern Asia"},<br />
["035"] = {"South-Eastern Asia"},<br />
["039"] = {"Southern Europe"},<br />
["053"] = {"Australia and New Zealand"},<br />
["054"] = {"Melanesia"},<br />
["057"] = {"Micronesia"},<br />
["061"] = {"Polynesia"},<br />
["142"] = {"Asia"},<br />
["143"] = {"Central Asia"},<br />
["145"] = {"Western Asia"},<br />
["150"] = {"Europe"},<br />
["151"] = {"Eastern Europe"},<br />
["154"] = {"Northern Europe"},<br />
["155"] = {"Western Europe"},<br />
["202"] = {"Sub-Saharan Africa"},<br />
["419"] = {"Latin America and the Caribbean"}<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Language/data/iana_languages&diff=3392
Module:Language/data/iana languages
2022-06-25T21:30:22Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>-- File-Date: 2022-03-02<br />
local active = {<br />
["aa"] = {"Afar"},<br />
["ab"] = {"Abkhazian"},<br />
["ae"] = {"Avestan"},<br />
["af"] = {"Afrikaans"},<br />
["ak"] = {"Akan"},<br />
["am"] = {"Amharic"},<br />
["an"] = {"Aragonese"},<br />
["ar"] = {"Arabic"},<br />
["as"] = {"Assamese"},<br />
["av"] = {"Avaric"},<br />
["ay"] = {"Aymara"},<br />
["az"] = {"Azerbaijani"},<br />
["ba"] = {"Bashkir"},<br />
["be"] = {"Belarusian"},<br />
["bg"] = {"Bulgarian"},<br />
["bh"] = {"Bihari languages"},<br />
["bi"] = {"Bislama"},<br />
["bm"] = {"Bambara"},<br />
["bn"] = {"Bengali", "Bangla"},<br />
["bo"] = {"Tibetan"},<br />
["br"] = {"Breton"},<br />
["bs"] = {"Bosnian"},<br />
["ca"] = {"Catalan", "Valencian"},<br />
["ce"] = {"Chechen"},<br />
["ch"] = {"Chamorro"},<br />
["co"] = {"Corsican"},<br />
["cr"] = {"Cree"},<br />
["cs"] = {"Czech"},<br />
["cu"] = {"Church Slavic", "Church Slavonic", "Old Bulgarian", "Old Church Slavonic", "Old Slavonic"},<br />
["cv"] = {"Chuvash"},<br />
["cy"] = {"Welsh"},<br />
["da"] = {"Danish"},<br />
["de"] = {"German"},<br />
["dv"] = {"Dhivehi", "Divehi", "Maldivian"},<br />
["dz"] = {"Dzongkha"},<br />
["ee"] = {"Ewe"},<br />
["el"] = {"Modern Greek (1453-)"},<br />
["en"] = {"English"},<br />
["eo"] = {"Esperanto"},<br />
["es"] = {"Spanish", "Castilian"},<br />
["et"] = {"Estonian"},<br />
["eu"] = {"Basque"},<br />
["fa"] = {"Persian"},<br />
["ff"] = {"Fulah"},<br />
["fi"] = {"Finnish"},<br />
["fj"] = {"Fijian"},<br />
["fo"] = {"Faroese"},<br />
["fr"] = {"French"},<br />
["fy"] = {"Western Frisian"},<br />
["ga"] = {"Irish"},<br />
["gd"] = {"Scottish Gaelic", "Gaelic"},<br />
["gl"] = {"Galician"},<br />
["gn"] = {"Guarani"},<br />
["gu"] = {"Gujarati"},<br />
["gv"] = {"Manx"},<br />
["ha"] = {"Hausa"},<br />
["he"] = {"Hebrew"},<br />
["hi"] = {"Hindi"},<br />
["ho"] = {"Hiri Motu"},<br />
["hr"] = {"Croatian"},<br />
["ht"] = {"Haitian", "Haitian Creole"},<br />
["hu"] = {"Hungarian"},<br />
["hy"] = {"Armenian"},<br />
["hz"] = {"Herero"},<br />
["ia"] = {"Interlingua (International Auxiliary Language Association)"},<br />
["id"] = {"Indonesian"},<br />
["ie"] = {"Interlingue", "Occidental"},<br />
["ig"] = {"Igbo"},<br />
["ii"] = {"Sichuan Yi", "Nuosu"},<br />
["ik"] = {"Inupiaq"},<br />
["io"] = {"Ido"},<br />
["is"] = {"Icelandic"},<br />
["it"] = {"Italian"},<br />
["iu"] = {"Inuktitut"},<br />
["ja"] = {"Japanese"},<br />
["jv"] = {"Javanese"},<br />
["ka"] = {"Georgian"},<br />
["kg"] = {"Kongo"},<br />
["ki"] = {"Kikuyu", "Gikuyu"},<br />
["kj"] = {"Kuanyama", "Kwanyama"},<br />
["kk"] = {"Kazakh"},<br />
["kl"] = {"Kalaallisut", "Greenlandic"},<br />
["km"] = {"Khmer", "Central Khmer"},<br />
["kn"] = {"Kannada"},<br />
["ko"] = {"Korean"},<br />
["kr"] = {"Kanuri"},<br />
["ks"] = {"Kashmiri"},<br />
["ku"] = {"Kurdish"},<br />
["kv"] = {"Komi"},<br />
["kw"] = {"Cornish"},<br />
["ky"] = {"Kirghiz", "Kyrgyz"},<br />
["la"] = {"Latin"},<br />
["lb"] = {"Luxembourgish", "Letzeburgesch"},<br />
["lg"] = {"Ganda", "Luganda"},<br />
["li"] = {"Limburgan", "Limburger", "Limburgish"},<br />
["ln"] = {"Lingala"},<br />
["lo"] = {"Lao"},<br />
["lt"] = {"Lithuanian"},<br />
["lu"] = {"Luba-Katanga"},<br />
["lv"] = {"Latvian"},<br />
["mg"] = {"Malagasy"},<br />
["mh"] = {"Marshallese"},<br />
["mi"] = {"Maori"},<br />
["mk"] = {"Macedonian"},<br />
["ml"] = {"Malayalam"},<br />
["mn"] = {"Mongolian"},<br />
["mr"] = {"Marathi"},<br />
["ms"] = {"Malay (macrolanguage)"},<br />
["mt"] = {"Maltese"},<br />
["my"] = {"Burmese"},<br />
["na"] = {"Nauru"},<br />
["nb"] = {"Norwegian Bokmål"},<br />
["nd"] = {"North Ndebele"},<br />
["ne"] = {"Nepali (macrolanguage)"},<br />
["ng"] = {"Ndonga"},<br />
["nl"] = {"Dutch", "Flemish"},<br />
["nn"] = {"Norwegian Nynorsk"},<br />
["no"] = {"Norwegian"},<br />
["nr"] = {"South Ndebele"},<br />
["nv"] = {"Navajo", "Navaho"},<br />
["ny"] = {"Nyanja", "Chewa", "Chichewa"},<br />
["oc"] = {"Occitan (post 1500)"},<br />
["oj"] = {"Ojibwa"},<br />
["om"] = {"Oromo"},<br />
["or"] = {"Oriya (macrolanguage)", "Odia (macrolanguage)"},<br />
["os"] = {"Ossetian", "Ossetic"},<br />
["pa"] = {"Panjabi", "Punjabi"},<br />
["pi"] = {"Pali"},<br />
["pl"] = {"Polish"},<br />
["ps"] = {"Pushto", "Pashto"},<br />
["pt"] = {"Portuguese"},<br />
["qu"] = {"Quechua"},<br />
["rm"] = {"Romansh"},<br />
["rn"] = {"Rundi"},<br />
["ro"] = {"Romanian", "Moldavian", "Moldovan"},<br />
["ru"] = {"Russian"},<br />
["rw"] = {"Kinyarwanda"},<br />
["sa"] = {"Sanskrit"},<br />
["sc"] = {"Sardinian"},<br />
["sd"] = {"Sindhi"},<br />
["se"] = {"Northern Sami"},<br />
["sg"] = {"Sango"},<br />
["sh"] = {"Serbo-Croatian"},<br />
["si"] = {"Sinhala", "Sinhalese"},<br />
["sk"] = {"Slovak"},<br />
["sl"] = {"Slovenian"},<br />
["sm"] = {"Samoan"},<br />
["sn"] = {"Shona"},<br />
["so"] = {"Somali"},<br />
["sq"] = {"Albanian"},<br />
["sr"] = {"Serbian"},<br />
["ss"] = {"Swati"},<br />
["st"] = {"Southern Sotho"},<br />
["su"] = {"Sundanese"},<br />
["sv"] = {"Swedish"},<br />
["sw"] = {"Swahili (macrolanguage)"},<br />
["ta"] = {"Tamil"},<br />
["te"] = {"Telugu"},<br />
["tg"] = {"Tajik"},<br />
["th"] = {"Thai"},<br />
["ti"] = {"Tigrinya"},<br />
["tk"] = {"Turkmen"},<br />
["tl"] = {"Tagalog"},<br />
["tn"] = {"Tswana"},<br />
["to"] = {"Tonga (Tonga Islands)"},<br />
["tr"] = {"Turkish"},<br />
["ts"] = {"Tsonga"},<br />
["tt"] = {"Tatar"},<br />
["tw"] = {"Twi"},<br />
["ty"] = {"Tahitian"},<br />
["ug"] = {"Uighur", "Uyghur"},<br />
["uk"] = {"Ukrainian"},<br />
["ur"] = {"Urdu"},<br />
["uz"] = {"Uzbek"},<br />
["ve"] = {"Venda"},<br />
["vi"] = {"Vietnamese"},<br />
["vo"] = {"Volapük"},<br />
["wa"] = {"Walloon"},<br />
["wo"] = {"Wolof"},<br />
["xh"] = {"Xhosa"},<br />
["yi"] = {"Yiddish"},<br />
["yo"] = {"Yoruba"},<br />
["za"] = {"Zhuang", "Chuang"},<br />
["zh"] = {"Chinese"},<br />
["zu"] = {"Zulu"},<br />
["aaa"] = {"Ghotuo"},<br />
["aab"] = {"Alumu-Tesu"},<br />
["aac"] = {"Ari"},<br />
["aad"] = {"Amal"},<br />
["aae"] = {"Arbëreshë Albanian"},<br />
["aaf"] = {"Aranadan"},<br />
["aag"] = {"Ambrak"},<br />
["aah"] = {"Abu' Arapesh"},<br />
["aai"] = {"Arifama-Miniafia"},<br />
["aak"] = {"Ankave"},<br />
["aal"] = {"Afade"},<br />
["aan"] = {"Anambé"},<br />
["aao"] = {"Algerian Saharan Arabic"},<br />
["aap"] = {"Pará Arára"},<br />
["aaq"] = {"Eastern Abnaki"},<br />
["aas"] = {"Aasáx"},<br />
["aat"] = {"Arvanitika Albanian"},<br />
["aau"] = {"Abau"},<br />
["aav"] = {"Austro-Asiatic languages"},<br />
["aaw"] = {"Solong"},<br />
["aax"] = {"Mandobo Atas"},<br />
["aaz"] = {"Amarasi"},<br />
["aba"] = {"Abé"},<br />
["abb"] = {"Bankon"},<br />
["abc"] = {"Ambala Ayta"},<br />
["abd"] = {"Manide"},<br />
["abe"] = {"Western Abnaki"},<br />
["abf"] = {"Abai Sungai"},<br />
["abg"] = {"Abaga"},<br />
["abh"] = {"Tajiki Arabic"},<br />
["abi"] = {"Abidji"},<br />
["abj"] = {"Aka-Bea"},<br />
["abl"] = {"Lampung Nyo"},<br />
["abm"] = {"Abanyom"},<br />
["abn"] = {"Abua"},<br />
["abo"] = {"Abon"},<br />
["abp"] = {"Abellen Ayta"},<br />
["abq"] = {"Abaza"},<br />
["abr"] = {"Abron"},<br />
["abs"] = {"Ambonese Malay"},<br />
["abt"] = {"Ambulas"},<br />
["abu"] = {"Abure"},<br />
["abv"] = {"Baharna Arabic"},<br />
["abw"] = {"Pal"},<br />
["abx"] = {"Inabaknon"},<br />
["aby"] = {"Aneme Wake"},<br />
["abz"] = {"Abui"},<br />
["aca"] = {"Achagua"},<br />
["acb"] = {"Áncá"},<br />
["acd"] = {"Gikyode"},<br />
["ace"] = {"Achinese"},<br />
["acf"] = {"Saint Lucian Creole French"},<br />
["ach"] = {"Acoli"},<br />
["aci"] = {"Aka-Cari"},<br />
["ack"] = {"Aka-Kora"},<br />
["acl"] = {"Akar-Bale"},<br />
["acm"] = {"Mesopotamian Arabic"},<br />
["acn"] = {"Achang"},<br />
["acp"] = {"Eastern Acipa"},<br />
["acq"] = {"Ta'izzi-Adeni Arabic"},<br />
["acr"] = {"Achi"},<br />
["acs"] = {"Acroá"},<br />
["act"] = {"Achterhoeks"},<br />
["acu"] = {"Achuar-Shiwiar"},<br />
["acv"] = {"Achumawi"},<br />
["acw"] = {"Hijazi Arabic"},<br />
["acx"] = {"Omani Arabic"},<br />
["acy"] = {"Cypriot Arabic"},<br />
["acz"] = {"Acheron"},<br />
["ada"] = {"Adangme"},<br />
["adb"] = {"Atauran"},<br />
["add"] = {"Lidzonka", "Dzodinka"},<br />
["ade"] = {"Adele"},<br />
["adf"] = {"Dhofari Arabic"},<br />
["adg"] = {"Andegerebinha"},<br />
["adh"] = {"Adhola"},<br />
["adi"] = {"Adi"},<br />
["adj"] = {"Adioukrou"},<br />
["adl"] = {"Galo"},<br />
["adn"] = {"Adang"},<br />
["ado"] = {"Abu"},<br />
["adq"] = {"Adangbe"},<br />
["adr"] = {"Adonara"},<br />
["ads"] = {"Adamorobe Sign Language"},<br />
["adt"] = {"Adnyamathanha"},<br />
["adu"] = {"Aduge"},<br />
["adw"] = {"Amundava"},<br />
["adx"] = {"Amdo Tibetan"},<br />
["ady"] = {"Adyghe", "Adygei"},<br />
["adz"] = {"Adzera"},<br />
["aea"] = {"Areba"},<br />
["aeb"] = {"Tunisian Arabic"},<br />
["aec"] = {"Saidi Arabic"},<br />
["aed"] = {"Argentine Sign Language"},<br />
["aee"] = {"Northeast Pashai", "Northeast Pashayi"},<br />
["aek"] = {"Haeke"},<br />
["ael"] = {"Ambele"},<br />
["aem"] = {"Arem"},<br />
["aen"] = {"Armenian Sign Language"},<br />
["aeq"] = {"Aer"},<br />
["aer"] = {"Eastern Arrernte"},<br />
["aes"] = {"Alsea"},<br />
["aeu"] = {"Akeu"},<br />
["aew"] = {"Ambakich"},<br />
["aey"] = {"Amele"},<br />
["aez"] = {"Aeka"},<br />
["afa"] = {"Afro-Asiatic languages"},<br />
["afb"] = {"Gulf Arabic"},<br />
["afd"] = {"Andai"},<br />
["afe"] = {"Putukwam"},<br />
["afg"] = {"Afghan Sign Language"},<br />
["afh"] = {"Afrihili"},<br />
["afi"] = {"Akrukay", "Chini"},<br />
["afk"] = {"Nanubae"},<br />
["afn"] = {"Defaka"},<br />
["afo"] = {"Eloyi"},<br />
["afp"] = {"Tapei"},<br />
["afs"] = {"Afro-Seminole Creole"},<br />
["aft"] = {"Afitti"},<br />
["afu"] = {"Awutu"},<br />
["afz"] = {"Obokuitai"},<br />
["aga"] = {"Aguano"},<br />
["agb"] = {"Legbo"},<br />
["agc"] = {"Agatu"},<br />
["agd"] = {"Agarabi"},<br />
["age"] = {"Angal"},<br />
["agf"] = {"Arguni"},<br />
["agg"] = {"Angor"},<br />
["agh"] = {"Ngelima"},<br />
["agi"] = {"Agariya"},<br />
["agj"] = {"Argobba"},<br />
["agk"] = {"Isarog Agta"},<br />
["agl"] = {"Fembe"},<br />
["agm"] = {"Angaataha"},<br />
["agn"] = {"Agutaynen"},<br />
["ago"] = {"Tainae"},<br />
["agq"] = {"Aghem"},<br />
["agr"] = {"Aguaruna"},<br />
["ags"] = {"Esimbi"},<br />
["agt"] = {"Central Cagayan Agta"},<br />
["agu"] = {"Aguacateco"},<br />
["agv"] = {"Remontado Dumagat"},<br />
["agw"] = {"Kahua"},<br />
["agx"] = {"Aghul"},<br />
["agy"] = {"Southern Alta"},<br />
["agz"] = {"Mt. Iriga Agta"},<br />
["aha"] = {"Ahanta"},<br />
["ahb"] = {"Axamb"},<br />
["ahg"] = {"Qimant"},<br />
["ahh"] = {"Aghu"},<br />
["ahi"] = {"Tiagbamrin Aizi"},<br />
["ahk"] = {"Akha"},<br />
["ahl"] = {"Igo"},<br />
["ahm"] = {"Mobumrin Aizi"},<br />
["ahn"] = {"Àhàn"},<br />
["aho"] = {"Ahom"},<br />
["ahp"] = {"Aproumu Aizi"},<br />
["ahr"] = {"Ahirani"},<br />
["ahs"] = {"Ashe"},<br />
["aht"] = {"Ahtena"},<br />
["aia"] = {"Arosi"},<br />
["aib"] = {"Ainu (China)"},<br />
["aic"] = {"Ainbai"},<br />
["aid"] = {"Alngith"},<br />
["aie"] = {"Amara"},<br />
["aif"] = {"Agi"},<br />
["aig"] = {"Antigua and Barbuda Creole English"},<br />
["aih"] = {"Ai-Cham"},<br />
["aii"] = {"Assyrian Neo-Aramaic"},<br />
["aij"] = {"Lishanid Noshan"},<br />
["aik"] = {"Ake"},<br />
["ail"] = {"Aimele"},<br />
["aim"] = {"Aimol"},<br />
["ain"] = {"Ainu (Japan)"},<br />
["aio"] = {"Aiton"},<br />
["aip"] = {"Burumakok"},<br />
["aiq"] = {"Aimaq"},<br />
["air"] = {"Airoran"},<br />
["ait"] = {"Arikem"},<br />
["aiw"] = {"Aari"},<br />
["aix"] = {"Aighon"},<br />
["aiy"] = {"Ali"},<br />
["aja"] = {"Aja (South Sudan)"},<br />
["ajg"] = {"Aja (Benin)"},<br />
["aji"] = {"Ajië"},<br />
["ajn"] = {"Andajin"},<br />
["ajp"] = {"South Levantine Arabic"},<br />
["ajs"] = {"Algerian Jewish Sign Language"},<br />
["aju"] = {"Judeo-Moroccan Arabic"},<br />
["ajw"] = {"Ajawa"},<br />
["ajz"] = {"Amri Karbi"},<br />
["akb"] = {"Batak Angkola"},<br />
["akc"] = {"Mpur"},<br />
["akd"] = {"Ukpet-Ehom"},<br />
["ake"] = {"Akawaio"},<br />
["akf"] = {"Akpa"},<br />
["akg"] = {"Anakalangu"},<br />
["akh"] = {"Angal Heneng"},<br />
["aki"] = {"Aiome"},<br />
["akj"] = {"Aka-Jeru"},<br />
["akk"] = {"Akkadian"},<br />
["akl"] = {"Aklanon"},<br />
["akm"] = {"Aka-Bo"},<br />
["ako"] = {"Akurio"},<br />
["akp"] = {"Siwu"},<br />
["akq"] = {"Ak"},<br />
["akr"] = {"Araki"},<br />
["aks"] = {"Akaselem"},<br />
["akt"] = {"Akolet"},<br />
["aku"] = {"Akum"},<br />
["akv"] = {"Akhvakh"},<br />
["akw"] = {"Akwa"},<br />
["akx"] = {"Aka-Kede"},<br />
["aky"] = {"Aka-Kol"},<br />
["akz"] = {"Alabama"},<br />
["ala"] = {"Alago"},<br />
["alc"] = {"Qawasqar"},<br />
["ald"] = {"Alladian"},<br />
["ale"] = {"Aleut"},<br />
["alf"] = {"Alege"},<br />
["alg"] = {"Algonquian languages"},<br />
["alh"] = {"Alawa"},<br />
["ali"] = {"Amaimon"},<br />
["alj"] = {"Alangan"},<br />
["alk"] = {"Alak"},<br />
["all"] = {"Allar"},<br />
["alm"] = {"Amblong"},<br />
["aln"] = {"Gheg Albanian"},<br />
["alo"] = {"Larike-Wakasihu"},<br />
["alp"] = {"Alune"},<br />
["alq"] = {"Algonquin"},<br />
["alr"] = {"Alutor"},<br />
["als"] = {"Tosk Albanian"},<br />
["alt"] = {"Southern Altai"},<br />
["alu"] = {"'Are'are"},<br />
["alv"] = {"Atlantic-Congo languages"},<br />
["alw"] = {"Alaba-K’abeena", "Wanbasana"},<br />
["alx"] = {"Amol"},<br />
["aly"] = {"Alyawarr"},<br />
["alz"] = {"Alur"},<br />
["ama"] = {"Amanayé"},<br />
["amb"] = {"Ambo"},<br />
["amc"] = {"Amahuaca"},<br />
["ame"] = {"Yanesha'"},<br />
["amf"] = {"Hamer-Banna"},<br />
["amg"] = {"Amurdak"},<br />
["ami"] = {"Amis"},<br />
["amj"] = {"Amdang"},<br />
["amk"] = {"Ambai"},<br />
["aml"] = {"War-Jaintia"},<br />
["amm"] = {"Ama (Papua New Guinea)"},<br />
["amn"] = {"Amanab"},<br />
["amo"] = {"Amo"},<br />
["amp"] = {"Alamblak"},<br />
["amq"] = {"Amahai"},<br />
["amr"] = {"Amarakaeri"},<br />
["ams"] = {"Southern Amami-Oshima"},<br />
["amt"] = {"Amto"},<br />
["amu"] = {"Guerrero Amuzgo"},<br />
["amv"] = {"Ambelau"},<br />
["amw"] = {"Western Neo-Aramaic"},<br />
["amx"] = {"Anmatyerre"},<br />
["amy"] = {"Ami"},<br />
["amz"] = {"Atampaya"},<br />
["ana"] = {"Andaqui"},<br />
["anb"] = {"Andoa"},<br />
["anc"] = {"Ngas"},<br />
["and"] = {"Ansus"},<br />
["ane"] = {"Xârâcùù"},<br />
["anf"] = {"Animere"},<br />
["ang"] = {"Old English (ca. 450-1100)"},<br />
["anh"] = {"Nend"},<br />
["ani"] = {"Andi"},<br />
["anj"] = {"Anor"},<br />
["ank"] = {"Goemai"},<br />
["anl"] = {"Anu-Hkongso Chin"},<br />
["anm"] = {"Anal"},<br />
["ann"] = {"Obolo"},<br />
["ano"] = {"Andoque"},<br />
["anp"] = {"Angika"},<br />
["anq"] = {"Jarawa (India)"},<br />
["anr"] = {"Andh"},<br />
["ans"] = {"Anserma"},<br />
["ant"] = {"Antakarinya", "Antikarinya"},<br />
["anu"] = {"Anuak"},<br />
["anv"] = {"Denya"},<br />
["anw"] = {"Anaang"},<br />
["anx"] = {"Andra-Hus"},<br />
["any"] = {"Anyin"},<br />
["anz"] = {"Anem"},<br />
["aoa"] = {"Angolar"},<br />
["aob"] = {"Abom"},<br />
["aoc"] = {"Pemon"},<br />
["aod"] = {"Andarum"},<br />
["aoe"] = {"Angal Enen"},<br />
["aof"] = {"Bragat"},<br />
["aog"] = {"Angoram"},<br />
["aoi"] = {"Anindilyakwa"},<br />
["aoj"] = {"Mufian"},<br />
["aok"] = {"Arhö"},<br />
["aol"] = {"Alor"},<br />
["aom"] = {"Ömie"},<br />
["aon"] = {"Bumbita Arapesh"},<br />
["aor"] = {"Aore"},<br />
["aos"] = {"Taikat"},<br />
["aot"] = {"Atong (India)", "A'tong"},<br />
["aou"] = {"A'ou"},<br />
["aox"] = {"Atorada"},<br />
["aoz"] = {"Uab Meto"},<br />
["apa"] = {"Apache languages"},<br />
["apb"] = {"Sa'a"},<br />
["apc"] = {"North Levantine Arabic"},<br />
["apd"] = {"Sudanese Arabic"},<br />
["ape"] = {"Bukiyip"},<br />
["apf"] = {"Pahanan Agta"},<br />
["apg"] = {"Ampanang"},<br />
["aph"] = {"Athpariya"},<br />
["api"] = {"Apiaká"},<br />
["apj"] = {"Jicarilla Apache"},<br />
["apk"] = {"Kiowa Apache"},<br />
["apl"] = {"Lipan Apache"},<br />
["apm"] = {"Mescalero-Chiricahua Apache"},<br />
["apn"] = {"Apinayé"},<br />
["apo"] = {"Ambul"},<br />
["app"] = {"Apma"},<br />
["apq"] = {"A-Pucikwar"},<br />
["apr"] = {"Arop-Lokep"},<br />
["aps"] = {"Arop-Sissano"},<br />
["apt"] = {"Apatani"},<br />
["apu"] = {"Apurinã"},<br />
["apv"] = {"Alapmunte"},<br />
["apw"] = {"Western Apache"},<br />
["apx"] = {"Aputai"},<br />
["apy"] = {"Apalaí"},<br />
["apz"] = {"Safeyoka"},<br />
["aqa"] = {"Alacalufan languages"},<br />
["aqc"] = {"Archi"},<br />
["aqd"] = {"Ampari Dogon"},<br />
["aqg"] = {"Arigidi"},<br />
["aqk"] = {"Aninka"},<br />
["aql"] = {"Algic languages"},<br />
["aqm"] = {"Atohwaim"},<br />
["aqn"] = {"Northern Alta"},<br />
["aqp"] = {"Atakapa"},<br />
["aqr"] = {"Arhâ"},<br />
["aqt"] = {"Angaité"},<br />
["aqz"] = {"Akuntsu"},<br />
["arb"] = {"Standard Arabic"},<br />
["arc"] = {"Official Aramaic (700-300 BCE)", "Imperial Aramaic (700-300 BCE)"},<br />
["ard"] = {"Arabana"},<br />
["are"] = {"Western Arrarnta"},<br />
["arh"] = {"Arhuaco"},<br />
["ari"] = {"Arikara"},<br />
["arj"] = {"Arapaso"},<br />
["ark"] = {"Arikapú"},<br />
["arl"] = {"Arabela"},<br />
["arn"] = {"Mapudungun", "Mapuche"},<br />
["aro"] = {"Araona"},<br />
["arp"] = {"Arapaho"},<br />
["arq"] = {"Algerian Arabic"},<br />
["arr"] = {"Karo (Brazil)"},<br />
["ars"] = {"Najdi Arabic"},<br />
["art"] = {"Artificial languages"},<br />
["aru"] = {"Aruá (Amazonas State)", "Arawá"},<br />
["arv"] = {"Arbore"},<br />
["arw"] = {"Arawak"},<br />
["arx"] = {"Aruá (Rodonia State)"},<br />
["ary"] = {"Moroccan Arabic"},<br />
["arz"] = {"Egyptian Arabic"},<br />
["asa"] = {"Asu (Tanzania)"},<br />
["asb"] = {"Assiniboine"},<br />
["asc"] = {"Casuarina Coast Asmat"},<br />
["ase"] = {"American Sign Language"},<br />
["asf"] = {"Auslan", "Australian Sign Language"},<br />
["asg"] = {"Cishingini"},<br />
["ash"] = {"Abishira"},<br />
["asi"] = {"Buruwai"},<br />
["asj"] = {"Sari"},<br />
["ask"] = {"Ashkun"},<br />
["asl"] = {"Asilulu"},<br />
["asn"] = {"Xingú Asuriní"},<br />
["aso"] = {"Dano"},<br />
["asp"] = {"Algerian Sign Language"},<br />
["asq"] = {"Austrian Sign Language"},<br />
["asr"] = {"Asuri"},<br />
["ass"] = {"Ipulo"},<br />
["ast"] = {"Asturian", "Asturleonese", "Bable", "Leonese"},<br />
["asu"] = {"Tocantins Asurini"},<br />
["asv"] = {"Asoa"},<br />
["asw"] = {"Australian Aborigines Sign Language"},<br />
["asx"] = {"Muratayak"},<br />
["asy"] = {"Yaosakor Asmat"},<br />
["asz"] = {"As"},<br />
["ata"] = {"Pele-Ata"},<br />
["atb"] = {"Zaiwa"},<br />
["atc"] = {"Atsahuaca"},<br />
["atd"] = {"Ata Manobo"},<br />
["ate"] = {"Atemble"},<br />
["atg"] = {"Ivbie North-Okpela-Arhe"},<br />
["ath"] = {"Athapascan languages"},<br />
["ati"] = {"Attié"},<br />
["atj"] = {"Atikamekw"},<br />
["atk"] = {"Ati"},<br />
["atl"] = {"Mt. Iraya Agta"},<br />
["atm"] = {"Ata"},<br />
["atn"] = {"Ashtiani"},<br />
["ato"] = {"Atong (Cameroon)"},<br />
["atp"] = {"Pudtol Atta"},<br />
["atq"] = {"Aralle-Tabulahan"},<br />
["atr"] = {"Waimiri-Atroari"},<br />
["ats"] = {"Gros Ventre"},<br />
["att"] = {"Pamplona Atta"},<br />
["atu"] = {"Reel"},<br />
["atv"] = {"Northern Altai"},<br />
["atw"] = {"Atsugewi"},<br />
["atx"] = {"Arutani"},<br />
["aty"] = {"Aneityum"},<br />
["atz"] = {"Arta"},<br />
["aua"] = {"Asumboa"},<br />
["aub"] = {"Alugu"},<br />
["auc"] = {"Waorani"},<br />
["aud"] = {"Anuta"},<br />
["auf"] = {"Arauan languages"},<br />
["aug"] = {"Aguna"},<br />
["auh"] = {"Aushi"},<br />
["aui"] = {"Anuki"},<br />
["auj"] = {"Awjilah"},<br />
["auk"] = {"Heyo"},<br />
["aul"] = {"Aulua"},<br />
["aum"] = {"Asu (Nigeria)"},<br />
["aun"] = {"Molmo One"},<br />
["auo"] = {"Auyokawa"},<br />
["aup"] = {"Makayam"},<br />
["auq"] = {"Anus", "Korur"},<br />
["aur"] = {"Aruek"},<br />
["aus"] = {"Australian languages"},<br />
["aut"] = {"Austral"},<br />
["auu"] = {"Auye"},<br />
["auw"] = {"Awyi"},<br />
["aux"] = {"Aurá"},<br />
["auy"] = {"Awiyaana"},<br />
["auz"] = {"Uzbeki Arabic"},<br />
["avb"] = {"Avau"},<br />
["avd"] = {"Alviri-Vidari"},<br />
["avi"] = {"Avikam"},<br />
["avk"] = {"Kotava"},<br />
["avl"] = {"Eastern Egyptian Bedawi Arabic"},<br />
["avm"] = {"Angkamuthi"},<br />
["avn"] = {"Avatime"},<br />
["avo"] = {"Agavotaguerra"},<br />
["avs"] = {"Aushiri"},<br />
["avt"] = {"Au"},<br />
["avu"] = {"Avokaya"},<br />
["avv"] = {"Avá-Canoeiro"},<br />
["awa"] = {"Awadhi"},<br />
["awb"] = {"Awa (Papua New Guinea)"},<br />
["awc"] = {"Cicipu"},<br />
["awd"] = {"Arawakan languages"},<br />
["awe"] = {"Awetí"},<br />
["awg"] = {"Anguthimri"},<br />
["awh"] = {"Awbono"},<br />
["awi"] = {"Aekyom"},<br />
["awk"] = {"Awabakal"},<br />
["awm"] = {"Arawum"},<br />
["awn"] = {"Awngi"},<br />
["awo"] = {"Awak"},<br />
["awr"] = {"Awera"},<br />
["aws"] = {"South Awyu"},<br />
["awt"] = {"Araweté"},<br />
["awu"] = {"Central Awyu"},<br />
["awv"] = {"Jair Awyu"},<br />
["aww"] = {"Awun"},<br />
["awx"] = {"Awara"},<br />
["awy"] = {"Edera Awyu"},<br />
["axb"] = {"Abipon"},<br />
["axe"] = {"Ayerrerenge"},<br />
["axg"] = {"Mato Grosso Arára"},<br />
["axk"] = {"Yaka (Central African Republic)"},<br />
["axl"] = {"Lower Southern Aranda"},<br />
["axm"] = {"Middle Armenian"},<br />
["axx"] = {"Xârâgurè"},<br />
["aya"] = {"Awar"},<br />
["ayb"] = {"Ayizo Gbe"},<br />
["ayc"] = {"Southern Aymara"},<br />
["ayd"] = {"Ayabadhu"},<br />
["aye"] = {"Ayere"},<br />
["ayg"] = {"Ginyanga"},<br />
["ayh"] = {"Hadrami Arabic"},<br />
["ayi"] = {"Leyigha"},<br />
["ayk"] = {"Akuku"},<br />
["ayl"] = {"Libyan Arabic"},<br />
["ayn"] = {"Sanaani Arabic"},<br />
["ayo"] = {"Ayoreo"},<br />
["ayp"] = {"North Mesopotamian Arabic"},<br />
["ayq"] = {"Ayi (Papua New Guinea)"},<br />
["ayr"] = {"Central Aymara"},<br />
["ays"] = {"Sorsogon Ayta"},<br />
["ayt"] = {"Magbukun Ayta"},<br />
["ayu"] = {"Ayu"},<br />
["ayz"] = {"Mai Brat"},<br />
["aza"] = {"Azha"},<br />
["azb"] = {"South Azerbaijani"},<br />
["azc"] = {"Uto-Aztecan languages"},<br />
["azd"] = {"Eastern Durango Nahuatl"},<br />
["azg"] = {"San Pedro Amuzgos Amuzgo"},<br />
["azj"] = {"North Azerbaijani"},<br />
["azm"] = {"Ipalapa Amuzgo"},<br />
["azn"] = {"Western Durango Nahuatl"},<br />
["azo"] = {"Awing"},<br />
["azt"] = {"Faire Atta"},<br />
["azz"] = {"Highland Puebla Nahuatl"},<br />
["baa"] = {"Babatana"},<br />
["bab"] = {"Bainouk-Gunyuño"},<br />
["bac"] = {"Badui"},<br />
["bad"] = {"Banda languages"},<br />
["bae"] = {"Baré"},<br />
["baf"] = {"Nubaca"},<br />
["bag"] = {"Tuki"},<br />
["bah"] = {"Bahamas Creole English"},<br />
["bai"] = {"Bamileke languages"},<br />
["baj"] = {"Barakai"},<br />
["bal"] = {"Baluchi"},<br />
["ban"] = {"Balinese"},<br />
["bao"] = {"Waimaha"},<br />
["bap"] = {"Bantawa"},<br />
["bar"] = {"Bavarian"},<br />
["bas"] = {"Basa (Cameroon)"},<br />
["bat"] = {"Baltic languages"},<br />
["bau"] = {"Bada (Nigeria)"},<br />
["bav"] = {"Vengo"},<br />
["baw"] = {"Bambili-Bambui"},<br />
["bax"] = {"Bamun"},<br />
["bay"] = {"Batuley"},<br />
["bba"] = {"Baatonum"},<br />
["bbb"] = {"Barai"},<br />
["bbc"] = {"Batak Toba"},<br />
["bbd"] = {"Bau"},<br />
["bbe"] = {"Bangba"},<br />
["bbf"] = {"Baibai"},<br />
["bbg"] = {"Barama"},<br />
["bbh"] = {"Bugan"},<br />
["bbi"] = {"Barombi"},<br />
["bbj"] = {"Ghomálá'"},<br />
["bbk"] = {"Babanki"},<br />
["bbl"] = {"Bats"},<br />
["bbm"] = {"Babango"},<br />
["bbn"] = {"Uneapa"},<br />
["bbo"] = {"Northern Bobo Madaré", "Konabéré"},<br />
["bbp"] = {"West Central Banda"},<br />
["bbq"] = {"Bamali"},<br />
["bbr"] = {"Girawa"},<br />
["bbs"] = {"Bakpinka"},<br />
["bbt"] = {"Mburku"},<br />
["bbu"] = {"Kulung (Nigeria)"},<br />
["bbv"] = {"Karnai"},<br />
["bbw"] = {"Baba"},<br />
["bbx"] = {"Bubia"},<br />
["bby"] = {"Befang"},<br />
["bca"] = {"Central Bai"},<br />
["bcb"] = {"Bainouk-Samik"},<br />
["bcc"] = {"Southern Balochi"},<br />
["bcd"] = {"North Babar"},<br />
["bce"] = {"Bamenyam"},<br />
["bcf"] = {"Bamu"},<br />
["bcg"] = {"Baga Pokur"},<br />
["bch"] = {"Bariai"},<br />
["bci"] = {"Baoulé"},<br />
["bcj"] = {"Bardi"},<br />
["bck"] = {"Bunuba"},<br />
["bcl"] = {"Central Bikol"},<br />
["bcm"] = {"Bannoni"},<br />
["bcn"] = {"Bali (Nigeria)"},<br />
["bco"] = {"Kaluli"},<br />
["bcp"] = {"Bali (Democratic Republic of Congo)"},<br />
["bcq"] = {"Bench"},<br />
["bcr"] = {"Babine"},<br />
["bcs"] = {"Kohumono"},<br />
["bct"] = {"Bendi"},<br />
["bcu"] = {"Awad Bing"},<br />
["bcv"] = {"Shoo-Minda-Nye"},<br />
["bcw"] = {"Bana"},<br />
["bcy"] = {"Bacama"},<br />
["bcz"] = {"Bainouk-Gunyaamolo"},<br />
["bda"] = {"Bayot"},<br />
["bdb"] = {"Basap"},<br />
["bdc"] = {"Emberá-Baudó"},<br />
["bdd"] = {"Bunama"},<br />
["bde"] = {"Bade"},<br />
["bdf"] = {"Biage"},<br />
["bdg"] = {"Bonggi"},<br />
["bdh"] = {"Baka (South Sudan)"},<br />
["bdi"] = {"Burun"},<br />
["bdj"] = {"Bai (South Sudan)", "Bai"},<br />
["bdk"] = {"Budukh"},<br />
["bdl"] = {"Indonesian Bajau"},<br />
["bdm"] = {"Buduma"},<br />
["bdn"] = {"Baldemu"},<br />
["bdo"] = {"Morom"},<br />
["bdp"] = {"Bende"},<br />
["bdq"] = {"Bahnar"},<br />
["bdr"] = {"West Coast Bajau"},<br />
["bds"] = {"Burunge"},<br />
["bdt"] = {"Bokoto"},<br />
["bdu"] = {"Oroko"},<br />
["bdv"] = {"Bodo Parja"},<br />
["bdw"] = {"Baham"},<br />
["bdx"] = {"Budong-Budong"},<br />
["bdy"] = {"Bandjalang"},<br />
["bdz"] = {"Badeshi"},<br />
["bea"] = {"Beaver"},<br />
["beb"] = {"Bebele"},<br />
["bec"] = {"Iceve-Maci"},<br />
["bed"] = {"Bedoanas"},<br />
["bee"] = {"Byangsi"},<br />
["bef"] = {"Benabena"},<br />
["beg"] = {"Belait"},<br />
["beh"] = {"Biali"},<br />
["bei"] = {"Bekati'"},<br />
["bej"] = {"Beja", "Bedawiyet"},<br />
["bek"] = {"Bebeli"},<br />
["bem"] = {"Bemba (Zambia)"},<br />
["beo"] = {"Beami"},<br />
["bep"] = {"Besoa"},<br />
["beq"] = {"Beembe"},<br />
["ber"] = {"Berber languages"},<br />
["bes"] = {"Besme"},<br />
["bet"] = {"Guiberoua Béte"},<br />
["beu"] = {"Blagar"},<br />
["bev"] = {"Daloa Bété"},<br />
["bew"] = {"Betawi"},<br />
["bex"] = {"Jur Modo"},<br />
["bey"] = {"Beli (Papua New Guinea)"},<br />
["bez"] = {"Bena (Tanzania)"},<br />
["bfa"] = {"Bari"},<br />
["bfb"] = {"Pauri Bareli"},<br />
["bfc"] = {"Panyi Bai", "Northern Bai"},<br />
["bfd"] = {"Bafut"},<br />
["bfe"] = {"Betaf", "Tena"},<br />
["bff"] = {"Bofi"},<br />
["bfg"] = {"Busang Kayan"},<br />
["bfh"] = {"Blafe"},<br />
["bfi"] = {"British Sign Language"},<br />
["bfj"] = {"Bafanji"},<br />
["bfk"] = {"Ban Khor Sign Language"},<br />
["bfl"] = {"Banda-Ndélé"},<br />
["bfm"] = {"Mmen"},<br />
["bfn"] = {"Bunak"},<br />
["bfo"] = {"Malba Birifor"},<br />
["bfp"] = {"Beba"},<br />
["bfq"] = {"Badaga"},<br />
["bfr"] = {"Bazigar"},<br />
["bfs"] = {"Southern Bai"},<br />
["bft"] = {"Balti"},<br />
["bfu"] = {"Gahri"},<br />
["bfw"] = {"Bondo"},<br />
["bfx"] = {"Bantayanon"},<br />
["bfy"] = {"Bagheli"},<br />
["bfz"] = {"Mahasu Pahari"},<br />
["bga"] = {"Gwamhi-Wuri"},<br />
["bgb"] = {"Bobongko"},<br />
["bgc"] = {"Haryanvi"},<br />
["bgd"] = {"Rathwi Bareli"},<br />
["bge"] = {"Bauria"},<br />
["bgf"] = {"Bangandu"},<br />
["bgg"] = {"Bugun"},<br />
["bgi"] = {"Giangan"},<br />
["bgj"] = {"Bangolan"},<br />
["bgk"] = {"Bit", "Buxinhua"},<br />
["bgl"] = {"Bo (Laos)"},<br />
["bgn"] = {"Western Balochi"},<br />
["bgo"] = {"Baga Koga"},<br />
["bgp"] = {"Eastern Balochi"},<br />
["bgq"] = {"Bagri"},<br />
["bgr"] = {"Bawm Chin"},<br />
["bgs"] = {"Tagabawa"},<br />
["bgt"] = {"Bughotu"},<br />
["bgu"] = {"Mbongno"},<br />
["bgv"] = {"Warkay-Bipim"},<br />
["bgw"] = {"Bhatri"},<br />
["bgx"] = {"Balkan Gagauz Turkish"},<br />
["bgy"] = {"Benggoi"},<br />
["bgz"] = {"Banggai"},<br />
["bha"] = {"Bharia"},<br />
["bhb"] = {"Bhili"},<br />
["bhc"] = {"Biga"},<br />
["bhd"] = {"Bhadrawahi"},<br />
["bhe"] = {"Bhaya"},<br />
["bhf"] = {"Odiai"},<br />
["bhg"] = {"Binandere"},<br />
["bhh"] = {"Bukharic"},<br />
["bhi"] = {"Bhilali"},<br />
["bhj"] = {"Bahing"},<br />
["bhl"] = {"Bimin"},<br />
["bhm"] = {"Bathari"},<br />
["bhn"] = {"Bohtan Neo-Aramaic"},<br />
["bho"] = {"Bhojpuri"},<br />
["bhp"] = {"Bima"},<br />
["bhq"] = {"Tukang Besi South"},<br />
["bhr"] = {"Bara Malagasy"},<br />
["bhs"] = {"Buwal"},<br />
["bht"] = {"Bhattiyali"},<br />
["bhu"] = {"Bhunjia"},<br />
["bhv"] = {"Bahau"},<br />
["bhw"] = {"Biak"},<br />
["bhx"] = {"Bhalay"},<br />
["bhy"] = {"Bhele"},<br />
["bhz"] = {"Bada (Indonesia)"},<br />
["bia"] = {"Badimaya"},<br />
["bib"] = {"Bissa", "Bisa"},<br />
["bid"] = {"Bidiyo"},<br />
["bie"] = {"Bepour"},<br />
["bif"] = {"Biafada"},<br />
["big"] = {"Biangai"},<br />
["bik"] = {"Bikol"},<br />
["bil"] = {"Bile"},<br />
["bim"] = {"Bimoba"},<br />
["bin"] = {"Bini", "Edo"},<br />
["bio"] = {"Nai"},<br />
["bip"] = {"Bila"},<br />
["biq"] = {"Bipi"},<br />
["bir"] = {"Bisorio"},<br />
["bit"] = {"Berinomo"},<br />
["biu"] = {"Biete"},<br />
["biv"] = {"Southern Birifor"},<br />
["biw"] = {"Kol (Cameroon)"},<br />
["bix"] = {"Bijori"},<br />
["biy"] = {"Birhor"},<br />
["biz"] = {"Baloi"},<br />
["bja"] = {"Budza"},<br />
["bjb"] = {"Banggarla"},<br />
["bjc"] = {"Bariji"},<br />
["bje"] = {"Biao-Jiao Mien"},<br />
["bjf"] = {"Barzani Jewish Neo-Aramaic"},<br />
["bjg"] = {"Bidyogo"},<br />
["bjh"] = {"Bahinemo"},<br />
["bji"] = {"Burji"},<br />
["bjj"] = {"Kanauji"},<br />
["bjk"] = {"Barok"},<br />
["bjl"] = {"Bulu (Papua New Guinea)"},<br />
["bjm"] = {"Bajelani"},<br />
["bjn"] = {"Banjar"},<br />
["bjo"] = {"Mid-Southern Banda"},<br />
["bjp"] = {"Fanamaket"},<br />
["bjr"] = {"Binumarien"},<br />
["bjs"] = {"Bajan"},<br />
["bjt"] = {"Balanta-Ganja"},<br />
["bju"] = {"Busuu"},<br />
["bjv"] = {"Bedjond"},<br />
["bjw"] = {"Bakwé"},<br />
["bjx"] = {"Banao Itneg"},<br />
["bjy"] = {"Bayali"},<br />
["bjz"] = {"Baruga"},<br />
["bka"] = {"Kyak"},<br />
["bkc"] = {"Baka (Cameroon)"},<br />
["bkd"] = {"Binukid", "Talaandig"},<br />
["bkf"] = {"Beeke"},<br />
["bkg"] = {"Buraka"},<br />
["bkh"] = {"Bakoko"},<br />
["bki"] = {"Baki"},<br />
["bkj"] = {"Pande"},<br />
["bkk"] = {"Brokskat"},<br />
["bkl"] = {"Berik"},<br />
["bkm"] = {"Kom (Cameroon)"},<br />
["bkn"] = {"Bukitan"},<br />
["bko"] = {"Kwa'"},<br />
["bkp"] = {"Boko (Democratic Republic of Congo)"},<br />
["bkq"] = {"Bakairí"},<br />
["bkr"] = {"Bakumpai"},<br />
["bks"] = {"Northern Sorsoganon"},<br />
["bkt"] = {"Boloki"},<br />
["bku"] = {"Buhid"},<br />
["bkv"] = {"Bekwarra"},<br />
["bkw"] = {"Bekwel"},<br />
["bkx"] = {"Baikeno"},<br />
["bky"] = {"Bokyi"},<br />
["bkz"] = {"Bungku"},<br />
["bla"] = {"Siksika"},<br />
["blb"] = {"Bilua"},<br />
["blc"] = {"Bella Coola"},<br />
["bld"] = {"Bolango"},<br />
["ble"] = {"Balanta-Kentohe"},<br />
["blf"] = {"Buol"},<br />
["blh"] = {"Kuwaa"},<br />
["bli"] = {"Bolia"},<br />
["blj"] = {"Bolongan"},<br />
["blk"] = {"Pa'o Karen", "Pa'O"},<br />
["bll"] = {"Biloxi"},<br />
["blm"] = {"Beli (South Sudan)"},<br />
["bln"] = {"Southern Catanduanes Bikol"},<br />
["blo"] = {"Anii"},<br />
["blp"] = {"Blablanga"},<br />
["blq"] = {"Baluan-Pam"},<br />
["blr"] = {"Blang"},<br />
["bls"] = {"Balaesang"},<br />
["blt"] = {"Tai Dam"},<br />
["blv"] = {"Kibala", "Bolo"},<br />
["blw"] = {"Balangao"},<br />
["blx"] = {"Mag-Indi Ayta"},<br />
["bly"] = {"Notre"},<br />
["blz"] = {"Balantak"},<br />
["bma"] = {"Lame"},<br />
["bmb"] = {"Bembe"},<br />
["bmc"] = {"Biem"},<br />
["bmd"] = {"Baga Manduri"},<br />
["bme"] = {"Limassa"},<br />
["bmf"] = {"Bom-Kim"},<br />
["bmg"] = {"Bamwe"},<br />
["bmh"] = {"Kein"},<br />
["bmi"] = {"Bagirmi"},<br />
["bmj"] = {"Bote-Majhi"},<br />
["bmk"] = {"Ghayavi"},<br />
["bml"] = {"Bomboli"},<br />
["bmm"] = {"Northern Betsimisaraka Malagasy"},<br />
["bmn"] = {"Bina (Papua New Guinea)"},<br />
["bmo"] = {"Bambalang"},<br />
["bmp"] = {"Bulgebi"},<br />
["bmq"] = {"Bomu"},<br />
["bmr"] = {"Muinane"},<br />
["bms"] = {"Bilma Kanuri"},<br />
["bmt"] = {"Biao Mon"},<br />
["bmu"] = {"Somba-Siawari"},<br />
["bmv"] = {"Bum"},<br />
["bmw"] = {"Bomwali"},<br />
["bmx"] = {"Baimak"},<br />
["bmz"] = {"Baramu"},<br />
["bna"] = {"Bonerate"},<br />
["bnb"] = {"Bookan"},<br />
["bnc"] = {"Bontok"},<br />
["bnd"] = {"Banda (Indonesia)"},<br />
["bne"] = {"Bintauna"},<br />
["bnf"] = {"Masiwang"},<br />
["bng"] = {"Benga"},<br />
["bni"] = {"Bangi"},<br />
["bnj"] = {"Eastern Tawbuid"},<br />
["bnk"] = {"Bierebo"},<br />
["bnl"] = {"Boon"},<br />
["bnm"] = {"Batanga"},<br />
["bnn"] = {"Bunun"},<br />
["bno"] = {"Bantoanon"},<br />
["bnp"] = {"Bola"},<br />
["bnq"] = {"Bantik"},<br />
["bnr"] = {"Butmas-Tur"},<br />
["bns"] = {"Bundeli"},<br />
["bnt"] = {"Bantu languages"},<br />
["bnu"] = {"Bentong"},<br />
["bnv"] = {"Bonerif", "Beneraf", "Edwas"},<br />
["bnw"] = {"Bisis"},<br />
["bnx"] = {"Bangubangu"},<br />
["bny"] = {"Bintulu"},<br />
["bnz"] = {"Beezen"},<br />
["boa"] = {"Bora"},<br />
["bob"] = {"Aweer"},<br />
["boe"] = {"Mundabli"},<br />
["bof"] = {"Bolon"},<br />
["bog"] = {"Bamako Sign Language"},<br />
["boh"] = {"Boma"},<br />
["boi"] = {"Barbareño"},<br />
["boj"] = {"Anjam"},<br />
["bok"] = {"Bonjo"},<br />
["bol"] = {"Bole"},<br />
["bom"] = {"Berom"},<br />
["bon"] = {"Bine"},<br />
["boo"] = {"Tiemacèwè Bozo"},<br />
["bop"] = {"Bonkiman"},<br />
["boq"] = {"Bogaya"},<br />
["bor"] = {"Borôro"},<br />
["bot"] = {"Bongo"},<br />
["bou"] = {"Bondei"},<br />
["bov"] = {"Tuwuli"},<br />
["bow"] = {"Rema"},<br />
["box"] = {"Buamu"},<br />
["boy"] = {"Bodo (Central African Republic)"},<br />
["boz"] = {"Tiéyaxo Bozo"},<br />
["bpa"] = {"Daakaka"},<br />
["bpc"] = {"Mbuk"},<br />
["bpd"] = {"Banda-Banda"},<br />
["bpe"] = {"Bauni"},<br />
["bpg"] = {"Bonggo"},<br />
["bph"] = {"Botlikh"},<br />
["bpi"] = {"Bagupi"},<br />
["bpj"] = {"Binji"},<br />
["bpk"] = {"Orowe", "'Ôrôê"},<br />
["bpl"] = {"Broome Pearling Lugger Pidgin"},<br />
["bpm"] = {"Biyom"},<br />
["bpn"] = {"Dzao Min"},<br />
["bpo"] = {"Anasi"},<br />
["bpp"] = {"Kaure"},<br />
["bpq"] = {"Banda Malay"},<br />
["bpr"] = {"Koronadal Blaan"},<br />
["bps"] = {"Sarangani Blaan"},<br />
["bpt"] = {"Barrow Point"},<br />
["bpu"] = {"Bongu"},<br />
["bpv"] = {"Bian Marind"},<br />
["bpw"] = {"Bo (Papua New Guinea)"},<br />
["bpx"] = {"Palya Bareli"},<br />
["bpy"] = {"Bishnupriya"},<br />
["bpz"] = {"Bilba"},<br />
["bqa"] = {"Tchumbuli"},<br />
["bqb"] = {"Bagusa"},<br />
["bqc"] = {"Boko (Benin)", "Boo"},<br />
["bqd"] = {"Bung"},<br />
["bqf"] = {"Baga Kaloum"},<br />
["bqg"] = {"Bago-Kusuntu"},<br />
["bqh"] = {"Baima"},<br />
["bqi"] = {"Bakhtiari"},<br />
["bqj"] = {"Bandial"},<br />
["bqk"] = {"Banda-Mbrès"},<br />
["bql"] = {"Bilakura"},<br />
["bqm"] = {"Wumboko"},<br />
["bqn"] = {"Bulgarian Sign Language"},<br />
["bqo"] = {"Balo"},<br />
["bqp"] = {"Busa"},<br />
["bqq"] = {"Biritai"},<br />
["bqr"] = {"Burusu"},<br />
["bqs"] = {"Bosngun"},<br />
["bqt"] = {"Bamukumbit"},<br />
["bqu"] = {"Boguru"},<br />
["bqv"] = {"Koro Wachi", "Begbere-Ejar"},<br />
["bqw"] = {"Buru (Nigeria)"},<br />
["bqx"] = {"Baangi"},<br />
["bqy"] = {"Bengkala Sign Language"},<br />
["bqz"] = {"Bakaka"},<br />
["bra"] = {"Braj"},<br />
["brb"] = {"Brao", "Lave"},<br />
["brc"] = {"Berbice Creole Dutch"},<br />
["brd"] = {"Baraamu"},<br />
["brf"] = {"Bira"},<br />
["brg"] = {"Baure"},<br />
["brh"] = {"Brahui"},<br />
["bri"] = {"Mokpwe"},<br />
["brj"] = {"Bieria"},<br />
["brk"] = {"Birked"},<br />
["brl"] = {"Birwa"},<br />
["brm"] = {"Barambu"},<br />
["brn"] = {"Boruca"},<br />
["bro"] = {"Brokkat"},<br />
["brp"] = {"Barapasi"},<br />
["brq"] = {"Breri"},<br />
["brr"] = {"Birao"},<br />
["brs"] = {"Baras"},<br />
["brt"] = {"Bitare"},<br />
["bru"] = {"Eastern Bru"},<br />
["brv"] = {"Western Bru"},<br />
["brw"] = {"Bellari"},<br />
["brx"] = {"Bodo (India)"},<br />
["bry"] = {"Burui"},<br />
["brz"] = {"Bilbil"},<br />
["bsa"] = {"Abinomn"},<br />
["bsb"] = {"Brunei Bisaya"},<br />
["bsc"] = {"Bassari", "Oniyan"},<br />
["bse"] = {"Wushi"},<br />
["bsf"] = {"Bauchi"},<br />
["bsg"] = {"Bashkardi"},<br />
["bsh"] = {"Kati"},<br />
["bsi"] = {"Bassossi"},<br />
["bsj"] = {"Bangwinji"},<br />
["bsk"] = {"Burushaski"},<br />
["bsl"] = {"Basa-Gumna"},<br />
["bsm"] = {"Busami"},<br />
["bsn"] = {"Barasana-Eduria"},<br />
["bso"] = {"Buso"},<br />
["bsp"] = {"Baga Sitemu"},<br />
["bsq"] = {"Bassa"},<br />
["bsr"] = {"Bassa-Kontagora"},<br />
["bss"] = {"Akoose"},<br />
["bst"] = {"Basketo"},<br />
["bsu"] = {"Bahonsuai"},<br />
["bsv"] = {"Baga Sobané"},<br />
["bsw"] = {"Baiso"},<br />
["bsx"] = {"Yangkam"},<br />
["bsy"] = {"Sabah Bisaya"},<br />
["bta"] = {"Bata"},<br />
["btc"] = {"Bati (Cameroon)"},<br />
["btd"] = {"Batak Dairi"},<br />
["bte"] = {"Gamo-Ningi"},<br />
["btf"] = {"Birgit"},<br />
["btg"] = {"Gagnoa Bété"},<br />
["bth"] = {"Biatah Bidayuh"},<br />
["bti"] = {"Burate"},<br />
["btj"] = {"Bacanese Malay"},<br />
["btk"] = {"Batak languages"},<br />
["btm"] = {"Batak Mandailing"},<br />
["btn"] = {"Ratagnon"},<br />
["bto"] = {"Rinconada Bikol"},<br />
["btp"] = {"Budibud"},<br />
["btq"] = {"Batek"},<br />
["btr"] = {"Baetora"},<br />
["bts"] = {"Batak Simalungun"},<br />
["btt"] = {"Bete-Bendi"},<br />
["btu"] = {"Batu"},<br />
["btv"] = {"Bateri"},<br />
["btw"] = {"Butuanon"},<br />
["btx"] = {"Batak Karo"},<br />
["bty"] = {"Bobot"},<br />
["btz"] = {"Batak Alas-Kluet"},<br />
["bua"] = {"Buriat"},<br />
["bub"] = {"Bua"},<br />
["buc"] = {"Bushi"},<br />
["bud"] = {"Ntcham"},<br />
["bue"] = {"Beothuk"},<br />
["buf"] = {"Bushoong"},<br />
["bug"] = {"Buginese"},<br />
["buh"] = {"Younuo Bunu"},<br />
["bui"] = {"Bongili"},<br />
["buj"] = {"Basa-Gurmana"},<br />
["buk"] = {"Bugawac"},<br />
["bum"] = {"Bulu (Cameroon)"},<br />
["bun"] = {"Sherbro"},<br />
["buo"] = {"Terei"},<br />
["bup"] = {"Busoa"},<br />
["buq"] = {"Brem"},<br />
["bus"] = {"Bokobaru"},<br />
["but"] = {"Bungain"},<br />
["buu"] = {"Budu"},<br />
["buv"] = {"Bun"},<br />
["buw"] = {"Bubi"},<br />
["bux"] = {"Boghom"},<br />
["buy"] = {"Bullom So"},<br />
["buz"] = {"Bukwen"},<br />
["bva"] = {"Barein"},<br />
["bvb"] = {"Bube"},<br />
["bvc"] = {"Baelelea"},<br />
["bvd"] = {"Baeggu"},<br />
["bve"] = {"Berau Malay"},<br />
["bvf"] = {"Boor"},<br />
["bvg"] = {"Bonkeng"},<br />
["bvh"] = {"Bure"},<br />
["bvi"] = {"Belanda Viri"},<br />
["bvj"] = {"Baan"},<br />
["bvk"] = {"Bukat"},<br />
["bvl"] = {"Bolivian Sign Language"},<br />
["bvm"] = {"Bamunka"},<br />
["bvn"] = {"Buna"},<br />
["bvo"] = {"Bolgo"},<br />
["bvp"] = {"Bumang"},<br />
["bvq"] = {"Birri"},<br />
["bvr"] = {"Burarra"},<br />
["bvt"] = {"Bati (Indonesia)"},<br />
["bvu"] = {"Bukit Malay"},<br />
["bvv"] = {"Baniva"},<br />
["bvw"] = {"Boga"},<br />
["bvx"] = {"Dibole"},<br />
["bvy"] = {"Baybayanon"},<br />
["bvz"] = {"Bauzi"},<br />
["bwa"] = {"Bwatoo"},<br />
["bwb"] = {"Namosi-Naitasiri-Serua"},<br />
["bwc"] = {"Bwile"},<br />
["bwd"] = {"Bwaidoka"},<br />
["bwe"] = {"Bwe Karen"},<br />
["bwf"] = {"Boselewa"},<br />
["bwg"] = {"Barwe"},<br />
["bwh"] = {"Bishuo"},<br />
["bwi"] = {"Baniwa"},<br />
["bwj"] = {"Láá Láá Bwamu"},<br />
["bwk"] = {"Bauwaki"},<br />
["bwl"] = {"Bwela"},<br />
["bwm"] = {"Biwat"},<br />
["bwn"] = {"Wunai Bunu"},<br />
["bwo"] = {"Boro (Ethiopia)", "Borna (Ethiopia)"},<br />
["bwp"] = {"Mandobo Bawah"},<br />
["bwq"] = {"Southern Bobo Madaré"},<br />
["bwr"] = {"Bura-Pabir"},<br />
["bws"] = {"Bomboma"},<br />
["bwt"] = {"Bafaw-Balong"},<br />
["bwu"] = {"Buli (Ghana)"},<br />
["bww"] = {"Bwa"},<br />
["bwx"] = {"Bu-Nao Bunu"},<br />
["bwy"] = {"Cwi Bwamu"},<br />
["bwz"] = {"Bwisi"},<br />
["bxa"] = {"Tairaha"},<br />
["bxb"] = {"Belanda Bor"},<br />
["bxc"] = {"Molengue"},<br />
["bxd"] = {"Pela"},<br />
["bxe"] = {"Birale"},<br />
["bxf"] = {"Bilur", "Minigir"},<br />
["bxg"] = {"Bangala"},<br />
["bxh"] = {"Buhutu"},<br />
["bxi"] = {"Pirlatapa"},<br />
["bxj"] = {"Bayungu"},<br />
["bxk"] = {"Bukusu", "Lubukusu"},<br />
["bxl"] = {"Jalkunan"},<br />
["bxm"] = {"Mongolia Buriat"},<br />
["bxn"] = {"Burduna"},<br />
["bxo"] = {"Barikanchi"},<br />
["bxp"] = {"Bebil"},<br />
["bxq"] = {"Beele"},<br />
["bxr"] = {"Russia Buriat"},<br />
["bxs"] = {"Busam"},<br />
["bxu"] = {"China Buriat"},<br />
["bxv"] = {"Berakou"},<br />
["bxw"] = {"Bankagooma"},<br />
["bxz"] = {"Binahari"},<br />
["bya"] = {"Batak"},<br />
["byb"] = {"Bikya"},<br />
["byc"] = {"Ubaghara"},<br />
["byd"] = {"Benyadu'"},<br />
["bye"] = {"Pouye"},<br />
["byf"] = {"Bete"},<br />
["byg"] = {"Baygo"},<br />
["byh"] = {"Bhujel"},<br />
["byi"] = {"Buyu"},<br />
["byj"] = {"Bina (Nigeria)"},<br />
["byk"] = {"Biao"},<br />
["byl"] = {"Bayono"},<br />
["bym"] = {"Bidjara"},<br />
["byn"] = {"Bilin", "Blin"},<br />
["byo"] = {"Biyo"},<br />
["byp"] = {"Bumaji"},<br />
["byq"] = {"Basay"},<br />
["byr"] = {"Baruya", "Yipma"},<br />
["bys"] = {"Burak"},<br />
["byt"] = {"Berti"},<br />
["byv"] = {"Medumba"},<br />
["byw"] = {"Belhariya"},<br />
["byx"] = {"Qaqet"},<br />
["byz"] = {"Banaro"},<br />
["bza"] = {"Bandi"},<br />
["bzb"] = {"Andio"},<br />
["bzc"] = {"Southern Betsimisaraka Malagasy"},<br />
["bzd"] = {"Bribri"},<br />
["bze"] = {"Jenaama Bozo"},<br />
["bzf"] = {"Boikin"},<br />
["bzg"] = {"Babuza"},<br />
["bzh"] = {"Mapos Buang"},<br />
["bzi"] = {"Bisu"},<br />
["bzj"] = {"Belize Kriol English"},<br />
["bzk"] = {"Nicaragua Creole English"},<br />
["bzl"] = {"Boano (Sulawesi)"},<br />
["bzm"] = {"Bolondo"},<br />
["bzn"] = {"Boano (Maluku)"},<br />
["bzo"] = {"Bozaba"},<br />
["bzp"] = {"Kemberano"},<br />
["bzq"] = {"Buli (Indonesia)"},<br />
["bzr"] = {"Biri"},<br />
["bzs"] = {"Brazilian Sign Language"},<br />
["bzt"] = {"Brithenig"},<br />
["bzu"] = {"Burmeso"},<br />
["bzv"] = {"Naami"},<br />
["bzw"] = {"Basa (Nigeria)"},<br />
["bzx"] = {"Kɛlɛngaxo Bozo"},<br />
["bzy"] = {"Obanliku"},<br />
["bzz"] = {"Evant"},<br />
["caa"] = {"Chortí"},<br />
["cab"] = {"Garifuna"},<br />
["cac"] = {"Chuj"},<br />
["cad"] = {"Caddo"},<br />
["cae"] = {"Lehar", "Laalaa"},<br />
["caf"] = {"Southern Carrier"},<br />
["cag"] = {"Nivaclé"},<br />
["cah"] = {"Cahuarano"},<br />
["cai"] = {"Central American Indian languages"},<br />
["caj"] = {"Chané"},<br />
["cak"] = {"Kaqchikel", "Cakchiquel"},<br />
["cal"] = {"Carolinian"},<br />
["cam"] = {"Cemuhî"},<br />
["can"] = {"Chambri"},<br />
["cao"] = {"Chácobo"},<br />
["cap"] = {"Chipaya"},<br />
["caq"] = {"Car Nicobarese"},<br />
["car"] = {"Galibi Carib"},<br />
["cas"] = {"Tsimané"},<br />
["cau"] = {"Caucasian languages"},<br />
["cav"] = {"Cavineña"},<br />
["caw"] = {"Callawalla"},<br />
["cax"] = {"Chiquitano"},<br />
["cay"] = {"Cayuga"},<br />
["caz"] = {"Canichana"},<br />
["cba"] = {"Chibchan languages"},<br />
["cbb"] = {"Cabiyarí"},<br />
["cbc"] = {"Carapana"},<br />
["cbd"] = {"Carijona"},<br />
["cbg"] = {"Chimila"},<br />
["cbi"] = {"Chachi"},<br />
["cbj"] = {"Ede Cabe"},<br />
["cbk"] = {"Chavacano"},<br />
["cbl"] = {"Bualkhaw Chin"},<br />
["cbn"] = {"Nyahkur"},<br />
["cbo"] = {"Izora"},<br />
["cbq"] = {"Tsucuba", "Cuba"},<br />
["cbr"] = {"Cashibo-Cacataibo"},<br />
["cbs"] = {"Cashinahua"},<br />
["cbt"] = {"Chayahuita"},<br />
["cbu"] = {"Candoshi-Shapra"},<br />
["cbv"] = {"Cacua"},<br />
["cbw"] = {"Kinabalian"},<br />
["cby"] = {"Carabayo"},<br />
["ccc"] = {"Chamicuro"},<br />
["ccd"] = {"Cafundo Creole"},<br />
["cce"] = {"Chopi"},<br />
["ccg"] = {"Samba Daka"},<br />
["cch"] = {"Atsam"},<br />
["ccj"] = {"Kasanga"},<br />
["ccl"] = {"Cutchi-Swahili"},<br />
["ccm"] = {"Malaccan Creole Malay"},<br />
["ccn"] = {"North Caucasian languages"},<br />
["cco"] = {"Comaltepec Chinantec"},<br />
["ccp"] = {"Chakma"},<br />
["ccr"] = {"Cacaopera"},<br />
["ccs"] = {"South Caucasian languages"},<br />
["cda"] = {"Choni"},<br />
["cdc"] = {"Chadic languages"},<br />
["cdd"] = {"Caddoan languages"},<br />
["cde"] = {"Chenchu"},<br />
["cdf"] = {"Chiru"},<br />
["cdh"] = {"Chambeali"},<br />
["cdi"] = {"Chodri"},<br />
["cdj"] = {"Churahi"},<br />
["cdm"] = {"Chepang"},<br />
["cdn"] = {"Chaudangsi"},<br />
["cdo"] = {"Min Dong Chinese"},<br />
["cdr"] = {"Cinda-Regi-Tiyal"},<br />
["cds"] = {"Chadian Sign Language"},<br />
["cdy"] = {"Chadong"},<br />
["cdz"] = {"Koda"},<br />
["cea"] = {"Lower Chehalis"},<br />
["ceb"] = {"Cebuano"},<br />
["ceg"] = {"Chamacoco"},<br />
["cek"] = {"Eastern Khumi Chin"},<br />
["cel"] = {"Celtic languages"},<br />
["cen"] = {"Cen"},<br />
["cet"] = {"Centúúm"},<br />
["cey"] = {"Ekai Chin"},<br />
["cfa"] = {"Dijim-Bwilim"},<br />
["cfd"] = {"Cara"},<br />
["cfg"] = {"Como Karim"},<br />
["cfm"] = {"Falam Chin"},<br />
["cga"] = {"Changriwa"},<br />
["cgc"] = {"Kagayanen"},<br />
["cgg"] = {"Chiga"},<br />
["cgk"] = {"Chocangacakha"},<br />
["chb"] = {"Chibcha"},<br />
["chc"] = {"Catawba"},<br />
["chd"] = {"Highland Oaxaca Chontal"},<br />
["chf"] = {"Tabasco Chontal"},<br />
["chg"] = {"Chagatai"},<br />
["chh"] = {"Chinook"},<br />
["chj"] = {"Ojitlán Chinantec"},<br />
["chk"] = {"Chuukese"},<br />
["chl"] = {"Cahuilla"},<br />
["chm"] = {"Mari (Russia)"},<br />
["chn"] = {"Chinook jargon"},<br />
["cho"] = {"Choctaw"},<br />
["chp"] = {"Chipewyan", "Dene Suline"},<br />
["chq"] = {"Quiotepec Chinantec"},<br />
["chr"] = {"Cherokee"},<br />
["cht"] = {"Cholón"},<br />
["chw"] = {"Chuwabu"},<br />
["chx"] = {"Chantyal"},<br />
["chy"] = {"Cheyenne"},<br />
["chz"] = {"Ozumacín Chinantec"},<br />
["cia"] = {"Cia-Cia"},<br />
["cib"] = {"Ci Gbe"},<br />
["cic"] = {"Chickasaw"},<br />
["cid"] = {"Chimariko"},<br />
["cie"] = {"Cineni"},<br />
["cih"] = {"Chinali"},<br />
["cik"] = {"Chitkuli Kinnauri"},<br />
["cim"] = {"Cimbrian"},<br />
["cin"] = {"Cinta Larga"},<br />
["cip"] = {"Chiapanec"},<br />
["cir"] = {"Tiri", "Haméa", "Méa"},<br />
["ciw"] = {"Chippewa"},<br />
["ciy"] = {"Chaima"},<br />
["cja"] = {"Western Cham"},<br />
["cje"] = {"Chru"},<br />
["cjh"] = {"Upper Chehalis"},<br />
["cji"] = {"Chamalal"},<br />
["cjk"] = {"Chokwe"},<br />
["cjm"] = {"Eastern Cham"},<br />
["cjn"] = {"Chenapian"},<br />
["cjo"] = {"Ashéninka Pajonal"},<br />
["cjp"] = {"Cabécar"},<br />
["cjs"] = {"Shor"},<br />
["cjv"] = {"Chuave"},<br />
["cjy"] = {"Jinyu Chinese"},<br />
["ckb"] = {"Central Kurdish"},<br />
["ckh"] = {"Chak"},<br />
["ckl"] = {"Cibak"},<br />
["ckm"] = {"Chakavian"},<br />
["ckn"] = {"Kaang Chin"},<br />
["cko"] = {"Anufo"},<br />
["ckq"] = {"Kajakse"},<br />
["ckr"] = {"Kairak"},<br />
["cks"] = {"Tayo"},<br />
["ckt"] = {"Chukot"},<br />
["cku"] = {"Koasati"},<br />
["ckv"] = {"Kavalan"},<br />
["ckx"] = {"Caka"},<br />
["cky"] = {"Cakfem-Mushere"},<br />
["ckz"] = {"Cakchiquel-Quiché Mixed Language"},<br />
["cla"] = {"Ron"},<br />
["clc"] = {"Chilcotin"},<br />
["cld"] = {"Chaldean Neo-Aramaic"},<br />
["cle"] = {"Lealao Chinantec"},<br />
["clh"] = {"Chilisso"},<br />
["cli"] = {"Chakali"},<br />
["clj"] = {"Laitu Chin"},<br />
["clk"] = {"Idu-Mishmi"},<br />
["cll"] = {"Chala"},<br />
["clm"] = {"Clallam"},<br />
["clo"] = {"Lowland Oaxaca Chontal"},<br />
["clt"] = {"Lautu Chin"},<br />
["clu"] = {"Caluyanun"},<br />
["clw"] = {"Chulym"},<br />
["cly"] = {"Eastern Highland Chatino"},<br />
["cma"] = {"Maa"},<br />
["cmc"] = {"Chamic languages"},<br />
["cme"] = {"Cerma"},<br />
["cmg"] = {"Classical Mongolian"},<br />
["cmi"] = {"Emberá-Chamí"},<br />
["cml"] = {"Campalagian"},<br />
["cmm"] = {"Michigamea"},<br />
["cmn"] = {"Mandarin Chinese"},<br />
["cmo"] = {"Central Mnong"},<br />
["cmr"] = {"Mro-Khimi Chin"},<br />
["cms"] = {"Messapic"},<br />
["cmt"] = {"Camtho"},<br />
["cna"] = {"Changthang"},<br />
["cnb"] = {"Chinbon Chin"},<br />
["cnc"] = {"Côông"},<br />
["cng"] = {"Northern Qiang"},<br />
["cnh"] = {"Hakha Chin", "Haka Chin"},<br />
["cni"] = {"Asháninka"},<br />
["cnk"] = {"Khumi Chin"},<br />
["cnl"] = {"Lalana Chinantec"},<br />
["cno"] = {"Con"},<br />
["cnp"] = {"Northern Ping Chinese", "Northern Pinghua"},<br />
["cnq"] = {"Chung"},<br />
["cnr"] = {"Montenegrin"},<br />
["cns"] = {"Central Asmat"},<br />
["cnt"] = {"Tepetotutla Chinantec"},<br />
["cnu"] = {"Chenoua"},<br />
["cnw"] = {"Ngawn Chin"},<br />
["cnx"] = {"Middle Cornish"},<br />
["coa"] = {"Cocos Islands Malay"},<br />
["cob"] = {"Chicomuceltec"},<br />
["coc"] = {"Cocopa"},<br />
["cod"] = {"Cocama-Cocamilla"},<br />
["coe"] = {"Koreguaje"},<br />
["cof"] = {"Colorado"},<br />
["cog"] = {"Chong"},<br />
["coh"] = {"Chonyi-Dzihana-Kauma", "Chichonyi-Chidzihana-Chikauma"},<br />
["coj"] = {"Cochimi"},<br />
["cok"] = {"Santa Teresa Cora"},<br />
["col"] = {"Columbia-Wenatchi"},<br />
["com"] = {"Comanche"},<br />
["con"] = {"Cofán"},<br />
["coo"] = {"Comox"},<br />
["cop"] = {"Coptic"},<br />
["coq"] = {"Coquille"},<br />
["cot"] = {"Caquinte"},<br />
["cou"] = {"Wamey"},<br />
["cov"] = {"Cao Miao"},<br />
["cow"] = {"Cowlitz"},<br />
["cox"] = {"Nanti"},<br />
["coz"] = {"Chochotec"},<br />
["cpa"] = {"Palantla Chinantec"},<br />
["cpb"] = {"Ucayali-Yurúa Ashéninka"},<br />
["cpc"] = {"Ajyíninka Apurucayali"},<br />
["cpe"] = {"English-based creoles and pidgins"},<br />
["cpf"] = {"French-based creoles and pidgins"},<br />
["cpg"] = {"Cappadocian Greek"},<br />
["cpi"] = {"Chinese Pidgin English"},<br />
["cpn"] = {"Cherepon"},<br />
["cpo"] = {"Kpeego"},<br />
["cpp"] = {"Portuguese-based creoles and pidgins"},<br />
["cps"] = {"Capiznon"},<br />
["cpu"] = {"Pichis Ashéninka"},<br />
["cpx"] = {"Pu-Xian Chinese"},<br />
["cpy"] = {"South Ucayali Ashéninka"},<br />
["cqd"] = {"Chuanqiandian Cluster Miao"},<br />
["cra"] = {"Chara"},<br />
["crb"] = {"Island Carib"},<br />
["crc"] = {"Lonwolwol"},<br />
["crd"] = {"Coeur d'Alene"},<br />
["crf"] = {"Caramanta"},<br />
["crg"] = {"Michif"},<br />
["crh"] = {"Crimean Tatar", "Crimean Turkish"},<br />
["cri"] = {"Sãotomense"},<br />
["crj"] = {"Southern East Cree"},<br />
["crk"] = {"Plains Cree"},<br />
["crl"] = {"Northern East Cree"},<br />
["crm"] = {"Moose Cree"},<br />
["crn"] = {"El Nayar Cora"},<br />
["cro"] = {"Crow"},<br />
["crp"] = {"Creoles and pidgins"},<br />
["crq"] = {"Iyo'wujwa Chorote"},<br />
["crr"] = {"Carolina Algonquian"},<br />
["crs"] = {"Seselwa Creole French"},<br />
["crt"] = {"Iyojwa'ja Chorote"},<br />
["crv"] = {"Chaura"},<br />
["crw"] = {"Chrau"},<br />
["crx"] = {"Carrier"},<br />
["cry"] = {"Cori"},<br />
["crz"] = {"Cruzeño"},<br />
["csa"] = {"Chiltepec Chinantec"},<br />
["csb"] = {"Kashubian"},<br />
["csc"] = {"Catalan Sign Language", "Lengua de señas catalana", "Llengua de Signes Catalana"},<br />
["csd"] = {"Chiangmai Sign Language"},<br />
["cse"] = {"Czech Sign Language"},<br />
["csf"] = {"Cuba Sign Language"},<br />
["csg"] = {"Chilean Sign Language"},<br />
["csh"] = {"Asho Chin"},<br />
["csi"] = {"Coast Miwok"},<br />
["csj"] = {"Songlai Chin"},<br />
["csk"] = {"Jola-Kasa"},<br />
["csl"] = {"Chinese Sign Language"},<br />
["csm"] = {"Central Sierra Miwok"},<br />
["csn"] = {"Colombian Sign Language"},<br />
["cso"] = {"Sochiapam Chinantec", "Sochiapan Chinantec"},<br />
["csp"] = {"Southern Ping Chinese", "Southern Pinghua"},<br />
["csq"] = {"Croatia Sign Language"},<br />
["csr"] = {"Costa Rican Sign Language"},<br />
["css"] = {"Southern Ohlone"},<br />
["cst"] = {"Northern Ohlone"},<br />
["csu"] = {"Central Sudanic languages"},<br />
["csv"] = {"Sumtu Chin"},<br />
["csw"] = {"Swampy Cree"},<br />
["csx"] = {"Cambodian Sign Language"},<br />
["csy"] = {"Siyin Chin"},<br />
["csz"] = {"Coos"},<br />
["cta"] = {"Tataltepec Chatino"},<br />
["ctc"] = {"Chetco"},<br />
["ctd"] = {"Tedim Chin"},<br />
["cte"] = {"Tepinapa Chinantec"},<br />
["ctg"] = {"Chittagonian"},<br />
["cth"] = {"Thaiphum Chin"},<br />
["ctl"] = {"Tlacoatzintepec Chinantec"},<br />
["ctm"] = {"Chitimacha"},<br />
["ctn"] = {"Chhintange"},<br />
["cto"] = {"Emberá-Catío"},<br />
["ctp"] = {"Western Highland Chatino"},<br />
["cts"] = {"Northern Catanduanes Bikol"},<br />
["ctt"] = {"Wayanad Chetti"},<br />
["ctu"] = {"Chol"},<br />
["cty"] = {"Moundadan Chetty"},<br />
["ctz"] = {"Zacatepec Chatino"},<br />
["cua"] = {"Cua"},<br />
["cub"] = {"Cubeo"},<br />
["cuc"] = {"Usila Chinantec"},<br />
["cuh"] = {"Chuka", "Gichuka"},<br />
["cui"] = {"Cuiba"},<br />
["cuj"] = {"Mashco Piro"},<br />
["cuk"] = {"San Blas Kuna"},<br />
["cul"] = {"Culina", "Kulina"},<br />
["cuo"] = {"Cumanagoto"},<br />
["cup"] = {"Cupeño"},<br />
["cuq"] = {"Cun"},<br />
["cur"] = {"Chhulung"},<br />
["cus"] = {"Cushitic languages"},<br />
["cut"] = {"Teutila Cuicatec"},<br />
["cuu"] = {"Tai Ya"},<br />
["cuv"] = {"Cuvok"},<br />
["cuw"] = {"Chukwa"},<br />
["cux"] = {"Tepeuxila Cuicatec"},<br />
["cuy"] = {"Cuitlatec"},<br />
["cvg"] = {"Chug"},<br />
["cvn"] = {"Valle Nacional Chinantec"},<br />
["cwa"] = {"Kabwa"},<br />
["cwb"] = {"Maindo"},<br />
["cwd"] = {"Woods Cree"},<br />
["cwe"] = {"Kwere"},<br />
["cwg"] = {"Chewong", "Cheq Wong"},<br />
["cwt"] = {"Kuwaataay"},<br />
["cya"] = {"Nopala Chatino"},<br />
["cyb"] = {"Cayubaba"},<br />
["cyo"] = {"Cuyonon"},<br />
["czh"] = {"Huizhou Chinese"},<br />
["czk"] = {"Knaanic"},<br />
["czn"] = {"Zenzontepec Chatino"},<br />
["czo"] = {"Min Zhong Chinese"},<br />
["czt"] = {"Zotung Chin"},<br />
["daa"] = {"Dangaléat"},<br />
["dac"] = {"Dambi"},<br />
["dad"] = {"Marik"},<br />
["dae"] = {"Duupa"},<br />
["dag"] = {"Dagbani"},<br />
["dah"] = {"Gwahatike"},<br />
["dai"] = {"Day"},<br />
["daj"] = {"Dar Fur Daju"},<br />
["dak"] = {"Dakota"},<br />
["dal"] = {"Dahalo"},<br />
["dam"] = {"Damakawa"},<br />
["dao"] = {"Daai Chin"},<br />
["daq"] = {"Dandami Maria"},<br />
["dar"] = {"Dargwa"},<br />
["das"] = {"Daho-Doo"},<br />
["dau"] = {"Dar Sila Daju"},<br />
["dav"] = {"Taita", "Dawida"},<br />
["daw"] = {"Davawenyo"},<br />
["dax"] = {"Dayi"},<br />
["day"] = {"Land Dayak languages"},<br />
["daz"] = {"Dao"},<br />
["dba"] = {"Bangime"},<br />
["dbb"] = {"Deno"},<br />
["dbd"] = {"Dadiya"},<br />
["dbe"] = {"Dabe"},<br />
["dbf"] = {"Edopi"},<br />
["dbg"] = {"Dogul Dom Dogon"},<br />
["dbi"] = {"Doka"},<br />
["dbj"] = {"Ida'an"},<br />
["dbl"] = {"Dyirbal"},<br />
["dbm"] = {"Duguri"},<br />
["dbn"] = {"Duriankere"},<br />
["dbo"] = {"Dulbu"},<br />
["dbp"] = {"Duwai"},<br />
["dbq"] = {"Daba"},<br />
["dbr"] = {"Dabarre"},<br />
["dbt"] = {"Ben Tey Dogon"},<br />
["dbu"] = {"Bondum Dom Dogon"},<br />
["dbv"] = {"Dungu"},<br />
["dbw"] = {"Bankan Tey Dogon"},<br />
["dby"] = {"Dibiyaso"},<br />
["dcc"] = {"Deccan"},<br />
["dcr"] = {"Negerhollands"},<br />
["dda"] = {"Dadi Dadi"},<br />
["ddd"] = {"Dongotono"},<br />
["dde"] = {"Doondo"},<br />
["ddg"] = {"Fataluku"},<br />
["ddi"] = {"West Goodenough"},<br />
["ddj"] = {"Jaru"},<br />
["ddn"] = {"Dendi (Benin)"},<br />
["ddo"] = {"Dido"},<br />
["ddr"] = {"Dhudhuroa"},<br />
["dds"] = {"Donno So Dogon"},<br />
["ddw"] = {"Dawera-Daweloor"},<br />
["dec"] = {"Dagik"},<br />
["ded"] = {"Dedua"},<br />
["dee"] = {"Dewoin"},<br />
["def"] = {"Dezfuli"},<br />
["deg"] = {"Degema"},<br />
["deh"] = {"Dehwari"},<br />
["dei"] = {"Demisa"},<br />
["dek"] = {"Dek"},<br />
["del"] = {"Delaware"},<br />
["dem"] = {"Dem"},<br />
["den"] = {"Slave (Athapascan)"},<br />
["dep"] = {"Pidgin Delaware"},<br />
["deq"] = {"Dendi (Central African Republic)"},<br />
["der"] = {"Deori"},<br />
["des"] = {"Desano"},<br />
["dev"] = {"Domung"},<br />
["dez"] = {"Dengese"},<br />
["dga"] = {"Southern Dagaare"},<br />
["dgb"] = {"Bunoge Dogon"},<br />
["dgc"] = {"Casiguran Dumagat Agta"},<br />
["dgd"] = {"Dagaari Dioula"},<br />
["dge"] = {"Degenan"},<br />
["dgg"] = {"Doga"},<br />
["dgh"] = {"Dghwede"},<br />
["dgi"] = {"Northern Dagara"},<br />
["dgk"] = {"Dagba"},<br />
["dgl"] = {"Andaandi", "Dongolawi"},<br />
["dgn"] = {"Dagoman"},<br />
["dgo"] = {"Dogri (individual language)"},<br />
["dgr"] = {"Dogrib", "Tłı̨chǫ"},<br />
["dgs"] = {"Dogoso"},<br />
["dgt"] = {"Ndra'ngith"},<br />
["dgw"] = {"Daungwurrung"},<br />
["dgx"] = {"Doghoro"},<br />
["dgz"] = {"Daga"},<br />
["dhd"] = {"Dhundari"},<br />
["dhg"] = {"Dhangu-Djangu", "Dhangu", "Djangu"},<br />
["dhi"] = {"Dhimal"},<br />
["dhl"] = {"Dhalandji"},<br />
["dhm"] = {"Zemba"},<br />
["dhn"] = {"Dhanki"},<br />
["dho"] = {"Dhodia"},<br />
["dhr"] = {"Dhargari"},<br />
["dhs"] = {"Dhaiso"},<br />
["dhu"] = {"Dhurga"},<br />
["dhv"] = {"Dehu", "Drehu"},<br />
["dhw"] = {"Dhanwar (Nepal)"},<br />
["dhx"] = {"Dhungaloo"},<br />
["dia"] = {"Dia"},<br />
["dib"] = {"South Central Dinka"},<br />
["dic"] = {"Lakota Dida"},<br />
["did"] = {"Didinga"},<br />
["dif"] = {"Dieri", "Diyari"},<br />
["dig"] = {"Digo", "Chidigo"},<br />
["dih"] = {"Kumiai"},<br />
["dii"] = {"Dimbong"},<br />
["dij"] = {"Dai"},<br />
["dik"] = {"Southwestern Dinka"},<br />
["dil"] = {"Dilling"},<br />
["dim"] = {"Dime"},<br />
["din"] = {"Dinka"},<br />
["dio"] = {"Dibo"},<br />
["dip"] = {"Northeastern Dinka"},<br />
["diq"] = {"Dimli (individual language)"},<br />
["dir"] = {"Dirim"},<br />
["dis"] = {"Dimasa"},<br />
["diu"] = {"Diriku"},<br />
["diw"] = {"Northwestern Dinka"},<br />
["dix"] = {"Dixon Reef"},<br />
["diy"] = {"Diuwe"},<br />
["diz"] = {"Ding"},<br />
["dja"] = {"Djadjawurrung"},<br />
["djb"] = {"Djinba"},<br />
["djc"] = {"Dar Daju Daju"},<br />
["djd"] = {"Djamindjung", "Ngaliwurru"},<br />
["dje"] = {"Zarma"},<br />
["djf"] = {"Djangun"},<br />
["dji"] = {"Djinang"},<br />
["djj"] = {"Djeebbana"},<br />
["djk"] = {"Eastern Maroon Creole", "Businenge Tongo", "Nenge"},<br />
["djm"] = {"Jamsay Dogon"},<br />
["djn"] = {"Jawoyn", "Djauan"},<br />
["djo"] = {"Jangkang"},<br />
["djr"] = {"Djambarrpuyngu"},<br />
["dju"] = {"Kapriman"},<br />
["djw"] = {"Djawi"},<br />
["dka"] = {"Dakpakha"},<br />
["dkg"] = {"Kadung"},<br />
["dkk"] = {"Dakka"},<br />
["dkr"] = {"Kuijau"},<br />
["dks"] = {"Southeastern Dinka"},<br />
["dkx"] = {"Mazagway"},<br />
["dlg"] = {"Dolgan"},<br />
["dlk"] = {"Dahalik"},<br />
["dlm"] = {"Dalmatian"},<br />
["dln"] = {"Darlong"},<br />
["dma"] = {"Duma"},<br />
["dmb"] = {"Mombo Dogon"},<br />
["dmc"] = {"Gavak"},<br />
["dmd"] = {"Madhi Madhi"},<br />
["dme"] = {"Dugwor"},<br />
["dmf"] = {"Medefaidrin"},<br />
["dmg"] = {"Upper Kinabatangan"},<br />
["dmk"] = {"Domaaki"},<br />
["dml"] = {"Dameli"},<br />
["dmm"] = {"Dama"},<br />
["dmn"] = {"Mande languages"},<br />
["dmo"] = {"Kemedzung"},<br />
["dmr"] = {"East Damar"},<br />
["dms"] = {"Dampelas"},<br />
["dmu"] = {"Dubu", "Tebi"},<br />
["dmv"] = {"Dumpas"},<br />
["dmw"] = {"Mudburra"},<br />
["dmx"] = {"Dema"},<br />
["dmy"] = {"Demta", "Sowari"},<br />
["dna"] = {"Upper Grand Valley Dani"},<br />
["dnd"] = {"Daonda"},<br />
["dne"] = {"Ndendeule"},<br />
["dng"] = {"Dungan"},<br />
["dni"] = {"Lower Grand Valley Dani"},<br />
["dnj"] = {"Dan"},<br />
["dnk"] = {"Dengka"},<br />
["dnn"] = {"Dzùùngoo"},<br />
["dno"] = {"Ndrulo", "Northern Lendu"},<br />
["dnr"] = {"Danaru"},<br />
["dnt"] = {"Mid Grand Valley Dani"},<br />
["dnu"] = {"Danau"},<br />
["dnv"] = {"Danu"},<br />
["dnw"] = {"Western Dani"},<br />
["dny"] = {"Dení"},<br />
["doa"] = {"Dom"},<br />
["dob"] = {"Dobu"},<br />
["doc"] = {"Northern Dong"},<br />
["doe"] = {"Doe"},<br />
["dof"] = {"Domu"},<br />
["doh"] = {"Dong"},<br />
["doi"] = {"Dogri (macrolanguage)"},<br />
["dok"] = {"Dondo"},<br />
["dol"] = {"Doso"},<br />
["don"] = {"Toura (Papua New Guinea)"},<br />
["doo"] = {"Dongo"},<br />
["dop"] = {"Lukpa"},<br />
["doq"] = {"Dominican Sign Language"},<br />
["dor"] = {"Dori'o"},<br />
["dos"] = {"Dogosé"},<br />
["dot"] = {"Dass"},<br />
["dov"] = {"Dombe"},<br />
["dow"] = {"Doyayo"},<br />
["dox"] = {"Bussa"},<br />
["doy"] = {"Dompo"},<br />
["doz"] = {"Dorze"},<br />
["dpp"] = {"Papar"},<br />
["dra"] = {"Dravidian languages"},<br />
["drb"] = {"Dair"},<br />
["drc"] = {"Minderico"},<br />
["drd"] = {"Darmiya"},<br />
["dre"] = {"Dolpo"},<br />
["drg"] = {"Rungus"},<br />
["dri"] = {"C'Lela"},<br />
["drl"] = {"Paakantyi"},<br />
["drn"] = {"West Damar"},<br />
["dro"] = {"Daro-Matu Melanau"},<br />
["drq"] = {"Dura"},<br />
["drs"] = {"Gedeo"},<br />
["drt"] = {"Drents"},<br />
["dru"] = {"Rukai"},<br />
["dry"] = {"Darai"},<br />
["dsb"] = {"Lower Sorbian"},<br />
["dse"] = {"Dutch Sign Language"},<br />
["dsh"] = {"Daasanach"},<br />
["dsi"] = {"Disa"},<br />
["dsl"] = {"Danish Sign Language"},<br />
["dsn"] = {"Dusner"},<br />
["dso"] = {"Desiya"},<br />
["dsq"] = {"Tadaksahak"},<br />
["dsz"] = {"Mardin Sign Language"},<br />
["dta"] = {"Daur"},<br />
["dtb"] = {"Labuk-Kinabatangan Kadazan"},<br />
["dtd"] = {"Ditidaht"},<br />
["dth"] = {"Adithinngithigh"},<br />
["dti"] = {"Ana Tinga Dogon"},<br />
["dtk"] = {"Tene Kan Dogon"},<br />
["dtm"] = {"Tomo Kan Dogon"},<br />
["dtn"] = {"Daatsʼíin"},<br />
["dto"] = {"Tommo So Dogon"},<br />
["dtp"] = {"Kadazan Dusun", "Central Dusun"},<br />
["dtr"] = {"Lotud"},<br />
["dts"] = {"Toro So Dogon"},<br />
["dtt"] = {"Toro Tegu Dogon"},<br />
["dtu"] = {"Tebul Ure Dogon"},<br />
["dty"] = {"Dotyali"},<br />
["dua"] = {"Duala"},<br />
["dub"] = {"Dubli"},<br />
["duc"] = {"Duna"},<br />
["due"] = {"Umiray Dumaget Agta"},<br />
["duf"] = {"Dumbea", "Drubea"},<br />
["dug"] = {"Duruma", "Chiduruma"},<br />
["duh"] = {"Dungra Bhil"},<br />
["dui"] = {"Dumun"},<br />
["duk"] = {"Uyajitaya"},<br />
["dul"] = {"Alabat Island Agta"},<br />
["dum"] = {"Middle Dutch (ca. 1050-1350)"},<br />
["dun"] = {"Dusun Deyah"},<br />
["duo"] = {"Dupaninan Agta"},<br />
["dup"] = {"Duano"},<br />
["duq"] = {"Dusun Malang"},<br />
["dur"] = {"Dii"},<br />
["dus"] = {"Dumi"},<br />
["duu"] = {"Drung"},<br />
["duv"] = {"Duvle"},<br />
["duw"] = {"Dusun Witu"},<br />
["dux"] = {"Duungooma"},<br />
["duy"] = {"Dicamay Agta"},<br />
["duz"] = {"Duli-Gey"},<br />
["dva"] = {"Duau"},<br />
["dwa"] = {"Diri"},<br />
["dwk"] = {"Dawik Kui"},<br />
["dwr"] = {"Dawro"},<br />
["dws"] = {"Dutton World Speedwords"},<br />
["dwu"] = {"Dhuwal"},<br />
["dww"] = {"Dawawa"},<br />
["dwy"] = {"Dhuwaya"},<br />
["dwz"] = {"Dewas Rai"},<br />
["dya"] = {"Dyan"},<br />
["dyb"] = {"Dyaberdyaber"},<br />
["dyd"] = {"Dyugun"},<br />
["dyg"] = {"Villa Viciosa Agta"},<br />
["dyi"] = {"Djimini Senoufo"},<br />
["dym"] = {"Yanda Dom Dogon"},<br />
["dyn"] = {"Dyangadi", "Dhanggatti"},<br />
["dyo"] = {"Jola-Fonyi"},<br />
["dyu"] = {"Dyula"},<br />
["dyy"] = {"Djabugay", "Dyaabugay"},<br />
["dza"] = {"Tunzu"},<br />
["dze"] = {"Djiwarli"},<br />
["dzg"] = {"Dazaga"},<br />
["dzl"] = {"Dzalakha"},<br />
["dzn"] = {"Dzando"},<br />
["eaa"] = {"Karenggapa"},<br />
["ebc"] = {"Beginci"},<br />
["ebg"] = {"Ebughu"},<br />
["ebk"] = {"Eastern Bontok"},<br />
["ebo"] = {"Teke-Ebo"},<br />
["ebr"] = {"Ebrié"},<br />
["ebu"] = {"Embu", "Kiembu"},<br />
["ecr"] = {"Eteocretan"},<br />
["ecs"] = {"Ecuadorian Sign Language"},<br />
["ecy"] = {"Eteocypriot"},<br />
["eee"] = {"E"},<br />
["efa"] = {"Efai"},<br />
["efe"] = {"Efe"},<br />
["efi"] = {"Efik"},<br />
["ega"] = {"Ega"},<br />
["egl"] = {"Emilian"},<br />
["egm"] = {"Benamanga"},<br />
["ego"] = {"Eggon"},<br />
["egx"] = {"Egyptian languages"},<br />
["egy"] = {"Egyptian (Ancient)"},<br />
["ehs"] = {"Miyakubo Sign Language"},<br />
["ehu"] = {"Ehueun"},<br />
["eip"] = {"Eipomek"},<br />
["eit"] = {"Eitiep"},<br />
["eiv"] = {"Askopan"},<br />
["eja"] = {"Ejamat"},<br />
["eka"] = {"Ekajuk"},<br />
["eke"] = {"Ekit"},<br />
["ekg"] = {"Ekari"},<br />
["eki"] = {"Eki"},<br />
["ekk"] = {"Standard Estonian"},<br />
["ekl"] = {"Kol (Bangladesh)", "Kol"},<br />
["ekm"] = {"Elip"},<br />
["eko"] = {"Koti"},<br />
["ekp"] = {"Ekpeye"},<br />
["ekr"] = {"Yace"},<br />
["eky"] = {"Eastern Kayah"},<br />
["ele"] = {"Elepi"},<br />
["elh"] = {"El Hugeirat"},<br />
["eli"] = {"Nding"},<br />
["elk"] = {"Elkei"},<br />
["elm"] = {"Eleme"},<br />
["elo"] = {"El Molo"},<br />
["elu"] = {"Elu"},<br />
["elx"] = {"Elamite"},<br />
["ema"] = {"Emai-Iuleha-Ora"},<br />
["emb"] = {"Embaloh"},<br />
["eme"] = {"Emerillon"},<br />
["emg"] = {"Eastern Meohang"},<br />
["emi"] = {"Mussau-Emira"},<br />
["emk"] = {"Eastern Maninkakan"},<br />
["emm"] = {"Mamulique"},<br />
["emn"] = {"Eman"},<br />
["emp"] = {"Northern Emberá"},<br />
["emq"] = {"Eastern Minyag"},<br />
["ems"] = {"Pacific Gulf Yupik"},<br />
["emu"] = {"Eastern Muria"},<br />
["emw"] = {"Emplawas"},<br />
["emx"] = {"Erromintxela"},<br />
["emy"] = {"Epigraphic Mayan"},<br />
["emz"] = {"Mbessa"},<br />
["ena"] = {"Apali"},<br />
["enb"] = {"Markweeta"},<br />
["enc"] = {"En"},<br />
["end"] = {"Ende"},<br />
["enf"] = {"Forest Enets"},<br />
["enh"] = {"Tundra Enets"},<br />
["enl"] = {"Enlhet"},<br />
["enm"] = {"Middle English (1100-1500)"},<br />
["enn"] = {"Engenni"},<br />
["eno"] = {"Enggano"},<br />
["enq"] = {"Enga"},<br />
["enr"] = {"Emumu", "Emem"},<br />
["enu"] = {"Enu"},<br />
["env"] = {"Enwan (Edo State)"},<br />
["enw"] = {"Enwan (Akwa Ibom State)"},<br />
["enx"] = {"Enxet"},<br />
["eot"] = {"Beti (Côte d'Ivoire)"},<br />
["epi"] = {"Epie"},<br />
["era"] = {"Eravallan"},<br />
["erg"] = {"Sie"},<br />
["erh"] = {"Eruwa"},<br />
["eri"] = {"Ogea"},<br />
["erk"] = {"South Efate"},<br />
["ero"] = {"Horpa"},<br />
["err"] = {"Erre"},<br />
["ers"] = {"Ersu"},<br />
["ert"] = {"Eritai"},<br />
["erw"] = {"Erokwanas"},<br />
["ese"] = {"Ese Ejja"},<br />
["esg"] = {"Aheri Gondi"},<br />
["esh"] = {"Eshtehardi"},<br />
["esi"] = {"North Alaskan Inupiatun"},<br />
["esk"] = {"Northwest Alaska Inupiatun"},<br />
["esl"] = {"Egypt Sign Language"},<br />
["esm"] = {"Esuma"},<br />
["esn"] = {"Salvadoran Sign Language"},<br />
["eso"] = {"Estonian Sign Language"},<br />
["esq"] = {"Esselen"},<br />
["ess"] = {"Central Siberian Yupik"},<br />
["esu"] = {"Central Yupik"},<br />
["esx"] = {"Eskimo-Aleut languages"},<br />
["esy"] = {"Eskayan"},<br />
["etb"] = {"Etebi"},<br />
["etc"] = {"Etchemin"},<br />
["eth"] = {"Ethiopian Sign Language"},<br />
["etn"] = {"Eton (Vanuatu)"},<br />
["eto"] = {"Eton (Cameroon)"},<br />
["etr"] = {"Edolo"},<br />
["ets"] = {"Yekhee"},<br />
["ett"] = {"Etruscan"},<br />
["etu"] = {"Ejagham"},<br />
["etx"] = {"Eten"},<br />
["etz"] = {"Semimi"},<br />
["euq"] = {"Basque (family)"},<br />
["eve"] = {"Even"},<br />
["evh"] = {"Uvbie"},<br />
["evn"] = {"Evenki"},<br />
["ewo"] = {"Ewondo"},<br />
["ext"] = {"Extremaduran"},<br />
["eya"] = {"Eyak"},<br />
["eyo"] = {"Keiyo"},<br />
["eza"] = {"Ezaa"},<br />
["eze"] = {"Uzekwe"},<br />
["faa"] = {"Fasu"},<br />
["fab"] = {"Fa d'Ambu"},<br />
["fad"] = {"Wagi"},<br />
["faf"] = {"Fagani"},<br />
["fag"] = {"Finongan"},<br />
["fah"] = {"Baissa Fali"},<br />
["fai"] = {"Faiwol"},<br />
["faj"] = {"Faita"},<br />
["fak"] = {"Fang (Cameroon)"},<br />
["fal"] = {"South Fali"},<br />
["fam"] = {"Fam"},<br />
["fan"] = {"Fang (Equatorial Guinea)"},<br />
["fap"] = {"Paloor"},<br />
["far"] = {"Fataleka"},<br />
["fat"] = {"Fanti"},<br />
["fau"] = {"Fayu"},<br />
["fax"] = {"Fala"},<br />
["fay"] = {"Southwestern Fars"},<br />
["faz"] = {"Northwestern Fars"},<br />
["fbl"] = {"West Albay Bikol"},<br />
["fcs"] = {"Quebec Sign Language"},<br />
["fer"] = {"Feroge"},<br />
["ffi"] = {"Foia Foia"},<br />
["ffm"] = {"Maasina Fulfulde"},<br />
["fgr"] = {"Fongoro"},<br />
["fia"] = {"Nobiin"},<br />
["fie"] = {"Fyer"},<br />
["fif"] = {"Faifi"},<br />
["fil"] = {"Filipino", "Pilipino"},<br />
["fip"] = {"Fipa"},<br />
["fir"] = {"Firan"},<br />
["fit"] = {"Tornedalen Finnish", "Meänkieli"},<br />
["fiu"] = {"Finno-Ugrian languages"},<br />
["fiw"] = {"Fiwaga"},<br />
["fkk"] = {"Kirya-Konzəl"},<br />
["fkv"] = {"Kven Finnish"},<br />
["fla"] = {"Kalispel-Pend d'Oreille"},<br />
["flh"] = {"Foau"},<br />
["fli"] = {"Fali"},<br />
["fll"] = {"North Fali"},<br />
["fln"] = {"Flinders Island"},<br />
["flr"] = {"Fuliiru"},<br />
["fly"] = {"Flaaitaal", "Tsotsitaal"},<br />
["fmp"] = {"Fe'fe'"},<br />
["fmu"] = {"Far Western Muria"},<br />
["fnb"] = {"Fanbak"},<br />
["fng"] = {"Fanagalo"},<br />
["fni"] = {"Fania"},<br />
["fod"] = {"Foodo"},<br />
["foi"] = {"Foi"},<br />
["fom"] = {"Foma"},<br />
["fon"] = {"Fon"},<br />
["for"] = {"Fore"},<br />
["fos"] = {"Siraya"},<br />
["fox"] = {"Formosan languages"},<br />
["fpe"] = {"Fernando Po Creole English"},<br />
["fqs"] = {"Fas"},<br />
["frc"] = {"Cajun French"},<br />
["frd"] = {"Fordata"},<br />
["frk"] = {"Frankish"},<br />
["frm"] = {"Middle French (ca. 1400-1600)"},<br />
["fro"] = {"Old French (842-ca. 1400)"},<br />
["frp"] = {"Arpitan", "Francoprovençal"},<br />
["frq"] = {"Forak"},<br />
["frr"] = {"Northern Frisian"},<br />
["frs"] = {"Eastern Frisian"},<br />
["frt"] = {"Fortsenal"},<br />
["fse"] = {"Finnish Sign Language"},<br />
["fsl"] = {"French Sign Language"},<br />
["fss"] = {"Finland-Swedish Sign Language", "finlandssvenskt teckenspråk", "suomenruotsalainen viittomakieli"},<br />
["fub"] = {"Adamawa Fulfulde"},<br />
["fuc"] = {"Pulaar"},<br />
["fud"] = {"East Futuna"},<br />
["fue"] = {"Borgu Fulfulde"},<br />
["fuf"] = {"Pular"},<br />
["fuh"] = {"Western Niger Fulfulde"},<br />
["fui"] = {"Bagirmi Fulfulde"},<br />
["fuj"] = {"Ko"},<br />
["fum"] = {"Fum"},<br />
["fun"] = {"Fulniô"},<br />
["fuq"] = {"Central-Eastern Niger Fulfulde"},<br />
["fur"] = {"Friulian"},<br />
["fut"] = {"Futuna-Aniwa"},<br />
["fuu"] = {"Furu"},<br />
["fuv"] = {"Nigerian Fulfulde"},<br />
["fuy"] = {"Fuyug"},<br />
["fvr"] = {"Fur"},<br />
["fwa"] = {"Fwâi"},<br />
["fwe"] = {"Fwe"},<br />
["gaa"] = {"Ga"},<br />
["gab"] = {"Gabri"},<br />
["gac"] = {"Mixed Great Andamanese"},<br />
["gad"] = {"Gaddang"},<br />
["gae"] = {"Guarequena"},<br />
["gaf"] = {"Gende"},<br />
["gag"] = {"Gagauz"},<br />
["gah"] = {"Alekano"},<br />
["gai"] = {"Borei"},<br />
["gaj"] = {"Gadsup"},<br />
["gak"] = {"Gamkonora"},<br />
["gal"] = {"Galolen"},<br />
["gam"] = {"Kandawo"},<br />
["gan"] = {"Gan Chinese"},<br />
["gao"] = {"Gants"},<br />
["gap"] = {"Gal"},<br />
["gaq"] = {"Gata'"},<br />
["gar"] = {"Galeya"},<br />
["gas"] = {"Adiwasi Garasia"},<br />
["gat"] = {"Kenati"},<br />
["gau"] = {"Mudhili Gadaba"},<br />
["gaw"] = {"Nobonob"},<br />
["gax"] = {"Borana-Arsi-Guji Oromo"},<br />
["gay"] = {"Gayo"},<br />
["gaz"] = {"West Central Oromo"},<br />
["gba"] = {"Gbaya (Central African Republic)"},<br />
["gbb"] = {"Kaytetye"},<br />
["gbd"] = {"Karajarri"},<br />
["gbe"] = {"Niksek"},<br />
["gbf"] = {"Gaikundi"},<br />
["gbg"] = {"Gbanziri"},<br />
["gbh"] = {"Defi Gbe"},<br />
["gbi"] = {"Galela"},<br />
["gbj"] = {"Bodo Gadaba"},<br />
["gbk"] = {"Gaddi"},<br />
["gbl"] = {"Gamit"},<br />
["gbm"] = {"Garhwali"},<br />
["gbn"] = {"Mo'da"},<br />
["gbo"] = {"Northern Grebo"},<br />
["gbp"] = {"Gbaya-Bossangoa"},<br />
["gbq"] = {"Gbaya-Bozoum"},<br />
["gbr"] = {"Gbagyi"},<br />
["gbs"] = {"Gbesi Gbe"},<br />
["gbu"] = {"Gagadu"},<br />
["gbv"] = {"Gbanu"},<br />
["gbw"] = {"Gabi-Gabi"},<br />
["gbx"] = {"Eastern Xwla Gbe"},<br />
["gby"] = {"Gbari"},<br />
["gbz"] = {"Zoroastrian Dari"},<br />
["gcc"] = {"Mali"},<br />
["gcd"] = {"Ganggalida"},<br />
["gce"] = {"Galice"},<br />
["gcf"] = {"Guadeloupean Creole French"},<br />
["gcl"] = {"Grenadian Creole English"},<br />
["gcn"] = {"Gaina"},<br />
["gcr"] = {"Guianese Creole French"},<br />
["gct"] = {"Colonia Tovar German"},<br />
["gda"] = {"Gade Lohar"},<br />
["gdb"] = {"Pottangi Ollar Gadaba"},<br />
["gdc"] = {"Gugu Badhun"},<br />
["gdd"] = {"Gedaged"},<br />
["gde"] = {"Gude"},<br />
["gdf"] = {"Guduf-Gava"},<br />
["gdg"] = {"Ga'dang"},<br />
["gdh"] = {"Gadjerawang", "Gajirrabeng"},<br />
["gdi"] = {"Gundi"},<br />
["gdj"] = {"Gurdjar"},<br />
["gdk"] = {"Gadang"},<br />
["gdl"] = {"Dirasha"},<br />
["gdm"] = {"Laal"},<br />
["gdn"] = {"Umanakaina"},<br />
["gdo"] = {"Ghodoberi"},<br />
["gdq"] = {"Mehri"},<br />
["gdr"] = {"Wipi"},<br />
["gds"] = {"Ghandruk Sign Language"},<br />
["gdt"] = {"Kungardutyi"},<br />
["gdu"] = {"Gudu"},<br />
["gdx"] = {"Godwari"},<br />
["gea"] = {"Geruma"},<br />
["geb"] = {"Kire"},<br />
["gec"] = {"Gboloo Grebo"},<br />
["ged"] = {"Gade"},<br />
["gef"] = {"Gerai"},<br />
["geg"] = {"Gengle"},<br />
["geh"] = {"Hutterite German", "Hutterisch"},<br />
["gei"] = {"Gebe"},<br />
["gej"] = {"Gen"},<br />
["gek"] = {"Ywom"},<br />
["gel"] = {"ut-Ma'in"},<br />
["gem"] = {"Germanic languages"},<br />
["geq"] = {"Geme"},<br />
["ges"] = {"Geser-Gorom"},<br />
["gev"] = {"Eviya"},<br />
["gew"] = {"Gera"},<br />
["gex"] = {"Garre"},<br />
["gey"] = {"Enya"},<br />
["gez"] = {"Geez"},<br />
["gfk"] = {"Patpatar"},<br />
["gft"] = {"Gafat"},<br />
["gga"] = {"Gao"},<br />
["ggb"] = {"Gbii"},<br />
["ggd"] = {"Gugadj"},<br />
["gge"] = {"Gurr-goni"},<br />
["ggg"] = {"Gurgula"},<br />
["ggk"] = {"Kungarakany"},<br />
["ggl"] = {"Ganglau"},<br />
["ggt"] = {"Gitua"},<br />
["ggu"] = {"Gagu", "Gban"},<br />
["ggw"] = {"Gogodala"},<br />
["gha"] = {"Ghadamès"},<br />
["ghc"] = {"Hiberno-Scottish Gaelic"},<br />
["ghe"] = {"Southern Ghale"},<br />
["ghh"] = {"Northern Ghale"},<br />
["ghk"] = {"Geko Karen"},<br />
["ghl"] = {"Ghulfan"},<br />
["ghn"] = {"Ghanongga"},<br />
["gho"] = {"Ghomara"},<br />
["ghr"] = {"Ghera"},<br />
["ghs"] = {"Guhu-Samane"},<br />
["ght"] = {"Kuke", "Kutang Ghale"},<br />
["gia"] = {"Kija"},<br />
["gib"] = {"Gibanawa"},<br />
["gic"] = {"Gail"},<br />
["gid"] = {"Gidar"},<br />
["gie"] = {"Gaɓogbo", "Guébie"},<br />
["gig"] = {"Goaria"},<br />
["gih"] = {"Githabul"},<br />
["gii"] = {"Girirra"},<br />
["gil"] = {"Gilbertese"},<br />
["gim"] = {"Gimi (Eastern Highlands)"},<br />
["gin"] = {"Hinukh"},<br />
["gip"] = {"Gimi (West New Britain)"},<br />
["giq"] = {"Green Gelao"},<br />
["gir"] = {"Red Gelao"},<br />
["gis"] = {"North Giziga"},<br />
["git"] = {"Gitxsan"},<br />
["giu"] = {"Mulao"},<br />
["giw"] = {"White Gelao"},<br />
["gix"] = {"Gilima"},<br />
["giy"] = {"Giyug"},<br />
["giz"] = {"South Giziga"},<br />
["gjk"] = {"Kachi Koli"},<br />
["gjm"] = {"Gunditjmara"},<br />
["gjn"] = {"Gonja"},<br />
["gjr"] = {"Gurindji Kriol"},<br />
["gju"] = {"Gujari"},<br />
["gka"] = {"Guya"},<br />
["gkd"] = {"Magɨ (Madang Province)"},<br />
["gke"] = {"Ndai"},<br />
["gkn"] = {"Gokana"},<br />
["gko"] = {"Kok-Nar"},<br />
["gkp"] = {"Guinea Kpelle"},<br />
["gku"] = {"ǂUngkue"},<br />
["glb"] = {"Belning"},<br />
["glc"] = {"Bon Gula"},<br />
["gld"] = {"Nanai"},<br />
["glh"] = {"Northwest Pashai", "Northwest Pashayi"},<br />
["glj"] = {"Gula Iro"},<br />
["glk"] = {"Gilaki"},<br />
["gll"] = {"Garlali"},<br />
["glo"] = {"Galambu"},<br />
["glr"] = {"Glaro-Twabo"},<br />
["glu"] = {"Gula (Chad)"},<br />
["glw"] = {"Glavda"},<br />
["gly"] = {"Gule"},<br />
["gma"] = {"Gambera"},<br />
["gmb"] = {"Gula'alaa"},<br />
["gmd"] = {"Mághdì"},<br />
["gme"] = {"East Germanic languages"},<br />
["gmg"] = {"Magɨyi"},<br />
["gmh"] = {"Middle High German (ca. 1050-1500)"},<br />
["gml"] = {"Middle Low German"},<br />
["gmm"] = {"Gbaya-Mbodomo"},<br />
["gmn"] = {"Gimnime"},<br />
["gmq"] = {"North Germanic languages"},<br />
["gmr"] = {"Mirning", "Mirniny"},<br />
["gmu"] = {"Gumalu"},<br />
["gmv"] = {"Gamo"},<br />
["gmw"] = {"West Germanic languages"},<br />
["gmx"] = {"Magoma"},<br />
["gmy"] = {"Mycenaean Greek"},<br />
["gmz"] = {"Mgbolizhia"},<br />
["gna"] = {"Kaansa"},<br />
["gnb"] = {"Gangte"},<br />
["gnc"] = {"Guanche"},<br />
["gnd"] = {"Zulgo-Gemzek"},<br />
["gne"] = {"Ganang"},<br />
["gng"] = {"Ngangam"},<br />
["gnh"] = {"Lere"},<br />
["gni"] = {"Gooniyandi"},<br />
["gnj"] = {"Ngen"},<br />
["gnk"] = {"ǁGana"},<br />
["gnl"] = {"Gangulu"},<br />
["gnm"] = {"Ginuman"},<br />
["gnn"] = {"Gumatj"},<br />
["gno"] = {"Northern Gondi"},<br />
["gnq"] = {"Gana"},<br />
["gnr"] = {"Gureng Gureng"},<br />
["gnt"] = {"Guntai"},<br />
["gnu"] = {"Gnau"},<br />
["gnw"] = {"Western Bolivian Guaraní"},<br />
["gnz"] = {"Ganzi"},<br />
["goa"] = {"Guro"},<br />
["gob"] = {"Playero"},<br />
["goc"] = {"Gorakor"},<br />
["god"] = {"Godié"},<br />
["goe"] = {"Gongduk"},<br />
["gof"] = {"Gofa"},<br />
["gog"] = {"Gogo"},<br />
["goh"] = {"Old High German (ca. 750-1050)"},<br />
["goi"] = {"Gobasi"},<br />
["goj"] = {"Gowlan"},<br />
["gok"] = {"Gowli"},<br />
["gol"] = {"Gola"},<br />
["gom"] = {"Goan Konkani"},<br />
["gon"] = {"Gondi"},<br />
["goo"] = {"Gone Dau"},<br />
["gop"] = {"Yeretuar"},<br />
["goq"] = {"Gorap"},<br />
["gor"] = {"Gorontalo"},<br />
["gos"] = {"Gronings"},<br />
["got"] = {"Gothic"},<br />
["gou"] = {"Gavar"},<br />
["gov"] = {"Goo"},<br />
["gow"] = {"Gorowa"},<br />
["gox"] = {"Gobu"},<br />
["goy"] = {"Goundo"},<br />
["goz"] = {"Gozarkhani"},<br />
["gpa"] = {"Gupa-Abawa"},<br />
["gpe"] = {"Ghanaian Pidgin English"},<br />
["gpn"] = {"Taiap"},<br />
["gqa"] = {"Ga'anda"},<br />
["gqi"] = {"Guiqiong"},<br />
["gqn"] = {"Guana (Brazil)"},<br />
["gqr"] = {"Gor"},<br />
["gqu"] = {"Qau"},<br />
["gra"] = {"Rajput Garasia"},<br />
["grb"] = {"Grebo"},<br />
["grc"] = {"Ancient Greek (to 1453)"},<br />
["grd"] = {"Guruntum-Mbaaru"},<br />
["grg"] = {"Madi"},<br />
["grh"] = {"Gbiri-Niragu"},<br />
["gri"] = {"Ghari"},<br />
["grj"] = {"Southern Grebo"},<br />
["grk"] = {"Greek languages"},<br />
["grm"] = {"Kota Marudu Talantang"},<br />
["gro"] = {"Groma"},<br />
["grq"] = {"Gorovu"},<br />
["grr"] = {"Taznatit"},<br />
["grs"] = {"Gresi"},<br />
["grt"] = {"Garo"},<br />
["gru"] = {"Kistane"},<br />
["grv"] = {"Central Grebo"},<br />
["grw"] = {"Gweda"},<br />
["grx"] = {"Guriaso"},<br />
["gry"] = {"Barclayville Grebo"},<br />
["grz"] = {"Guramalum"},<br />
["gse"] = {"Ghanaian Sign Language"},<br />
["gsg"] = {"German Sign Language"},<br />
["gsl"] = {"Gusilay"},<br />
["gsm"] = {"Guatemalan Sign Language"},<br />
["gsn"] = {"Nema", "Gusan"},<br />
["gso"] = {"Southwest Gbaya"},<br />
["gsp"] = {"Wasembo"},<br />
["gss"] = {"Greek Sign Language"},<br />
["gsw"] = {"Swiss German", "Alemannic", "Alsatian"},<br />
["gta"] = {"Guató"},<br />
["gtu"] = {"Aghu-Tharnggala"},<br />
["gua"] = {"Shiki"},<br />
["gub"] = {"Guajajára"},<br />
["guc"] = {"Wayuu"},<br />
["gud"] = {"Yocoboué Dida"},<br />
["gue"] = {"Gurindji"},<br />
["guf"] = {"Gupapuyngu"},<br />
["gug"] = {"Paraguayan Guaraní"},<br />
["guh"] = {"Guahibo"},<br />
["gui"] = {"Eastern Bolivian Guaraní"},<br />
["guk"] = {"Gumuz"},<br />
["gul"] = {"Sea Island Creole English"},<br />
["gum"] = {"Guambiano"},<br />
["gun"] = {"Mbyá Guaraní"},<br />
["guo"] = {"Guayabero"},<br />
["gup"] = {"Gunwinggu"},<br />
["guq"] = {"Aché"},<br />
["gur"] = {"Farefare"},<br />
["gus"] = {"Guinean Sign Language"},<br />
["gut"] = {"Maléku Jaíka"},<br />
["guu"] = {"Yanomamö"},<br />
["guw"] = {"Gun"},<br />
["gux"] = {"Gourmanchéma"},<br />
["guz"] = {"Gusii", "Ekegusii"},<br />
["gva"] = {"Guana (Paraguay)"},<br />
["gvc"] = {"Guanano"},<br />
["gve"] = {"Duwet"},<br />
["gvf"] = {"Golin"},<br />
["gvj"] = {"Guajá"},<br />
["gvl"] = {"Gulay"},<br />
["gvm"] = {"Gurmana"},<br />
["gvn"] = {"Kuku-Yalanji"},<br />
["gvo"] = {"Gavião Do Jiparaná"},<br />
["gvp"] = {"Pará Gavião"},<br />
["gvr"] = {"Gurung"},<br />
["gvs"] = {"Gumawana"},<br />
["gvy"] = {"Guyani"},<br />
["gwa"] = {"Mbato"},<br />
["gwb"] = {"Gwa"},<br />
["gwc"] = {"Gawri", "Kalami"},<br />
["gwd"] = {"Gawwada"},<br />
["gwe"] = {"Gweno"},<br />
["gwf"] = {"Gowro"},<br />
["gwg"] = {"Moo"},<br />
["gwi"] = {"Gwichʼin"},<br />
["gwj"] = {"ǀGwi"},<br />
["gwm"] = {"Awngthim"},<br />
["gwn"] = {"Gwandara"},<br />
["gwr"] = {"Gwere"},<br />
["gwt"] = {"Gawar-Bati"},<br />
["gwu"] = {"Guwamu"},<br />
["gww"] = {"Kwini"},<br />
["gwx"] = {"Gua"},<br />
["gxx"] = {"Wè Southern"},<br />
["gya"] = {"Northwest Gbaya"},<br />
["gyb"] = {"Garus"},<br />
["gyd"] = {"Kayardild"},<br />
["gye"] = {"Gyem"},<br />
["gyf"] = {"Gungabula"},<br />
["gyg"] = {"Gbayi"},<br />
["gyi"] = {"Gyele"},<br />
["gyl"] = {"Gayil"},<br />
["gym"] = {"Ngäbere"},<br />
["gyn"] = {"Guyanese Creole English"},<br />
["gyo"] = {"Gyalsumdo"},<br />
["gyr"] = {"Guarayu"},<br />
["gyy"] = {"Gunya"},<br />
["gyz"] = {"Geji", "Gyaazi"},<br />
["gza"] = {"Ganza"},<br />
["gzi"] = {"Gazi"},<br />
["gzn"] = {"Gane"},<br />
["haa"] = {"Han"},<br />
["hab"] = {"Hanoi Sign Language"},<br />
["hac"] = {"Gurani"},<br />
["had"] = {"Hatam"},<br />
["hae"] = {"Eastern Oromo"},<br />
["haf"] = {"Haiphong Sign Language"},<br />
["hag"] = {"Hanga"},<br />
["hah"] = {"Hahon"},<br />
["hai"] = {"Haida"},<br />
["haj"] = {"Hajong"},<br />
["hak"] = {"Hakka Chinese"},<br />
["hal"] = {"Halang"},<br />
["ham"] = {"Hewa"},<br />
["han"] = {"Hangaza"},<br />
["hao"] = {"Hakö"},<br />
["hap"] = {"Hupla"},<br />
["haq"] = {"Ha"},<br />
["har"] = {"Harari"},<br />
["has"] = {"Haisla"},<br />
["hav"] = {"Havu"},<br />
["haw"] = {"Hawaiian"},<br />
["hax"] = {"Southern Haida"},<br />
["hay"] = {"Haya"},<br />
["haz"] = {"Hazaragi"},<br />
["hba"] = {"Hamba"},<br />
["hbb"] = {"Huba"},<br />
["hbn"] = {"Heiban"},<br />
["hbo"] = {"Ancient Hebrew"},<br />
["hbu"] = {"Habu"},<br />
["hca"] = {"Andaman Creole Hindi"},<br />
["hch"] = {"Huichol"},<br />
["hdn"] = {"Northern Haida"},<br />
["hds"] = {"Honduras Sign Language"},<br />
["hdy"] = {"Hadiyya"},<br />
["hea"] = {"Northern Qiandong Miao"},<br />
["hed"] = {"Herdé"},<br />
["heg"] = {"Helong"},<br />
["heh"] = {"Hehe"},<br />
["hei"] = {"Heiltsuk"},<br />
["hem"] = {"Hemba"},<br />
["hgm"] = {"Haiǁom"},<br />
["hgw"] = {"Haigwai"},<br />
["hhi"] = {"Hoia Hoia"},<br />
["hhr"] = {"Kerak"},<br />
["hhy"] = {"Hoyahoya"},<br />
["hia"] = {"Lamang"},<br />
["hib"] = {"Hibito"},<br />
["hid"] = {"Hidatsa"},<br />
["hif"] = {"Fiji Hindi"},<br />
["hig"] = {"Kamwe"},<br />
["hih"] = {"Pamosu"},<br />
["hii"] = {"Hinduri"},<br />
["hij"] = {"Hijuk"},<br />
["hik"] = {"Seit-Kaitetu"},<br />
["hil"] = {"Hiligaynon"},<br />
["him"] = {"Himachali languages", "Western Pahari languages"},<br />
["hio"] = {"Tsoa"},<br />
["hir"] = {"Himarimã"},<br />
["hit"] = {"Hittite"},<br />
["hiw"] = {"Hiw"},<br />
["hix"] = {"Hixkaryána"},<br />
["hji"] = {"Haji"},<br />
["hka"] = {"Kahe"},<br />
["hke"] = {"Hunde"},<br />
["hkh"] = {"Khah", "Poguli"},<br />
["hkk"] = {"Hunjara-Kaina Ke"},<br />
["hkn"] = {"Mel-Khaonh"},<br />
["hks"] = {"Hong Kong Sign Language", "Heung Kong Sau Yue"},<br />
["hla"] = {"Halia"},<br />
["hlb"] = {"Halbi"},<br />
["hld"] = {"Halang Doan"},<br />
["hle"] = {"Hlersu"},<br />
["hlt"] = {"Matu Chin"},<br />
["hlu"] = {"Hieroglyphic Luwian"},<br />
["hma"] = {"Southern Mashan Hmong", "Southern Mashan Miao"},<br />
["hmb"] = {"Humburi Senni Songhay"},<br />
["hmc"] = {"Central Huishui Hmong", "Central Huishui Miao"},<br />
["hmd"] = {"Large Flowery Miao", "A-hmaos", "Da-Hua Miao"},<br />
["hme"] = {"Eastern Huishui Hmong", "Eastern Huishui Miao"},<br />
["hmf"] = {"Hmong Don"},<br />
["hmg"] = {"Southwestern Guiyang Hmong"},<br />
["hmh"] = {"Southwestern Huishui Hmong", "Southwestern Huishui Miao"},<br />
["hmi"] = {"Northern Huishui Hmong", "Northern Huishui Miao"},<br />
["hmj"] = {"Ge", "Gejia"},<br />
["hmk"] = {"Maek"},<br />
["hml"] = {"Luopohe Hmong", "Luopohe Miao"},<br />
["hmm"] = {"Central Mashan Hmong", "Central Mashan Miao"},<br />
["hmn"] = {"Hmong", "Mong"},<br />
["hmp"] = {"Northern Mashan Hmong", "Northern Mashan Miao"},<br />
["hmq"] = {"Eastern Qiandong Miao"},<br />
["hmr"] = {"Hmar"},<br />
["hms"] = {"Southern Qiandong Miao"},<br />
["hmt"] = {"Hamtai"},<br />
["hmu"] = {"Hamap"},<br />
["hmv"] = {"Hmong Dô"},<br />
["hmw"] = {"Western Mashan Hmong", "Western Mashan Miao"},<br />
["hmx"] = {"Hmong-Mien languages"},<br />
["hmy"] = {"Southern Guiyang Hmong", "Southern Guiyang Miao"},<br />
["hmz"] = {"Hmong Shua", "Sinicized Miao"},<br />
["hna"] = {"Mina (Cameroon)"},<br />
["hnd"] = {"Southern Hindko"},<br />
["hne"] = {"Chhattisgarhi"},<br />
["hng"] = {"Hungu"},<br />
["hnh"] = {"ǁAni"},<br />
["hni"] = {"Hani"},<br />
["hnj"] = {"Hmong Njua", "Mong Leng", "Mong Njua"},<br />
["hnn"] = {"Hanunoo"},<br />
["hno"] = {"Northern Hindko"},<br />
["hns"] = {"Caribbean Hindustani"},<br />
["hnu"] = {"Hung"},<br />
["hoa"] = {"Hoava"},<br />
["hob"] = {"Mari (Madang Province)"},<br />
["hoc"] = {"Ho"},<br />
["hod"] = {"Holma"},<br />
["hoe"] = {"Horom"},<br />
["hoh"] = {"Hobyót"},<br />
["hoi"] = {"Holikachuk"},<br />
["hoj"] = {"Hadothi", "Haroti"},<br />
["hok"] = {"Hokan languages"},<br />
["hol"] = {"Holu"},<br />
["hom"] = {"Homa"},<br />
["hoo"] = {"Holoholo"},<br />
["hop"] = {"Hopi"},<br />
["hor"] = {"Horo"},<br />
["hos"] = {"Ho Chi Minh City Sign Language"},<br />
["hot"] = {"Hote", "Malê"},<br />
["hov"] = {"Hovongan"},<br />
["how"] = {"Honi"},<br />
["hoy"] = {"Holiya"},<br />
["hoz"] = {"Hozo"},<br />
["hpo"] = {"Hpon"},<br />
["hps"] = {"Hawai'i Sign Language (HSL)", "Hawai'i Pidgin Sign Language"},<br />
["hra"] = {"Hrangkhol"},<br />
["hrc"] = {"Niwer Mil"},<br />
["hre"] = {"Hre"},<br />
["hrk"] = {"Haruku"},<br />
["hrm"] = {"Horned Miao"},<br />
["hro"] = {"Haroi"},<br />
["hrp"] = {"Nhirrpi"},<br />
["hrt"] = {"Hértevin"},<br />
["hru"] = {"Hruso"},<br />
["hrw"] = {"Warwar Feni"},<br />
["hrx"] = {"Hunsrik"},<br />
["hrz"] = {"Harzani"},<br />
["hsb"] = {"Upper Sorbian"},<br />
["hsh"] = {"Hungarian Sign Language"},<br />
["hsl"] = {"Hausa Sign Language"},<br />
["hsn"] = {"Xiang Chinese"},<br />
["hss"] = {"Harsusi"},<br />
["hti"] = {"Hoti"},<br />
["hto"] = {"Minica Huitoto"},<br />
["hts"] = {"Hadza"},<br />
["htu"] = {"Hitu"},<br />
["htx"] = {"Middle Hittite"},<br />
["hub"] = {"Huambisa"},<br />
["huc"] = {"ǂHua", "ǂʼAmkhoe"},<br />
["hud"] = {"Huaulu"},<br />
["hue"] = {"San Francisco Del Mar Huave"},<br />
["huf"] = {"Humene"},<br />
["hug"] = {"Huachipaeri"},<br />
["huh"] = {"Huilliche"},<br />
["hui"] = {"Huli"},<br />
["huj"] = {"Northern Guiyang Hmong", "Northern Guiyang Miao"},<br />
["huk"] = {"Hulung"},<br />
["hul"] = {"Hula"},<br />
["hum"] = {"Hungana"},<br />
["huo"] = {"Hu"},<br />
["hup"] = {"Hupa"},<br />
["huq"] = {"Tsat"},<br />
["hur"] = {"Halkomelem"},<br />
["hus"] = {"Huastec"},<br />
["hut"] = {"Humla"},<br />
["huu"] = {"Murui Huitoto"},<br />
["huv"] = {"San Mateo Del Mar Huave"},<br />
["huw"] = {"Hukumina"},<br />
["hux"] = {"Nüpode Huitoto"},<br />
["huy"] = {"Hulaulá"},<br />
["huz"] = {"Hunzib"},<br />
["hvc"] = {"Haitian Vodoun Culture Language"},<br />
["hve"] = {"San Dionisio Del Mar Huave"},<br />
["hvk"] = {"Haveke"},<br />
["hvn"] = {"Sabu"},<br />
["hvv"] = {"Santa María Del Mar Huave"},<br />
["hwa"] = {"Wané"},<br />
["hwc"] = {"Hawai'i Creole English", "Hawai'i Pidgin"},<br />
["hwo"] = {"Hwana"},<br />
["hya"] = {"Hya"},<br />
["hyw"] = {"Western Armenian"},<br />
["hyx"] = {"Armenian (family)"},<br />
["iai"] = {"Iaai"},<br />
["ian"] = {"Iatmul"},<br />
["iar"] = {"Purari"},<br />
["iba"] = {"Iban"},<br />
["ibb"] = {"Ibibio"},<br />
["ibd"] = {"Iwaidja"},<br />
["ibe"] = {"Akpes"},<br />
["ibg"] = {"Ibanag"},<br />
["ibh"] = {"Bih"},<br />
["ibl"] = {"Ibaloi"},<br />
["ibm"] = {"Agoi"},<br />
["ibn"] = {"Ibino"},<br />
["ibr"] = {"Ibuoro"},<br />
["ibu"] = {"Ibu"},<br />
["iby"] = {"Ibani"},<br />
["ica"] = {"Ede Ica"},<br />
["ich"] = {"Etkywan"},<br />
["icl"] = {"Icelandic Sign Language"},<br />
["icr"] = {"Islander Creole English"},<br />
["ida"] = {"Idakho-Isukha-Tiriki", "Luidakho-Luisukha-Lutirichi"},<br />
["idb"] = {"Indo-Portuguese"},<br />
["idc"] = {"Idon", "Ajiya"},<br />
["idd"] = {"Ede Idaca"},<br />
["ide"] = {"Idere"},<br />
["idi"] = {"Idi"},<br />
["idr"] = {"Indri"},<br />
["ids"] = {"Idesa"},<br />
["idt"] = {"Idaté"},<br />
["idu"] = {"Idoma"},<br />
["ifa"] = {"Amganad Ifugao"},<br />
["ifb"] = {"Batad Ifugao", "Ayangan Ifugao"},<br />
["ife"] = {"Ifè"},<br />
["iff"] = {"Ifo"},<br />
["ifk"] = {"Tuwali Ifugao"},<br />
["ifm"] = {"Teke-Fuumu"},<br />
["ifu"] = {"Mayoyao Ifugao"},<br />
["ify"] = {"Keley-I Kallahan"},<br />
["igb"] = {"Ebira"},<br />
["ige"] = {"Igede"},<br />
["igg"] = {"Igana"},<br />
["igl"] = {"Igala"},<br />
["igm"] = {"Kanggape"},<br />
["ign"] = {"Ignaciano"},<br />
["igo"] = {"Isebe"},<br />
["igs"] = {"Interglossa"},<br />
["igw"] = {"Igwe"},<br />
["ihb"] = {"Iha Based Pidgin"},<br />
["ihi"] = {"Ihievbe"},<br />
["ihp"] = {"Iha"},<br />
["ihw"] = {"Bidhawal"},<br />
["iin"] = {"Thiin"},<br />
["iir"] = {"Indo-Iranian languages"},<br />
["ijc"] = {"Izon"},<br />
["ije"] = {"Biseni"},<br />
["ijj"] = {"Ede Ije"},<br />
["ijn"] = {"Kalabari"},<br />
["ijo"] = {"Ijo languages"},<br />
["ijs"] = {"Southeast Ijo"},<br />
["ike"] = {"Eastern Canadian Inuktitut"},<br />
["iki"] = {"Iko"},<br />
["ikk"] = {"Ika"},<br />
["ikl"] = {"Ikulu"},<br />
["iko"] = {"Olulumo-Ikom"},<br />
["ikp"] = {"Ikpeshi"},<br />
["ikr"] = {"Ikaranggal"},<br />
["iks"] = {"Inuit Sign Language"},<br />
["ikt"] = {"Inuinnaqtun", "Western Canadian Inuktitut"},<br />
["ikv"] = {"Iku-Gora-Ankwa"},<br />
["ikw"] = {"Ikwere"},<br />
["ikx"] = {"Ik"},<br />
["ikz"] = {"Ikizu"},<br />
["ila"] = {"Ile Ape"},<br />
["ilb"] = {"Ila"},<br />
["ilg"] = {"Garig-Ilgar"},<br />
["ili"] = {"Ili Turki"},<br />
["ilk"] = {"Ilongot"},<br />
["ilm"] = {"Iranun (Malaysia)"},<br />
["ilo"] = {"Iloko"},<br />
["ilp"] = {"Iranun (Philippines)"},<br />
["ils"] = {"International Sign"},<br />
["ilu"] = {"Ili'uun"},<br />
["ilv"] = {"Ilue"},<br />
["ima"] = {"Mala Malasar"},<br />
["imi"] = {"Anamgura"},<br />
["iml"] = {"Miluk"},<br />
["imn"] = {"Imonda"},<br />
["imo"] = {"Imbongu"},<br />
["imr"] = {"Imroing"},<br />
["ims"] = {"Marsian"},<br />
["imt"] = {"Imotong"},<br />
["imy"] = {"Milyan"},<br />
["inb"] = {"Inga"},<br />
["inc"] = {"Indic languages"},<br />
["ine"] = {"Indo-European languages"},<br />
["ing"] = {"Degexit'an"},<br />
["inh"] = {"Ingush"},<br />
["inj"] = {"Jungle Inga"},<br />
["inl"] = {"Indonesian Sign Language"},<br />
["inm"] = {"Minaean"},<br />
["inn"] = {"Isinai"},<br />
["ino"] = {"Inoke-Yate"},<br />
["inp"] = {"Iñapari"},<br />
["ins"] = {"Indian Sign Language"},<br />
["int"] = {"Intha"},<br />
["inz"] = {"Ineseño"},<br />
["ior"] = {"Inor"},<br />
["iou"] = {"Tuma-Irumu"},<br />
["iow"] = {"Iowa-Oto"},<br />
["ipi"] = {"Ipili"},<br />
["ipo"] = {"Ipiko"},<br />
["iqu"] = {"Iquito"},<br />
["iqw"] = {"Ikwo"},<br />
["ira"] = {"Iranian languages"},<br />
["ire"] = {"Iresim"},<br />
["irh"] = {"Irarutu"},<br />
["iri"] = {"Rigwe", "Irigwe"},<br />
["irk"] = {"Iraqw"},<br />
["irn"] = {"Irántxe"},<br />
["iro"] = {"Iroquoian languages"},<br />
["irr"] = {"Ir"},<br />
["iru"] = {"Irula"},<br />
["irx"] = {"Kamberau"},<br />
["iry"] = {"Iraya"},<br />
["isa"] = {"Isabi"},<br />
["isc"] = {"Isconahua"},<br />
["isd"] = {"Isnag"},<br />
["ise"] = {"Italian Sign Language"},<br />
["isg"] = {"Irish Sign Language"},<br />
["ish"] = {"Esan"},<br />
["isi"] = {"Nkem-Nkum"},<br />
["isk"] = {"Ishkashimi"},<br />
["ism"] = {"Masimasi"},<br />
["isn"] = {"Isanzu"},<br />
["iso"] = {"Isoko"},<br />
["isr"] = {"Israeli Sign Language"},<br />
["ist"] = {"Istriot"},<br />
["isu"] = {"Isu (Menchum Division)"},<br />
["itb"] = {"Binongan Itneg"},<br />
["itc"] = {"Italic languages"},<br />
["itd"] = {"Southern Tidung"},<br />
["ite"] = {"Itene"},<br />
["iti"] = {"Inlaod Itneg"},<br />
["itk"] = {"Judeo-Italian"},<br />
["itl"] = {"Itelmen"},<br />
["itm"] = {"Itu Mbon Uzo"},<br />
["ito"] = {"Itonama"},<br />
["itr"] = {"Iteri"},<br />
["its"] = {"Isekiri"},<br />
["itt"] = {"Maeng Itneg"},<br />
["itv"] = {"Itawit"},<br />
["itw"] = {"Ito"},<br />
["itx"] = {"Itik"},<br />
["ity"] = {"Moyadan Itneg"},<br />
["itz"] = {"Itzá"},<br />
["ium"] = {"Iu Mien"},<br />
["ivb"] = {"Ibatan"},<br />
["ivv"] = {"Ivatan"},<br />
["iwk"] = {"I-Wak"},<br />
["iwm"] = {"Iwam"},<br />
["iwo"] = {"Iwur"},<br />
["iws"] = {"Sepik Iwam"},<br />
["ixc"] = {"Ixcatec"},<br />
["ixl"] = {"Ixil"},<br />
["iya"] = {"Iyayu"},<br />
["iyo"] = {"Mesaka"},<br />
["iyx"] = {"Yaka (Congo)"},<br />
["izh"] = {"Ingrian"},<br />
["izr"] = {"Izere"},<br />
["izz"] = {"Izii"},<br />
["jaa"] = {"Jamamadí"},<br />
["jab"] = {"Hyam"},<br />
["jac"] = {"Popti'", "Jakalteko"},<br />
["jad"] = {"Jahanka"},<br />
["jae"] = {"Yabem"},<br />
["jaf"] = {"Jara"},<br />
["jah"] = {"Jah Hut"},<br />
["jaj"] = {"Zazao"},<br />
["jak"] = {"Jakun"},<br />
["jal"] = {"Yalahatan"},<br />
["jam"] = {"Jamaican Creole English"},<br />
["jan"] = {"Jandai"},<br />
["jao"] = {"Yanyuwa"},<br />
["jaq"] = {"Yaqay"},<br />
["jas"] = {"New Caledonian Javanese"},<br />
["jat"] = {"Jakati"},<br />
["jau"] = {"Yaur"},<br />
["jax"] = {"Jambi Malay"},<br />
["jay"] = {"Yan-nhangu", "Nhangu"},<br />
["jaz"] = {"Jawe"},<br />
["jbe"] = {"Judeo-Berber"},<br />
["jbi"] = {"Badjiri"},<br />
["jbj"] = {"Arandai"},<br />
["jbk"] = {"Barikewa"},<br />
["jbm"] = {"Bijim"},<br />
["jbn"] = {"Nafusi"},<br />
["jbo"] = {"Lojban"},<br />
["jbr"] = {"Jofotek-Bromnya"},<br />
["jbt"] = {"Jabutí"},<br />
["jbu"] = {"Jukun Takum"},<br />
["jbw"] = {"Yawijibaya"},<br />
["jcs"] = {"Jamaican Country Sign Language"},<br />
["jct"] = {"Krymchak"},<br />
["jda"] = {"Jad"},<br />
["jdg"] = {"Jadgali"},<br />
["jdt"] = {"Judeo-Tat"},<br />
["jeb"] = {"Jebero"},<br />
["jee"] = {"Jerung"},<br />
["jeh"] = {"Jeh"},<br />
["jei"] = {"Yei"},<br />
["jek"] = {"Jeri Kuo"},<br />
["jel"] = {"Yelmek"},<br />
["jen"] = {"Dza"},<br />
["jer"] = {"Jere"},<br />
["jet"] = {"Manem"},<br />
["jeu"] = {"Jonkor Bourmataguil"},<br />
["jgb"] = {"Ngbee"},<br />
["jge"] = {"Judeo-Georgian"},<br />
["jgk"] = {"Gwak"},<br />
["jgo"] = {"Ngomba"},<br />
["jhi"] = {"Jehai"},<br />
["jhs"] = {"Jhankot Sign Language"},<br />
["jia"] = {"Jina"},<br />
["jib"] = {"Jibu"},<br />
["jic"] = {"Tol"},<br />
["jid"] = {"Bu (Kaduna State)"},<br />
["jie"] = {"Jilbe"},<br />
["jig"] = {"Jingulu", "Djingili"},<br />
["jih"] = {"sTodsde", "Shangzhai"},<br />
["jii"] = {"Jiiddu"},<br />
["jil"] = {"Jilim"},<br />
["jim"] = {"Jimi (Cameroon)"},<br />
["jio"] = {"Jiamao"},<br />
["jiq"] = {"Guanyinqiao", "Lavrung"},<br />
["jit"] = {"Jita"},<br />
["jiu"] = {"Youle Jinuo"},<br />
["jiv"] = {"Shuar"},<br />
["jiy"] = {"Buyuan Jinuo"},<br />
["jje"] = {"Jejueo"},<br />
["jjr"] = {"Bankal"},<br />
["jka"] = {"Kaera"},<br />
["jkm"] = {"Mobwa Karen"},<br />
["jko"] = {"Kubo"},<br />
["jkp"] = {"Paku Karen"},<br />
["jkr"] = {"Koro (India)"},<br />
["jks"] = {"Amami Koniya Sign Language"},<br />
["jku"] = {"Labir"},<br />
["jle"] = {"Ngile"},<br />
["jls"] = {"Jamaican Sign Language"},<br />
["jma"] = {"Dima"},<br />
["jmb"] = {"Zumbun"},<br />
["jmc"] = {"Machame"},<br />
["jmd"] = {"Yamdena"},<br />
["jmi"] = {"Jimi (Nigeria)"},<br />
["jml"] = {"Jumli"},<br />
["jmn"] = {"Makuri Naga"},<br />
["jmr"] = {"Kamara"},<br />
["jms"] = {"Mashi (Nigeria)"},<br />
["jmw"] = {"Mouwase"},<br />
["jmx"] = {"Western Juxtlahuaca Mixtec"},<br />
["jna"] = {"Jangshung"},<br />
["jnd"] = {"Jandavra"},<br />
["jng"] = {"Yangman"},<br />
["jni"] = {"Janji"},<br />
["jnj"] = {"Yemsa"},<br />
["jnl"] = {"Rawat"},<br />
["jns"] = {"Jaunsari"},<br />
["job"] = {"Joba"},<br />
["jod"] = {"Wojenaka"},<br />
["jog"] = {"Jogi"},<br />
["jor"] = {"Jorá"},<br />
["jos"] = {"Jordanian Sign Language"},<br />
["jow"] = {"Jowulu"},<br />
["jpa"] = {"Jewish Palestinian Aramaic"},<br />
["jpr"] = {"Judeo-Persian"},<br />
["jpx"] = {"Japanese (family)"},<br />
["jqr"] = {"Jaqaru"},<br />
["jra"] = {"Jarai"},<br />
["jrb"] = {"Judeo-Arabic"},<br />
["jrr"] = {"Jiru"},<br />
["jrt"] = {"Jakattoe"},<br />
["jru"] = {"Japrería"},<br />
["jsl"] = {"Japanese Sign Language"},<br />
["jua"] = {"Júma"},<br />
["jub"] = {"Wannu"},<br />
["juc"] = {"Jurchen"},<br />
["jud"] = {"Worodougou"},<br />
["juh"] = {"Hõne"},<br />
["jui"] = {"Ngadjuri"},<br />
["juk"] = {"Wapan"},<br />
["jul"] = {"Jirel"},<br />
["jum"] = {"Jumjum"},<br />
["jun"] = {"Juang"},<br />
["juo"] = {"Jiba"},<br />
["jup"] = {"Hupdë"},<br />
["jur"] = {"Jurúna"},<br />
["jus"] = {"Jumla Sign Language"},<br />
["jut"] = {"Jutish"},<br />
["juu"] = {"Ju"},<br />
["juw"] = {"Wãpha"},<br />
["juy"] = {"Juray"},<br />
["jvd"] = {"Javindo"},<br />
["jvn"] = {"Caribbean Javanese"},<br />
["jwi"] = {"Jwira-Pepesa"},<br />
["jya"] = {"Jiarong"},<br />
["jye"] = {"Judeo-Yemeni Arabic"},<br />
["jyy"] = {"Jaya"},<br />
["kaa"] = {"Kara-Kalpak", "Karakalpak"},<br />
["kab"] = {"Kabyle"},<br />
["kac"] = {"Kachin", "Jingpho"},<br />
["kad"] = {"Adara"},<br />
["kae"] = {"Ketangalan"},<br />
["kaf"] = {"Katso"},<br />
["kag"] = {"Kajaman"},<br />
["kah"] = {"Kara (Central African Republic)"},<br />
["kai"] = {"Karekare"},<br />
["kaj"] = {"Jju"},<br />
["kak"] = {"Kalanguya", "Kayapa Kallahan"},<br />
["kam"] = {"Kamba (Kenya)"},<br />
["kao"] = {"Xaasongaxango"},<br />
["kap"] = {"Bezhta"},<br />
["kaq"] = {"Capanahua"},<br />
["kar"] = {"Karen languages"},<br />
["kav"] = {"Katukína"},<br />
["kaw"] = {"Kawi"},<br />
["kax"] = {"Kao"},<br />
["kay"] = {"Kamayurá"},<br />
["kba"] = {"Kalarko"},<br />
["kbb"] = {"Kaxuiâna"},<br />
["kbc"] = {"Kadiwéu"},<br />
["kbd"] = {"Kabardian"},<br />
["kbe"] = {"Kanju"},<br />
["kbg"] = {"Khamba"},<br />
["kbh"] = {"Camsá"},<br />
["kbi"] = {"Kaptiau"},<br />
["kbj"] = {"Kari"},<br />
["kbk"] = {"Grass Koiari"},<br />
["kbl"] = {"Kanembu"},<br />
["kbm"] = {"Iwal"},<br />
["kbn"] = {"Kare (Central African Republic)"},<br />
["kbo"] = {"Keliko"},<br />
["kbp"] = {"Kabiyè"},<br />
["kbq"] = {"Kamano"},<br />
["kbr"] = {"Kafa"},<br />
["kbs"] = {"Kande"},<br />
["kbt"] = {"Abadi"},<br />
["kbu"] = {"Kabutra"},<br />
["kbv"] = {"Dera (Indonesia)"},<br />
["kbw"] = {"Kaiep"},<br />
["kbx"] = {"Ap Ma"},<br />
["kby"] = {"Manga Kanuri"},<br />
["kbz"] = {"Duhwa"},<br />
["kca"] = {"Khanty"},<br />
["kcb"] = {"Kawacha"},<br />
["kcc"] = {"Lubila"},<br />
["kcd"] = {"Ngkâlmpw Kanum"},<br />
["kce"] = {"Kaivi"},<br />
["kcf"] = {"Ukaan"},<br />
["kcg"] = {"Tyap"},<br />
["kch"] = {"Vono"},<br />
["kci"] = {"Kamantan"},<br />
["kcj"] = {"Kobiana"},<br />
["kck"] = {"Kalanga"},<br />
["kcl"] = {"Kela (Papua New Guinea)", "Kala"},<br />
["kcm"] = {"Gula (Central African Republic)"},<br />
["kcn"] = {"Nubi"},<br />
["kco"] = {"Kinalakna"},<br />
["kcp"] = {"Kanga"},<br />
["kcq"] = {"Kamo"},<br />
["kcr"] = {"Katla"},<br />
["kcs"] = {"Koenoem"},<br />
["kct"] = {"Kaian"},<br />
["kcu"] = {"Kami (Tanzania)"},<br />
["kcv"] = {"Kete"},<br />
["kcw"] = {"Kabwari"},<br />
["kcx"] = {"Kachama-Ganjule"},<br />
["kcy"] = {"Korandje"},<br />
["kcz"] = {"Konongo"},<br />
["kda"] = {"Worimi"},<br />
["kdc"] = {"Kutu"},<br />
["kdd"] = {"Yankunytjatjara"},<br />
["kde"] = {"Makonde"},<br />
["kdf"] = {"Mamusi"},<br />
["kdg"] = {"Seba"},<br />
["kdh"] = {"Tem"},<br />
["kdi"] = {"Kumam"},<br />
["kdj"] = {"Karamojong"},<br />
["kdk"] = {"Numèè", "Kwényi"},<br />
["kdl"] = {"Tsikimba"},<br />
["kdm"] = {"Kagoma"},<br />
["kdn"] = {"Kunda"},<br />
["kdo"] = {"Kordofanian languages"},<br />
["kdp"] = {"Kaningdon-Nindem"},<br />
["kdq"] = {"Koch"},<br />
["kdr"] = {"Karaim"},<br />
["kdt"] = {"Kuy"},<br />
["kdu"] = {"Kadaru"},<br />
["kdw"] = {"Koneraw"},<br />
["kdx"] = {"Kam"},<br />
["kdy"] = {"Keder", "Keijar"},<br />
["kdz"] = {"Kwaja"},<br />
["kea"] = {"Kabuverdianu"},<br />
["keb"] = {"Kélé"},<br />
["kec"] = {"Keiga"},<br />
["ked"] = {"Kerewe"},<br />
["kee"] = {"Eastern Keres"},<br />
["kef"] = {"Kpessi"},<br />
["keg"] = {"Tese"},<br />
["keh"] = {"Keak"},<br />
["kei"] = {"Kei"},<br />
["kej"] = {"Kadar"},<br />
["kek"] = {"Kekchí"},<br />
["kel"] = {"Kela (Democratic Republic of Congo)"},<br />
["kem"] = {"Kemak"},<br />
["ken"] = {"Kenyang"},<br />
["keo"] = {"Kakwa"},<br />
["kep"] = {"Kaikadi"},<br />
["keq"] = {"Kamar"},<br />
["ker"] = {"Kera"},<br />
["kes"] = {"Kugbo"},<br />
["ket"] = {"Ket"},<br />
["keu"] = {"Akebu"},<br />
["kev"] = {"Kanikkaran"},<br />
["kew"] = {"West Kewa"},<br />
["kex"] = {"Kukna"},<br />
["key"] = {"Kupia"},<br />
["kez"] = {"Kukele"},<br />
["kfa"] = {"Kodava"},<br />
["kfb"] = {"Northwestern Kolami"},<br />
["kfc"] = {"Konda-Dora"},<br />
["kfd"] = {"Korra Koraga"},<br />
["kfe"] = {"Kota (India)"},<br />
["kff"] = {"Koya"},<br />
["kfg"] = {"Kudiya"},<br />
["kfh"] = {"Kurichiya"},<br />
["kfi"] = {"Kannada Kurumba"},<br />
["kfj"] = {"Kemiehua"},<br />
["kfk"] = {"Kinnauri"},<br />
["kfl"] = {"Kung"},<br />
["kfm"] = {"Khunsari"},<br />
["kfn"] = {"Kuk"},<br />
["kfo"] = {"Koro (Côte d'Ivoire)"},<br />
["kfp"] = {"Korwa"},<br />
["kfq"] = {"Korku"},<br />
["kfr"] = {"Kachhi", "Kutchi"},<br />
["kfs"] = {"Bilaspuri"},<br />
["kft"] = {"Kanjari"},<br />
["kfu"] = {"Katkari"},<br />
["kfv"] = {"Kurmukar"},<br />
["kfw"] = {"Kharam Naga"},<br />
["kfx"] = {"Kullu Pahari"},<br />
["kfy"] = {"Kumaoni"},<br />
["kfz"] = {"Koromfé"},<br />
["kga"] = {"Koyaga"},<br />
["kgb"] = {"Kawe"},<br />
["kge"] = {"Komering"},<br />
["kgf"] = {"Kube"},<br />
["kgg"] = {"Kusunda"},<br />
["kgi"] = {"Selangor Sign Language"},<br />
["kgj"] = {"Gamale Kham"},<br />
["kgk"] = {"Kaiwá"},<br />
["kgl"] = {"Kunggari"},<br />
["kgm"] = {"Karipúna"},<br />
["kgn"] = {"Karingani"},<br />
["kgo"] = {"Krongo"},<br />
["kgp"] = {"Kaingang"},<br />
["kgq"] = {"Kamoro"},<br />
["kgr"] = {"Abun"},<br />
["kgs"] = {"Kumbainggar"},<br />
["kgt"] = {"Somyev"},<br />
["kgu"] = {"Kobol"},<br />
["kgv"] = {"Karas"},<br />
["kgw"] = {"Karon Dori"},<br />
["kgx"] = {"Kamaru"},<br />
["kgy"] = {"Kyerung"},<br />
["kha"] = {"Khasi"},<br />
["khb"] = {"Lü"},<br />
["khc"] = {"Tukang Besi North"},<br />
["khd"] = {"Bädi Kanum"},<br />
["khe"] = {"Korowai"},<br />
["khf"] = {"Khuen"},<br />
["khg"] = {"Khams Tibetan"},<br />
["khh"] = {"Kehu"},<br />
["khi"] = {"Khoisan languages"},<br />
["khj"] = {"Kuturmi"},<br />
["khk"] = {"Halh Mongolian"},<br />
["khl"] = {"Lusi"},<br />
["khn"] = {"Khandesi"},<br />
["kho"] = {"Khotanese", "Sakan"},<br />
["khp"] = {"Kapori", "Kapauri"},<br />
["khq"] = {"Koyra Chiini Songhay"},<br />
["khr"] = {"Kharia"},<br />
["khs"] = {"Kasua"},<br />
["kht"] = {"Khamti"},<br />
["khu"] = {"Nkhumbi"},<br />
["khv"] = {"Khvarshi"},<br />
["khw"] = {"Khowar"},<br />
["khx"] = {"Kanu"},<br />
["khy"] = {"Kele (Democratic Republic of Congo)"},<br />
["khz"] = {"Keapara"},<br />
["kia"] = {"Kim"},<br />
["kib"] = {"Koalib"},<br />
["kic"] = {"Kickapoo"},<br />
["kid"] = {"Koshin"},<br />
["kie"] = {"Kibet"},<br />
["kif"] = {"Eastern Parbate Kham"},<br />
["kig"] = {"Kimaama", "Kimaghima"},<br />
["kih"] = {"Kilmeri"},<br />
["kii"] = {"Kitsai"},<br />
["kij"] = {"Kilivila"},<br />
["kil"] = {"Kariya"},<br />
["kim"] = {"Karagas"},<br />
["kio"] = {"Kiowa"},<br />
["kip"] = {"Sheshi Kham"},<br />
["kiq"] = {"Kosadle", "Kosare"},<br />
["kis"] = {"Kis"},<br />
["kit"] = {"Agob"},<br />
["kiu"] = {"Kirmanjki (individual language)"},<br />
["kiv"] = {"Kimbu"},<br />
["kiw"] = {"Northeast Kiwai"},<br />
["kix"] = {"Khiamniungan Naga"},<br />
["kiy"] = {"Kirikiri"},<br />
["kiz"] = {"Kisi"},<br />
["kja"] = {"Mlap"},<br />
["kjb"] = {"Q'anjob'al", "Kanjobal"},<br />
["kjc"] = {"Coastal Konjo"},<br />
["kjd"] = {"Southern Kiwai"},<br />
["kje"] = {"Kisar"},<br />
["kjg"] = {"Khmu"},<br />
["kjh"] = {"Khakas"},<br />
["kji"] = {"Zabana"},<br />
["kjj"] = {"Khinalugh"},<br />
["kjk"] = {"Highland Konjo"},<br />
["kjl"] = {"Western Parbate Kham"},<br />
["kjm"] = {"Kháng"},<br />
["kjn"] = {"Kunjen"},<br />
["kjo"] = {"Harijan Kinnauri"},<br />
["kjp"] = {"Pwo Eastern Karen"},<br />
["kjq"] = {"Western Keres"},<br />
["kjr"] = {"Kurudu"},<br />
["kjs"] = {"East Kewa"},<br />
["kjt"] = {"Phrae Pwo Karen"},<br />
["kju"] = {"Kashaya"},<br />
["kjv"] = {"Kaikavian Literary Language"},<br />
["kjx"] = {"Ramopa"},<br />
["kjy"] = {"Erave"},<br />
["kjz"] = {"Bumthangkha"},<br />
["kka"] = {"Kakanda"},<br />
["kkb"] = {"Kwerisa"},<br />
["kkc"] = {"Odoodee"},<br />
["kkd"] = {"Kinuku"},<br />
["kke"] = {"Kakabe"},<br />
["kkf"] = {"Kalaktang Monpa"},<br />
["kkg"] = {"Mabaka Valley Kalinga"},<br />
["kkh"] = {"Khün"},<br />
["kki"] = {"Kagulu"},<br />
["kkj"] = {"Kako"},<br />
["kkk"] = {"Kokota"},<br />
["kkl"] = {"Kosarek Yale"},<br />
["kkm"] = {"Kiong"},<br />
["kkn"] = {"Kon Keu"},<br />
["kko"] = {"Karko"},<br />
["kkp"] = {"Gugubera", "Koko-Bera"},<br />
["kkq"] = {"Kaeku"},<br />
["kkr"] = {"Kir-Balar"},<br />
["kks"] = {"Giiwo"},<br />
["kkt"] = {"Koi"},<br />
["kku"] = {"Tumi"},<br />
["kkv"] = {"Kangean"},<br />
["kkw"] = {"Teke-Kukuya"},<br />
["kkx"] = {"Kohin"},<br />
["kky"] = {"Guugu Yimidhirr", "Guguyimidjir"},<br />
["kkz"] = {"Kaska"},<br />
["kla"] = {"Klamath-Modoc"},<br />
["klb"] = {"Kiliwa"},<br />
["klc"] = {"Kolbila"},<br />
["kld"] = {"Gamilaraay"},<br />
["kle"] = {"Kulung (Nepal)"},<br />
["klf"] = {"Kendeje"},<br />
["klg"] = {"Tagakaulo"},<br />
["klh"] = {"Weliki"},<br />
["kli"] = {"Kalumpang"},<br />
["klj"] = {"Khalaj"},<br />
["klk"] = {"Kono (Nigeria)"},<br />
["kll"] = {"Kagan Kalagan"},<br />
["klm"] = {"Migum"},<br />
["kln"] = {"Kalenjin"},<br />
["klo"] = {"Kapya"},<br />
["klp"] = {"Kamasa"},<br />
["klq"] = {"Rumu"},<br />
["klr"] = {"Khaling"},<br />
["kls"] = {"Kalasha"},<br />
["klt"] = {"Nukna"},<br />
["klu"] = {"Klao"},<br />
["klv"] = {"Maskelynes"},<br />
["klw"] = {"Tado", "Lindu"},<br />
["klx"] = {"Koluwawa"},<br />
["kly"] = {"Kalao"},<br />
["klz"] = {"Kabola"},<br />
["kma"] = {"Konni"},<br />
["kmb"] = {"Kimbundu"},<br />
["kmc"] = {"Southern Dong"},<br />
["kmd"] = {"Majukayang Kalinga"},<br />
["kme"] = {"Bakole"},<br />
["kmf"] = {"Kare (Papua New Guinea)"},<br />
["kmg"] = {"Kâte"},<br />
["kmh"] = {"Kalam"},<br />
["kmi"] = {"Kami (Nigeria)"},<br />
["kmj"] = {"Kumarbhag Paharia"},<br />
["kmk"] = {"Limos Kalinga"},<br />
["kml"] = {"Tanudan Kalinga"},<br />
["kmm"] = {"Kom (India)"},<br />
["kmn"] = {"Awtuw"},<br />
["kmo"] = {"Kwoma"},<br />
["kmp"] = {"Gimme"},<br />
["kmq"] = {"Kwama"},<br />
["kmr"] = {"Northern Kurdish"},<br />
["kms"] = {"Kamasau"},<br />
["kmt"] = {"Kemtuik"},<br />
["kmu"] = {"Kanite"},<br />
["kmv"] = {"Karipúna Creole French"},<br />
["kmw"] = {"Komo (Democratic Republic of Congo)"},<br />
["kmx"] = {"Waboda"},<br />
["kmy"] = {"Koma"},<br />
["kmz"] = {"Khorasani Turkish"},<br />
["kna"] = {"Dera (Nigeria)"},<br />
["knb"] = {"Lubuagan Kalinga"},<br />
["knc"] = {"Central Kanuri"},<br />
["knd"] = {"Konda"},<br />
["kne"] = {"Kankanaey"},<br />
["knf"] = {"Mankanya"},<br />
["kng"] = {"Koongo"},<br />
["kni"] = {"Kanufi"},<br />
["knj"] = {"Western Kanjobal"},<br />
["knk"] = {"Kuranko"},<br />
["knl"] = {"Keninjal"},<br />
["knm"] = {"Kanamarí"},<br />
["knn"] = {"Konkani (individual language)"},<br />
["kno"] = {"Kono (Sierra Leone)"},<br />
["knp"] = {"Kwanja"},<br />
["knq"] = {"Kintaq"},<br />
["knr"] = {"Kaningra"},<br />
["kns"] = {"Kensiu"},<br />
["knt"] = {"Panoan Katukína"},<br />
["knu"] = {"Kono (Guinea)"},<br />
["knv"] = {"Tabo"},<br />
["knw"] = {"Kung-Ekoka"},<br />
["knx"] = {"Kendayan", "Salako"},<br />
["kny"] = {"Kanyok"},<br />
["knz"] = {"Kalamsé"},<br />
["koa"] = {"Konomala"},<br />
["koc"] = {"Kpati"},<br />
["kod"] = {"Kodi"},<br />
["koe"] = {"Kacipo-Bale Suri"},<br />
["kof"] = {"Kubi"},<br />
["kog"] = {"Cogui", "Kogi"},<br />
["koh"] = {"Koyo"},<br />
["koi"] = {"Komi-Permyak"},<br />
["kok"] = {"Konkani (macrolanguage)"},<br />
["kol"] = {"Kol (Papua New Guinea)"},<br />
["koo"] = {"Konzo"},<br />
["kop"] = {"Waube"},<br />
["koq"] = {"Kota (Gabon)"},<br />
["kos"] = {"Kosraean"},<br />
["kot"] = {"Lagwan"},<br />
["kou"] = {"Koke"},<br />
["kov"] = {"Kudu-Camo"},<br />
["kow"] = {"Kugama"},<br />
["koy"] = {"Koyukon"},<br />
["koz"] = {"Korak"},<br />
["kpa"] = {"Kutto"},<br />
["kpb"] = {"Mullu Kurumba"},<br />
["kpc"] = {"Curripaco"},<br />
["kpd"] = {"Koba"},<br />
["kpe"] = {"Kpelle"},<br />
["kpf"] = {"Komba"},<br />
["kpg"] = {"Kapingamarangi"},<br />
["kph"] = {"Kplang"},<br />
["kpi"] = {"Kofei"},<br />
["kpj"] = {"Karajá"},<br />
["kpk"] = {"Kpan"},<br />
["kpl"] = {"Kpala"},<br />
["kpm"] = {"Koho"},<br />
["kpn"] = {"Kepkiriwát"},<br />
["kpo"] = {"Ikposo"},<br />
["kpq"] = {"Korupun-Sela"},<br />
["kpr"] = {"Korafe-Yegha"},<br />
["kps"] = {"Tehit"},<br />
["kpt"] = {"Karata"},<br />
["kpu"] = {"Kafoa"},<br />
["kpv"] = {"Komi-Zyrian"},<br />
["kpw"] = {"Kobon"},<br />
["kpx"] = {"Mountain Koiali"},<br />
["kpy"] = {"Koryak"},<br />
["kpz"] = {"Kupsabiny"},<br />
["kqa"] = {"Mum"},<br />
["kqb"] = {"Kovai"},<br />
["kqc"] = {"Doromu-Koki"},<br />
["kqd"] = {"Koy Sanjaq Surat"},<br />
["kqe"] = {"Kalagan"},<br />
["kqf"] = {"Kakabai"},<br />
["kqg"] = {"Khe"},<br />
["kqh"] = {"Kisankasa"},<br />
["kqi"] = {"Koitabu"},<br />
["kqj"] = {"Koromira"},<br />
["kqk"] = {"Kotafon Gbe"},<br />
["kql"] = {"Kyenele"},<br />
["kqm"] = {"Khisa"},<br />
["kqn"] = {"Kaonde"},<br />
["kqo"] = {"Eastern Krahn"},<br />
["kqp"] = {"Kimré"},<br />
["kqq"] = {"Krenak"},<br />
["kqr"] = {"Kimaragang"},<br />
["kqs"] = {"Northern Kissi"},<br />
["kqt"] = {"Klias River Kadazan"},<br />
["kqu"] = {"Seroa"},<br />
["kqv"] = {"Okolod"},<br />
["kqw"] = {"Kandas"},<br />
["kqx"] = {"Mser"},<br />
["kqy"] = {"Koorete"},<br />
["kqz"] = {"Korana"},<br />
["kra"] = {"Kumhali"},<br />
["krb"] = {"Karkin"},<br />
["krc"] = {"Karachay-Balkar"},<br />
["krd"] = {"Kairui-Midiki"},<br />
["kre"] = {"Panará"},<br />
["krf"] = {"Koro (Vanuatu)"},<br />
["krh"] = {"Kurama"},<br />
["kri"] = {"Krio"},<br />
["krj"] = {"Kinaray-A"},<br />
["krk"] = {"Kerek"},<br />
["krl"] = {"Karelian"},<br />
["krn"] = {"Sapo"},<br />
["kro"] = {"Kru languages"},<br />
["krp"] = {"Korop"},<br />
["krr"] = {"Krung"},<br />
["krs"] = {"Gbaya (Sudan)"},<br />
["krt"] = {"Tumari Kanuri"},<br />
["kru"] = {"Kurukh"},<br />
["krv"] = {"Kavet"},<br />
["krw"] = {"Western Krahn"},<br />
["krx"] = {"Karon"},<br />
["kry"] = {"Kryts"},<br />
["krz"] = {"Sota Kanum"},<br />
["ksa"] = {"Shuwa-Zamani"},<br />
["ksb"] = {"Shambala"},<br />
["ksc"] = {"Southern Kalinga"},<br />
["ksd"] = {"Kuanua"},<br />
["kse"] = {"Kuni"},<br />
["ksf"] = {"Bafia"},<br />
["ksg"] = {"Kusaghe"},<br />
["ksh"] = {"Kölsch"},<br />
["ksi"] = {"Krisa", "I'saka"},<br />
["ksj"] = {"Uare"},<br />
["ksk"] = {"Kansa"},<br />
["ksl"] = {"Kumalu"},<br />
["ksm"] = {"Kumba"},<br />
["ksn"] = {"Kasiguranin"},<br />
["kso"] = {"Kofa"},<br />
["ksp"] = {"Kaba"},<br />
["ksq"] = {"Kwaami"},<br />
["ksr"] = {"Borong"},<br />
["kss"] = {"Southern Kisi"},<br />
["kst"] = {"Winyé"},<br />
["ksu"] = {"Khamyang"},<br />
["ksv"] = {"Kusu"},<br />
["ksw"] = {"S'gaw Karen"},<br />
["ksx"] = {"Kedang"},<br />
["ksy"] = {"Kharia Thar"},<br />
["ksz"] = {"Kodaku"},<br />
["kta"] = {"Katua"},<br />
["ktb"] = {"Kambaata"},<br />
["ktc"] = {"Kholok"},<br />
["ktd"] = {"Kokata", "Kukatha"},<br />
["kte"] = {"Nubri"},<br />
["ktf"] = {"Kwami"},<br />
["ktg"] = {"Kalkutung"},<br />
["kth"] = {"Karanga"},<br />
["kti"] = {"North Muyu"},<br />
["ktj"] = {"Plapo Krumen"},<br />
["ktk"] = {"Kaniet"},<br />
["ktl"] = {"Koroshi"},<br />
["ktm"] = {"Kurti"},<br />
["ktn"] = {"Karitiâna"},<br />
["kto"] = {"Kuot"},<br />
["ktp"] = {"Kaduo"},<br />
["ktq"] = {"Katabaga"},<br />
["kts"] = {"South Muyu"},<br />
["ktt"] = {"Ketum"},<br />
["ktu"] = {"Kituba (Democratic Republic of Congo)"},<br />
["ktv"] = {"Eastern Katu"},<br />
["ktw"] = {"Kato"},<br />
["ktx"] = {"Kaxararí"},<br />
["kty"] = {"Kango (Bas-Uélé District)"},<br />
["ktz"] = {"Juǀʼhoan", "Juǀʼhoansi"},<br />
["kub"] = {"Kutep"},<br />
["kuc"] = {"Kwinsu"},<br />
["kud"] = {"'Auhelawa"},<br />
["kue"] = {"Kuman (Papua New Guinea)"},<br />
["kuf"] = {"Western Katu"},<br />
["kug"] = {"Kupa"},<br />
["kuh"] = {"Kushi"},<br />
["kui"] = {"Kuikúro-Kalapálo", "Kalapalo"},<br />
["kuj"] = {"Kuria"},<br />
["kuk"] = {"Kepo'"},<br />
["kul"] = {"Kulere"},<br />
["kum"] = {"Kumyk"},<br />
["kun"] = {"Kunama"},<br />
["kuo"] = {"Kumukio"},<br />
["kup"] = {"Kunimaipa"},<br />
["kuq"] = {"Karipuna"},<br />
["kus"] = {"Kusaal"},<br />
["kut"] = {"Kutenai"},<br />
["kuu"] = {"Upper Kuskokwim"},<br />
["kuv"] = {"Kur"},<br />
["kuw"] = {"Kpagua"},<br />
["kux"] = {"Kukatja"},<br />
["kuy"] = {"Kuuku-Ya'u"},<br />
["kuz"] = {"Kunza"},<br />
["kva"] = {"Bagvalal"},<br />
["kvb"] = {"Kubu"},<br />
["kvc"] = {"Kove"},<br />
["kvd"] = {"Kui (Indonesia)"},<br />
["kve"] = {"Kalabakan"},<br />
["kvf"] = {"Kabalai"},<br />
["kvg"] = {"Kuni-Boazi"},<br />
["kvh"] = {"Komodo"},<br />
["kvi"] = {"Kwang"},<br />
["kvj"] = {"Psikye"},<br />
["kvk"] = {"Korean Sign Language"},<br />
["kvl"] = {"Kayaw"},<br />
["kvm"] = {"Kendem"},<br />
["kvn"] = {"Border Kuna"},<br />
["kvo"] = {"Dobel"},<br />
["kvp"] = {"Kompane"},<br />
["kvq"] = {"Geba Karen"},<br />
["kvr"] = {"Kerinci"},<br />
["kvt"] = {"Lahta Karen", "Lahta"},<br />
["kvu"] = {"Yinbaw Karen"},<br />
["kvv"] = {"Kola"},<br />
["kvw"] = {"Wersing"},<br />
["kvx"] = {"Parkari Koli"},<br />
["kvy"] = {"Yintale Karen", "Yintale"},<br />
["kvz"] = {"Tsakwambo", "Tsaukambo"},<br />
["kwa"] = {"Dâw"},<br />
["kwb"] = {"Kwa"},<br />
["kwc"] = {"Likwala"},<br />
["kwd"] = {"Kwaio"},<br />
["kwe"] = {"Kwerba"},<br />
["kwf"] = {"Kwara'ae"},<br />
["kwg"] = {"Sara Kaba Deme"},<br />
["kwh"] = {"Kowiai"},<br />
["kwi"] = {"Awa-Cuaiquer"},<br />
["kwj"] = {"Kwanga"},<br />
["kwk"] = {"Kwakiutl"},<br />
["kwl"] = {"Kofyar"},<br />
["kwm"] = {"Kwambi"},<br />
["kwn"] = {"Kwangali"},<br />
["kwo"] = {"Kwomtari"},<br />
["kwp"] = {"Kodia"},<br />
["kwr"] = {"Kwer"},<br />
["kws"] = {"Kwese"},<br />
["kwt"] = {"Kwesten"},<br />
["kwu"] = {"Kwakum"},<br />
["kwv"] = {"Sara Kaba Náà"},<br />
["kww"] = {"Kwinti"},<br />
["kwx"] = {"Khirwar"},<br />
["kwy"] = {"San Salvador Kongo"},<br />
["kwz"] = {"Kwadi"},<br />
["kxa"] = {"Kairiru"},<br />
["kxb"] = {"Krobu"},<br />
["kxc"] = {"Konso", "Khonso"},<br />
["kxd"] = {"Brunei"},<br />
["kxf"] = {"Manumanaw Karen", "Manumanaw"},<br />
["kxh"] = {"Karo (Ethiopia)"},<br />
["kxi"] = {"Keningau Murut"},<br />
["kxj"] = {"Kulfa"},<br />
["kxk"] = {"Zayein Karen"},<br />
["kxm"] = {"Northern Khmer"},<br />
["kxn"] = {"Kanowit-Tanjong Melanau"},<br />
["kxo"] = {"Kanoé"},<br />
["kxp"] = {"Wadiyara Koli"},<br />
["kxq"] = {"Smärky Kanum"},<br />
["kxr"] = {"Koro (Papua New Guinea)"},<br />
["kxs"] = {"Kangjia"},<br />
["kxt"] = {"Koiwat"},<br />
["kxv"] = {"Kuvi"},<br />
["kxw"] = {"Konai"},<br />
["kxx"] = {"Likuba"},<br />
["kxy"] = {"Kayong"},<br />
["kxz"] = {"Kerewo"},<br />
["kya"] = {"Kwaya"},<br />
["kyb"] = {"Butbut Kalinga"},<br />
["kyc"] = {"Kyaka"},<br />
["kyd"] = {"Karey"},<br />
["kye"] = {"Krache"},<br />
["kyf"] = {"Kouya"},<br />
["kyg"] = {"Keyagana"},<br />
["kyh"] = {"Karok"},<br />
["kyi"] = {"Kiput"},<br />
["kyj"] = {"Karao"},<br />
["kyk"] = {"Kamayo"},<br />
["kyl"] = {"Kalapuya"},<br />
["kym"] = {"Kpatili"},<br />
["kyn"] = {"Northern Binukidnon"},<br />
["kyo"] = {"Kelon"},<br />
["kyp"] = {"Kang"},<br />
["kyq"] = {"Kenga"},<br />
["kyr"] = {"Kuruáya"},<br />
["kys"] = {"Baram Kayan"},<br />
["kyt"] = {"Kayagar"},<br />
["kyu"] = {"Western Kayah"},<br />
["kyv"] = {"Kayort"},<br />
["kyw"] = {"Kudmali"},<br />
["kyx"] = {"Rapoisi"},<br />
["kyy"] = {"Kambaira"},<br />
["kyz"] = {"Kayabí"},<br />
["kza"] = {"Western Karaboro"},<br />
["kzb"] = {"Kaibobo"},<br />
["kzc"] = {"Bondoukou Kulango"},<br />
["kzd"] = {"Kadai"},<br />
["kze"] = {"Kosena"},<br />
["kzf"] = {"Da'a Kaili"},<br />
["kzg"] = {"Kikai"},<br />
["kzi"] = {"Kelabit"},<br />
["kzk"] = {"Kazukuru"},<br />
["kzl"] = {"Kayeli"},<br />
["kzm"] = {"Kais"},<br />
["kzn"] = {"Kokola"},<br />
["kzo"] = {"Kaningi"},<br />
["kzp"] = {"Kaidipang"},<br />
["kzq"] = {"Kaike"},<br />
["kzr"] = {"Karang"},<br />
["kzs"] = {"Sugut Dusun"},<br />
["kzu"] = {"Kayupulau"},<br />
["kzv"] = {"Komyandaret"},<br />
["kzw"] = {"Karirí-Xocó"},<br />
["kzx"] = {"Kamarian"},<br />
["kzy"] = {"Kango (Tshopo District)"},<br />
["kzz"] = {"Kalabra"},<br />
["laa"] = {"Southern Subanen"},<br />
["lab"] = {"Linear A"},<br />
["lac"] = {"Lacandon"},<br />
["lad"] = {"Ladino"},<br />
["lae"] = {"Pattani"},<br />
["laf"] = {"Lafofa"},<br />
["lag"] = {"Langi"},<br />
["lah"] = {"Lahnda"},<br />
["lai"] = {"Lambya"},<br />
["laj"] = {"Lango (Uganda)"},<br />
["lal"] = {"Lalia"},<br />
["lam"] = {"Lamba"},<br />
["lan"] = {"Laru"},<br />
["lap"] = {"Laka (Chad)"},<br />
["laq"] = {"Qabiao"},<br />
["lar"] = {"Larteh"},<br />
["las"] = {"Lama (Togo)"},<br />
["lau"] = {"Laba"},<br />
["law"] = {"Lauje"},<br />
["lax"] = {"Tiwa"},<br />
["lay"] = {"Lama Bai"},<br />
["laz"] = {"Aribwatsa"},<br />
["lbb"] = {"Label"},<br />
["lbc"] = {"Lakkia"},<br />
["lbe"] = {"Lak"},<br />
["lbf"] = {"Tinani"},<br />
["lbg"] = {"Laopang"},<br />
["lbi"] = {"La'bi"},<br />
["lbj"] = {"Ladakhi"},<br />
["lbk"] = {"Central Bontok"},<br />
["lbl"] = {"Libon Bikol"},<br />
["lbm"] = {"Lodhi"},<br />
["lbn"] = {"Rmeet"},<br />
["lbo"] = {"Laven"},<br />
["lbq"] = {"Wampar"},<br />
["lbr"] = {"Lohorung"},<br />
["lbs"] = {"Libyan Sign Language"},<br />
["lbt"] = {"Lachi"},<br />
["lbu"] = {"Labu"},<br />
["lbv"] = {"Lavatbura-Lamusong"},<br />
["lbw"] = {"Tolaki"},<br />
["lbx"] = {"Lawangan"},<br />
["lby"] = {"Lamalama", "Lamu-Lamu"},<br />
["lbz"] = {"Lardil"},<br />
["lcc"] = {"Legenyem"},<br />
["lcd"] = {"Lola"},<br />
["lce"] = {"Loncong", "Sekak"},<br />
["lcf"] = {"Lubu"},<br />
["lch"] = {"Luchazi"},<br />
["lcl"] = {"Lisela"},<br />
["lcm"] = {"Tungag"},<br />
["lcp"] = {"Western Lawa"},<br />
["lcq"] = {"Luhu"},<br />
["lcs"] = {"Lisabata-Nuniali"},<br />
["lda"] = {"Kla-Dan"},<br />
["ldb"] = {"Dũya"},<br />
["ldd"] = {"Luri"},<br />
["ldg"] = {"Lenyima"},<br />
["ldh"] = {"Lamja-Dengsa-Tola"},<br />
["ldi"] = {"Laari"},<br />
["ldj"] = {"Lemoro"},<br />
["ldk"] = {"Leelau"},<br />
["ldl"] = {"Kaan"},<br />
["ldm"] = {"Landoma"},<br />
["ldn"] = {"Láadan"},<br />
["ldo"] = {"Loo"},<br />
["ldp"] = {"Tso"},<br />
["ldq"] = {"Lufu"},<br />
["lea"] = {"Lega-Shabunda"},<br />
["leb"] = {"Lala-Bisa"},<br />
["lec"] = {"Leco"},<br />
["led"] = {"Lendu"},<br />
["lee"] = {"Lyélé"},<br />
["lef"] = {"Lelemi"},<br />
["leh"] = {"Lenje"},<br />
["lei"] = {"Lemio"},<br />
["lej"] = {"Lengola"},<br />
["lek"] = {"Leipon"},<br />
["lel"] = {"Lele (Democratic Republic of Congo)"},<br />
["lem"] = {"Nomaande"},<br />
["len"] = {"Lenca"},<br />
["leo"] = {"Leti (Cameroon)"},<br />
["lep"] = {"Lepcha"},<br />
["leq"] = {"Lembena"},<br />
["ler"] = {"Lenkau"},<br />
["les"] = {"Lese"},<br />
["let"] = {"Lesing-Gelimi", "Amio-Gelimi"},<br />
["leu"] = {"Kara (Papua New Guinea)"},<br />
["lev"] = {"Lamma"},<br />
["lew"] = {"Ledo Kaili"},<br />
["lex"] = {"Luang"},<br />
["ley"] = {"Lemolang"},<br />
["lez"] = {"Lezghian"},<br />
["lfa"] = {"Lefa"},<br />
["lfn"] = {"Lingua Franca Nova"},<br />
["lga"] = {"Lungga"},<br />
["lgb"] = {"Laghu"},<br />
["lgg"] = {"Lugbara"},<br />
["lgh"] = {"Laghuu"},<br />
["lgi"] = {"Lengilu"},<br />
["lgk"] = {"Lingarak", "Neverver"},<br />
["lgl"] = {"Wala"},<br />
["lgm"] = {"Lega-Mwenga"},<br />
["lgn"] = {"T'apo", "Opuuo"},<br />
["lgo"] = {"Lango (South Sudan)"},<br />
["lgq"] = {"Logba"},<br />
["lgr"] = {"Lengo"},<br />
["lgt"] = {"Pahi"},<br />
["lgu"] = {"Longgu"},<br />
["lgz"] = {"Ligenza"},<br />
["lha"] = {"Laha (Viet Nam)"},<br />
["lhh"] = {"Laha (Indonesia)"},<br />
["lhi"] = {"Lahu Shi"},<br />
["lhl"] = {"Lahul Lohar"},<br />
["lhm"] = {"Lhomi"},<br />
["lhn"] = {"Lahanan"},<br />
["lhp"] = {"Lhokpu"},<br />
["lhs"] = {"Mlahsö"},<br />
["lht"] = {"Lo-Toga"},<br />
["lhu"] = {"Lahu"},<br />
["lia"] = {"West-Central Limba"},<br />
["lib"] = {"Likum"},<br />
["lic"] = {"Hlai"},<br />
["lid"] = {"Nyindrou"},<br />
["lie"] = {"Likila"},<br />
["lif"] = {"Limbu"},<br />
["lig"] = {"Ligbi"},<br />
["lih"] = {"Lihir"},<br />
["lij"] = {"Ligurian"},<br />
["lik"] = {"Lika"},<br />
["lil"] = {"Lillooet"},<br />
["lio"] = {"Liki"},<br />
["lip"] = {"Sekpele"},<br />
["liq"] = {"Libido"},<br />
["lir"] = {"Liberian English"},<br />
["lis"] = {"Lisu"},<br />
["liu"] = {"Logorik"},<br />
["liv"] = {"Liv"},<br />
["liw"] = {"Col"},<br />
["lix"] = {"Liabuku"},<br />
["liy"] = {"Banda-Bambari"},<br />
["liz"] = {"Libinza"},<br />
["lja"] = {"Golpa"},<br />
["lje"] = {"Rampi"},<br />
["lji"] = {"Laiyolo"},<br />
["ljl"] = {"Li'o"},<br />
["ljp"] = {"Lampung Api"},<br />
["ljw"] = {"Yirandali"},<br />
["ljx"] = {"Yuru"},<br />
["lka"] = {"Lakalei"},<br />
["lkb"] = {"Kabras", "Lukabaras"},<br />
["lkc"] = {"Kucong"},<br />
["lkd"] = {"Lakondê"},<br />
["lke"] = {"Kenyi"},<br />
["lkh"] = {"Lakha"},<br />
["lki"] = {"Laki"},<br />
["lkj"] = {"Remun"},<br />
["lkl"] = {"Laeko-Libuat"},<br />
["lkm"] = {"Kalaamaya"},<br />
["lkn"] = {"Lakon", "Vure"},<br />
["lko"] = {"Khayo", "Olukhayo"},<br />
["lkr"] = {"Päri"},<br />
["lks"] = {"Kisa", "Olushisa"},<br />
["lkt"] = {"Lakota"},<br />
["lku"] = {"Kungkari"},<br />
["lky"] = {"Lokoya"},<br />
["lla"] = {"Lala-Roba"},<br />
["llb"] = {"Lolo"},<br />
["llc"] = {"Lele (Guinea)"},<br />
["lld"] = {"Ladin"},<br />
["lle"] = {"Lele (Papua New Guinea)"},<br />
["llf"] = {"Hermit"},<br />
["llg"] = {"Lole"},<br />
["llh"] = {"Lamu"},<br />
["lli"] = {"Teke-Laali"},<br />
["llj"] = {"Ladji Ladji"},<br />
["llk"] = {"Lelak"},<br />
["lll"] = {"Lilau"},<br />
["llm"] = {"Lasalimu"},<br />
["lln"] = {"Lele (Chad)"},<br />
["llp"] = {"North Efate"},<br />
["llq"] = {"Lolak"},<br />
["lls"] = {"Lithuanian Sign Language"},<br />
["llu"] = {"Lau"},<br />
["llx"] = {"Lauan"},<br />
["lma"] = {"East Limba"},<br />
["lmb"] = {"Merei"},<br />
["lmc"] = {"Limilngan"},<br />
["lmd"] = {"Lumun"},<br />
["lme"] = {"Pévé"},<br />
["lmf"] = {"South Lembata"},<br />
["lmg"] = {"Lamogai"},<br />
["lmh"] = {"Lambichhong"},<br />
["lmi"] = {"Lombi"},<br />
["lmj"] = {"West Lembata"},<br />
["lmk"] = {"Lamkang"},<br />
["lml"] = {"Hano"},<br />
["lmn"] = {"Lambadi"},<br />
["lmo"] = {"Lombard"},<br />
["lmp"] = {"Limbum"},<br />
["lmq"] = {"Lamatuka"},<br />
["lmr"] = {"Lamalera"},<br />
["lmu"] = {"Lamenu"},<br />
["lmv"] = {"Lomaiviti"},<br />
["lmw"] = {"Lake Miwok"},<br />
["lmx"] = {"Laimbue"},<br />
["lmy"] = {"Lamboya"},<br />
["lna"] = {"Langbashe"},<br />
["lnb"] = {"Mbalanhu"},<br />
["lnd"] = {"Lundayeh", "Lun Bawang"},<br />
["lng"] = {"Langobardic"},<br />
["lnh"] = {"Lanoh"},<br />
["lni"] = {"Daantanai'"},<br />
["lnj"] = {"Leningitij"},<br />
["lnl"] = {"South Central Banda"},<br />
["lnm"] = {"Langam"},<br />
["lnn"] = {"Lorediakarkar"},<br />
["lns"] = {"Lamnso'"},<br />
["lnu"] = {"Longuda"},<br />
["lnw"] = {"Lanima"},<br />
["lnz"] = {"Lonzo"},<br />
["loa"] = {"Loloda"},<br />
["lob"] = {"Lobi"},<br />
["loc"] = {"Inonhan"},<br />
["loe"] = {"Saluan"},<br />
["lof"] = {"Logol"},<br />
["log"] = {"Logo"},<br />
["loh"] = {"Narim"},<br />
["loi"] = {"Loma (Côte d'Ivoire)"},<br />
["loj"] = {"Lou"},<br />
["lok"] = {"Loko"},<br />
["lol"] = {"Mongo"},<br />
["lom"] = {"Loma (Liberia)"},<br />
["lon"] = {"Malawi Lomwe"},<br />
["loo"] = {"Lombo"},<br />
["lop"] = {"Lopa"},<br />
["loq"] = {"Lobala"},<br />
["lor"] = {"Téén"},<br />
["los"] = {"Loniu"},<br />
["lot"] = {"Otuho"},<br />
["lou"] = {"Louisiana Creole"},<br />
["lov"] = {"Lopi"},<br />
["low"] = {"Tampias Lobu"},<br />
["lox"] = {"Loun"},<br />
["loy"] = {"Loke"},<br />
["loz"] = {"Lozi"},<br />
["lpa"] = {"Lelepa"},<br />
["lpe"] = {"Lepki"},<br />
["lpn"] = {"Long Phuri Naga"},<br />
["lpo"] = {"Lipo"},<br />
["lpx"] = {"Lopit"},<br />
["lqr"] = {"Logir"},<br />
["lra"] = {"Rara Bakati'"},<br />
["lrc"] = {"Northern Luri"},<br />
["lre"] = {"Laurentian"},<br />
["lrg"] = {"Laragia"},<br />
["lri"] = {"Marachi", "Olumarachi"},<br />
["lrk"] = {"Loarki"},<br />
["lrl"] = {"Lari"},<br />
["lrm"] = {"Marama", "Olumarama"},<br />
["lrn"] = {"Lorang"},<br />
["lro"] = {"Laro"},<br />
["lrr"] = {"Southern Yamphu"},<br />
["lrt"] = {"Larantuka Malay"},<br />
["lrv"] = {"Larevat"},<br />
["lrz"] = {"Lemerig"},<br />
["lsa"] = {"Lasgerdi"},<br />
["lsb"] = {"Burundian Sign Language", "Langue des Signes Burundaise"},<br />
["lsc"] = {"Albarradas Sign Language", "Lengua de señas Albarradas"},<br />
["lsd"] = {"Lishana Deni"},<br />
["lse"] = {"Lusengo"},<br />
["lsh"] = {"Lish"},<br />
["lsi"] = {"Lashi"},<br />
["lsl"] = {"Latvian Sign Language"},<br />
["lsm"] = {"Saamia", "Olusamia"},<br />
["lsn"] = {"Tibetan Sign Language"},<br />
["lso"] = {"Laos Sign Language"},<br />
["lsp"] = {"Panamanian Sign Language", "Lengua de Señas Panameñas"},<br />
["lsr"] = {"Aruop"},<br />
["lss"] = {"Lasi"},<br />
["lst"] = {"Trinidad and Tobago Sign Language"},<br />
["lsv"] = {"Sivia Sign Language"},<br />
["lsw"] = {"Seychelles Sign Language", "Lalang Siny Seselwa", "Langue des Signes Seychelloise"},<br />
["lsy"] = {"Mauritian Sign Language"},<br />
["ltc"] = {"Late Middle Chinese"},<br />
["ltg"] = {"Latgalian"},<br />
["lth"] = {"Thur"},<br />
["lti"] = {"Leti (Indonesia)"},<br />
["ltn"] = {"Latundê"},<br />
["lto"] = {"Tsotso", "Olutsotso"},<br />
["lts"] = {"Tachoni", "Lutachoni"},<br />
["ltu"] = {"Latu"},<br />
["lua"] = {"Luba-Lulua"},<br />
["luc"] = {"Aringa"},<br />
["lud"] = {"Ludian"},<br />
["lue"] = {"Luvale"},<br />
["luf"] = {"Laua"},<br />
["lui"] = {"Luiseno"},<br />
["luj"] = {"Luna"},<br />
["luk"] = {"Lunanakha"},<br />
["lul"] = {"Olu'bo"},<br />
["lum"] = {"Luimbi"},<br />
["lun"] = {"Lunda"},<br />
["luo"] = {"Luo (Kenya and Tanzania)", "Dholuo"},<br />
["lup"] = {"Lumbu"},<br />
["luq"] = {"Lucumi"},<br />
["lur"] = {"Laura"},<br />
["lus"] = {"Lushai"},<br />
["lut"] = {"Lushootseed"},<br />
["luu"] = {"Lumba-Yakkha"},<br />
["luv"] = {"Luwati"},<br />
["luw"] = {"Luo (Cameroon)"},<br />
["luy"] = {"Luyia", "Oluluyia"},<br />
["luz"] = {"Southern Luri"},<br />
["lva"] = {"Maku'a"},<br />
["lvi"] = {"Lavi"},<br />
["lvk"] = {"Lavukaleve"},<br />
["lvs"] = {"Standard Latvian"},<br />
["lvu"] = {"Levuka"},<br />
["lwa"] = {"Lwalu"},<br />
["lwe"] = {"Lewo Eleng"},<br />
["lwg"] = {"Wanga", "Oluwanga"},<br />
["lwh"] = {"White Lachi"},<br />
["lwl"] = {"Eastern Lawa"},<br />
["lwm"] = {"Laomian"},<br />
["lwo"] = {"Luwo"},<br />
["lws"] = {"Malawian Sign Language"},<br />
["lwt"] = {"Lewotobi"},<br />
["lwu"] = {"Lawu"},<br />
["lww"] = {"Lewo"},<br />
["lxm"] = {"Lakurumau"},<br />
["lya"] = {"Layakha"},<br />
["lyg"] = {"Lyngngam"},<br />
["lyn"] = {"Luyana"},<br />
["lzh"] = {"Literary Chinese"},<br />
["lzl"] = {"Litzlitz"},<br />
["lzn"] = {"Leinong Naga"},<br />
["lzz"] = {"Laz"},<br />
["maa"] = {"San Jerónimo Tecóatl Mazatec"},<br />
["mab"] = {"Yutanduchi Mixtec"},<br />
["mad"] = {"Madurese"},<br />
["mae"] = {"Bo-Rukul"},<br />
["maf"] = {"Mafa"},<br />
["mag"] = {"Magahi"},<br />
["mai"] = {"Maithili"},<br />
["maj"] = {"Jalapa De Díaz Mazatec"},<br />
["mak"] = {"Makasar"},<br />
["mam"] = {"Mam"},<br />
["man"] = {"Mandingo", "Manding"},<br />
["map"] = {"Austronesian languages"},<br />
["maq"] = {"Chiquihuitlán Mazatec"},<br />
["mas"] = {"Masai"},<br />
["mat"] = {"San Francisco Matlatzinca"},<br />
["mau"] = {"Huautla Mazatec"},<br />
["mav"] = {"Sateré-Mawé"},<br />
["maw"] = {"Mampruli"},<br />
["max"] = {"North Moluccan Malay"},<br />
["maz"] = {"Central Mazahua"},<br />
["mba"] = {"Higaonon"},<br />
["mbb"] = {"Western Bukidnon Manobo"},<br />
["mbc"] = {"Macushi"},<br />
["mbd"] = {"Dibabawon Manobo"},<br />
["mbe"] = {"Molale"},<br />
["mbf"] = {"Baba Malay"},<br />
["mbh"] = {"Mangseng"},<br />
["mbi"] = {"Ilianen Manobo"},<br />
["mbj"] = {"Nadëb"},<br />
["mbk"] = {"Malol"},<br />
["mbl"] = {"Maxakalí"},<br />
["mbm"] = {"Ombamba"},<br />
["mbn"] = {"Macaguán"},<br />
["mbo"] = {"Mbo (Cameroon)"},<br />
["mbp"] = {"Malayo"},<br />
["mbq"] = {"Maisin"},<br />
["mbr"] = {"Nukak Makú"},<br />
["mbs"] = {"Sarangani Manobo"},<br />
["mbt"] = {"Matigsalug Manobo"},<br />
["mbu"] = {"Mbula-Bwazza"},<br />
["mbv"] = {"Mbulungish"},<br />
["mbw"] = {"Maring"},<br />
["mbx"] = {"Mari (East Sepik Province)"},<br />
["mby"] = {"Memoni"},<br />
["mbz"] = {"Amoltepec Mixtec"},<br />
["mca"] = {"Maca"},<br />
["mcb"] = {"Machiguenga"},<br />
["mcc"] = {"Bitur"},<br />
["mcd"] = {"Sharanahua"},<br />
["mce"] = {"Itundujia Mixtec"},<br />
["mcf"] = {"Matsés"},<br />
["mcg"] = {"Mapoyo"},<br />
["mch"] = {"Maquiritari"},<br />
["mci"] = {"Mese"},<br />
["mcj"] = {"Mvanip"},<br />
["mck"] = {"Mbunda"},<br />
["mcl"] = {"Macaguaje"},<br />
["mcm"] = {"Malaccan Creole Portuguese"},<br />
["mcn"] = {"Masana"},<br />
["mco"] = {"Coatlán Mixe"},<br />
["mcp"] = {"Makaa"},<br />
["mcq"] = {"Ese"},<br />
["mcr"] = {"Menya"},<br />
["mcs"] = {"Mambai"},<br />
["mct"] = {"Mengisa"},<br />
["mcu"] = {"Cameroon Mambila"},<br />
["mcv"] = {"Minanibai"},<br />
["mcw"] = {"Mawa (Chad)"},<br />
["mcx"] = {"Mpiemo"},<br />
["mcy"] = {"South Watut"},<br />
["mcz"] = {"Mawan"},<br />
["mda"] = {"Mada (Nigeria)"},<br />
["mdb"] = {"Morigi"},<br />
["mdc"] = {"Male (Papua New Guinea)"},<br />
["mdd"] = {"Mbum"},<br />
["mde"] = {"Maba (Chad)"},<br />
["mdf"] = {"Moksha"},<br />
["mdg"] = {"Massalat"},<br />
["mdh"] = {"Maguindanaon"},<br />
["mdi"] = {"Mamvu"},<br />
["mdj"] = {"Mangbetu"},<br />
["mdk"] = {"Mangbutu"},<br />
["mdl"] = {"Maltese Sign Language"},<br />
["mdm"] = {"Mayogo"},<br />
["mdn"] = {"Mbati"},<br />
["mdp"] = {"Mbala"},<br />
["mdq"] = {"Mbole"},<br />
["mdr"] = {"Mandar"},<br />
["mds"] = {"Maria (Papua New Guinea)"},<br />
["mdt"] = {"Mbere"},<br />
["mdu"] = {"Mboko"},<br />
["mdv"] = {"Santa Lucía Monteverde Mixtec"},<br />
["mdw"] = {"Mbosi"},<br />
["mdx"] = {"Dizin"},<br />
["mdy"] = {"Male (Ethiopia)"},<br />
["mdz"] = {"Suruí Do Pará"},<br />
["mea"] = {"Menka"},<br />
["meb"] = {"Ikobi"},<br />
["mec"] = {"Marra"},<br />
["med"] = {"Melpa"},<br />
["mee"] = {"Mengen"},<br />
["mef"] = {"Megam"},<br />
["meh"] = {"Southwestern Tlaxiaco Mixtec"},<br />
["mei"] = {"Midob"},<br />
["mej"] = {"Meyah"},<br />
["mek"] = {"Mekeo"},<br />
["mel"] = {"Central Melanau"},<br />
["mem"] = {"Mangala"},<br />
["men"] = {"Mende (Sierra Leone)"},<br />
["meo"] = {"Kedah Malay"},<br />
["mep"] = {"Miriwoong"},<br />
["meq"] = {"Merey"},<br />
["mer"] = {"Meru"},<br />
["mes"] = {"Masmaje"},<br />
["met"] = {"Mato"},<br />
["meu"] = {"Motu"},<br />
["mev"] = {"Mano"},<br />
["mew"] = {"Maaka"},<br />
["mey"] = {"Hassaniyya"},<br />
["mez"] = {"Menominee"},<br />
["mfa"] = {"Pattani Malay"},<br />
["mfb"] = {"Bangka"},<br />
["mfc"] = {"Mba"},<br />
["mfd"] = {"Mendankwe-Nkwen"},<br />
["mfe"] = {"Morisyen"},<br />
["mff"] = {"Naki"},<br />
["mfg"] = {"Mogofin"},<br />
["mfh"] = {"Matal"},<br />
["mfi"] = {"Wandala"},<br />
["mfj"] = {"Mefele"},<br />
["mfk"] = {"North Mofu"},<br />
["mfl"] = {"Putai"},<br />
["mfm"] = {"Marghi South"},<br />
["mfn"] = {"Cross River Mbembe"},<br />
["mfo"] = {"Mbe"},<br />
["mfp"] = {"Makassar Malay"},<br />
["mfq"] = {"Moba"},<br />
["mfr"] = {"Marrithiyel"},<br />
["mfs"] = {"Mexican Sign Language"},<br />
["mft"] = {"Mokerang"},<br />
["mfu"] = {"Mbwela"},<br />
["mfv"] = {"Mandjak"},<br />
["mfw"] = {"Mulaha"},<br />
["mfx"] = {"Melo"},<br />
["mfy"] = {"Mayo"},<br />
["mfz"] = {"Mabaan"},<br />
["mga"] = {"Middle Irish (900-1200)"},<br />
["mgb"] = {"Mararit"},<br />
["mgc"] = {"Morokodo"},<br />
["mgd"] = {"Moru"},<br />
["mge"] = {"Mango"},<br />
["mgf"] = {"Maklew"},<br />
["mgg"] = {"Mpumpong"},<br />
["mgh"] = {"Makhuwa-Meetto"},<br />
["mgi"] = {"Lijili"},<br />
["mgj"] = {"Abureni"},<br />
["mgk"] = {"Mawes"},<br />
["mgl"] = {"Maleu-Kilenge"},<br />
["mgm"] = {"Mambae"},<br />
["mgn"] = {"Mbangi"},<br />
["mgo"] = {"Meta'"},<br />
["mgp"] = {"Eastern Magar"},<br />
["mgq"] = {"Malila"},<br />
["mgr"] = {"Mambwe-Lungu"},<br />
["mgs"] = {"Manda (Tanzania)"},<br />
["mgt"] = {"Mongol"},<br />
["mgu"] = {"Mailu"},<br />
["mgv"] = {"Matengo"},<br />
["mgw"] = {"Matumbi"},<br />
["mgy"] = {"Mbunga"},<br />
["mgz"] = {"Mbugwe"},<br />
["mha"] = {"Manda (India)"},<br />
["mhb"] = {"Mahongwe"},<br />
["mhc"] = {"Mocho"},<br />
["mhd"] = {"Mbugu"},<br />
["mhe"] = {"Besisi", "Mah Meri"},<br />
["mhf"] = {"Mamaa"},<br />
["mhg"] = {"Margu"},<br />
["mhi"] = {"Ma'di"},<br />
["mhj"] = {"Mogholi"},<br />
["mhk"] = {"Mungaka"},<br />
["mhl"] = {"Mauwake"},<br />
["mhm"] = {"Makhuwa-Moniga"},<br />
["mhn"] = {"Mócheno"},<br />
["mho"] = {"Mashi (Zambia)"},<br />
["mhp"] = {"Balinese Malay"},<br />
["mhq"] = {"Mandan"},<br />
["mhr"] = {"Eastern Mari"},<br />
["mhs"] = {"Buru (Indonesia)"},<br />
["mht"] = {"Mandahuaca"},<br />
["mhu"] = {"Digaro-Mishmi", "Darang Deng"},<br />
["mhw"] = {"Mbukushu"},<br />
["mhx"] = {"Maru", "Lhaovo"},<br />
["mhy"] = {"Ma'anyan"},<br />
["mhz"] = {"Mor (Mor Islands)"},<br />
["mia"] = {"Miami"},<br />
["mib"] = {"Atatláhuca Mixtec"},<br />
["mic"] = {"Mi'kmaq", "Micmac"},<br />
["mid"] = {"Mandaic"},<br />
["mie"] = {"Ocotepec Mixtec"},<br />
["mif"] = {"Mofu-Gudur"},<br />
["mig"] = {"San Miguel El Grande Mixtec"},<br />
["mih"] = {"Chayuco Mixtec"},<br />
["mii"] = {"Chigmecatitlán Mixtec"},<br />
["mij"] = {"Abar", "Mungbam"},<br />
["mik"] = {"Mikasuki"},<br />
["mil"] = {"Peñoles Mixtec"},<br />
["mim"] = {"Alacatlatzala Mixtec"},<br />
["min"] = {"Minangkabau"},<br />
["mio"] = {"Pinotepa Nacional Mixtec"},<br />
["mip"] = {"Apasco-Apoala Mixtec"},<br />
["miq"] = {"Mískito"},<br />
["mir"] = {"Isthmus Mixe"},<br />
["mis"] = {"Uncoded languages"},<br />
["mit"] = {"Southern Puebla Mixtec"},<br />
["miu"] = {"Cacaloxtepec Mixtec"},<br />
["miw"] = {"Akoye"},<br />
["mix"] = {"Mixtepec Mixtec"},<br />
["miy"] = {"Ayutla Mixtec"},<br />
["miz"] = {"Coatzospan Mixtec"},<br />
["mjb"] = {"Makalero"},<br />
["mjc"] = {"San Juan Colorado Mixtec"},<br />
["mjd"] = {"Northwest Maidu"},<br />
["mje"] = {"Muskum"},<br />
["mjg"] = {"Tu"},<br />
["mjh"] = {"Mwera (Nyasa)"},<br />
["mji"] = {"Kim Mun"},<br />
["mjj"] = {"Mawak"},<br />
["mjk"] = {"Matukar"},<br />
["mjl"] = {"Mandeali"},<br />
["mjm"] = {"Medebur"},<br />
["mjn"] = {"Ma (Papua New Guinea)"},<br />
["mjo"] = {"Malankuravan"},<br />
["mjp"] = {"Malapandaram"},<br />
["mjq"] = {"Malaryan"},<br />
["mjr"] = {"Malavedan"},<br />
["mjs"] = {"Miship"},<br />
["mjt"] = {"Sauria Paharia"},<br />
["mju"] = {"Manna-Dora"},<br />
["mjv"] = {"Mannan"},<br />
["mjw"] = {"Karbi"},<br />
["mjx"] = {"Mahali"},<br />
["mjy"] = {"Mahican"},<br />
["mjz"] = {"Majhi"},<br />
["mka"] = {"Mbre"},<br />
["mkb"] = {"Mal Paharia"},<br />
["mkc"] = {"Siliput"},<br />
["mke"] = {"Mawchi"},<br />
["mkf"] = {"Miya"},<br />
["mkg"] = {"Mak (China)"},<br />
["mkh"] = {"Mon-Khmer languages"},<br />
["mki"] = {"Dhatki"},<br />
["mkj"] = {"Mokilese"},<br />
["mkk"] = {"Byep"},<br />
["mkl"] = {"Mokole"},<br />
["mkm"] = {"Moklen"},<br />
["mkn"] = {"Kupang Malay"},<br />
["mko"] = {"Mingang Doso"},<br />
["mkp"] = {"Moikodi"},<br />
["mkq"] = {"Bay Miwok"},<br />
["mkr"] = {"Malas"},<br />
["mks"] = {"Silacayoapan Mixtec"},<br />
["mkt"] = {"Vamale"},<br />
["mku"] = {"Konyanka Maninka"},<br />
["mkv"] = {"Mafea"},<br />
["mkw"] = {"Kituba (Congo)"},<br />
["mkx"] = {"Kinamiging Manobo"},<br />
["mky"] = {"East Makian"},<br />
["mkz"] = {"Makasae"},<br />
["mla"] = {"Malo"},<br />
["mlb"] = {"Mbule"},<br />
["mlc"] = {"Cao Lan"},<br />
["mle"] = {"Manambu"},<br />
["mlf"] = {"Mal"},<br />
["mlh"] = {"Mape"},<br />
["mli"] = {"Malimpung"},<br />
["mlj"] = {"Miltu"},<br />
["mlk"] = {"Ilwana", "Kiwilwana"},<br />
["mll"] = {"Malua Bay"},<br />
["mlm"] = {"Mulam"},<br />
["mln"] = {"Malango"},<br />
["mlo"] = {"Mlomp"},<br />
["mlp"] = {"Bargam"},<br />
["mlq"] = {"Western Maninkakan"},<br />
["mlr"] = {"Vame"},<br />
["mls"] = {"Masalit"},<br />
["mlu"] = {"To'abaita"},<br />
["mlv"] = {"Motlav", "Mwotlap"},<br />
["mlw"] = {"Moloko"},<br />
["mlx"] = {"Malfaxal", "Naha'ai"},<br />
["mlz"] = {"Malaynon"},<br />
["mma"] = {"Mama"},<br />
["mmb"] = {"Momina"},<br />
["mmc"] = {"Michoacán Mazahua"},<br />
["mmd"] = {"Maonan"},<br />
["mme"] = {"Mae"},<br />
["mmf"] = {"Mundat"},<br />
["mmg"] = {"North Ambrym"},<br />
["mmh"] = {"Mehináku"},<br />
["mmi"] = {"Musar"},<br />
["mmj"] = {"Majhwar"},<br />
["mmk"] = {"Mukha-Dora"},<br />
["mml"] = {"Man Met"},<br />
["mmm"] = {"Maii"},<br />
["mmn"] = {"Mamanwa"},<br />
["mmo"] = {"Mangga Buang"},<br />
["mmp"] = {"Siawi"},<br />
["mmq"] = {"Musak"},<br />
["mmr"] = {"Western Xiangxi Miao"},<br />
["mmt"] = {"Malalamai"},<br />
["mmu"] = {"Mmaala"},<br />
["mmv"] = {"Miriti"},<br />
["mmw"] = {"Emae"},<br />
["mmx"] = {"Madak"},<br />
["mmy"] = {"Migaama"},<br />
["mmz"] = {"Mabaale"},<br />
["mna"] = {"Mbula"},<br />
["mnb"] = {"Muna"},<br />
["mnc"] = {"Manchu"},<br />
["mnd"] = {"Mondé"},<br />
["mne"] = {"Naba"},<br />
["mnf"] = {"Mundani"},<br />
["mng"] = {"Eastern Mnong"},<br />
["mnh"] = {"Mono (Democratic Republic of Congo)"},<br />
["mni"] = {"Manipuri"},<br />
["mnj"] = {"Munji"},<br />
["mnk"] = {"Mandinka"},<br />
["mnl"] = {"Tiale"},<br />
["mnm"] = {"Mapena"},<br />
["mnn"] = {"Southern Mnong"},<br />
["mno"] = {"Manobo languages"},<br />
["mnp"] = {"Min Bei Chinese"},<br />
["mnq"] = {"Minriq"},<br />
["mnr"] = {"Mono (USA)"},<br />
["mns"] = {"Mansi"},<br />
["mnu"] = {"Mer"},<br />
["mnv"] = {"Rennell-Bellona"},<br />
["mnw"] = {"Mon"},<br />
["mnx"] = {"Manikion"},<br />
["mny"] = {"Manyawa"},<br />
["mnz"] = {"Moni"},<br />
["moa"] = {"Mwan"},<br />
["moc"] = {"Mocoví"},<br />
["mod"] = {"Mobilian"},<br />
["moe"] = {"Innu", "Montagnais"},<br />
["mog"] = {"Mongondow"},<br />
["moh"] = {"Mohawk"},<br />
["moi"] = {"Mboi"},<br />
["moj"] = {"Monzombo"},<br />
["mok"] = {"Morori"},<br />
["mom"] = {"Mangue"},<br />
["moo"] = {"Monom"},<br />
["mop"] = {"Mopán Maya"},<br />
["moq"] = {"Mor (Bomberai Peninsula)"},<br />
["mor"] = {"Moro"},<br />
["mos"] = {"Mossi"},<br />
["mot"] = {"Barí"},<br />
["mou"] = {"Mogum"},<br />
["mov"] = {"Mohave"},<br />
["mow"] = {"Moi (Congo)"},<br />
["mox"] = {"Molima"},<br />
["moy"] = {"Shekkacho"},<br />
["moz"] = {"Mukulu", "Gergiko"},<br />
["mpa"] = {"Mpoto"},<br />
["mpb"] = {"Malak Malak", "Mullukmulluk"},<br />
["mpc"] = {"Mangarrayi"},<br />
["mpd"] = {"Machinere"},<br />
["mpe"] = {"Majang"},<br />
["mpg"] = {"Marba"},<br />
["mph"] = {"Maung"},<br />
["mpi"] = {"Mpade"},<br />
["mpj"] = {"Martu Wangka", "Wangkajunga"},<br />
["mpk"] = {"Mbara (Chad)"},<br />
["mpl"] = {"Middle Watut"},<br />
["mpm"] = {"Yosondúa Mixtec"},<br />
["mpn"] = {"Mindiri"},<br />
["mpo"] = {"Miu"},<br />
["mpp"] = {"Migabac"},<br />
["mpq"] = {"Matís"},<br />
["mpr"] = {"Vangunu"},<br />
["mps"] = {"Dadibi"},<br />
["mpt"] = {"Mian"},<br />
["mpu"] = {"Makuráp"},<br />
["mpv"] = {"Mungkip"},<br />
["mpw"] = {"Mapidian"},<br />
["mpx"] = {"Misima-Panaeati"},<br />
["mpy"] = {"Mapia"},<br />
["mpz"] = {"Mpi"},<br />
["mqa"] = {"Maba (Indonesia)"},<br />
["mqb"] = {"Mbuko"},<br />
["mqc"] = {"Mangole"},<br />
["mqe"] = {"Matepi"},<br />
["mqf"] = {"Momuna"},<br />
["mqg"] = {"Kota Bangun Kutai Malay"},<br />
["mqh"] = {"Tlazoyaltepec Mixtec"},<br />
["mqi"] = {"Mariri"},<br />
["mqj"] = {"Mamasa"},<br />
["mqk"] = {"Rajah Kabunsuwan Manobo"},<br />
["mql"] = {"Mbelime"},<br />
["mqm"] = {"South Marquesan"},<br />
["mqn"] = {"Moronene"},<br />
["mqo"] = {"Modole"},<br />
["mqp"] = {"Manipa"},<br />
["mqq"] = {"Minokok"},<br />
["mqr"] = {"Mander"},<br />
["mqs"] = {"West Makian"},<br />
["mqt"] = {"Mok"},<br />
["mqu"] = {"Mandari"},<br />
["mqv"] = {"Mosimo"},<br />
["mqw"] = {"Murupi"},<br />
["mqx"] = {"Mamuju"},<br />
["mqy"] = {"Manggarai"},<br />
["mqz"] = {"Pano"},<br />
["mra"] = {"Mlabri"},<br />
["mrb"] = {"Marino"},<br />
["mrc"] = {"Maricopa"},<br />
["mrd"] = {"Western Magar"},<br />
["mre"] = {"Martha's Vineyard Sign Language"},<br />
["mrf"] = {"Elseng"},<br />
["mrg"] = {"Mising"},<br />
["mrh"] = {"Mara Chin"},<br />
["mrj"] = {"Western Mari"},<br />
["mrk"] = {"Hmwaveke"},<br />
["mrl"] = {"Mortlockese"},<br />
["mrm"] = {"Merlav", "Mwerlap"},<br />
["mrn"] = {"Cheke Holo"},<br />
["mro"] = {"Mru"},<br />
["mrp"] = {"Morouas"},<br />
["mrq"] = {"North Marquesan"},<br />
["mrr"] = {"Maria (India)"},<br />
["mrs"] = {"Maragus"},<br />
["mrt"] = {"Marghi Central"},<br />
["mru"] = {"Mono (Cameroon)"},<br />
["mrv"] = {"Mangareva"},<br />
["mrw"] = {"Maranao"},<br />
["mrx"] = {"Maremgi", "Dineor"},<br />
["mry"] = {"Mandaya"},<br />
["mrz"] = {"Marind"},<br />
["msb"] = {"Masbatenyo"},<br />
["msc"] = {"Sankaran Maninka"},<br />
["msd"] = {"Yucatec Maya Sign Language"},<br />
["mse"] = {"Musey"},<br />
["msf"] = {"Mekwei"},<br />
["msg"] = {"Moraid"},<br />
["msh"] = {"Masikoro Malagasy"},<br />
["msi"] = {"Sabah Malay"},<br />
["msj"] = {"Ma (Democratic Republic of Congo)"},<br />
["msk"] = {"Mansaka"},<br />
["msl"] = {"Molof", "Poule"},<br />
["msm"] = {"Agusan Manobo"},<br />
["msn"] = {"Vurës"},<br />
["mso"] = {"Mombum"},<br />
["msp"] = {"Maritsauá"},<br />
["msq"] = {"Caac"},<br />
["msr"] = {"Mongolian Sign Language"},<br />
["mss"] = {"West Masela"},<br />
["msu"] = {"Musom"},<br />
["msv"] = {"Maslam"},<br />
["msw"] = {"Mansoanka"},<br />
["msx"] = {"Moresada"},<br />
["msy"] = {"Aruamu"},<br />
["msz"] = {"Momare"},<br />
["mta"] = {"Cotabato Manobo"},<br />
["mtb"] = {"Anyin Morofo"},<br />
["mtc"] = {"Munit"},<br />
["mtd"] = {"Mualang"},<br />
["mte"] = {"Mono (Solomon Islands)"},<br />
["mtf"] = {"Murik (Papua New Guinea)"},<br />
["mtg"] = {"Una"},<br />
["mth"] = {"Munggui"},<br />
["mti"] = {"Maiwa (Papua New Guinea)"},<br />
["mtj"] = {"Moskona"},<br />
["mtk"] = {"Mbe'"},<br />
["mtl"] = {"Montol"},<br />
["mtm"] = {"Mator"},<br />
["mtn"] = {"Matagalpa"},<br />
["mto"] = {"Totontepec Mixe"},<br />
["mtp"] = {"Wichí Lhamtés Nocten"},<br />
["mtq"] = {"Muong"},<br />
["mtr"] = {"Mewari"},<br />
["mts"] = {"Yora"},<br />
["mtt"] = {"Mota"},<br />
["mtu"] = {"Tututepec Mixtec"},<br />
["mtv"] = {"Asaro'o"},<br />
["mtw"] = {"Southern Binukidnon"},<br />
["mtx"] = {"Tidaá Mixtec"},<br />
["mty"] = {"Nabi"},<br />
["mua"] = {"Mundang"},<br />
["mub"] = {"Mubi"},<br />
["muc"] = {"Ajumbu"},<br />
["mud"] = {"Mednyj Aleut"},<br />
["mue"] = {"Media Lengua"},<br />
["mug"] = {"Musgu"},<br />
["muh"] = {"Mündü"},<br />
["mui"] = {"Musi"},<br />
["muj"] = {"Mabire"},<br />
["muk"] = {"Mugom"},<br />
["mul"] = {"Multiple languages"},<br />
["mum"] = {"Maiwala"},<br />
["mun"] = {"Munda languages"},<br />
["muo"] = {"Nyong"},<br />
["mup"] = {"Malvi"},<br />
["muq"] = {"Eastern Xiangxi Miao"},<br />
["mur"] = {"Murle"},<br />
["mus"] = {"Creek"},<br />
["mut"] = {"Western Muria"},<br />
["muu"] = {"Yaaku"},<br />
["muv"] = {"Muthuvan"},<br />
["mux"] = {"Bo-Ung"},<br />
["muy"] = {"Muyang"},<br />
["muz"] = {"Mursi"},<br />
["mva"] = {"Manam"},<br />
["mvb"] = {"Mattole"},<br />
["mvd"] = {"Mamboru"},<br />
["mve"] = {"Marwari (Pakistan)"},<br />
["mvf"] = {"Peripheral Mongolian"},<br />
["mvg"] = {"Yucuañe Mixtec"},<br />
["mvh"] = {"Mulgi"},<br />
["mvi"] = {"Miyako"},<br />
["mvk"] = {"Mekmek"},<br />
["mvl"] = {"Mbara (Australia)"},<br />
["mvn"] = {"Minaveha"},<br />
["mvo"] = {"Marovo"},<br />
["mvp"] = {"Duri"},<br />
["mvq"] = {"Moere"},<br />
["mvr"] = {"Marau"},<br />
["mvs"] = {"Massep"},<br />
["mvt"] = {"Mpotovoro"},<br />
["mvu"] = {"Marfa"},<br />
["mvv"] = {"Tagal Murut"},<br />
["mvw"] = {"Machinga"},<br />
["mvx"] = {"Meoswar"},<br />
["mvy"] = {"Indus Kohistani"},<br />
["mvz"] = {"Mesqan"},<br />
["mwa"] = {"Mwatebu"},<br />
["mwb"] = {"Juwal"},<br />
["mwc"] = {"Are"},<br />
["mwe"] = {"Mwera (Chimwera)"},<br />
["mwf"] = {"Murrinh-Patha"},<br />
["mwg"] = {"Aiklep"},<br />
["mwh"] = {"Mouk-Aria"},<br />
["mwi"] = {"Labo", "Ninde"},<br />
["mwk"] = {"Kita Maninkakan"},<br />
["mwl"] = {"Mirandese"},<br />
["mwm"] = {"Sar"},<br />
["mwn"] = {"Nyamwanga"},<br />
["mwo"] = {"Central Maewo"},<br />
["mwp"] = {"Kala Lagaw Ya"},<br />
["mwq"] = {"Mün Chin"},<br />
["mwr"] = {"Marwari"},<br />
["mws"] = {"Mwimbi-Muthambi"},<br />
["mwt"] = {"Moken"},<br />
["mwu"] = {"Mittu"},<br />
["mwv"] = {"Mentawai"},<br />
["mww"] = {"Hmong Daw"},<br />
["mwz"] = {"Moingi"},<br />
["mxa"] = {"Northwest Oaxaca Mixtec"},<br />
["mxb"] = {"Tezoatlán Mixtec"},<br />
["mxc"] = {"Manyika"},<br />
["mxd"] = {"Modang"},<br />
["mxe"] = {"Mele-Fila"},<br />
["mxf"] = {"Malgbe"},<br />
["mxg"] = {"Mbangala"},<br />
["mxh"] = {"Mvuba"},<br />
["mxi"] = {"Mozarabic"},<br />
["mxj"] = {"Miju-Mishmi", "Geman Deng"},<br />
["mxk"] = {"Monumbo"},<br />
["mxl"] = {"Maxi Gbe"},<br />
["mxm"] = {"Meramera"},<br />
["mxn"] = {"Moi (Indonesia)"},<br />
["mxo"] = {"Mbowe"},<br />
["mxp"] = {"Tlahuitoltepec Mixe"},<br />
["mxq"] = {"Juquila Mixe"},<br />
["mxr"] = {"Murik (Malaysia)"},<br />
["mxs"] = {"Huitepec Mixtec"},<br />
["mxt"] = {"Jamiltepec Mixtec"},<br />
["mxu"] = {"Mada (Cameroon)"},<br />
["mxv"] = {"Metlatónoc Mixtec"},<br />
["mxw"] = {"Namo"},<br />
["mxx"] = {"Mahou", "Mawukakan"},<br />
["mxy"] = {"Southeastern Nochixtlán Mixtec"},<br />
["mxz"] = {"Central Masela"},<br />
["myb"] = {"Mbay"},<br />
["myc"] = {"Mayeka"},<br />
["mye"] = {"Myene"},<br />
["myf"] = {"Bambassi"},<br />
["myg"] = {"Manta"},<br />
["myh"] = {"Makah"},<br />
["myj"] = {"Mangayat"},<br />
["myk"] = {"Mamara Senoufo"},<br />
["myl"] = {"Moma"},<br />
["mym"] = {"Me'en"},<br />
["myn"] = {"Mayan languages"},<br />
["myo"] = {"Anfillo"},<br />
["myp"] = {"Pirahã"},<br />
["myr"] = {"Muniche"},<br />
["mys"] = {"Mesmes"},<br />
["myu"] = {"Mundurukú"},<br />
["myv"] = {"Erzya"},<br />
["myw"] = {"Muyuw"},<br />
["myx"] = {"Masaaba"},<br />
["myy"] = {"Macuna"},<br />
["myz"] = {"Classical Mandaic"},<br />
["mza"] = {"Santa María Zacatepec Mixtec"},<br />
["mzb"] = {"Tumzabt"},<br />
["mzc"] = {"Madagascar Sign Language"},<br />
["mzd"] = {"Malimba"},<br />
["mze"] = {"Morawa"},<br />
["mzg"] = {"Monastic Sign Language"},<br />
["mzh"] = {"Wichí Lhamtés Güisnay"},<br />
["mzi"] = {"Ixcatlán Mazatec"},<br />
["mzj"] = {"Manya"},<br />
["mzk"] = {"Nigeria Mambila"},<br />
["mzl"] = {"Mazatlán Mixe"},<br />
["mzm"] = {"Mumuye"},<br />
["mzn"] = {"Mazanderani"},<br />
["mzo"] = {"Matipuhy"},<br />
["mzp"] = {"Movima"},<br />
["mzq"] = {"Mori Atas"},<br />
["mzr"] = {"Marúbo"},<br />
["mzs"] = {"Macanese"},<br />
["mzt"] = {"Mintil"},<br />
["mzu"] = {"Inapang"},<br />
["mzv"] = {"Manza"},<br />
["mzw"] = {"Deg"},<br />
["mzx"] = {"Mawayana"},<br />
["mzy"] = {"Mozambican Sign Language"},<br />
["mzz"] = {"Maiadomu"},<br />
["naa"] = {"Namla"},<br />
["nab"] = {"Southern Nambikuára"},<br />
["nac"] = {"Narak"},<br />
["nae"] = {"Naka'ela"},<br />
["naf"] = {"Nabak"},<br />
["nag"] = {"Naga Pidgin"},<br />
["nah"] = {"Nahuatl languages"},<br />
["nai"] = {"North American Indian languages"},<br />
["naj"] = {"Nalu"},<br />
["nak"] = {"Nakanai"},<br />
["nal"] = {"Nalik"},<br />
["nam"] = {"Ngan'gityemerri"},<br />
["nan"] = {"Min Nan Chinese"},<br />
["nao"] = {"Naaba"},<br />
["nap"] = {"Neapolitan"},<br />
["naq"] = {"Khoekhoe", "Nama (Namibia)"},<br />
["nar"] = {"Iguta"},<br />
["nas"] = {"Naasioi"},<br />
["nat"] = {"Ca̱hungwa̱rya̱", "Hungworo"},<br />
["naw"] = {"Nawuri"},<br />
["nax"] = {"Nakwi"},<br />
["nay"] = {"Ngarrindjeri"},<br />
["naz"] = {"Coatepec Nahuatl"},<br />
["nba"] = {"Nyemba"},<br />
["nbb"] = {"Ndoe"},<br />
["nbc"] = {"Chang Naga"},<br />
["nbd"] = {"Ngbinda"},<br />
["nbe"] = {"Konyak Naga"},<br />
["nbg"] = {"Nagarchal"},<br />
["nbh"] = {"Ngamo"},<br />
["nbi"] = {"Mao Naga"},<br />
["nbj"] = {"Ngarinyman"},<br />
["nbk"] = {"Nake"},<br />
["nbm"] = {"Ngbaka Ma'bo"},<br />
["nbn"] = {"Kuri"},<br />
["nbo"] = {"Nkukoli"},<br />
["nbp"] = {"Nnam"},<br />
["nbq"] = {"Nggem"},<br />
["nbr"] = {"Numana"},<br />
["nbs"] = {"Namibian Sign Language"},<br />
["nbt"] = {"Na"},<br />
["nbu"] = {"Rongmei Naga"},<br />
["nbv"] = {"Ngamambo"},<br />
["nbw"] = {"Southern Ngbandi"},<br />
["nby"] = {"Ningera"},<br />
["nca"] = {"Iyo"},<br />
["ncb"] = {"Central Nicobarese"},<br />
["ncc"] = {"Ponam"},<br />
["ncd"] = {"Nachering"},<br />
["nce"] = {"Yale"},<br />
["ncf"] = {"Notsi"},<br />
["ncg"] = {"Nisga'a"},<br />
["nch"] = {"Central Huasteca Nahuatl"},<br />
["nci"] = {"Classical Nahuatl"},<br />
["ncj"] = {"Northern Puebla Nahuatl"},<br />
["nck"] = {"Na-kara"},<br />
["ncl"] = {"Michoacán Nahuatl"},<br />
["ncm"] = {"Nambo"},<br />
["ncn"] = {"Nauna"},<br />
["nco"] = {"Sibe"},<br />
["ncq"] = {"Northern Katang"},<br />
["ncr"] = {"Ncane"},<br />
["ncs"] = {"Nicaraguan Sign Language"},<br />
["nct"] = {"Chothe Naga"},<br />
["ncu"] = {"Chumburung"},<br />
["ncx"] = {"Central Puebla Nahuatl"},<br />
["ncz"] = {"Natchez"},<br />
["nda"] = {"Ndasa"},<br />
["ndb"] = {"Kenswei Nsei"},<br />
["ndc"] = {"Ndau"},<br />
["ndd"] = {"Nde-Nsele-Nta"},<br />
["ndf"] = {"Nadruvian"},<br />
["ndg"] = {"Ndengereko"},<br />
["ndh"] = {"Ndali"},<br />
["ndi"] = {"Samba Leko"},<br />
["ndj"] = {"Ndamba"},<br />
["ndk"] = {"Ndaka"},<br />
["ndl"] = {"Ndolo"},<br />
["ndm"] = {"Ndam"},<br />
["ndn"] = {"Ngundi"},<br />
["ndp"] = {"Ndo"},<br />
["ndq"] = {"Ndombe"},<br />
["ndr"] = {"Ndoola"},<br />
["nds"] = {"Low German", "Low Saxon"},<br />
["ndt"] = {"Ndunga"},<br />
["ndu"] = {"Dugun"},<br />
["ndv"] = {"Ndut"},<br />
["ndw"] = {"Ndobo"},<br />
["ndx"] = {"Nduga"},<br />
["ndy"] = {"Lutos"},<br />
["ndz"] = {"Ndogo"},<br />
["nea"] = {"Eastern Ngad'a"},<br />
["neb"] = {"Toura (Côte d'Ivoire)"},<br />
["nec"] = {"Nedebang"},<br />
["ned"] = {"Nde-Gbite"},<br />
["nee"] = {"Nêlêmwa-Nixumwak"},<br />
["nef"] = {"Nefamese"},<br />
["neg"] = {"Negidal"},<br />
["neh"] = {"Nyenkha"},<br />
["nei"] = {"Neo-Hittite"},<br />
["nej"] = {"Neko"},<br />
["nek"] = {"Neku"},<br />
["nem"] = {"Nemi"},<br />
["nen"] = {"Nengone"},<br />
["neo"] = {"Ná-Meo"},<br />
["neq"] = {"North Central Mixe"},<br />
["ner"] = {"Yahadian"},<br />
["nes"] = {"Bhoti Kinnauri"},<br />
["net"] = {"Nete"},<br />
["neu"] = {"Neo"},<br />
["nev"] = {"Nyaheun"},<br />
["new"] = {"Newari", "Nepal Bhasa"},<br />
["nex"] = {"Neme"},<br />
["ney"] = {"Neyo"},<br />
["nez"] = {"Nez Perce"},<br />
["nfa"] = {"Dhao"},<br />
["nfd"] = {"Ahwai"},<br />
["nfl"] = {"Ayiwo", "Äiwoo"},<br />
["nfr"] = {"Nafaanra"},<br />
["nfu"] = {"Mfumte"},<br />
["nga"] = {"Ngbaka"},<br />
["ngb"] = {"Northern Ngbandi"},<br />
["ngc"] = {"Ngombe (Democratic Republic of Congo)"},<br />
["ngd"] = {"Ngando (Central African Republic)"},<br />
["nge"] = {"Ngemba"},<br />
["ngf"] = {"Trans-New Guinea languages"},<br />
["ngg"] = {"Ngbaka Manza"},<br />
["ngh"] = {"Nǁng"},<br />
["ngi"] = {"Ngizim"},<br />
["ngj"] = {"Ngie"},<br />
["ngk"] = {"Dalabon"},<br />
["ngl"] = {"Lomwe"},<br />
["ngm"] = {"Ngatik Men's Creole"},<br />
["ngn"] = {"Ngwo"},<br />
["ngp"] = {"Ngulu"},<br />
["ngq"] = {"Ngurimi", "Ngoreme"},<br />
["ngr"] = {"Engdewu"},<br />
["ngs"] = {"Gvoko"},<br />
["ngt"] = {"Kriang", "Ngeq"},<br />
["ngu"] = {"Guerrero Nahuatl"},<br />
["ngv"] = {"Nagumi"},<br />
["ngw"] = {"Ngwaba"},<br />
["ngx"] = {"Nggwahyi"},<br />
["ngy"] = {"Tibea"},<br />
["ngz"] = {"Ngungwel"},<br />
["nha"] = {"Nhanda"},<br />
["nhb"] = {"Beng"},<br />
["nhc"] = {"Tabasco Nahuatl"},<br />
["nhd"] = {"Chiripá", "Ava Guaraní"},<br />
["nhe"] = {"Eastern Huasteca Nahuatl"},<br />
["nhf"] = {"Nhuwala"},<br />
["nhg"] = {"Tetelcingo Nahuatl"},<br />
["nhh"] = {"Nahari"},<br />
["nhi"] = {"Zacatlán-Ahuacatlán-Tepetzintla Nahuatl"},<br />
["nhk"] = {"Isthmus-Cosoleacaque Nahuatl"},<br />
["nhm"] = {"Morelos Nahuatl"},<br />
["nhn"] = {"Central Nahuatl"},<br />
["nho"] = {"Takuu"},<br />
["nhp"] = {"Isthmus-Pajapan Nahuatl"},<br />
["nhq"] = {"Huaxcaleca Nahuatl"},<br />
["nhr"] = {"Naro"},<br />
["nht"] = {"Ometepec Nahuatl"},<br />
["nhu"] = {"Noone"},<br />
["nhv"] = {"Temascaltepec Nahuatl"},<br />
["nhw"] = {"Western Huasteca Nahuatl"},<br />
["nhx"] = {"Isthmus-Mecayapan Nahuatl"},<br />
["nhy"] = {"Northern Oaxaca Nahuatl"},<br />
["nhz"] = {"Santa María La Alta Nahuatl"},<br />
["nia"] = {"Nias"},<br />
["nib"] = {"Nakame"},<br />
["nic"] = {"Niger-Kordofanian languages"},<br />
["nid"] = {"Ngandi"},<br />
["nie"] = {"Niellim"},<br />
["nif"] = {"Nek"},<br />
["nig"] = {"Ngalakgan"},<br />
["nih"] = {"Nyiha (Tanzania)"},<br />
["nii"] = {"Nii"},<br />
["nij"] = {"Ngaju"},<br />
["nik"] = {"Southern Nicobarese"},<br />
["nil"] = {"Nila"},<br />
["nim"] = {"Nilamba"},<br />
["nin"] = {"Ninzo"},<br />
["nio"] = {"Nganasan"},<br />
["niq"] = {"Nandi"},<br />
["nir"] = {"Nimboran"},<br />
["nis"] = {"Nimi"},<br />
["nit"] = {"Southeastern Kolami"},<br />
["niu"] = {"Niuean"},<br />
["niv"] = {"Gilyak"},<br />
["niw"] = {"Nimo"},<br />
["nix"] = {"Hema"},<br />
["niy"] = {"Ngiti"},<br />
["niz"] = {"Ningil"},<br />
["nja"] = {"Nzanyi"},<br />
["njb"] = {"Nocte Naga"},<br />
["njd"] = {"Ndonde Hamba"},<br />
["njh"] = {"Lotha Naga"},<br />
["nji"] = {"Gudanji"},<br />
["njj"] = {"Njen"},<br />
["njl"] = {"Njalgulgule"},<br />
["njm"] = {"Angami Naga"},<br />
["njn"] = {"Liangmai Naga"},<br />
["njo"] = {"Ao Naga"},<br />
["njr"] = {"Njerep"},<br />
["njs"] = {"Nisa"},<br />
["njt"] = {"Ndyuka-Trio Pidgin"},<br />
["nju"] = {"Ngadjunmaya"},<br />
["njx"] = {"Kunyi"},<br />
["njy"] = {"Njyem"},<br />
["njz"] = {"Nyishi"},<br />
["nka"] = {"Nkoya"},<br />
["nkb"] = {"Khoibu Naga"},<br />
["nkc"] = {"Nkongho"},<br />
["nkd"] = {"Koireng"},<br />
["nke"] = {"Duke"},<br />
["nkf"] = {"Inpui Naga"},<br />
["nkg"] = {"Nekgini"},<br />
["nkh"] = {"Khezha Naga"},<br />
["nki"] = {"Thangal Naga"},<br />
["nkj"] = {"Nakai"},<br />
["nkk"] = {"Nokuku"},<br />
["nkm"] = {"Namat"},<br />
["nkn"] = {"Nkangala"},<br />
["nko"] = {"Nkonya"},<br />
["nkp"] = {"Niuatoputapu"},<br />
["nkq"] = {"Nkami"},<br />
["nkr"] = {"Nukuoro"},<br />
["nks"] = {"North Asmat"},<br />
["nkt"] = {"Nyika (Tanzania)"},<br />
["nku"] = {"Bouna Kulango"},<br />
["nkv"] = {"Nyika (Malawi and Zambia)"},<br />
["nkw"] = {"Nkutu"},<br />
["nkx"] = {"Nkoroo"},<br />
["nkz"] = {"Nkari"},<br />
["nla"] = {"Ngombale"},<br />
["nlc"] = {"Nalca"},<br />
["nle"] = {"East Nyala"},<br />
["nlg"] = {"Gela"},<br />
["nli"] = {"Grangali"},<br />
["nlj"] = {"Nyali"},<br />
["nlk"] = {"Ninia Yali"},<br />
["nll"] = {"Nihali"},<br />
["nlm"] = {"Mankiyali"},<br />
["nlo"] = {"Ngul"},<br />
["nlq"] = {"Lao Naga"},<br />
["nlu"] = {"Nchumbulu"},<br />
["nlv"] = {"Orizaba Nahuatl"},<br />
["nlw"] = {"Walangama"},<br />
["nlx"] = {"Nahali"},<br />
["nly"] = {"Nyamal"},<br />
["nlz"] = {"Nalögo"},<br />
["nma"] = {"Maram Naga"},<br />
["nmb"] = {"Big Nambas", "V'ënen Taut"},<br />
["nmc"] = {"Ngam"},<br />
["nmd"] = {"Ndumu"},<br />
["nme"] = {"Mzieme Naga"},<br />
["nmf"] = {"Tangkhul Naga (India)"},<br />
["nmg"] = {"Kwasio"},<br />
["nmh"] = {"Monsang Naga"},<br />
["nmi"] = {"Nyam"},<br />
["nmj"] = {"Ngombe (Central African Republic)"},<br />
["nmk"] = {"Namakura"},<br />
["nml"] = {"Ndemli"},<br />
["nmm"] = {"Manangba"},<br />
["nmn"] = {"ǃXóõ"},<br />
["nmo"] = {"Moyon Naga"},<br />
["nmp"] = {"Nimanbur"},<br />
["nmq"] = {"Nambya"},<br />
["nmr"] = {"Nimbari"},<br />
["nms"] = {"Letemboi"},<br />
["nmt"] = {"Namonuito"},<br />
["nmu"] = {"Northeast Maidu"},<br />
["nmv"] = {"Ngamini"},<br />
["nmw"] = {"Nimoa", "Rifao"},<br />
["nmx"] = {"Nama (Papua New Guinea)"},<br />
["nmy"] = {"Namuyi"},<br />
["nmz"] = {"Nawdm"},<br />
["nna"] = {"Nyangumarta"},<br />
["nnb"] = {"Nande"},<br />
["nnc"] = {"Nancere"},<br />
["nnd"] = {"West Ambae"},<br />
["nne"] = {"Ngandyera"},<br />
["nnf"] = {"Ngaing"},<br />
["nng"] = {"Maring Naga"},<br />
["nnh"] = {"Ngiemboon"},<br />
["nni"] = {"North Nuaulu"},<br />
["nnj"] = {"Nyangatom"},<br />
["nnk"] = {"Nankina"},<br />
["nnl"] = {"Northern Rengma Naga"},<br />
["nnm"] = {"Namia"},<br />
["nnn"] = {"Ngete"},<br />
["nnp"] = {"Wancho Naga"},<br />
["nnq"] = {"Ngindo"},<br />
["nnr"] = {"Narungga"},<br />
["nnt"] = {"Nanticoke"},<br />
["nnu"] = {"Dwang"},<br />
["nnv"] = {"Nugunu (Australia)"},<br />
["nnw"] = {"Southern Nuni"},<br />
["nny"] = {"Nyangga"},<br />
["nnz"] = {"Nda'nda'"},<br />
["noa"] = {"Woun Meu"},<br />
["noc"] = {"Nuk"},<br />
["nod"] = {"Northern Thai"},<br />
["noe"] = {"Nimadi"},<br />
["nof"] = {"Nomane"},<br />
["nog"] = {"Nogai"},<br />
["noh"] = {"Nomu"},<br />
["noi"] = {"Noiri"},<br />
["noj"] = {"Nonuya"},<br />
["nok"] = {"Nooksack"},<br />
["nol"] = {"Nomlaki"},<br />
["nom"] = {"Nocamán"},<br />
["non"] = {"Old Norse"},<br />
["nop"] = {"Numanggang"},<br />
["noq"] = {"Ngongo"},<br />
["nos"] = {"Eastern Nisu"},<br />
["not"] = {"Nomatsiguenga"},<br />
["nou"] = {"Ewage-Notu"},<br />
["nov"] = {"Novial"},<br />
["now"] = {"Nyambo"},<br />
["noy"] = {"Noy"},<br />
["noz"] = {"Nayi"},<br />
["npa"] = {"Nar Phu"},<br />
["npb"] = {"Nupbikha"},<br />
["npg"] = {"Ponyo-Gongwang Naga"},<br />
["nph"] = {"Phom Naga"},<br />
["npi"] = {"Nepali (individual language)"},<br />
["npl"] = {"Southeastern Puebla Nahuatl"},<br />
["npn"] = {"Mondropolon"},<br />
["npo"] = {"Pochuri Naga"},<br />
["nps"] = {"Nipsan"},<br />
["npu"] = {"Puimei Naga"},<br />
["npx"] = {"Noipx"},<br />
["npy"] = {"Napu"},<br />
["nqg"] = {"Southern Nago"},<br />
["nqk"] = {"Kura Ede Nago"},<br />
["nql"] = {"Ngendelengo"},<br />
["nqm"] = {"Ndom"},<br />
["nqn"] = {"Nen"},<br />
["nqo"] = {"N'Ko", "N’Ko"},<br />
["nqq"] = {"Kyan-Karyaw Naga"},<br />
["nqt"] = {"Nteng"},<br />
["nqy"] = {"Akyaung Ari Naga"},<br />
["nra"] = {"Ngom"},<br />
["nrb"] = {"Nara"},<br />
["nrc"] = {"Noric"},<br />
["nre"] = {"Southern Rengma Naga"},<br />
["nrf"] = {"Jèrriais", "Guernésiais"},<br />
["nrg"] = {"Narango"},<br />
["nri"] = {"Chokri Naga"},<br />
["nrk"] = {"Ngarla"},<br />
["nrl"] = {"Ngarluma"},<br />
["nrm"] = {"Narom"},<br />
["nrn"] = {"Norn"},<br />
["nrp"] = {"North Picene"},<br />
["nrr"] = {"Norra", "Nora"},<br />
["nrt"] = {"Northern Kalapuya"},<br />
["nru"] = {"Narua"},<br />
["nrx"] = {"Ngurmbur"},<br />
["nrz"] = {"Lala"},<br />
["nsa"] = {"Sangtam Naga"},<br />
["nsb"] = {"Lower Nossob"},<br />
["nsc"] = {"Nshi"},<br />
["nsd"] = {"Southern Nisu"},<br />
["nse"] = {"Nsenga"},<br />
["nsf"] = {"Northwestern Nisu"},<br />
["nsg"] = {"Ngasa"},<br />
["nsh"] = {"Ngoshie"},<br />
["nsi"] = {"Nigerian Sign Language"},<br />
["nsk"] = {"Naskapi"},<br />
["nsl"] = {"Norwegian Sign Language"},<br />
["nsm"] = {"Sumi Naga"},<br />
["nsn"] = {"Nehan"},<br />
["nso"] = {"Pedi", "Northern Sotho", "Sepedi"},<br />
["nsp"] = {"Nepalese Sign Language"},<br />
["nsq"] = {"Northern Sierra Miwok"},<br />
["nsr"] = {"Maritime Sign Language"},<br />
["nss"] = {"Nali"},<br />
["nst"] = {"Tase Naga"},<br />
["nsu"] = {"Sierra Negra Nahuatl"},<br />
["nsv"] = {"Southwestern Nisu"},<br />
["nsw"] = {"Navut"},<br />
["nsx"] = {"Nsongo"},<br />
["nsy"] = {"Nasal"},<br />
["nsz"] = {"Nisenan"},<br />
["ntd"] = {"Northern Tidung"},<br />
["nte"] = {"Nathembo"},<br />
["ntg"] = {"Ngantangarra"},<br />
["nti"] = {"Natioro"},<br />
["ntj"] = {"Ngaanyatjarra"},<br />
["ntk"] = {"Ikoma-Nata-Isenye"},<br />
["ntm"] = {"Nateni"},<br />
["nto"] = {"Ntomba"},<br />
["ntp"] = {"Northern Tepehuan"},<br />
["ntr"] = {"Delo"},<br />
["ntu"] = {"Natügu"},<br />
["ntw"] = {"Nottoway"},<br />
["ntx"] = {"Tangkhul Naga (Myanmar)"},<br />
["nty"] = {"Mantsi"},<br />
["ntz"] = {"Natanzi"},<br />
["nua"] = {"Yuanga"},<br />
["nub"] = {"Nubian languages"},<br />
["nuc"] = {"Nukuini"},<br />
["nud"] = {"Ngala"},<br />
["nue"] = {"Ngundu"},<br />
["nuf"] = {"Nusu"},<br />
["nug"] = {"Nungali"},<br />
["nuh"] = {"Ndunda"},<br />
["nui"] = {"Ngumbi"},<br />
["nuj"] = {"Nyole"},<br />
["nuk"] = {"Nuu-chah-nulth", "Nuuchahnulth"},<br />
["nul"] = {"Nusa Laut"},<br />
["num"] = {"Niuafo'ou"},<br />
["nun"] = {"Anong"},<br />
["nuo"] = {"Nguôn"},<br />
["nup"] = {"Nupe-Nupe-Tako"},<br />
["nuq"] = {"Nukumanu"},<br />
["nur"] = {"Nukuria"},<br />
["nus"] = {"Nuer"},<br />
["nut"] = {"Nung (Viet Nam)"},<br />
["nuu"] = {"Ngbundu"},<br />
["nuv"] = {"Northern Nuni"},<br />
["nuw"] = {"Nguluwan"},<br />
["nux"] = {"Mehek"},<br />
["nuy"] = {"Nunggubuyu"},<br />
["nuz"] = {"Tlamacazapa Nahuatl"},<br />
["nvh"] = {"Nasarian"},<br />
["nvm"] = {"Namiae"},<br />
["nvo"] = {"Nyokon"},<br />
["nwa"] = {"Nawathinehena"},<br />
["nwb"] = {"Nyabwa"},<br />
["nwc"] = {"Classical Newari", "Classical Nepal Bhasa", "Old Newari"},<br />
["nwe"] = {"Ngwe"},<br />
["nwg"] = {"Ngayawung"},<br />
["nwi"] = {"Southwest Tanna"},<br />
["nwm"] = {"Nyamusa-Molo"},<br />
["nwo"] = {"Nauo"},<br />
["nwr"] = {"Nawaru"},<br />
["nww"] = {"Ndwewe"},<br />
["nwx"] = {"Middle Newar"},<br />
["nwy"] = {"Nottoway-Meherrin"},<br />
["nxa"] = {"Nauete"},<br />
["nxd"] = {"Ngando (Democratic Republic of Congo)"},<br />
["nxe"] = {"Nage"},<br />
["nxg"] = {"Ngad'a"},<br />
["nxi"] = {"Nindi"},<br />
["nxk"] = {"Koki Naga"},<br />
["nxl"] = {"South Nuaulu"},<br />
["nxm"] = {"Numidian"},<br />
["nxn"] = {"Ngawun"},<br />
["nxo"] = {"Ndambomo"},<br />
["nxq"] = {"Naxi"},<br />
["nxr"] = {"Ninggerum"},<br />
["nxx"] = {"Nafri"},<br />
["nyb"] = {"Nyangbo"},<br />
["nyc"] = {"Nyanga-li"},<br />
["nyd"] = {"Nyore", "Olunyole"},<br />
["nye"] = {"Nyengo"},<br />
["nyf"] = {"Giryama", "Kigiryama"},<br />
["nyg"] = {"Nyindu"},<br />
["nyh"] = {"Nyikina"},<br />
["nyi"] = {"Ama (Sudan)"},<br />
["nyj"] = {"Nyanga"},<br />
["nyk"] = {"Nyaneka"},<br />
["nyl"] = {"Nyeu"},<br />
["nym"] = {"Nyamwezi"},<br />
["nyn"] = {"Nyankole"},<br />
["nyo"] = {"Nyoro"},<br />
["nyp"] = {"Nyang'i"},<br />
["nyq"] = {"Nayini"},<br />
["nyr"] = {"Nyiha (Malawi)"},<br />
["nys"] = {"Nyungar"},<br />
["nyt"] = {"Nyawaygi"},<br />
["nyu"] = {"Nyungwe"},<br />
["nyv"] = {"Nyulnyul"},<br />
["nyw"] = {"Nyaw"},<br />
["nyx"] = {"Nganyaywana"},<br />
["nyy"] = {"Nyakyusa-Ngonde"},<br />
["nza"] = {"Tigon Mbembe"},<br />
["nzb"] = {"Njebi"},<br />
["nzd"] = {"Nzadi"},<br />
["nzi"] = {"Nzima"},<br />
["nzk"] = {"Nzakara"},<br />
["nzm"] = {"Zeme Naga"},<br />
["nzs"] = {"New Zealand Sign Language"},<br />
["nzu"] = {"Teke-Nzikou"},<br />
["nzy"] = {"Nzakambay"},<br />
["nzz"] = {"Nanga Dama Dogon"},<br />
["oaa"] = {"Orok"},<br />
["oac"] = {"Oroch"},<br />
["oar"] = {"Old Aramaic (up to 700 BCE)", "Ancient Aramaic (up to 700 BCE)"},<br />
["oav"] = {"Old Avar"},<br />
["obi"] = {"Obispeño"},<br />
["obk"] = {"Southern Bontok"},<br />
["obl"] = {"Oblo"},<br />
["obm"] = {"Moabite"},<br />
["obo"] = {"Obo Manobo"},<br />
["obr"] = {"Old Burmese"},<br />
["obt"] = {"Old Breton"},<br />
["obu"] = {"Obulom"},<br />
["oca"] = {"Ocaina"},<br />
["och"] = {"Old Chinese"},<br />
["ocm"] = {"Old Cham"},<br />
["oco"] = {"Old Cornish"},<br />
["ocu"] = {"Atzingo Matlatzinca"},<br />
["oda"] = {"Odut"},<br />
["odk"] = {"Od"},<br />
["odt"] = {"Old Dutch"},<br />
["odu"] = {"Odual"},<br />
["ofo"] = {"Ofo"},<br />
["ofs"] = {"Old Frisian"},<br />
["ofu"] = {"Efutop"},<br />
["ogb"] = {"Ogbia"},<br />
["ogc"] = {"Ogbah"},<br />
["oge"] = {"Old Georgian"},<br />
["ogg"] = {"Ogbogolo"},<br />
["ogo"] = {"Khana"},<br />
["ogu"] = {"Ogbronuagum"},<br />
["oht"] = {"Old Hittite"},<br />
["ohu"] = {"Old Hungarian"},<br />
["oia"] = {"Oirata"},<br />
["oie"] = {"Okolie"},<br />
["oin"] = {"Inebu One"},<br />
["ojb"] = {"Northwestern Ojibwa"},<br />
["ojc"] = {"Central Ojibwa"},<br />
["ojg"] = {"Eastern Ojibwa"},<br />
["ojp"] = {"Old Japanese"},<br />
["ojs"] = {"Severn Ojibwa"},<br />
["ojv"] = {"Ontong Java"},<br />
["ojw"] = {"Western Ojibwa"},<br />
["oka"] = {"Okanagan"},<br />
["okb"] = {"Okobo"},<br />
["okc"] = {"Kobo"},<br />
["okd"] = {"Okodia"},<br />
["oke"] = {"Okpe (Southwestern Edo)"},<br />
["okg"] = {"Koko Babangk"},<br />
["okh"] = {"Koresh-e Rostam"},<br />
["oki"] = {"Okiek"},<br />
["okj"] = {"Oko-Juwoi"},<br />
["okk"] = {"Kwamtim One"},<br />
["okl"] = {"Old Kentish Sign Language"},<br />
["okm"] = {"Middle Korean (10th-16th cent.)"},<br />
["okn"] = {"Oki-No-Erabu"},<br />
["oko"] = {"Old Korean (3rd-9th cent.)"},<br />
["okr"] = {"Kirike"},<br />
["oks"] = {"Oko-Eni-Osayen"},<br />
["oku"] = {"Oku"},<br />
["okv"] = {"Orokaiva"},<br />
["okx"] = {"Okpe (Northwestern Edo)"},<br />
["okz"] = {"Old Khmer"},<br />
["ola"] = {"Walungge"},<br />
["old"] = {"Mochi"},<br />
["ole"] = {"Olekha"},<br />
["olk"] = {"Olkol"},<br />
["olm"] = {"Oloma"},<br />
["olo"] = {"Livvi"},<br />
["olr"] = {"Olrat"},<br />
["olt"] = {"Old Lithuanian"},<br />
["olu"] = {"Kuvale"},<br />
["oma"] = {"Omaha-Ponca"},<br />
["omb"] = {"East Ambae"},<br />
["omc"] = {"Mochica"},<br />
["omg"] = {"Omagua"},<br />
["omi"] = {"Omi"},<br />
["omk"] = {"Omok"},<br />
["oml"] = {"Ombo"},<br />
["omn"] = {"Minoan"},<br />
["omo"] = {"Utarmbung"},<br />
["omp"] = {"Old Manipuri"},<br />
["omq"] = {"Oto-Manguean languages"},<br />
["omr"] = {"Old Marathi"},<br />
["omt"] = {"Omotik"},<br />
["omu"] = {"Omurano"},<br />
["omv"] = {"Omotic languages"},<br />
["omw"] = {"South Tairora"},<br />
["omx"] = {"Old Mon"},<br />
["omy"] = {"Old Malay"},<br />
["ona"] = {"Ona"},<br />
["onb"] = {"Lingao"},<br />
["one"] = {"Oneida"},<br />
["ong"] = {"Olo"},<br />
["oni"] = {"Onin"},<br />
["onj"] = {"Onjob"},<br />
["onk"] = {"Kabore One"},<br />
["onn"] = {"Onobasulu"},<br />
["ono"] = {"Onondaga"},<br />
["onp"] = {"Sartang"},<br />
["onr"] = {"Northern One"},<br />
["ons"] = {"Ono"},<br />
["ont"] = {"Ontenu"},<br />
["onu"] = {"Unua"},<br />
["onw"] = {"Old Nubian"},<br />
["onx"] = {"Onin Based Pidgin"},<br />
["ood"] = {"Tohono O'odham"},<br />
["oog"] = {"Ong"},<br />
["oon"] = {"Önge"},<br />
["oor"] = {"Oorlams"},<br />
["oos"] = {"Old Ossetic"},<br />
["opa"] = {"Okpamheri"},<br />
["opk"] = {"Kopkaka"},<br />
["opm"] = {"Oksapmin"},<br />
["opo"] = {"Opao"},<br />
["opt"] = {"Opata"},<br />
["opy"] = {"Ofayé"},<br />
["ora"] = {"Oroha"},<br />
["orc"] = {"Orma"},<br />
["ore"] = {"Orejón"},<br />
["org"] = {"Oring"},<br />
["orh"] = {"Oroqen"},<br />
["orn"] = {"Orang Kanaq"},<br />
["oro"] = {"Orokolo"},<br />
["orr"] = {"Oruma"},<br />
["ors"] = {"Orang Seletar"},<br />
["ort"] = {"Adivasi Oriya"},<br />
["oru"] = {"Ormuri"},<br />
["orv"] = {"Old Russian"},<br />
["orw"] = {"Oro Win"},<br />
["orx"] = {"Oro"},<br />
["ory"] = {"Odia (individual language)", "Oriya (individual language)"},<br />
["orz"] = {"Ormu"},<br />
["osa"] = {"Osage"},<br />
["osc"] = {"Oscan"},<br />
["osi"] = {"Osing"},<br />
["osn"] = {"Old Sundanese"},<br />
["oso"] = {"Ososo"},<br />
["osp"] = {"Old Spanish"},<br />
["ost"] = {"Osatu"},<br />
["osu"] = {"Southern One"},<br />
["osx"] = {"Old Saxon"},<br />
["ota"] = {"Ottoman Turkish (1500-1928)"},<br />
["otb"] = {"Old Tibetan"},<br />
["otd"] = {"Ot Danum"},<br />
["ote"] = {"Mezquital Otomi"},<br />
["oti"] = {"Oti"},<br />
["otk"] = {"Old Turkish"},<br />
["otl"] = {"Tilapa Otomi"},<br />
["otm"] = {"Eastern Highland Otomi"},<br />
["otn"] = {"Tenango Otomi"},<br />
["oto"] = {"Otomian languages"},<br />
["otq"] = {"Querétaro Otomi"},<br />
["otr"] = {"Otoro"},<br />
["ots"] = {"Estado de México Otomi"},<br />
["ott"] = {"Temoaya Otomi"},<br />
["otu"] = {"Otuke"},<br />
["otw"] = {"Ottawa"},<br />
["otx"] = {"Texcatepec Otomi"},<br />
["oty"] = {"Old Tamil"},<br />
["otz"] = {"Ixtenco Otomi"},<br />
["oua"] = {"Tagargrent"},<br />
["oub"] = {"Glio-Oubi"},<br />
["oue"] = {"Oune"},<br />
["oui"] = {"Old Uighur"},<br />
["oum"] = {"Ouma"},<br />
["ovd"] = {"Elfdalian", "Övdalian"},<br />
["owi"] = {"Owiniga"},<br />
["owl"] = {"Old Welsh"},<br />
["oyb"] = {"Oy"},<br />
["oyd"] = {"Oyda"},<br />
["oym"] = {"Wayampi"},<br />
["oyy"] = {"Oya'oya"},<br />
["ozm"] = {"Koonzime"},<br />
["paa"] = {"Papuan languages"},<br />
["pab"] = {"Parecís"},<br />
["pac"] = {"Pacoh"},<br />
["pad"] = {"Paumarí"},<br />
["pae"] = {"Pagibete"},<br />
["paf"] = {"Paranawát"},<br />
["pag"] = {"Pangasinan"},<br />
["pah"] = {"Tenharim"},<br />
["pai"] = {"Pe"},<br />
["pak"] = {"Parakanã"},<br />
["pal"] = {"Pahlavi"},<br />
["pam"] = {"Pampanga", "Kapampangan"},<br />
["pao"] = {"Northern Paiute"},<br />
["pap"] = {"Papiamento"},<br />
["paq"] = {"Parya"},<br />
["par"] = {"Panamint", "Timbisha"},<br />
["pas"] = {"Papasena"},<br />
["pau"] = {"Palauan"},<br />
["pav"] = {"Pakaásnovos"},<br />
["paw"] = {"Pawnee"},<br />
["pax"] = {"Pankararé"},<br />
["pay"] = {"Pech"},<br />
["paz"] = {"Pankararú"},<br />
["pbb"] = {"Páez"},<br />
["pbc"] = {"Patamona"},<br />
["pbe"] = {"Mezontla Popoloca"},<br />
["pbf"] = {"Coyotepec Popoloca"},<br />
["pbg"] = {"Paraujano"},<br />
["pbh"] = {"E'ñapa Woromaipu"},<br />
["pbi"] = {"Parkwa"},<br />
["pbl"] = {"Mak (Nigeria)"},<br />
["pbm"] = {"Puebla Mazatec"},<br />
["pbn"] = {"Kpasam"},<br />
["pbo"] = {"Papel"},<br />
["pbp"] = {"Badyara"},<br />
["pbr"] = {"Pangwa"},<br />
["pbs"] = {"Central Pame"},<br />
["pbt"] = {"Southern Pashto"},<br />
["pbu"] = {"Northern Pashto"},<br />
["pbv"] = {"Pnar"},<br />
["pby"] = {"Pyu (Papua New Guinea)"},<br />
["pca"] = {"Santa Inés Ahuatempan Popoloca"},<br />
["pcb"] = {"Pear"},<br />
["pcc"] = {"Bouyei"},<br />
["pcd"] = {"Picard"},<br />
["pce"] = {"Ruching Palaung"},<br />
["pcf"] = {"Paliyan"},<br />
["pcg"] = {"Paniya"},<br />
["pch"] = {"Pardhan"},<br />
["pci"] = {"Duruwa"},<br />
["pcj"] = {"Parenga"},<br />
["pck"] = {"Paite Chin"},<br />
["pcl"] = {"Pardhi"},<br />
["pcm"] = {"Nigerian Pidgin"},<br />
["pcn"] = {"Piti"},<br />
["pcp"] = {"Pacahuara"},<br />
["pcw"] = {"Pyapun"},<br />
["pda"] = {"Anam"},<br />
["pdc"] = {"Pennsylvania German"},<br />
["pdi"] = {"Pa Di"},<br />
["pdn"] = {"Podena", "Fedan"},<br />
["pdo"] = {"Padoe"},<br />
["pdt"] = {"Plautdietsch"},<br />
["pdu"] = {"Kayan"},<br />
["pea"] = {"Peranakan Indonesian"},<br />
["peb"] = {"Eastern Pomo"},<br />
["ped"] = {"Mala (Papua New Guinea)"},<br />
["pee"] = {"Taje"},<br />
["pef"] = {"Northeastern Pomo"},<br />
["peg"] = {"Pengo"},<br />
["peh"] = {"Bonan"},<br />
["pei"] = {"Chichimeca-Jonaz"},<br />
["pej"] = {"Northern Pomo"},<br />
["pek"] = {"Penchal"},<br />
["pel"] = {"Pekal"},<br />
["pem"] = {"Phende"},<br />
["peo"] = {"Old Persian (ca. 600-400 B.C.)"},<br />
["pep"] = {"Kunja"},<br />
["peq"] = {"Southern Pomo"},<br />
["pes"] = {"Iranian Persian"},<br />
["pev"] = {"Pémono"},<br />
["pex"] = {"Petats"},<br />
["pey"] = {"Petjo"},<br />
["pez"] = {"Eastern Penan"},<br />
["pfa"] = {"Pááfang"},<br />
["pfe"] = {"Pere"},<br />
["pfl"] = {"Pfaelzisch"},<br />
["pga"] = {"Sudanese Creole Arabic"},<br />
["pgd"] = {"Gāndhārī"},<br />
["pgg"] = {"Pangwali"},<br />
["pgi"] = {"Pagi"},<br />
["pgk"] = {"Rerep"},<br />
["pgl"] = {"Primitive Irish"},<br />
["pgn"] = {"Paelignian"},<br />
["pgs"] = {"Pangseng"},<br />
["pgu"] = {"Pagu"},<br />
["pgz"] = {"Papua New Guinean Sign Language"},<br />
["pha"] = {"Pa-Hng"},<br />
["phd"] = {"Phudagi"},<br />
["phg"] = {"Phuong"},<br />
["phh"] = {"Phukha"},<br />
["phi"] = {"Philippine languages"},<br />
["phj"] = {"Pahari"},<br />
["phk"] = {"Phake"},<br />
["phl"] = {"Phalura", "Palula"},<br />
["phm"] = {"Phimbi"},<br />
["phn"] = {"Phoenician"},<br />
["pho"] = {"Phunoi"},<br />
["phq"] = {"Phana'"},<br />
["phr"] = {"Pahari-Potwari"},<br />
["pht"] = {"Phu Thai"},<br />
["phu"] = {"Phuan"},<br />
["phv"] = {"Pahlavani"},<br />
["phw"] = {"Phangduwali"},<br />
["pia"] = {"Pima Bajo"},<br />
["pib"] = {"Yine"},<br />
["pic"] = {"Pinji"},<br />
["pid"] = {"Piaroa"},<br />
["pie"] = {"Piro"},<br />
["pif"] = {"Pingelapese"},<br />
["pig"] = {"Pisabo"},<br />
["pih"] = {"Pitcairn-Norfolk"},<br />
["pij"] = {"Pijao"},<br />
["pil"] = {"Yom"},<br />
["pim"] = {"Powhatan"},<br />
["pin"] = {"Piame"},<br />
["pio"] = {"Piapoco"},<br />
["pip"] = {"Pero"},<br />
["pir"] = {"Piratapuyo"},<br />
["pis"] = {"Pijin"},<br />
["pit"] = {"Pitta Pitta"},<br />
["piu"] = {"Pintupi-Luritja"},<br />
["piv"] = {"Pileni", "Vaeakau-Taumako"},<br />
["piw"] = {"Pimbwe"},<br />
["pix"] = {"Piu"},<br />
["piy"] = {"Piya-Kwonci"},<br />
["piz"] = {"Pije"},<br />
["pjt"] = {"Pitjantjatjara"},<br />
["pka"] = {"Ardhamāgadhī Prākrit"},<br />
["pkb"] = {"Pokomo", "Kipfokomo"},<br />
["pkc"] = {"Paekche"},<br />
["pkg"] = {"Pak-Tong"},<br />
["pkh"] = {"Pankhu"},<br />
["pkn"] = {"Pakanha"},<br />
["pko"] = {"Pökoot"},<br />
["pkp"] = {"Pukapuka"},<br />
["pkr"] = {"Attapady Kurumba"},<br />
["pks"] = {"Pakistan Sign Language"},<br />
["pkt"] = {"Maleng"},<br />
["pku"] = {"Paku"},<br />
["pla"] = {"Miani"},<br />
["plb"] = {"Polonombauk"},<br />
["plc"] = {"Central Palawano"},<br />
["pld"] = {"Polari"},<br />
["ple"] = {"Palu'e"},<br />
["plf"] = {"Central Malayo-Polynesian languages"},<br />
["plg"] = {"Pilagá"},<br />
["plh"] = {"Paulohi"},<br />
["plj"] = {"Polci"},<br />
["plk"] = {"Kohistani Shina"},<br />
["pll"] = {"Shwe Palaung"},<br />
["pln"] = {"Palenquero"},<br />
["plo"] = {"Oluta Popoluca"},<br />
["plq"] = {"Palaic"},<br />
["plr"] = {"Palaka Senoufo"},<br />
["pls"] = {"San Marcos Tlacoyalco Popoloca", "San Marcos Tlalcoyalco Popoloca"},<br />
["plt"] = {"Plateau Malagasy"},<br />
["plu"] = {"Palikúr"},<br />
["plv"] = {"Southwest Palawano"},<br />
["plw"] = {"Brooke's Point Palawano"},<br />
["ply"] = {"Bolyu"},<br />
["plz"] = {"Paluan"},<br />
["pma"] = {"Paama"},<br />
["pmb"] = {"Pambia"},<br />
["pmd"] = {"Pallanganmiddang"},<br />
["pme"] = {"Pwaamei"},<br />
["pmf"] = {"Pamona"},<br />
["pmh"] = {"Māhārāṣṭri Prākrit"},<br />
["pmi"] = {"Northern Pumi"},<br />
["pmj"] = {"Southern Pumi"},<br />
["pmk"] = {"Pamlico"},<br />
["pml"] = {"Lingua Franca"},<br />
["pmm"] = {"Pomo"},<br />
["pmn"] = {"Pam"},<br />
["pmo"] = {"Pom"},<br />
["pmq"] = {"Northern Pame"},<br />
["pmr"] = {"Paynamar"},<br />
["pms"] = {"Piemontese"},<br />
["pmt"] = {"Tuamotuan"},<br />
["pmw"] = {"Plains Miwok"},<br />
["pmx"] = {"Poumei Naga"},<br />
["pmy"] = {"Papuan Malay"},<br />
["pmz"] = {"Southern Pame"},<br />
["pna"] = {"Punan Bah-Biau"},<br />
["pnb"] = {"Western Panjabi"},<br />
["pnc"] = {"Pannei"},<br />
["pnd"] = {"Mpinda"},<br />
["pne"] = {"Western Penan"},<br />
["png"] = {"Pangu", "Pongu"},<br />
["pnh"] = {"Penrhyn"},<br />
["pni"] = {"Aoheng"},<br />
["pnj"] = {"Pinjarup"},<br />
["pnk"] = {"Paunaka"},<br />
["pnl"] = {"Paleni"},<br />
["pnm"] = {"Punan Batu 1"},<br />
["pnn"] = {"Pinai-Hagahai"},<br />
["pno"] = {"Panobo"},<br />
["pnp"] = {"Pancana"},<br />
["pnq"] = {"Pana (Burkina Faso)"},<br />
["pnr"] = {"Panim"},<br />
["pns"] = {"Ponosakan"},<br />
["pnt"] = {"Pontic"},<br />
["pnu"] = {"Jiongnai Bunu"},<br />
["pnv"] = {"Pinigura"},<br />
["pnw"] = {"Banyjima", "Panytyima"},<br />
["pnx"] = {"Phong-Kniang"},<br />
["pny"] = {"Pinyin"},<br />
["pnz"] = {"Pana (Central African Republic)"},<br />
["poc"] = {"Poqomam"},<br />
["poe"] = {"San Juan Atzingo Popoloca"},<br />
["pof"] = {"Poke"},<br />
["pog"] = {"Potiguára"},<br />
["poh"] = {"Poqomchi'"},<br />
["poi"] = {"Highland Popoluca"},<br />
["pok"] = {"Pokangá"},<br />
["pom"] = {"Southeastern Pomo"},<br />
["pon"] = {"Pohnpeian"},<br />
["poo"] = {"Central Pomo"},<br />
["pop"] = {"Pwapwâ"},<br />
["poq"] = {"Texistepec Popoluca"},<br />
["pos"] = {"Sayula Popoluca"},<br />
["pot"] = {"Potawatomi"},<br />
["pov"] = {"Upper Guinea Crioulo"},<br />
["pow"] = {"San Felipe Otlaltepec Popoloca"},<br />
["pox"] = {"Polabian"},<br />
["poy"] = {"Pogolo"},<br />
["poz"] = {"Malayo-Polynesian languages"},<br />
["ppe"] = {"Papi"},<br />
["ppi"] = {"Paipai"},<br />
["ppk"] = {"Uma"},<br />
["ppl"] = {"Pipil", "Nicarao"},<br />
["ppm"] = {"Papuma"},<br />
["ppn"] = {"Papapana"},<br />
["ppo"] = {"Folopa"},<br />
["ppp"] = {"Pelende"},<br />
["ppq"] = {"Pei"},<br />
["pps"] = {"San Luís Temalacayuca Popoloca"},<br />
["ppt"] = {"Pare"},<br />
["ppu"] = {"Papora"},<br />
["pqa"] = {"Pa'a"},<br />
["pqe"] = {"Eastern Malayo-Polynesian languages"},<br />
["pqm"] = {"Malecite-Passamaquoddy"},<br />
["pqw"] = {"Western Malayo-Polynesian languages"},<br />
["pra"] = {"Prakrit languages"},<br />
["prc"] = {"Parachi"},<br />
["prd"] = {"Parsi-Dari"},<br />
["pre"] = {"Principense"},<br />
["prf"] = {"Paranan"},<br />
["prg"] = {"Prussian"},<br />
["prh"] = {"Porohanon"},<br />
["pri"] = {"Paicî"},<br />
["prk"] = {"Parauk"},<br />
["prl"] = {"Peruvian Sign Language"},<br />
["prm"] = {"Kibiri"},<br />
["prn"] = {"Prasuni"},<br />
["pro"] = {"Old Provençal (to 1500)", "Old Occitan (to 1500)"},<br />
["prp"] = {"Parsi"},<br />
["prq"] = {"Ashéninka Perené"},<br />
["prr"] = {"Puri"},<br />
["prs"] = {"Dari", "Afghan Persian"},<br />
["prt"] = {"Phai"},<br />
["pru"] = {"Puragi"},<br />
["prw"] = {"Parawen"},<br />
["prx"] = {"Purik"},<br />
["prz"] = {"Providencia Sign Language"},<br />
["psa"] = {"Asue Awyu"},<br />
["psc"] = {"Iranian Sign Language", "Persian Sign Language"},<br />
["psd"] = {"Plains Indian Sign Language"},<br />
["pse"] = {"Central Malay"},<br />
["psg"] = {"Penang Sign Language"},<br />
["psh"] = {"Southwest Pashai", "Southwest Pashayi"},<br />
["psi"] = {"Southeast Pashai", "Southeast Pashayi"},<br />
["psl"] = {"Puerto Rican Sign Language"},<br />
["psm"] = {"Pauserna"},<br />
["psn"] = {"Panasuan"},<br />
["pso"] = {"Polish Sign Language"},<br />
["psp"] = {"Philippine Sign Language"},<br />
["psq"] = {"Pasi"},<br />
["psr"] = {"Portuguese Sign Language"},<br />
["pss"] = {"Kaulong"},<br />
["pst"] = {"Central Pashto"},<br />
["psu"] = {"Sauraseni Prākrit"},<br />
["psw"] = {"Port Sandwich"},<br />
["psy"] = {"Piscataway"},<br />
["pta"] = {"Pai Tavytera"},<br />
["pth"] = {"Pataxó Hã-Ha-Hãe"},<br />
["pti"] = {"Pindiini", "Wangkatha"},<br />
["ptn"] = {"Patani"},<br />
["pto"] = {"Zo'é"},<br />
["ptp"] = {"Patep"},<br />
["ptq"] = {"Pattapu"},<br />
["ptr"] = {"Piamatsina"},<br />
["ptt"] = {"Enrekang"},<br />
["ptu"] = {"Bambam"},<br />
["ptv"] = {"Port Vato"},<br />
["ptw"] = {"Pentlatch"},<br />
["pty"] = {"Pathiya"},<br />
["pua"] = {"Western Highland Purepecha"},<br />
["pub"] = {"Purum"},<br />
["puc"] = {"Punan Merap"},<br />
["pud"] = {"Punan Aput"},<br />
["pue"] = {"Puelche"},<br />
["puf"] = {"Punan Merah"},<br />
["pug"] = {"Phuie"},<br />
["pui"] = {"Puinave"},<br />
["puj"] = {"Punan Tubu"},<br />
["pum"] = {"Puma"},<br />
["puo"] = {"Puoc"},<br />
["pup"] = {"Pulabu"},<br />
["puq"] = {"Puquina"},<br />
["pur"] = {"Puruborá"},<br />
["put"] = {"Putoh"},<br />
["puu"] = {"Punu"},<br />
["puw"] = {"Puluwatese"},<br />
["pux"] = {"Puare"},<br />
["puy"] = {"Purisimeño"},<br />
["pwa"] = {"Pawaia"},<br />
["pwb"] = {"Panawa"},<br />
["pwg"] = {"Gapapaiwa"},<br />
["pwi"] = {"Patwin"},<br />
["pwm"] = {"Molbog"},<br />
["pwn"] = {"Paiwan"},<br />
["pwo"] = {"Pwo Western Karen"},<br />
["pwr"] = {"Powari"},<br />
["pww"] = {"Pwo Northern Karen"},<br />
["pxm"] = {"Quetzaltepec Mixe"},<br />
["pye"] = {"Pye Krumen"},<br />
["pym"] = {"Fyam"},<br />
["pyn"] = {"Poyanáwa"},<br />
["pys"] = {"Paraguayan Sign Language", "Lengua de Señas del Paraguay"},<br />
["pyu"] = {"Puyuma"},<br />
["pyx"] = {"Pyu (Myanmar)"},<br />
["pyy"] = {"Pyen"},<br />
["pzh"] = {"Pazeh"},<br />
["pzn"] = {"Jejara Naga", "Para Naga"},<br />
["qua"] = {"Quapaw"},<br />
["qub"] = {"Huallaga Huánuco Quechua"},<br />
["quc"] = {"K'iche'", "Quiché"},<br />
["qud"] = {"Calderón Highland Quichua"},<br />
["quf"] = {"Lambayeque Quechua"},<br />
["qug"] = {"Chimborazo Highland Quichua"},<br />
["quh"] = {"South Bolivian Quechua"},<br />
["qui"] = {"Quileute"},<br />
["quk"] = {"Chachapoyas Quechua"},<br />
["qul"] = {"North Bolivian Quechua"},<br />
["qum"] = {"Sipacapense"},<br />
["qun"] = {"Quinault"},<br />
["qup"] = {"Southern Pastaza Quechua"},<br />
["quq"] = {"Quinqui"},<br />
["qur"] = {"Yanahuanca Pasco Quechua"},<br />
["qus"] = {"Santiago del Estero Quichua"},<br />
["quv"] = {"Sacapulteco"},<br />
["quw"] = {"Tena Lowland Quichua"},<br />
["qux"] = {"Yauyos Quechua"},<br />
["quy"] = {"Ayacucho Quechua"},<br />
["quz"] = {"Cusco Quechua"},<br />
["qva"] = {"Ambo-Pasco Quechua"},<br />
["qvc"] = {"Cajamarca Quechua"},<br />
["qve"] = {"Eastern Apurímac Quechua"},<br />
["qvh"] = {"Huamalíes-Dos de Mayo Huánuco Quechua"},<br />
["qvi"] = {"Imbabura Highland Quichua"},<br />
["qvj"] = {"Loja Highland Quichua"},<br />
["qvl"] = {"Cajatambo North Lima Quechua"},<br />
["qvm"] = {"Margos-Yarowilca-Lauricocha Quechua"},<br />
["qvn"] = {"North Junín Quechua"},<br />
["qvo"] = {"Napo Lowland Quechua"},<br />
["qvp"] = {"Pacaraos Quechua"},<br />
["qvs"] = {"San Martín Quechua"},<br />
["qvw"] = {"Huaylla Wanca Quechua"},<br />
["qvy"] = {"Queyu"},<br />
["qvz"] = {"Northern Pastaza Quichua"},<br />
["qwa"] = {"Corongo Ancash Quechua"},<br />
["qwc"] = {"Classical Quechua"},<br />
["qwe"] = {"Quechuan (family)"},<br />
["qwh"] = {"Huaylas Ancash Quechua"},<br />
["qwm"] = {"Kuman (Russia)"},<br />
["qws"] = {"Sihuas Ancash Quechua"},<br />
["qwt"] = {"Kwalhioqua-Tlatskanai"},<br />
["qxa"] = {"Chiquián Ancash Quechua"},<br />
["qxc"] = {"Chincha Quechua"},<br />
["qxh"] = {"Panao Huánuco Quechua"},<br />
["qxl"] = {"Salasaca Highland Quichua"},<br />
["qxn"] = {"Northern Conchucos Ancash Quechua"},<br />
["qxo"] = {"Southern Conchucos Ancash Quechua"},<br />
["qxp"] = {"Puno Quechua"},<br />
["qxq"] = {"Qashqa'i"},<br />
["qxr"] = {"Cañar Highland Quichua"},<br />
["qxs"] = {"Southern Qiang"},<br />
["qxt"] = {"Santa Ana de Tusi Pasco Quechua"},<br />
["qxu"] = {"Arequipa-La Unión Quechua"},<br />
["qxw"] = {"Jauja Wanca Quechua"},<br />
["qya"] = {"Quenya"},<br />
["qyp"] = {"Quiripi"},<br />
["raa"] = {"Dungmali"},<br />
["rab"] = {"Camling"},<br />
["rac"] = {"Rasawa"},<br />
["rad"] = {"Rade"},<br />
["raf"] = {"Western Meohang"},<br />
["rag"] = {"Logooli", "Lulogooli"},<br />
["rah"] = {"Rabha"},<br />
["rai"] = {"Ramoaaina"},<br />
["raj"] = {"Rajasthani"},<br />
["rak"] = {"Tulu-Bohuai"},<br />
["ral"] = {"Ralte"},<br />
["ram"] = {"Canela"},<br />
["ran"] = {"Riantana"},<br />
["rao"] = {"Rao"},<br />
["rap"] = {"Rapanui"},<br />
["raq"] = {"Saam"},<br />
["rar"] = {"Rarotongan", "Cook Islands Maori"},<br />
["ras"] = {"Tegali"},<br />
["rat"] = {"Razajerdi"},<br />
["rau"] = {"Raute"},<br />
["rav"] = {"Sampang"},<br />
["raw"] = {"Rawang"},<br />
["rax"] = {"Rang"},<br />
["ray"] = {"Rapa"},<br />
["raz"] = {"Rahambuu"},<br />
["rbb"] = {"Rumai Palaung"},<br />
["rbk"] = {"Northern Bontok"},<br />
["rbl"] = {"Miraya Bikol"},<br />
["rbp"] = {"Barababaraba"},<br />
["rcf"] = {"Réunion Creole French"},<br />
["rdb"] = {"Rudbari"},<br />
["rea"] = {"Rerau"},<br />
["reb"] = {"Rembong"},<br />
["ree"] = {"Rejang Kayan"},<br />
["reg"] = {"Kara (Tanzania)"},<br />
["rei"] = {"Reli"},<br />
["rej"] = {"Rejang"},<br />
["rel"] = {"Rendille"},<br />
["rem"] = {"Remo"},<br />
["ren"] = {"Rengao"},<br />
["rer"] = {"Rer Bare"},<br />
["res"] = {"Reshe"},<br />
["ret"] = {"Retta"},<br />
["rey"] = {"Reyesano"},<br />
["rga"] = {"Roria"},<br />
["rge"] = {"Romano-Greek"},<br />
["rgk"] = {"Rangkas"},<br />
["rgn"] = {"Romagnol"},<br />
["rgr"] = {"Resígaro"},<br />
["rgs"] = {"Southern Roglai"},<br />
["rgu"] = {"Ringgou"},<br />
["rhg"] = {"Rohingya"},<br />
["rhp"] = {"Yahang"},<br />
["ria"] = {"Riang (India)"},<br />
["rib"] = {"Bribri Sign Language"},<br />
["rif"] = {"Tarifit"},<br />
["ril"] = {"Riang Lang", "Riang (Myanmar)"},<br />
["rim"] = {"Nyaturu"},<br />
["rin"] = {"Nungu"},<br />
["rir"] = {"Ribun"},<br />
["rit"] = {"Ritharrngu"},<br />
["riu"] = {"Riung"},<br />
["rjg"] = {"Rajong"},<br />
["rji"] = {"Raji"},<br />
["rjs"] = {"Rajbanshi"},<br />
["rka"] = {"Kraol"},<br />
["rkb"] = {"Rikbaktsa"},<br />
["rkh"] = {"Rakahanga-Manihiki"},<br />
["rki"] = {"Rakhine"},<br />
["rkm"] = {"Marka"},<br />
["rkt"] = {"Rangpuri", "Kamta"},<br />
["rkw"] = {"Arakwal"},<br />
["rma"] = {"Rama"},<br />
["rmb"] = {"Rembarrnga"},<br />
["rmc"] = {"Carpathian Romani"},<br />
["rmd"] = {"Traveller Danish"},<br />
["rme"] = {"Angloromani"},<br />
["rmf"] = {"Kalo Finnish Romani"},<br />
["rmg"] = {"Traveller Norwegian"},<br />
["rmh"] = {"Murkim"},<br />
["rmi"] = {"Lomavren"},<br />
["rmk"] = {"Romkun"},<br />
["rml"] = {"Baltic Romani"},<br />
["rmm"] = {"Roma"},<br />
["rmn"] = {"Balkan Romani"},<br />
["rmo"] = {"Sinte Romani"},<br />
["rmp"] = {"Rempi"},<br />
["rmq"] = {"Caló"},<br />
["rms"] = {"Romanian Sign Language"},<br />
["rmt"] = {"Domari"},<br />
["rmu"] = {"Tavringer Romani"},<br />
["rmv"] = {"Romanova"},<br />
["rmw"] = {"Welsh Romani"},<br />
["rmx"] = {"Romam"},<br />
["rmy"] = {"Vlax Romani"},<br />
["rmz"] = {"Marma"},<br />
["rnb"] = {"Brunca Sign Language"},<br />
["rnd"] = {"Ruund"},<br />
["rng"] = {"Ronga"},<br />
["rnl"] = {"Ranglong"},<br />
["rnn"] = {"Roon"},<br />
["rnp"] = {"Rongpo"},<br />
["rnr"] = {"Nari Nari"},<br />
["rnw"] = {"Rungwa"},<br />
["roa"] = {"Romance languages"},<br />
["rob"] = {"Tae'"},<br />
["roc"] = {"Cacgia Roglai"},<br />
["rod"] = {"Rogo"},<br />
["roe"] = {"Ronji"},<br />
["rof"] = {"Rombo"},<br />
["rog"] = {"Northern Roglai"},<br />
["rol"] = {"Romblomanon"},<br />
["rom"] = {"Romany"},<br />
["roo"] = {"Rotokas"},<br />
["rop"] = {"Kriol"},<br />
["ror"] = {"Rongga"},<br />
["rou"] = {"Runga"},<br />
["row"] = {"Dela-Oenale"},<br />
["rpn"] = {"Repanbitip"},<br />
["rpt"] = {"Rapting"},<br />
["rri"] = {"Ririo"},<br />
["rro"] = {"Waima"},<br />
["rrt"] = {"Arritinngithigh"},<br />
["rsb"] = {"Romano-Serbian"},<br />
["rsk"] = {"Ruthenian", "Rusyn"},<br />
["rsl"] = {"Russian Sign Language"},<br />
["rsm"] = {"Miriwoong Sign Language"},<br />
["rsn"] = {"Rwandan Sign Language"},<br />
["rtc"] = {"Rungtu Chin"},<br />
["rth"] = {"Ratahan"},<br />
["rtm"] = {"Rotuman"},<br />
["rts"] = {"Yurats"},<br />
["rtw"] = {"Rathawi"},<br />
["rub"] = {"Gungu"},<br />
["ruc"] = {"Ruuli"},<br />
["rue"] = {"Rusyn"},<br />
["ruf"] = {"Luguru"},<br />
["rug"] = {"Roviana"},<br />
["ruh"] = {"Ruga"},<br />
["rui"] = {"Rufiji"},<br />
["ruk"] = {"Che"},<br />
["ruo"] = {"Istro Romanian"},<br />
["rup"] = {"Macedo-Romanian", "Aromanian", "Arumanian"},<br />
["ruq"] = {"Megleno Romanian"},<br />
["rut"] = {"Rutul"},<br />
["ruu"] = {"Lanas Lobu"},<br />
["ruy"] = {"Mala (Nigeria)"},<br />
["ruz"] = {"Ruma"},<br />
["rwa"] = {"Rawo"},<br />
["rwk"] = {"Rwa"},<br />
["rwl"] = {"Ruwila"},<br />
["rwm"] = {"Amba (Uganda)"},<br />
["rwo"] = {"Rawa"},<br />
["rwr"] = {"Marwari (India)"},<br />
["rxd"] = {"Ngardi"},<br />
["rxw"] = {"Karuwali", "Garuwali"},<br />
["ryn"] = {"Northern Amami-Oshima"},<br />
["rys"] = {"Yaeyama"},<br />
["ryu"] = {"Central Okinawan"},<br />
["rzh"] = {"Rāziḥī"},<br />
["saa"] = {"Saba"},<br />
["sab"] = {"Buglere"},<br />
["sac"] = {"Meskwaki"},<br />
["sad"] = {"Sandawe"},<br />
["sae"] = {"Sabanê"},<br />
["saf"] = {"Safaliba"},<br />
["sah"] = {"Yakut"},<br />
["sai"] = {"South American Indian languages"},<br />
["saj"] = {"Sahu"},<br />
["sak"] = {"Sake"},<br />
["sal"] = {"Salishan languages"},<br />
["sam"] = {"Samaritan Aramaic"},<br />
["sao"] = {"Sause"},<br />
["saq"] = {"Samburu"},<br />
["sar"] = {"Saraveca"},<br />
["sas"] = {"Sasak"},<br />
["sat"] = {"Santali"},<br />
["sau"] = {"Saleman"},<br />
["sav"] = {"Saafi-Saafi"},<br />
["saw"] = {"Sawi"},<br />
["sax"] = {"Sa"},<br />
["say"] = {"Saya"},<br />
["saz"] = {"Saurashtra"},<br />
["sba"] = {"Ngambay"},<br />
["sbb"] = {"Simbo"},<br />
["sbc"] = {"Kele (Papua New Guinea)"},<br />
["sbd"] = {"Southern Samo"},<br />
["sbe"] = {"Saliba"},<br />
["sbf"] = {"Chabu", "Shabo"},<br />
["sbg"] = {"Seget"},<br />
["sbh"] = {"Sori-Harengan"},<br />
["sbi"] = {"Seti"},<br />
["sbj"] = {"Surbakhal"},<br />
["sbk"] = {"Safwa"},<br />
["sbl"] = {"Botolan Sambal"},<br />
["sbm"] = {"Sagala"},<br />
["sbn"] = {"Sindhi Bhil"},<br />
["sbo"] = {"Sabüm"},<br />
["sbp"] = {"Sangu (Tanzania)"},<br />
["sbq"] = {"Sileibi"},<br />
["sbr"] = {"Sembakung Murut"},<br />
["sbs"] = {"Subiya"},<br />
["sbt"] = {"Kimki"},<br />
["sbu"] = {"Stod Bhoti"},<br />
["sbv"] = {"Sabine"},<br />
["sbw"] = {"Simba"},<br />
["sbx"] = {"Seberuang"},<br />
["sby"] = {"Soli"},<br />
["sbz"] = {"Sara Kaba"},<br />
["scb"] = {"Chut"},<br />
["sce"] = {"Dongxiang"},<br />
["scf"] = {"San Miguel Creole French"},<br />
["scg"] = {"Sanggau"},<br />
["sch"] = {"Sakachep"},<br />
["sci"] = {"Sri Lankan Creole Malay"},<br />
["sck"] = {"Sadri"},<br />
["scl"] = {"Shina"},<br />
["scn"] = {"Sicilian"},<br />
["sco"] = {"Scots"},<br />
["scp"] = {"Hyolmo", "Helambu Sherpa"},<br />
["scq"] = {"Sa'och"},<br />
["scs"] = {"North Slavey"},<br />
["sct"] = {"Southern Katang"},<br />
["scu"] = {"Shumcho"},<br />
["scv"] = {"Sheni"},<br />
["scw"] = {"Sha"},<br />
["scx"] = {"Sicel"},<br />
["sda"] = {"Toraja-Sa'dan"},<br />
["sdb"] = {"Shabak"},<br />
["sdc"] = {"Sassarese Sardinian"},<br />
["sde"] = {"Surubu"},<br />
["sdf"] = {"Sarli"},<br />
["sdg"] = {"Savi"},<br />
["sdh"] = {"Southern Kurdish"},<br />
["sdj"] = {"Suundi"},<br />
["sdk"] = {"Sos Kundi"},<br />
["sdl"] = {"Saudi Arabian Sign Language"},<br />
["sdn"] = {"Gallurese Sardinian"},<br />
["sdo"] = {"Bukar-Sadung Bidayuh"},<br />
["sdp"] = {"Sherdukpen"},<br />
["sdq"] = {"Semandang"},<br />
["sdr"] = {"Oraon Sadri"},<br />
["sds"] = {"Sened"},<br />
["sdt"] = {"Shuadit"},<br />
["sdu"] = {"Sarudu"},<br />
["sdv"] = {"Eastern Sudanic languages"},<br />
["sdx"] = {"Sibu Melanau"},<br />
["sdz"] = {"Sallands"},<br />
["sea"] = {"Semai"},<br />
["seb"] = {"Shempire Senoufo"},<br />
["sec"] = {"Sechelt"},<br />
["sed"] = {"Sedang"},<br />
["see"] = {"Seneca"},<br />
["sef"] = {"Cebaara Senoufo"},<br />
["seg"] = {"Segeju"},<br />
["seh"] = {"Sena"},<br />
["sei"] = {"Seri"},<br />
["sej"] = {"Sene"},<br />
["sek"] = {"Sekani"},<br />
["sel"] = {"Selkup"},<br />
["sem"] = {"Semitic languages"},<br />
["sen"] = {"Nanerigé Sénoufo"},<br />
["seo"] = {"Suarmin"},<br />
["sep"] = {"Sìcìté Sénoufo"},<br />
["seq"] = {"Senara Sénoufo"},<br />
["ser"] = {"Serrano"},<br />
["ses"] = {"Koyraboro Senni Songhai"},<br />
["set"] = {"Sentani"},<br />
["seu"] = {"Serui-Laut"},<br />
["sev"] = {"Nyarafolo Senoufo"},<br />
["sew"] = {"Sewa Bay"},<br />
["sey"] = {"Secoya"},<br />
["sez"] = {"Senthang Chin"},<br />
["sfb"] = {"Langue des signes de Belgique Francophone", "French Belgian Sign Language"},<br />
["sfe"] = {"Eastern Subanen"},<br />
["sfm"] = {"Small Flowery Miao"},<br />
["sfs"] = {"South African Sign Language"},<br />
["sfw"] = {"Sehwi"},<br />
["sga"] = {"Old Irish (to 900)"},<br />
["sgb"] = {"Mag-antsi Ayta"},<br />
["sgc"] = {"Kipsigis"},<br />
["sgd"] = {"Surigaonon"},<br />
["sge"] = {"Segai"},<br />
["sgg"] = {"Swiss-German Sign Language"},<br />
["sgh"] = {"Shughni"},<br />
["sgi"] = {"Suga"},<br />
["sgj"] = {"Surgujia"},<br />
["sgk"] = {"Sangkong"},<br />
["sgm"] = {"Singa"},<br />
["sgn"] = {"Sign languages"},<br />
["sgp"] = {"Singpho"},<br />
["sgr"] = {"Sangisari"},<br />
["sgs"] = {"Samogitian"},<br />
["sgt"] = {"Brokpake"},<br />
["sgu"] = {"Salas"},<br />
["sgw"] = {"Sebat Bet Gurage"},<br />
["sgx"] = {"Sierra Leone Sign Language"},<br />
["sgy"] = {"Sanglechi"},<br />
["sgz"] = {"Sursurunga"},<br />
["sha"] = {"Shall-Zwall"},<br />
["shb"] = {"Ninam"},<br />
["shc"] = {"Sonde"},<br />
["shd"] = {"Kundal Shahi"},<br />
["she"] = {"Sheko"},<br />
["shg"] = {"Shua"},<br />
["shh"] = {"Shoshoni"},<br />
["shi"] = {"Tachelhit"},<br />
["shj"] = {"Shatt"},<br />
["shk"] = {"Shilluk"},<br />
["shl"] = {"Shendu"},<br />
["shm"] = {"Shahrudi"},<br />
["shn"] = {"Shan"},<br />
["sho"] = {"Shanga"},<br />
["shp"] = {"Shipibo-Conibo"},<br />
["shq"] = {"Sala"},<br />
["shr"] = {"Shi"},<br />
["shs"] = {"Shuswap"},<br />
["sht"] = {"Shasta"},<br />
["shu"] = {"Chadian Arabic"},<br />
["shv"] = {"Shehri"},<br />
["shw"] = {"Shwai"},<br />
["shx"] = {"She"},<br />
["shy"] = {"Tachawit"},<br />
["shz"] = {"Syenara Senoufo"},<br />
["sia"] = {"Akkala Sami"},<br />
["sib"] = {"Sebop"},<br />
["sid"] = {"Sidamo"},<br />
["sie"] = {"Simaa"},<br />
["sif"] = {"Siamou"},<br />
["sig"] = {"Paasaal"},<br />
["sih"] = {"Zire", "Sîshëë"},<br />
["sii"] = {"Shom Peng"},<br />
["sij"] = {"Numbami"},<br />
["sik"] = {"Sikiana"},<br />
["sil"] = {"Tumulung Sisaala"},<br />
["sim"] = {"Mende (Papua New Guinea)"},<br />
["sio"] = {"Siouan languages"},<br />
["sip"] = {"Sikkimese"},<br />
["siq"] = {"Sonia"},<br />
["sir"] = {"Siri"},<br />
["sis"] = {"Siuslaw"},<br />
["sit"] = {"Sino-Tibetan languages"},<br />
["siu"] = {"Sinagen"},<br />
["siv"] = {"Sumariup"},<br />
["siw"] = {"Siwai"},<br />
["six"] = {"Sumau"},<br />
["siy"] = {"Sivandi"},<br />
["siz"] = {"Siwi"},<br />
["sja"] = {"Epena"},<br />
["sjb"] = {"Sajau Basap"},<br />
["sjd"] = {"Kildin Sami"},<br />
["sje"] = {"Pite Sami"},<br />
["sjg"] = {"Assangori"},<br />
["sjk"] = {"Kemi Sami"},<br />
["sjl"] = {"Sajalong", "Miji"},<br />
["sjm"] = {"Mapun"},<br />
["sjn"] = {"Sindarin"},<br />
["sjo"] = {"Xibe"},<br />
["sjp"] = {"Surjapuri"},<br />
["sjr"] = {"Siar-Lak"},<br />
["sjs"] = {"Senhaja De Srair"},<br />
["sjt"] = {"Ter Sami"},<br />
["sju"] = {"Ume Sami"},<br />
["sjw"] = {"Shawnee"},<br />
["ska"] = {"Skagit"},<br />
["skb"] = {"Saek"},<br />
["skc"] = {"Ma Manda"},<br />
["skd"] = {"Southern Sierra Miwok"},<br />
["ske"] = {"Seke (Vanuatu)"},<br />
["skf"] = {"Sakirabiá"},<br />
["skg"] = {"Sakalava Malagasy"},<br />
["skh"] = {"Sikule"},<br />
["ski"] = {"Sika"},<br />
["skj"] = {"Seke (Nepal)"},<br />
["skm"] = {"Kutong"},<br />
["skn"] = {"Kolibugan Subanon"},<br />
["sko"] = {"Seko Tengah"},<br />
["skp"] = {"Sekapan"},<br />
["skq"] = {"Sininkere"},<br />
["skr"] = {"Saraiki", "Seraiki"},<br />
["sks"] = {"Maia"},<br />
["skt"] = {"Sakata"},<br />
["sku"] = {"Sakao"},<br />
["skv"] = {"Skou"},<br />
["skw"] = {"Skepi Creole Dutch"},<br />
["skx"] = {"Seko Padang"},<br />
["sky"] = {"Sikaiana"},<br />
["skz"] = {"Sekar"},<br />
["sla"] = {"Slavic languages"},<br />
["slc"] = {"Sáliba"},<br />
["sld"] = {"Sissala"},<br />
["sle"] = {"Sholaga"},<br />
["slf"] = {"Swiss-Italian Sign Language"},<br />
["slg"] = {"Selungai Murut"},<br />
["slh"] = {"Southern Puget Sound Salish"},<br />
["sli"] = {"Lower Silesian"},<br />
["slj"] = {"Salumá"},<br />
["sll"] = {"Salt-Yui"},<br />
["slm"] = {"Pangutaran Sama"},<br />
["sln"] = {"Salinan"},<br />
["slp"] = {"Lamaholot"},<br />
["slq"] = {"Salchuq"},<br />
["slr"] = {"Salar"},<br />
["sls"] = {"Singapore Sign Language"},<br />
["slt"] = {"Sila"},<br />
["slu"] = {"Selaru"},<br />
["slw"] = {"Sialum"},<br />
["slx"] = {"Salampasu"},<br />
["sly"] = {"Selayar"},<br />
["slz"] = {"Ma'ya"},<br />
["sma"] = {"Southern Sami"},<br />
["smb"] = {"Simbari"},<br />
["smc"] = {"Som"},<br />
["smf"] = {"Auwe"},<br />
["smg"] = {"Simbali"},<br />
["smh"] = {"Samei"},<br />
["smi"] = {"Sami languages"},<br />
["smj"] = {"Lule Sami"},<br />
["smk"] = {"Bolinao"},<br />
["sml"] = {"Central Sama"},<br />
["smm"] = {"Musasa"},<br />
["smn"] = {"Inari Sami"},<br />
["smp"] = {"Samaritan"},<br />
["smq"] = {"Samo"},<br />
["smr"] = {"Simeulue"},<br />
["sms"] = {"Skolt Sami"},<br />
["smt"] = {"Simte"},<br />
["smu"] = {"Somray"},<br />
["smv"] = {"Samvedi"},<br />
["smw"] = {"Sumbawa"},<br />
["smx"] = {"Samba"},<br />
["smy"] = {"Semnani"},<br />
["smz"] = {"Simeku"},<br />
["snc"] = {"Sinaugoro"},<br />
["sne"] = {"Bau Bidayuh"},<br />
["snf"] = {"Noon"},<br />
["sng"] = {"Sanga (Democratic Republic of Congo)"},<br />
["sni"] = {"Sensi"},<br />
["snj"] = {"Riverain Sango"},<br />
["snk"] = {"Soninke"},<br />
["snl"] = {"Sangil"},<br />
["snm"] = {"Southern Ma'di"},<br />
["snn"] = {"Siona"},<br />
["sno"] = {"Snohomish"},<br />
["snp"] = {"Siane"},<br />
["snq"] = {"Sangu (Gabon)"},<br />
["snr"] = {"Sihan"},<br />
["sns"] = {"South West Bay", "Nahavaq"},<br />
["snu"] = {"Senggi", "Viid"},<br />
["snv"] = {"Sa'ban"},<br />
["snw"] = {"Selee"},<br />
["snx"] = {"Sam"},<br />
["sny"] = {"Saniyo-Hiyewe"},<br />
["snz"] = {"Kou"},<br />
["soa"] = {"Thai Song"},<br />
["sob"] = {"Sobei"},<br />
["soc"] = {"So (Democratic Republic of Congo)"},<br />
["sod"] = {"Songoora"},<br />
["soe"] = {"Songomeno"},<br />
["sog"] = {"Sogdian"},<br />
["soh"] = {"Aka"},<br />
["soi"] = {"Sonha"},<br />
["soj"] = {"Soi"},<br />
["sok"] = {"Sokoro"},<br />
["sol"] = {"Solos"},<br />
["son"] = {"Songhai languages"},<br />
["soo"] = {"Songo"},<br />
["sop"] = {"Songe"},<br />
["soq"] = {"Kanasi"},<br />
["sor"] = {"Somrai"},<br />
["sos"] = {"Seeku"},<br />
["sou"] = {"Southern Thai"},<br />
["sov"] = {"Sonsorol"},<br />
["sow"] = {"Sowanda"},<br />
["sox"] = {"Swo"},<br />
["soy"] = {"Miyobe"},<br />
["soz"] = {"Temi"},<br />
["spb"] = {"Sepa (Indonesia)"},<br />
["spc"] = {"Sapé"},<br />
["spd"] = {"Saep"},<br />
["spe"] = {"Sepa (Papua New Guinea)"},<br />
["spg"] = {"Sian"},<br />
["spi"] = {"Saponi"},<br />
["spk"] = {"Sengo"},<br />
["spl"] = {"Selepet"},<br />
["spm"] = {"Akukem"},<br />
["spn"] = {"Sanapaná"},<br />
["spo"] = {"Spokane"},<br />
["spp"] = {"Supyire Senoufo"},<br />
["spq"] = {"Loreto-Ucayali Spanish"},<br />
["spr"] = {"Saparua"},<br />
["sps"] = {"Saposa"},<br />
["spt"] = {"Spiti Bhoti"},<br />
["spu"] = {"Sapuan"},<br />
["spv"] = {"Sambalpuri", "Kosli"},<br />
["spx"] = {"South Picene"},<br />
["spy"] = {"Sabaot"},<br />
["sqa"] = {"Shama-Sambuga"},<br />
["sqh"] = {"Shau"},<br />
["sqj"] = {"Albanian languages"},<br />
["sqk"] = {"Albanian Sign Language"},<br />
["sqm"] = {"Suma"},<br />
["sqn"] = {"Susquehannock"},<br />
["sqo"] = {"Sorkhei"},<br />
["sqq"] = {"Sou"},<br />
["sqr"] = {"Siculo Arabic"},<br />
["sqs"] = {"Sri Lankan Sign Language"},<br />
["sqt"] = {"Soqotri"},<br />
["squ"] = {"Squamish"},<br />
["sqx"] = {"Kufr Qassem Sign Language (KQSL)"},<br />
["sra"] = {"Saruga"},<br />
["srb"] = {"Sora"},<br />
["src"] = {"Logudorese Sardinian"},<br />
["sre"] = {"Sara"},<br />
["srf"] = {"Nafi"},<br />
["srg"] = {"Sulod"},<br />
["srh"] = {"Sarikoli"},<br />
["sri"] = {"Siriano"},<br />
["srk"] = {"Serudung Murut"},<br />
["srl"] = {"Isirawa"},<br />
["srm"] = {"Saramaccan"},<br />
["srn"] = {"Sranan Tongo"},<br />
["sro"] = {"Campidanese Sardinian"},<br />
["srq"] = {"Sirionó"},<br />
["srr"] = {"Serer"},<br />
["srs"] = {"Sarsi"},<br />
["srt"] = {"Sauri"},<br />
["sru"] = {"Suruí"},<br />
["srv"] = {"Southern Sorsoganon"},<br />
["srw"] = {"Serua"},<br />
["srx"] = {"Sirmauri"},<br />
["sry"] = {"Sera"},<br />
["srz"] = {"Shahmirzadi"},<br />
["ssa"] = {"Nilo-Saharan languages"},<br />
["ssb"] = {"Southern Sama"},<br />
["ssc"] = {"Suba-Simbiti"},<br />
["ssd"] = {"Siroi"},<br />
["sse"] = {"Balangingi", "Bangingih Sama"},<br />
["ssf"] = {"Thao"},<br />
["ssg"] = {"Seimat"},<br />
["ssh"] = {"Shihhi Arabic"},<br />
["ssi"] = {"Sansi"},<br />
["ssj"] = {"Sausi"},<br />
["ssk"] = {"Sunam"},<br />
["ssl"] = {"Western Sisaala"},<br />
["ssm"] = {"Semnam"},<br />
["ssn"] = {"Waata"},<br />
["sso"] = {"Sissano"},<br />
["ssp"] = {"Spanish Sign Language"},<br />
["ssq"] = {"So'a"},<br />
["ssr"] = {"Swiss-French Sign Language"},<br />
["sss"] = {"Sô"},<br />
["sst"] = {"Sinasina"},<br />
["ssu"] = {"Susuami"},<br />
["ssv"] = {"Shark Bay"},<br />
["ssx"] = {"Samberigi"},<br />
["ssy"] = {"Saho"},<br />
["ssz"] = {"Sengseng"},<br />
["sta"] = {"Settla"},<br />
["stb"] = {"Northern Subanen"},<br />
["std"] = {"Sentinel"},<br />
["ste"] = {"Liana-Seti"},<br />
["stf"] = {"Seta"},<br />
["stg"] = {"Trieng"},<br />
["sth"] = {"Shelta"},<br />
["sti"] = {"Bulo Stieng"},<br />
["stj"] = {"Matya Samo"},<br />
["stk"] = {"Arammba"},<br />
["stl"] = {"Stellingwerfs"},<br />
["stm"] = {"Setaman"},<br />
["stn"] = {"Owa"},<br />
["sto"] = {"Stoney"},<br />
["stp"] = {"Southeastern Tepehuan"},<br />
["stq"] = {"Saterfriesisch"},<br />
["str"] = {"Straits Salish"},<br />
["sts"] = {"Shumashti"},<br />
["stt"] = {"Budeh Stieng"},<br />
["stu"] = {"Samtao"},<br />
["stv"] = {"Silt'e"},<br />
["stw"] = {"Satawalese"},<br />
["sty"] = {"Siberian Tatar"},<br />
["sua"] = {"Sulka"},<br />
["sub"] = {"Suku"},<br />
["suc"] = {"Western Subanon"},<br />
["sue"] = {"Suena"},<br />
["sug"] = {"Suganga"},<br />
["sui"] = {"Suki"},<br />
["suj"] = {"Shubi"},<br />
["suk"] = {"Sukuma"},<br />
["suo"] = {"Bouni"},<br />
["suq"] = {"Tirmaga-Chai Suri", "Suri"},<br />
["sur"] = {"Mwaghavul"},<br />
["sus"] = {"Susu"},<br />
["sut"] = {"Subtiaba"},<br />
["suv"] = {"Puroik"},<br />
["suw"] = {"Sumbwa"},<br />
["sux"] = {"Sumerian"},<br />
["suy"] = {"Suyá"},<br />
["suz"] = {"Sunwar"},<br />
["sva"] = {"Svan"},<br />
["svb"] = {"Ulau-Suain"},<br />
["svc"] = {"Vincentian Creole English"},<br />
["sve"] = {"Serili"},<br />
["svk"] = {"Slovakian Sign Language"},<br />
["svm"] = {"Slavomolisano"},<br />
["svs"] = {"Savosavo"},<br />
["svx"] = {"Skalvian"},<br />
["swb"] = {"Maore Comorian"},<br />
["swc"] = {"Congo Swahili"},<br />
["swf"] = {"Sere"},<br />
["swg"] = {"Swabian"},<br />
["swh"] = {"Swahili (individual language)", "Kiswahili"},<br />
["swi"] = {"Sui"},<br />
["swj"] = {"Sira"},<br />
["swk"] = {"Malawi Sena"},<br />
["swl"] = {"Swedish Sign Language"},<br />
["swm"] = {"Samosa"},<br />
["swn"] = {"Sawknah"},<br />
["swo"] = {"Shanenawa"},<br />
["swp"] = {"Suau"},<br />
["swq"] = {"Sharwa"},<br />
["swr"] = {"Saweru"},<br />
["sws"] = {"Seluwasan"},<br />
["swt"] = {"Sawila"},<br />
["swu"] = {"Suwawa"},<br />
["swv"] = {"Shekhawati"},<br />
["sww"] = {"Sowa"},<br />
["swx"] = {"Suruahá"},<br />
["swy"] = {"Sarua"},<br />
["sxb"] = {"Suba"},<br />
["sxc"] = {"Sicanian"},<br />
["sxe"] = {"Sighu"},<br />
["sxg"] = {"Shuhi", "Shixing"},<br />
["sxk"] = {"Southern Kalapuya"},<br />
["sxl"] = {"Selian"},<br />
["sxm"] = {"Samre"},<br />
["sxn"] = {"Sangir"},<br />
["sxo"] = {"Sorothaptic"},<br />
["sxr"] = {"Saaroa"},<br />
["sxs"] = {"Sasaru"},<br />
["sxu"] = {"Upper Saxon"},<br />
["sxw"] = {"Saxwe Gbe"},<br />
["sya"] = {"Siang"},<br />
["syb"] = {"Central Subanen"},<br />
["syc"] = {"Classical Syriac"},<br />
["syd"] = {"Samoyedic languages"},<br />
["syi"] = {"Seki"},<br />
["syk"] = {"Sukur"},<br />
["syl"] = {"Sylheti"},<br />
["sym"] = {"Maya Samo"},<br />
["syn"] = {"Senaya"},<br />
["syo"] = {"Suoy"},<br />
["syr"] = {"Syriac"},<br />
["sys"] = {"Sinyar"},<br />
["syw"] = {"Kagate"},<br />
["syx"] = {"Samay"},<br />
["syy"] = {"Al-Sayyid Bedouin Sign Language"},<br />
["sza"] = {"Semelai"},<br />
["szb"] = {"Ngalum"},<br />
["szc"] = {"Semaq Beri"},<br />
["szd"] = {"Seru"},<br />
["sze"] = {"Seze"},<br />
["szg"] = {"Sengele"},<br />
["szl"] = {"Silesian"},<br />
["szn"] = {"Sula"},<br />
["szp"] = {"Suabo"},<br />
["szs"] = {"Solomon Islands Sign Language"},<br />
["szv"] = {"Isu (Fako Division)"},<br />
["szw"] = {"Sawai"},<br />
["szy"] = {"Sakizaya"},<br />
["taa"] = {"Lower Tanana"},<br />
["tab"] = {"Tabassaran"},<br />
["tac"] = {"Lowland Tarahumara"},<br />
["tad"] = {"Tause"},<br />
["tae"] = {"Tariana"},<br />
["taf"] = {"Tapirapé"},<br />
["tag"] = {"Tagoi"},<br />
["tai"] = {"Tai languages"},<br />
["taj"] = {"Eastern Tamang"},<br />
["tak"] = {"Tala"},<br />
["tal"] = {"Tal"},<br />
["tan"] = {"Tangale"},<br />
["tao"] = {"Yami"},<br />
["tap"] = {"Taabwa"},<br />
["taq"] = {"Tamasheq"},<br />
["tar"] = {"Central Tarahumara"},<br />
["tas"] = {"Tay Boi"},<br />
["tau"] = {"Upper Tanana"},<br />
["tav"] = {"Tatuyo"},<br />
["taw"] = {"Tai"},<br />
["tax"] = {"Tamki"},<br />
["tay"] = {"Atayal"},<br />
["taz"] = {"Tocho"},<br />
["tba"] = {"Aikanã"},<br />
["tbc"] = {"Takia"},<br />
["tbd"] = {"Kaki Ae"},<br />
["tbe"] = {"Tanimbili"},<br />
["tbf"] = {"Mandara"},<br />
["tbg"] = {"North Tairora"},<br />
["tbh"] = {"Dharawal", "Thurawal"},<br />
["tbi"] = {"Gaam"},<br />
["tbj"] = {"Tiang"},<br />
["tbk"] = {"Calamian Tagbanwa"},<br />
["tbl"] = {"Tboli"},<br />
["tbm"] = {"Tagbu"},<br />
["tbn"] = {"Barro Negro Tunebo"},<br />
["tbo"] = {"Tawala"},<br />
["tbp"] = {"Taworta", "Diebroud"},<br />
["tbq"] = {"Tibeto-Burman languages"},<br />
["tbr"] = {"Tumtum"},<br />
["tbs"] = {"Tanguat"},<br />
["tbt"] = {"Tembo (Kitembo)"},<br />
["tbu"] = {"Tubar"},<br />
["tbv"] = {"Tobo"},<br />
["tbw"] = {"Tagbanwa"},<br />
["tbx"] = {"Kapin"},<br />
["tby"] = {"Tabaru"},<br />
["tbz"] = {"Ditammari"},<br />
["tca"] = {"Ticuna"},<br />
["tcb"] = {"Tanacross"},<br />
["tcc"] = {"Datooga"},<br />
["tcd"] = {"Tafi"},<br />
["tce"] = {"Southern Tutchone"},<br />
["tcf"] = {"Malinaltepec Me'phaa", "Malinaltepec Tlapanec"},<br />
["tcg"] = {"Tamagario"},<br />
["tch"] = {"Turks And Caicos Creole English"},<br />
["tci"] = {"Wára"},<br />
["tck"] = {"Tchitchege"},<br />
["tcl"] = {"Taman (Myanmar)"},<br />
["tcm"] = {"Tanahmerah"},<br />
["tcn"] = {"Tichurong"},<br />
["tco"] = {"Taungyo"},<br />
["tcp"] = {"Tawr Chin"},<br />
["tcq"] = {"Kaiy"},<br />
["tcs"] = {"Torres Strait Creole", "Yumplatok"},<br />
["tct"] = {"T'en"},<br />
["tcu"] = {"Southeastern Tarahumara"},<br />
["tcw"] = {"Tecpatlán Totonac"},<br />
["tcx"] = {"Toda"},<br />
["tcy"] = {"Tulu"},<br />
["tcz"] = {"Thado Chin"},<br />
["tda"] = {"Tagdal"},<br />
["tdb"] = {"Panchpargania"},<br />
["tdc"] = {"Emberá-Tadó"},<br />
["tdd"] = {"Tai Nüa"},<br />
["tde"] = {"Tiranige Diga Dogon"},<br />
["tdf"] = {"Talieng"},<br />
["tdg"] = {"Western Tamang"},<br />
["tdh"] = {"Thulung"},<br />
["tdi"] = {"Tomadino"},<br />
["tdj"] = {"Tajio"},<br />
["tdk"] = {"Tambas"},<br />
["tdl"] = {"Sur"},<br />
["tdm"] = {"Taruma"},<br />
["tdn"] = {"Tondano"},<br />
["tdo"] = {"Teme"},<br />
["tdq"] = {"Tita"},<br />
["tdr"] = {"Todrah"},<br />
["tds"] = {"Doutai"},<br />
["tdt"] = {"Tetun Dili"},<br />
["tdv"] = {"Toro"},<br />
["tdx"] = {"Tandroy-Mahafaly Malagasy"},<br />
["tdy"] = {"Tadyawan"},<br />
["tea"] = {"Temiar"},<br />
["teb"] = {"Tetete"},<br />
["tec"] = {"Terik"},<br />
["ted"] = {"Tepo Krumen"},<br />
["tee"] = {"Huehuetla Tepehua"},<br />
["tef"] = {"Teressa"},<br />
["teg"] = {"Teke-Tege"},<br />
["teh"] = {"Tehuelche"},<br />
["tei"] = {"Torricelli"},<br />
["tek"] = {"Ibali Teke"},<br />
["tem"] = {"Timne"},<br />
["ten"] = {"Tama (Colombia)"},<br />
["teo"] = {"Teso"},<br />
["tep"] = {"Tepecano"},<br />
["teq"] = {"Temein"},<br />
["ter"] = {"Tereno"},<br />
["tes"] = {"Tengger"},<br />
["tet"] = {"Tetum"},<br />
["teu"] = {"Soo"},<br />
["tev"] = {"Teor"},<br />
["tew"] = {"Tewa (USA)"},<br />
["tex"] = {"Tennet"},<br />
["tey"] = {"Tulishi"},<br />
["tez"] = {"Tetserret"},<br />
["tfi"] = {"Tofin Gbe"},<br />
["tfn"] = {"Tanaina"},<br />
["tfo"] = {"Tefaro"},<br />
["tfr"] = {"Teribe"},<br />
["tft"] = {"Ternate"},<br />
["tga"] = {"Sagalla"},<br />
["tgb"] = {"Tobilung"},<br />
["tgc"] = {"Tigak"},<br />
["tgd"] = {"Ciwogai"},<br />
["tge"] = {"Eastern Gorkha Tamang"},<br />
["tgf"] = {"Chalikha"},<br />
["tgh"] = {"Tobagonian Creole English"},<br />
["tgi"] = {"Lawunuia"},<br />
["tgj"] = {"Tagin"},<br />
["tgn"] = {"Tandaganon"},<br />
["tgo"] = {"Sudest"},<br />
["tgp"] = {"Tangoa"},<br />
["tgq"] = {"Tring"},<br />
["tgr"] = {"Tareng"},<br />
["tgs"] = {"Nume"},<br />
["tgt"] = {"Central Tagbanwa"},<br />
["tgu"] = {"Tanggu"},<br />
["tgv"] = {"Tingui-Boto"},<br />
["tgw"] = {"Tagwana Senoufo"},<br />
["tgx"] = {"Tagish"},<br />
["tgy"] = {"Togoyo"},<br />
["tgz"] = {"Tagalaka"},<br />
["thd"] = {"Kuuk Thaayorre", "Thayore"},<br />
["the"] = {"Chitwania Tharu"},<br />
["thf"] = {"Thangmi"},<br />
["thh"] = {"Northern Tarahumara"},<br />
["thi"] = {"Tai Long"},<br />
["thk"] = {"Tharaka", "Kitharaka"},<br />
["thl"] = {"Dangaura Tharu"},<br />
["thm"] = {"Aheu"},<br />
["thn"] = {"Thachanadan"},<br />
["thp"] = {"Thompson"},<br />
["thq"] = {"Kochila Tharu"},<br />
["thr"] = {"Rana Tharu"},<br />
["ths"] = {"Thakali"},<br />
["tht"] = {"Tahltan"},<br />
["thu"] = {"Thuri"},<br />
["thv"] = {"Tahaggart Tamahaq"},<br />
["thy"] = {"Tha"},<br />
["thz"] = {"Tayart Tamajeq"},<br />
["tia"] = {"Tidikelt Tamazight"},<br />
["tic"] = {"Tira"},<br />
["tif"] = {"Tifal"},<br />
["tig"] = {"Tigre"},<br />
["tih"] = {"Timugon Murut"},<br />
["tii"] = {"Tiene"},<br />
["tij"] = {"Tilung"},<br />
["tik"] = {"Tikar"},<br />
["til"] = {"Tillamook"},<br />
["tim"] = {"Timbe"},<br />
["tin"] = {"Tindi"},<br />
["tio"] = {"Teop"},<br />
["tip"] = {"Trimuris"},<br />
["tiq"] = {"Tiéfo"},<br />
["tis"] = {"Masadiit Itneg"},<br />
["tit"] = {"Tinigua"},<br />
["tiu"] = {"Adasen"},<br />
["tiv"] = {"Tiv"},<br />
["tiw"] = {"Tiwi"},<br />
["tix"] = {"Southern Tiwa"},<br />
["tiy"] = {"Tiruray"},<br />
["tiz"] = {"Tai Hongjin"},<br />
["tja"] = {"Tajuasohn"},<br />
["tjg"] = {"Tunjung"},<br />
["tji"] = {"Northern Tujia"},<br />
["tjj"] = {"Tjungundji"},<br />
["tjl"] = {"Tai Laing"},<br />
["tjm"] = {"Timucua"},<br />
["tjn"] = {"Tonjon"},<br />
["tjo"] = {"Temacine Tamazight"},<br />
["tjp"] = {"Tjupany"},<br />
["tjs"] = {"Southern Tujia"},<br />
["tju"] = {"Tjurruru"},<br />
["tjw"] = {"Djabwurrung"},<br />
["tka"] = {"Truká"},<br />
["tkb"] = {"Buksa"},<br />
["tkd"] = {"Tukudede"},<br />
["tke"] = {"Takwane"},<br />
["tkf"] = {"Tukumanféd"},<br />
["tkg"] = {"Tesaka Malagasy"},<br />
["tkl"] = {"Tokelau"},<br />
["tkm"] = {"Takelma"},<br />
["tkn"] = {"Toku-No-Shima"},<br />
["tkp"] = {"Tikopia"},<br />
["tkq"] = {"Tee"},<br />
["tkr"] = {"Tsakhur"},<br />
["tks"] = {"Takestani"},<br />
["tkt"] = {"Kathoriya Tharu"},<br />
["tku"] = {"Upper Necaxa Totonac"},<br />
["tkv"] = {"Mur Pano"},<br />
["tkw"] = {"Teanu"},<br />
["tkx"] = {"Tangko"},<br />
["tkz"] = {"Takua"},<br />
["tla"] = {"Southwestern Tepehuan"},<br />
["tlb"] = {"Tobelo"},<br />
["tlc"] = {"Yecuatla Totonac"},<br />
["tld"] = {"Talaud"},<br />
["tlf"] = {"Telefol"},<br />
["tlg"] = {"Tofanma"},<br />
["tlh"] = {"Klingon", "tlhIngan Hol"},<br />
["tli"] = {"Tlingit"},<br />
["tlj"] = {"Talinga-Bwisi"},<br />
["tlk"] = {"Taloki"},<br />
["tll"] = {"Tetela"},<br />
["tlm"] = {"Tolomako"},<br />
["tln"] = {"Talondo'"},<br />
["tlo"] = {"Talodi"},<br />
["tlp"] = {"Filomena Mata-Coahuitlán Totonac"},<br />
["tlq"] = {"Tai Loi"},<br />
["tlr"] = {"Talise"},<br />
["tls"] = {"Tambotalo"},<br />
["tlt"] = {"Sou Nama", "Teluti"},<br />
["tlu"] = {"Tulehu"},<br />
["tlv"] = {"Taliabu"},<br />
["tlx"] = {"Khehek"},<br />
["tly"] = {"Talysh"},<br />
["tma"] = {"Tama (Chad)"},<br />
["tmb"] = {"Katbol", "Avava"},<br />
["tmc"] = {"Tumak"},<br />
["tmd"] = {"Haruai"},<br />
["tme"] = {"Tremembé"},<br />
["tmf"] = {"Toba-Maskoy"},<br />
["tmg"] = {"Ternateño"},<br />
["tmh"] = {"Tamashek"},<br />
["tmi"] = {"Tutuba"},<br />
["tmj"] = {"Samarokena"},<br />
["tmk"] = {"Northwestern Tamang"},<br />
["tml"] = {"Tamnim Citak"},<br />
["tmm"] = {"Tai Thanh"},<br />
["tmn"] = {"Taman (Indonesia)"},<br />
["tmo"] = {"Temoq"},<br />
["tmq"] = {"Tumleo"},<br />
["tmr"] = {"Jewish Babylonian Aramaic (ca. 200-1200 CE)"},<br />
["tms"] = {"Tima"},<br />
["tmt"] = {"Tasmate"},<br />
["tmu"] = {"Iau"},<br />
["tmv"] = {"Tembo (Motembo)"},<br />
["tmw"] = {"Temuan"},<br />
["tmy"] = {"Tami"},<br />
["tmz"] = {"Tamanaku"},<br />
["tna"] = {"Tacana"},<br />
["tnb"] = {"Western Tunebo"},<br />
["tnc"] = {"Tanimuca-Retuarã"},<br />
["tnd"] = {"Angosturas Tunebo"},<br />
["tng"] = {"Tobanga"},<br />
["tnh"] = {"Maiani"},<br />
["tni"] = {"Tandia"},<br />
["tnk"] = {"Kwamera"},<br />
["tnl"] = {"Lenakel"},<br />
["tnm"] = {"Tabla"},<br />
["tnn"] = {"North Tanna"},<br />
["tno"] = {"Toromono"},<br />
["tnp"] = {"Whitesands"},<br />
["tnq"] = {"Taino"},<br />
["tnr"] = {"Ménik"},<br />
["tns"] = {"Tenis"},<br />
["tnt"] = {"Tontemboan"},<br />
["tnu"] = {"Tay Khang"},<br />
["tnv"] = {"Tangchangya"},<br />
["tnw"] = {"Tonsawang"},<br />
["tnx"] = {"Tanema"},<br />
["tny"] = {"Tongwe"},<br />
["tnz"] = {"Ten'edn"},<br />
["tob"] = {"Toba"},<br />
["toc"] = {"Coyutla Totonac"},<br />
["tod"] = {"Toma"},<br />
["tof"] = {"Gizrra"},<br />
["tog"] = {"Tonga (Nyasa)"},<br />
["toh"] = {"Gitonga"},<br />
["toi"] = {"Tonga (Zambia)"},<br />
["toj"] = {"Tojolabal"},<br />
["tok"] = {"Toki Pona"},<br />
["tol"] = {"Tolowa"},<br />
["tom"] = {"Tombulu"},<br />
["too"] = {"Xicotepec De Juárez Totonac"},<br />
["top"] = {"Papantla Totonac"},<br />
["toq"] = {"Toposa"},<br />
["tor"] = {"Togbo-Vara Banda"},<br />
["tos"] = {"Highland Totonac"},<br />
["tou"] = {"Tho"},<br />
["tov"] = {"Upper Taromi"},<br />
["tow"] = {"Jemez"},<br />
["tox"] = {"Tobian"},<br />
["toy"] = {"Topoiyo"},<br />
["toz"] = {"To"},<br />
["tpa"] = {"Taupota"},<br />
["tpc"] = {"Azoyú Me'phaa", "Azoyú Tlapanec"},<br />
["tpe"] = {"Tippera"},<br />
["tpf"] = {"Tarpia"},<br />
["tpg"] = {"Kula"},<br />
["tpi"] = {"Tok Pisin"},<br />
["tpj"] = {"Tapieté"},<br />
["tpk"] = {"Tupinikin"},<br />
["tpl"] = {"Tlacoapa Me'phaa", "Tlacoapa Tlapanec"},<br />
["tpm"] = {"Tampulma"},<br />
["tpn"] = {"Tupinambá"},<br />
["tpo"] = {"Tai Pao"},<br />
["tpp"] = {"Pisaflores Tepehua"},<br />
["tpq"] = {"Tukpa"},<br />
["tpr"] = {"Tuparí"},<br />
["tpt"] = {"Tlachichilco Tepehua"},<br />
["tpu"] = {"Tampuan"},<br />
["tpv"] = {"Tanapag"},<br />
["tpw"] = {"Tupí"},<br />
["tpx"] = {"Acatepec Me'phaa", "Acatepec Tlapanec"},<br />
["tpy"] = {"Trumai"},<br />
["tpz"] = {"Tinputz"},<br />
["tqb"] = {"Tembé"},<br />
["tql"] = {"Lehali"},<br />
["tqm"] = {"Turumsa"},<br />
["tqn"] = {"Tenino"},<br />
["tqo"] = {"Toaripi"},<br />
["tqp"] = {"Tomoip"},<br />
["tqq"] = {"Tunni"},<br />
["tqr"] = {"Torona"},<br />
["tqt"] = {"Western Totonac"},<br />
["tqu"] = {"Touo"},<br />
["tqw"] = {"Tonkawa"},<br />
["tra"] = {"Tirahi"},<br />
["trb"] = {"Terebu"},<br />
["trc"] = {"Copala Triqui"},<br />
["trd"] = {"Turi"},<br />
["tre"] = {"East Tarangan"},<br />
["trf"] = {"Trinidadian Creole English"},<br />
["trg"] = {"Lishán Didán"},<br />
["trh"] = {"Turaka"},<br />
["tri"] = {"Trió"},<br />
["trj"] = {"Toram"},<br />
["trk"] = {"Turkic languages"},<br />
["trl"] = {"Traveller Scottish"},<br />
["trm"] = {"Tregami"},<br />
["trn"] = {"Trinitario"},<br />
["tro"] = {"Tarao Naga"},<br />
["trp"] = {"Kok Borok"},<br />
["trq"] = {"San Martín Itunyoso Triqui"},<br />
["trr"] = {"Taushiro"},<br />
["trs"] = {"Chicahuaxtla Triqui"},<br />
["trt"] = {"Tunggare"},<br />
["tru"] = {"Turoyo", "Surayt"},<br />
["trv"] = {"Sediq", "Seediq", "Taroko"},<br />
["trw"] = {"Torwali"},<br />
["trx"] = {"Tringgus-Sembaan Bidayuh"},<br />
["try"] = {"Turung"},<br />
["trz"] = {"Torá"},<br />
["tsa"] = {"Tsaangi"},<br />
["tsb"] = {"Tsamai"},<br />
["tsc"] = {"Tswa"},<br />
["tsd"] = {"Tsakonian"},<br />
["tse"] = {"Tunisian Sign Language"},<br />
["tsg"] = {"Tausug"},<br />
["tsh"] = {"Tsuvan"},<br />
["tsi"] = {"Tsimshian"},<br />
["tsj"] = {"Tshangla"},<br />
["tsk"] = {"Tseku"},<br />
["tsl"] = {"Ts'ün-Lao"},<br />
["tsm"] = {"Turkish Sign Language", "Türk İşaret Dili"},<br />
["tsp"] = {"Northern Toussian"},<br />
["tsq"] = {"Thai Sign Language"},<br />
["tsr"] = {"Akei"},<br />
["tss"] = {"Taiwan Sign Language"},<br />
["tst"] = {"Tondi Songway Kiini"},<br />
["tsu"] = {"Tsou"},<br />
["tsv"] = {"Tsogo"},<br />
["tsw"] = {"Tsishingini"},<br />
["tsx"] = {"Mubami"},<br />
["tsy"] = {"Tebul Sign Language"},<br />
["tsz"] = {"Purepecha"},<br />
["tta"] = {"Tutelo"},<br />
["ttb"] = {"Gaa"},<br />
["ttc"] = {"Tektiteko"},<br />
["ttd"] = {"Tauade"},<br />
["tte"] = {"Bwanabwana"},<br />
["ttf"] = {"Tuotomb"},<br />
["ttg"] = {"Tutong"},<br />
["tth"] = {"Upper Ta'oih"},<br />
["tti"] = {"Tobati"},<br />
["ttj"] = {"Tooro"},<br />
["ttk"] = {"Totoro"},<br />
["ttl"] = {"Totela"},<br />
["ttm"] = {"Northern Tutchone"},<br />
["ttn"] = {"Towei"},<br />
["tto"] = {"Lower Ta'oih"},<br />
["ttp"] = {"Tombelala"},<br />
["ttq"] = {"Tawallammat Tamajaq"},<br />
["ttr"] = {"Tera"},<br />
["tts"] = {"Northeastern Thai"},<br />
["ttt"] = {"Muslim Tat"},<br />
["ttu"] = {"Torau"},<br />
["ttv"] = {"Titan"},<br />
["ttw"] = {"Long Wat"},<br />
["tty"] = {"Sikaritai"},<br />
["ttz"] = {"Tsum"},<br />
["tua"] = {"Wiarumus"},<br />
["tub"] = {"Tübatulabal"},<br />
["tuc"] = {"Mutu"},<br />
["tud"] = {"Tuxá"},<br />
["tue"] = {"Tuyuca"},<br />
["tuf"] = {"Central Tunebo"},<br />
["tug"] = {"Tunia"},<br />
["tuh"] = {"Taulil"},<br />
["tui"] = {"Tupuri"},<br />
["tuj"] = {"Tugutil"},<br />
["tul"] = {"Tula"},<br />
["tum"] = {"Tumbuka"},<br />
["tun"] = {"Tunica"},<br />
["tuo"] = {"Tucano"},<br />
["tup"] = {"Tupi languages"},<br />
["tuq"] = {"Tedaga"},<br />
["tus"] = {"Tuscarora"},<br />
["tut"] = {"Altaic languages"},<br />
["tuu"] = {"Tututni"},<br />
["tuv"] = {"Turkana"},<br />
["tuw"] = {"Tungus languages"},<br />
["tux"] = {"Tuxináwa"},<br />
["tuy"] = {"Tugen"},<br />
["tuz"] = {"Turka"},<br />
["tva"] = {"Vaghua"},<br />
["tvd"] = {"Tsuvadi"},<br />
["tve"] = {"Te'un"},<br />
["tvk"] = {"Southeast Ambrym"},<br />
["tvl"] = {"Tuvalu"},<br />
["tvm"] = {"Tela-Masbuar"},<br />
["tvn"] = {"Tavoyan"},<br />
["tvo"] = {"Tidore"},<br />
["tvs"] = {"Taveta"},<br />
["tvt"] = {"Tutsa Naga"},<br />
["tvu"] = {"Tunen"},<br />
["tvw"] = {"Sedoa"},<br />
["tvx"] = {"Taivoan"},<br />
["tvy"] = {"Timor Pidgin"},<br />
["twa"] = {"Twana"},<br />
["twb"] = {"Western Tawbuid"},<br />
["twc"] = {"Teshenawa"},<br />
["twd"] = {"Twents"},<br />
["twe"] = {"Tewa (Indonesia)"},<br />
["twf"] = {"Northern Tiwa"},<br />
["twg"] = {"Tereweng"},<br />
["twh"] = {"Tai Dón"},<br />
["twl"] = {"Tawara"},<br />
["twm"] = {"Tawang Monpa"},<br />
["twn"] = {"Twendi"},<br />
["two"] = {"Tswapong"},<br />
["twp"] = {"Ere"},<br />
["twq"] = {"Tasawaq"},<br />
["twr"] = {"Southwestern Tarahumara"},<br />
["twt"] = {"Turiwára"},<br />
["twu"] = {"Termanu"},<br />
["tww"] = {"Tuwari"},<br />
["twx"] = {"Tewe"},<br />
["twy"] = {"Tawoyan"},<br />
["txa"] = {"Tombonuo"},<br />
["txb"] = {"Tokharian B"},<br />
["txc"] = {"Tsetsaut"},<br />
["txe"] = {"Totoli"},<br />
["txg"] = {"Tangut"},<br />
["txh"] = {"Thracian"},<br />
["txi"] = {"Ikpeng"},<br />
["txj"] = {"Tarjumo"},<br />
["txm"] = {"Tomini"},<br />
["txn"] = {"West Tarangan"},<br />
["txo"] = {"Toto"},<br />
["txq"] = {"Tii"},<br />
["txr"] = {"Tartessian"},<br />
["txs"] = {"Tonsea"},<br />
["txt"] = {"Citak"},<br />
["txu"] = {"Kayapó"},<br />
["txx"] = {"Tatana"},<br />
["txy"] = {"Tanosy Malagasy"},<br />
["tya"] = {"Tauya"},<br />
["tye"] = {"Kyanga"},<br />
["tyh"] = {"O'du"},<br />
["tyi"] = {"Teke-Tsaayi"},<br />
["tyj"] = {"Tai Do", "Tai Yo"},<br />
["tyl"] = {"Thu Lao"},<br />
["tyn"] = {"Kombai"},<br />
["typ"] = {"Thaypan"},<br />
["tyr"] = {"Tai Daeng"},<br />
["tys"] = {"Tày Sa Pa"},<br />
["tyt"] = {"Tày Tac"},<br />
["tyu"] = {"Kua"},<br />
["tyv"] = {"Tuvinian"},<br />
["tyx"] = {"Teke-Tyee"},<br />
["tyy"] = {"Tiyaa"},<br />
["tyz"] = {"Tày"},<br />
["tza"] = {"Tanzanian Sign Language"},<br />
["tzh"] = {"Tzeltal"},<br />
["tzj"] = {"Tz'utujil"},<br />
["tzl"] = {"Talossan"},<br />
["tzm"] = {"Central Atlas Tamazight"},<br />
["tzn"] = {"Tugun"},<br />
["tzo"] = {"Tzotzil"},<br />
["tzx"] = {"Tabriak"},<br />
["uam"] = {"Uamué"},<br />
["uan"] = {"Kuan"},<br />
["uar"] = {"Tairuma"},<br />
["uba"] = {"Ubang"},<br />
["ubi"] = {"Ubi"},<br />
["ubl"] = {"Buhi'non Bikol"},<br />
["ubr"] = {"Ubir"},<br />
["ubu"] = {"Umbu-Ungu"},<br />
["uby"] = {"Ubykh"},<br />
["uda"] = {"Uda"},<br />
["ude"] = {"Udihe"},<br />
["udg"] = {"Muduga"},<br />
["udi"] = {"Udi"},<br />
["udj"] = {"Ujir"},<br />
["udl"] = {"Wuzlam"},<br />
["udm"] = {"Udmurt"},<br />
["udu"] = {"Uduk"},<br />
["ues"] = {"Kioko"},<br />
["ufi"] = {"Ufim"},<br />
["uga"] = {"Ugaritic"},<br />
["ugb"] = {"Kuku-Ugbanh"},<br />
["uge"] = {"Ughele"},<br />
["ugh"] = {"Kubachi"},<br />
["ugn"] = {"Ugandan Sign Language"},<br />
["ugo"] = {"Ugong"},<br />
["ugy"] = {"Uruguayan Sign Language"},<br />
["uha"] = {"Uhami"},<br />
["uhn"] = {"Damal"},<br />
["uis"] = {"Uisai"},<br />
["uiv"] = {"Iyive"},<br />
["uji"] = {"Tanjijili"},<br />
["uka"] = {"Kaburi"},<br />
["ukg"] = {"Ukuriguma"},<br />
["ukh"] = {"Ukhwejo"},<br />
["uki"] = {"Kui (India)"},<br />
["ukk"] = {"Muak Sa-aak"},<br />
["ukl"] = {"Ukrainian Sign Language"},<br />
["ukp"] = {"Ukpe-Bayobiri"},<br />
["ukq"] = {"Ukwa"},<br />
["uks"] = {"Urubú-Kaapor Sign Language", "Kaapor Sign Language"},<br />
["uku"] = {"Ukue"},<br />
["ukv"] = {"Kuku"},<br />
["ukw"] = {"Ukwuani-Aboh-Ndoni"},<br />
["uky"] = {"Kuuk-Yak"},<br />
["ula"] = {"Fungwa"},<br />
["ulb"] = {"Ulukwumi"},<br />
["ulc"] = {"Ulch"},<br />
["ule"] = {"Lule"},<br />
["ulf"] = {"Usku", "Afra"},<br />
["uli"] = {"Ulithian"},<br />
["ulk"] = {"Meriam Mir"},<br />
["ull"] = {"Ullatan"},<br />
["ulm"] = {"Ulumanda'"},<br />
["uln"] = {"Unserdeutsch"},<br />
["ulu"] = {"Uma' Lung"},<br />
["ulw"] = {"Ulwa"},<br />
["uma"] = {"Umatilla"},<br />
["umb"] = {"Umbundu"},<br />
["umc"] = {"Marrucinian"},<br />
["umd"] = {"Umbindhamu"},<br />
["umg"] = {"Morrobalama", "Umbuygamu"},<br />
["umi"] = {"Ukit"},<br />
["umm"] = {"Umon"},<br />
["umn"] = {"Makyan Naga"},<br />
["umo"] = {"Umotína"},<br />
["ump"] = {"Umpila"},<br />
["umr"] = {"Umbugarla"},<br />
["ums"] = {"Pendau"},<br />
["umu"] = {"Munsee"},<br />
["una"] = {"North Watut"},<br />
["und"] = {"Undetermined"},<br />
["une"] = {"Uneme"},<br />
["ung"] = {"Ngarinyin"},<br />
["uni"] = {"Uni"},<br />
["unk"] = {"Enawené-Nawé"},<br />
["unm"] = {"Unami"},<br />
["unn"] = {"Kurnai"},<br />
["unr"] = {"Mundari"},<br />
["unu"] = {"Unubahe"},<br />
["unx"] = {"Munda"},<br />
["unz"] = {"Unde Kaili"},<br />
["uon"] = {"Kulon"},<br />
["upi"] = {"Umeda"},<br />
["upv"] = {"Uripiv-Wala-Rano-Atchin"},<br />
["ura"] = {"Urarina"},<br />
["urb"] = {"Urubú-Kaapor", "Kaapor"},<br />
["urc"] = {"Urningangg"},<br />
["ure"] = {"Uru"},<br />
["urf"] = {"Uradhi"},<br />
["urg"] = {"Urigina"},<br />
["urh"] = {"Urhobo"},<br />
["uri"] = {"Urim"},<br />
["urj"] = {"Uralic languages"},<br />
["urk"] = {"Urak Lawoi'"},<br />
["url"] = {"Urali"},<br />
["urm"] = {"Urapmin"},<br />
["urn"] = {"Uruangnirin"},<br />
["uro"] = {"Ura (Papua New Guinea)"},<br />
["urp"] = {"Uru-Pa-In"},<br />
["urr"] = {"Lehalurup", "Löyöp"},<br />
["urt"] = {"Urat"},<br />
["uru"] = {"Urumi"},<br />
["urv"] = {"Uruava"},<br />
["urw"] = {"Sop"},<br />
["urx"] = {"Urimo"},<br />
["ury"] = {"Orya"},<br />
["urz"] = {"Uru-Eu-Wau-Wau"},<br />
["usa"] = {"Usarufa"},<br />
["ush"] = {"Ushojo"},<br />
["usi"] = {"Usui"},<br />
["usk"] = {"Usaghade"},<br />
["usp"] = {"Uspanteco"},<br />
["uss"] = {"us-Saare"},<br />
["usu"] = {"Uya"},<br />
["uta"] = {"Otank"},<br />
["ute"] = {"Ute-Southern Paiute"},<br />
["uth"] = {"ut-Hun"},<br />
["utp"] = {"Amba (Solomon Islands)"},<br />
["utr"] = {"Etulo"},<br />
["utu"] = {"Utu"},<br />
["uum"] = {"Urum"},<br />
["uur"] = {"Ura (Vanuatu)"},<br />
["uuu"] = {"U"},<br />
["uve"] = {"West Uvean", "Fagauvea"},<br />
["uvh"] = {"Uri"},<br />
["uvl"] = {"Lote"},<br />
["uwa"] = {"Kuku-Uwanh"},<br />
["uya"] = {"Doko-Uyanga"},<br />
["uzn"] = {"Northern Uzbek"},<br />
["uzs"] = {"Southern Uzbek"},<br />
["vaa"] = {"Vaagri Booli"},<br />
["vae"] = {"Vale"},<br />
["vaf"] = {"Vafsi"},<br />
["vag"] = {"Vagla"},<br />
["vah"] = {"Varhadi-Nagpuri"},<br />
["vai"] = {"Vai"},<br />
["vaj"] = {"Sekele", "Northwestern ǃKung", "Vasekele"},<br />
["val"] = {"Vehes"},<br />
["vam"] = {"Vanimo"},<br />
["van"] = {"Valman"},<br />
["vao"] = {"Vao"},<br />
["vap"] = {"Vaiphei"},<br />
["var"] = {"Huarijio"},<br />
["vas"] = {"Vasavi"},<br />
["vau"] = {"Vanuma"},<br />
["vav"] = {"Varli"},<br />
["vay"] = {"Wayu"},<br />
["vbb"] = {"Southeast Babar"},<br />
["vbk"] = {"Southwestern Bontok"},<br />
["vec"] = {"Venetian"},<br />
["ved"] = {"Veddah"},<br />
["vel"] = {"Veluws"},<br />
["vem"] = {"Vemgo-Mabas"},<br />
["veo"] = {"Ventureño"},<br />
["vep"] = {"Veps"},<br />
["ver"] = {"Mom Jango"},<br />
["vgr"] = {"Vaghri"},<br />
["vgt"] = {"Vlaamse Gebarentaal", "Flemish Sign Language"},<br />
["vic"] = {"Virgin Islands Creole English"},<br />
["vid"] = {"Vidunda"},<br />
["vif"] = {"Vili"},<br />
["vig"] = {"Viemo"},<br />
["vil"] = {"Vilela"},<br />
["vin"] = {"Vinza"},<br />
["vis"] = {"Vishavan"},<br />
["vit"] = {"Viti"},<br />
["viv"] = {"Iduna"},<br />
["vka"] = {"Kariyarra"},<br />
["vkj"] = {"Kujarge"},<br />
["vkk"] = {"Kaur"},<br />
["vkl"] = {"Kulisusu"},<br />
["vkm"] = {"Kamakan"},<br />
["vkn"] = {"Koro Nulu"},<br />
["vko"] = {"Kodeoha"},<br />
["vkp"] = {"Korlai Creole Portuguese"},<br />
["vkt"] = {"Tenggarong Kutai Malay"},<br />
["vku"] = {"Kurrama"},<br />
["vkz"] = {"Koro Zuba"},<br />
["vlp"] = {"Valpei"},<br />
["vls"] = {"Vlaams"},<br />
["vma"] = {"Martuyhunira"},<br />
["vmb"] = {"Barbaram"},<br />
["vmc"] = {"Juxtlahuaca Mixtec"},<br />
["vmd"] = {"Mudu Koraga"},<br />
["vme"] = {"East Masela"},<br />
["vmf"] = {"Mainfränkisch"},<br />
["vmg"] = {"Lungalunga"},<br />
["vmh"] = {"Maraghei"},<br />
["vmi"] = {"Miwa"},<br />
["vmj"] = {"Ixtayutla Mixtec"},<br />
["vmk"] = {"Makhuwa-Shirima"},<br />
["vml"] = {"Malgana"},<br />
["vmm"] = {"Mitlatongo Mixtec"},<br />
["vmp"] = {"Soyaltepec Mazatec"},<br />
["vmq"] = {"Soyaltepec Mixtec"},<br />
["vmr"] = {"Marenje"},<br />
["vms"] = {"Moksela"},<br />
["vmu"] = {"Muluridyi"},<br />
["vmv"] = {"Valley Maidu"},<br />
["vmw"] = {"Makhuwa"},<br />
["vmx"] = {"Tamazola Mixtec"},<br />
["vmy"] = {"Ayautla Mazatec"},<br />
["vmz"] = {"Mazatlán Mazatec"},<br />
["vnk"] = {"Vano", "Lovono"},<br />
["vnm"] = {"Vinmavis", "Neve'ei"},<br />
["vnp"] = {"Vunapu"},<br />
["vor"] = {"Voro"},<br />
["vot"] = {"Votic"},<br />
["vra"] = {"Vera'a"},<br />
["vro"] = {"Võro"},<br />
["vrs"] = {"Varisi"},<br />
["vrt"] = {"Burmbar", "Banam Bay"},<br />
["vsi"] = {"Moldova Sign Language"},<br />
["vsl"] = {"Venezuelan Sign Language"},<br />
["vsv"] = {"Valencian Sign Language", "Llengua de signes valenciana"},<br />
["vto"] = {"Vitou"},<br />
["vum"] = {"Vumbu"},<br />
["vun"] = {"Vunjo"},<br />
["vut"] = {"Vute"},<br />
["vwa"] = {"Awa (China)"},<br />
["waa"] = {"Walla Walla"},<br />
["wab"] = {"Wab"},<br />
["wac"] = {"Wasco-Wishram"},<br />
["wad"] = {"Wamesa", "Wondama"},<br />
["wae"] = {"Walser"},<br />
["waf"] = {"Wakoná"},<br />
["wag"] = {"Wa'ema"},<br />
["wah"] = {"Watubela"},<br />
["wai"] = {"Wares"},<br />
["waj"] = {"Waffa"},<br />
["wak"] = {"Wakashan languages"},<br />
["wal"] = {"Wolaytta", "Wolaitta"},<br />
["wam"] = {"Wampanoag"},<br />
["wan"] = {"Wan"},<br />
["wao"] = {"Wappo"},<br />
["wap"] = {"Wapishana"},<br />
["waq"] = {"Wagiman"},<br />
["war"] = {"Waray (Philippines)"},<br />
["was"] = {"Washo"},<br />
["wat"] = {"Kaninuwa"},<br />
["wau"] = {"Waurá"},<br />
["wav"] = {"Waka"},<br />
["waw"] = {"Waiwai"},<br />
["wax"] = {"Watam", "Marangis"},<br />
["way"] = {"Wayana"},<br />
["waz"] = {"Wampur"},<br />
["wba"] = {"Warao"},<br />
["wbb"] = {"Wabo"},<br />
["wbe"] = {"Waritai"},<br />
["wbf"] = {"Wara"},<br />
["wbh"] = {"Wanda"},<br />
["wbi"] = {"Vwanji"},<br />
["wbj"] = {"Alagwa"},<br />
["wbk"] = {"Waigali"},<br />
["wbl"] = {"Wakhi"},<br />
["wbm"] = {"Wa"},<br />
["wbp"] = {"Warlpiri"},<br />
["wbq"] = {"Waddar"},<br />
["wbr"] = {"Wagdi"},<br />
["wbs"] = {"West Bengal Sign Language"},<br />
["wbt"] = {"Warnman"},<br />
["wbv"] = {"Wajarri"},<br />
["wbw"] = {"Woi"},<br />
["wca"] = {"Yanomámi"},<br />
["wci"] = {"Waci Gbe"},<br />
["wdd"] = {"Wandji"},<br />
["wdg"] = {"Wadaginam"},<br />
["wdj"] = {"Wadjiginy"},<br />
["wdk"] = {"Wadikali"},<br />
["wdt"] = {"Wendat"},<br />
["wdu"] = {"Wadjigu"},<br />
["wdy"] = {"Wadjabangayi"},<br />
["wea"] = {"Wewaw"},<br />
["wec"] = {"Wè Western"},<br />
["wed"] = {"Wedau"},<br />
["weg"] = {"Wergaia"},<br />
["weh"] = {"Weh"},<br />
["wei"] = {"Kiunum"},<br />
["wem"] = {"Weme Gbe"},<br />
["wen"] = {"Sorbian languages"},<br />
["weo"] = {"Wemale"},<br />
["wep"] = {"Westphalien"},<br />
["wer"] = {"Weri"},<br />
["wes"] = {"Cameroon Pidgin"},<br />
["wet"] = {"Perai"},<br />
["weu"] = {"Rawngtu Chin"},<br />
["wew"] = {"Wejewa"},<br />
["wfg"] = {"Yafi", "Zorop"},<br />
["wga"] = {"Wagaya"},<br />
["wgb"] = {"Wagawaga"},<br />
["wgg"] = {"Wangkangurru", "Wangganguru"},<br />
["wgi"] = {"Wahgi"},<br />
["wgo"] = {"Waigeo"},<br />
["wgu"] = {"Wirangu"},<br />
["wgy"] = {"Warrgamay"},<br />
["wha"] = {"Sou Upaa", "Manusela"},<br />
["whg"] = {"North Wahgi"},<br />
["whk"] = {"Wahau Kenyah"},<br />
["whu"] = {"Wahau Kayan"},<br />
["wib"] = {"Southern Toussian"},<br />
["wic"] = {"Wichita"},<br />
["wie"] = {"Wik-Epa"},<br />
["wif"] = {"Wik-Keyangan"},<br />
["wig"] = {"Wik Ngathan"},<br />
["wih"] = {"Wik-Me'anha"},<br />
["wii"] = {"Minidien"},<br />
["wij"] = {"Wik-Iiyanh"},<br />
["wik"] = {"Wikalkan"},<br />
["wil"] = {"Wilawila"},<br />
["wim"] = {"Wik-Mungkan"},<br />
["win"] = {"Ho-Chunk"},<br />
["wir"] = {"Wiraféd"},<br />
["wiu"] = {"Wiru"},<br />
["wiv"] = {"Vitu"},<br />
["wiy"] = {"Wiyot"},<br />
["wja"] = {"Waja"},<br />
["wji"] = {"Warji"},<br />
["wka"] = {"Kw'adza"},<br />
["wkb"] = {"Kumbaran"},<br />
["wkd"] = {"Wakde", "Mo"},<br />
["wkl"] = {"Kalanadi"},<br />
["wkr"] = {"Keerray-Woorroong"},<br />
["wku"] = {"Kunduvadi"},<br />
["wkw"] = {"Wakawaka"},<br />
["wky"] = {"Wangkayutyuru"},<br />
["wla"] = {"Walio"},<br />
["wlc"] = {"Mwali Comorian"},<br />
["wle"] = {"Wolane"},<br />
["wlg"] = {"Kunbarlang"},<br />
["wlh"] = {"Welaun"},<br />
["wli"] = {"Waioli"},<br />
["wlk"] = {"Wailaki"},<br />
["wll"] = {"Wali (Sudan)"},<br />
["wlm"] = {"Middle Welsh"},<br />
["wlo"] = {"Wolio"},<br />
["wlr"] = {"Wailapa"},<br />
["wls"] = {"Wallisian"},<br />
["wlu"] = {"Wuliwuli"},<br />
["wlv"] = {"Wichí Lhamtés Vejoz"},<br />
["wlw"] = {"Walak"},<br />
["wlx"] = {"Wali (Ghana)"},<br />
["wly"] = {"Waling"},<br />
["wma"] = {"Mawa (Nigeria)"},<br />
["wmb"] = {"Wambaya"},<br />
["wmc"] = {"Wamas"},<br />
["wmd"] = {"Mamaindé"},<br />
["wme"] = {"Wambule"},<br />
["wmg"] = {"Western Minyag"},<br />
["wmh"] = {"Waima'a"},<br />
["wmi"] = {"Wamin"},<br />
["wmm"] = {"Maiwa (Indonesia)"},<br />
["wmn"] = {"Waamwang"},<br />
["wmo"] = {"Wom (Papua New Guinea)"},<br />
["wms"] = {"Wambon"},<br />
["wmt"] = {"Walmajarri"},<br />
["wmw"] = {"Mwani"},<br />
["wmx"] = {"Womo"},<br />
["wnb"] = {"Wanambre"},<br />
["wnc"] = {"Wantoat"},<br />
["wnd"] = {"Wandarang"},<br />
["wne"] = {"Waneci"},<br />
["wng"] = {"Wanggom"},<br />
["wni"] = {"Ndzwani Comorian"},<br />
["wnk"] = {"Wanukaka"},<br />
["wnm"] = {"Wanggamala"},<br />
["wnn"] = {"Wunumara"},<br />
["wno"] = {"Wano"},<br />
["wnp"] = {"Wanap"},<br />
["wnu"] = {"Usan"},<br />
["wnw"] = {"Wintu"},<br />
["wny"] = {"Wanyi", "Waanyi"},<br />
["woa"] = {"Kuwema", "Tyaraity"},<br />
["wob"] = {"Wè Northern"},<br />
["woc"] = {"Wogeo"},<br />
["wod"] = {"Wolani"},<br />
["woe"] = {"Woleaian"},<br />
["wof"] = {"Gambian Wolof"},<br />
["wog"] = {"Wogamusin"},<br />
["woi"] = {"Kamang"},<br />
["wok"] = {"Longto"},<br />
["wom"] = {"Wom (Nigeria)"},<br />
["won"] = {"Wongo"},<br />
["woo"] = {"Manombai"},<br />
["wor"] = {"Woria"},<br />
["wos"] = {"Hanga Hundi"},<br />
["wow"] = {"Wawonii"},<br />
["woy"] = {"Weyto"},<br />
["wpc"] = {"Maco"},<br />
["wrb"] = {"Waluwarra", "Warluwara"},<br />
["wrg"] = {"Warungu", "Gudjal"},<br />
["wrh"] = {"Wiradjuri"},<br />
["wri"] = {"Wariyangga"},<br />
["wrk"] = {"Garrwa"},<br />
["wrl"] = {"Warlmanpa"},<br />
["wrm"] = {"Warumungu"},<br />
["wrn"] = {"Warnang"},<br />
["wro"] = {"Worrorra"},<br />
["wrp"] = {"Waropen"},<br />
["wrr"] = {"Wardaman"},<br />
["wrs"] = {"Waris"},<br />
["wru"] = {"Waru"},<br />
["wrv"] = {"Waruna"},<br />
["wrw"] = {"Gugu Warra"},<br />
["wrx"] = {"Wae Rana"},<br />
["wry"] = {"Merwari"},<br />
["wrz"] = {"Waray (Australia)"},<br />
["wsa"] = {"Warembori"},<br />
["wsg"] = {"Adilabad Gondi"},<br />
["wsi"] = {"Wusi"},<br />
["wsk"] = {"Waskia"},<br />
["wsr"] = {"Owenia"},<br />
["wss"] = {"Wasa"},<br />
["wsu"] = {"Wasu"},<br />
["wsv"] = {"Wotapuri-Katarqalai"},<br />
["wtf"] = {"Watiwa"},<br />
["wth"] = {"Wathawurrung"},<br />
["wti"] = {"Berta"},<br />
["wtk"] = {"Watakataui"},<br />
["wtm"] = {"Mewati"},<br />
["wtw"] = {"Wotu"},<br />
["wua"] = {"Wikngenchera"},<br />
["wub"] = {"Wunambal"},<br />
["wud"] = {"Wudu"},<br />
["wuh"] = {"Wutunhua"},<br />
["wul"] = {"Silimo"},<br />
["wum"] = {"Wumbvu"},<br />
["wun"] = {"Bungu"},<br />
["wur"] = {"Wurrugu"},<br />
["wut"] = {"Wutung"},<br />
["wuu"] = {"Wu Chinese"},<br />
["wuv"] = {"Wuvulu-Aua"},<br />
["wux"] = {"Wulna"},<br />
["wuy"] = {"Wauyai"},<br />
["wwa"] = {"Waama"},<br />
["wwb"] = {"Wakabunga"},<br />
["wwo"] = {"Wetamut", "Dorig"},<br />
["wwr"] = {"Warrwa"},<br />
["www"] = {"Wawa"},<br />
["wxa"] = {"Waxianghua"},<br />
["wxw"] = {"Wardandi"},<br />
["wyb"] = {"Wangaaybuwan-Ngiyambaa"},<br />
["wyi"] = {"Woiwurrung"},<br />
["wym"] = {"Wymysorys"},<br />
["wyn"] = {"Wyandot"},<br />
["wyr"] = {"Wayoró"},<br />
["wyy"] = {"Western Fijian"},<br />
["xaa"] = {"Andalusian Arabic"},<br />
["xab"] = {"Sambe"},<br />
["xac"] = {"Kachari"},<br />
["xad"] = {"Adai"},<br />
["xae"] = {"Aequian"},<br />
["xag"] = {"Aghwan"},<br />
["xai"] = {"Kaimbé"},<br />
["xaj"] = {"Ararandewára"},<br />
["xak"] = {"Máku"},<br />
["xal"] = {"Kalmyk", "Oirat"},<br />
["xam"] = {"ǀXam"},<br />
["xan"] = {"Xamtanga"},<br />
["xao"] = {"Khao"},<br />
["xap"] = {"Apalachee"},<br />
["xaq"] = {"Aquitanian"},<br />
["xar"] = {"Karami"},<br />
["xas"] = {"Kamas"},<br />
["xat"] = {"Katawixi"},<br />
["xau"] = {"Kauwera"},<br />
["xav"] = {"Xavánte"},<br />
["xaw"] = {"Kawaiisu"},<br />
["xay"] = {"Kayan Mahakam"},<br />
["xbb"] = {"Lower Burdekin"},<br />
["xbc"] = {"Bactrian"},<br />
["xbd"] = {"Bindal"},<br />
["xbe"] = {"Bigambal"},<br />
["xbg"] = {"Bunganditj"},<br />
["xbi"] = {"Kombio"},<br />
["xbj"] = {"Birrpayi"},<br />
["xbm"] = {"Middle Breton"},<br />
["xbn"] = {"Kenaboi"},<br />
["xbo"] = {"Bolgarian"},<br />
["xbp"] = {"Bibbulman"},<br />
["xbr"] = {"Kambera"},<br />
["xbw"] = {"Kambiwá"},<br />
["xby"] = {"Batjala", "Batyala"},<br />
["xcb"] = {"Cumbric"},<br />
["xcc"] = {"Camunic"},<br />
["xce"] = {"Celtiberian"},<br />
["xcg"] = {"Cisalpine Gaulish"},<br />
["xch"] = {"Chemakum", "Chimakum"},<br />
["xcl"] = {"Classical Armenian"},<br />
["xcm"] = {"Comecrudo"},<br />
["xcn"] = {"Cotoname"},<br />
["xco"] = {"Chorasmian"},<br />
["xcr"] = {"Carian"},<br />
["xct"] = {"Classical Tibetan"},<br />
["xcu"] = {"Curonian"},<br />
["xcv"] = {"Chuvantsy"},<br />
["xcw"] = {"Coahuilteco"},<br />
["xcy"] = {"Cayuse"},<br />
["xda"] = {"Darkinyung"},<br />
["xdc"] = {"Dacian"},<br />
["xdk"] = {"Dharuk"},<br />
["xdm"] = {"Edomite"},<br />
["xdo"] = {"Kwandu"},<br />
["xdq"] = {"Kaitag"},<br />
["xdy"] = {"Malayic Dayak"},<br />
["xeb"] = {"Eblan"},<br />
["xed"] = {"Hdi"},<br />
["xeg"] = {"ǁXegwi"},<br />
["xel"] = {"Kelo"},<br />
["xem"] = {"Kembayan"},<br />
["xep"] = {"Epi-Olmec"},<br />
["xer"] = {"Xerénte"},<br />
["xes"] = {"Kesawai"},<br />
["xet"] = {"Xetá"},<br />
["xeu"] = {"Keoru-Ahia"},<br />
["xfa"] = {"Faliscan"},<br />
["xga"] = {"Galatian"},<br />
["xgb"] = {"Gbin"},<br />
["xgd"] = {"Gudang"},<br />
["xgf"] = {"Gabrielino-Fernandeño"},<br />
["xgg"] = {"Goreng"},<br />
["xgi"] = {"Garingbal"},<br />
["xgl"] = {"Galindan"},<br />
["xgm"] = {"Dharumbal", "Guwinmal"},<br />
["xgn"] = {"Mongolian languages"},<br />
["xgr"] = {"Garza"},<br />
["xgu"] = {"Unggumi"},<br />
["xgw"] = {"Guwa"},<br />
["xha"] = {"Harami"},<br />
["xhc"] = {"Hunnic"},<br />
["xhd"] = {"Hadrami"},<br />
["xhe"] = {"Khetrani"},<br />
["xhm"] = {"Middle Khmer (1400 to 1850 CE)"},<br />
["xhr"] = {"Hernican"},<br />
["xht"] = {"Hattic"},<br />
["xhu"] = {"Hurrian"},<br />
["xhv"] = {"Khua"},<br />
["xib"] = {"Iberian"},<br />
["xii"] = {"Xiri"},<br />
["xil"] = {"Illyrian"},<br />
["xin"] = {"Xinca"},<br />
["xir"] = {"Xiriâna"},<br />
["xis"] = {"Kisan"},<br />
["xiv"] = {"Indus Valley Language"},<br />
["xiy"] = {"Xipaya"},<br />
["xjb"] = {"Minjungbal"},<br />
["xjt"] = {"Jaitmatang"},<br />
["xka"] = {"Kalkoti"},<br />
["xkb"] = {"Northern Nago"},<br />
["xkc"] = {"Kho'ini"},<br />
["xkd"] = {"Mendalam Kayan"},<br />
["xke"] = {"Kereho"},<br />
["xkf"] = {"Khengkha"},<br />
["xkg"] = {"Kagoro"},<br />
["xki"] = {"Kenyan Sign Language"},<br />
["xkj"] = {"Kajali"},<br />
["xkk"] = {"Kachok", "Kaco'"},<br />
["xkl"] = {"Mainstream Kenyah"},<br />
["xkn"] = {"Kayan River Kayan"},<br />
["xko"] = {"Kiorr"},<br />
["xkp"] = {"Kabatei"},<br />
["xkq"] = {"Koroni"},<br />
["xkr"] = {"Xakriabá"},<br />
["xks"] = {"Kumbewaha"},<br />
["xkt"] = {"Kantosi"},<br />
["xku"] = {"Kaamba"},<br />
["xkv"] = {"Kgalagadi"},<br />
["xkw"] = {"Kembra"},<br />
["xkx"] = {"Karore"},<br />
["xky"] = {"Uma' Lasan"},<br />
["xkz"] = {"Kurtokha"},<br />
["xla"] = {"Kamula"},<br />
["xlb"] = {"Loup B"},<br />
["xlc"] = {"Lycian"},<br />
["xld"] = {"Lydian"},<br />
["xle"] = {"Lemnian"},<br />
["xlg"] = {"Ligurian (Ancient)"},<br />
["xli"] = {"Liburnian"},<br />
["xln"] = {"Alanic"},<br />
["xlo"] = {"Loup A"},<br />
["xlp"] = {"Lepontic"},<br />
["xls"] = {"Lusitanian"},<br />
["xlu"] = {"Cuneiform Luwian"},<br />
["xly"] = {"Elymian"},<br />
["xma"] = {"Mushungulu"},<br />
["xmb"] = {"Mbonga"},<br />
["xmc"] = {"Makhuwa-Marrevone"},<br />
["xmd"] = {"Mbudum"},<br />
["xme"] = {"Median"},<br />
["xmf"] = {"Mingrelian"},<br />
["xmg"] = {"Mengaka"},<br />
["xmh"] = {"Kugu-Muminh"},<br />
["xmj"] = {"Majera"},<br />
["xmk"] = {"Ancient Macedonian"},<br />
["xml"] = {"Malaysian Sign Language"},<br />
["xmm"] = {"Manado Malay"},<br />
["xmn"] = {"Manichaean Middle Persian"},<br />
["xmo"] = {"Morerebi"},<br />
["xmp"] = {"Kuku-Mu'inh"},<br />
["xmq"] = {"Kuku-Mangk"},<br />
["xmr"] = {"Meroitic"},<br />
["xms"] = {"Moroccan Sign Language"},<br />
["xmt"] = {"Matbat"},<br />
["xmu"] = {"Kamu"},<br />
["xmv"] = {"Antankarana Malagasy", "Tankarana Malagasy"},<br />
["xmw"] = {"Tsimihety Malagasy"},<br />
["xmx"] = {"Salawati", "Maden"},<br />
["xmy"] = {"Mayaguduna"},<br />
["xmz"] = {"Mori Bawah"},<br />
["xna"] = {"Ancient North Arabian"},<br />
["xnb"] = {"Kanakanabu"},<br />
["xnd"] = {"Na-Dene languages"},<br />
["xng"] = {"Middle Mongolian"},<br />
["xnh"] = {"Kuanhua"},<br />
["xni"] = {"Ngarigu"},<br />
["xnj"] = {"Ngoni (Tanzania)"},<br />
["xnk"] = {"Nganakarti"},<br />
["xnm"] = {"Ngumbarl"},<br />
["xnn"] = {"Northern Kankanay"},<br />
["xno"] = {"Anglo-Norman"},<br />
["xnq"] = {"Ngoni (Mozambique)"},<br />
["xnr"] = {"Kangri"},<br />
["xns"] = {"Kanashi"},<br />
["xnt"] = {"Narragansett"},<br />
["xnu"] = {"Nukunul"},<br />
["xny"] = {"Nyiyaparli"},<br />
["xnz"] = {"Kenzi", "Mattoki"},<br />
["xoc"] = {"O'chi'chi'"},<br />
["xod"] = {"Kokoda"},<br />
["xog"] = {"Soga"},<br />
["xoi"] = {"Kominimung"},<br />
["xok"] = {"Xokleng"},<br />
["xom"] = {"Komo (Sudan)"},<br />
["xon"] = {"Konkomba"},<br />
["xoo"] = {"Xukurú"},<br />
["xop"] = {"Kopar"},<br />
["xor"] = {"Korubo"},<br />
["xow"] = {"Kowaki"},<br />
["xpa"] = {"Pirriya"},<br />
["xpb"] = {"Northeastern Tasmanian", "Pyemmairrener"},<br />
["xpc"] = {"Pecheneg"},<br />
["xpd"] = {"Oyster Bay Tasmanian"},<br />
["xpe"] = {"Liberia Kpelle"},<br />
["xpf"] = {"Southeast Tasmanian", "Nuenonne"},<br />
["xpg"] = {"Phrygian"},<br />
["xph"] = {"North Midlands Tasmanian", "Tyerrenoterpanner"},<br />
["xpi"] = {"Pictish"},<br />
["xpj"] = {"Mpalitjanh"},<br />
["xpk"] = {"Kulina Pano"},<br />
["xpl"] = {"Port Sorell Tasmanian"},<br />
["xpm"] = {"Pumpokol"},<br />
["xpn"] = {"Kapinawá"},<br />
["xpo"] = {"Pochutec"},<br />
["xpp"] = {"Puyo-Paekche"},<br />
["xpq"] = {"Mohegan-Pequot"},<br />
["xpr"] = {"Parthian"},<br />
["xps"] = {"Pisidian"},<br />
["xpt"] = {"Punthamara"},<br />
["xpu"] = {"Punic"},<br />
["xpv"] = {"Northern Tasmanian", "Tommeginne"},<br />
["xpw"] = {"Northwestern Tasmanian", "Peerapper"},<br />
["xpx"] = {"Southwestern Tasmanian", "Toogee"},<br />
["xpy"] = {"Puyo"},<br />
["xpz"] = {"Bruny Island Tasmanian"},<br />
["xqa"] = {"Karakhanid"},<br />
["xqt"] = {"Qatabanian"},<br />
["xra"] = {"Krahô"},<br />
["xrb"] = {"Eastern Karaboro"},<br />
["xrd"] = {"Gundungurra"},<br />
["xre"] = {"Kreye"},<br />
["xrg"] = {"Minang"},<br />
["xri"] = {"Krikati-Timbira"},<br />
["xrm"] = {"Armazic"},<br />
["xrn"] = {"Arin"},<br />
["xrr"] = {"Raetic"},<br />
["xrt"] = {"Aranama-Tamique"},<br />
["xru"] = {"Marriammu"},<br />
["xrw"] = {"Karawa"},<br />
["xsa"] = {"Sabaean"},<br />
["xsb"] = {"Sambal"},<br />
["xsc"] = {"Scythian"},<br />
["xsd"] = {"Sidetic"},<br />
["xse"] = {"Sempan"},<br />
["xsh"] = {"Shamang"},<br />
["xsi"] = {"Sio"},<br />
["xsj"] = {"Subi"},<br />
["xsl"] = {"South Slavey"},<br />
["xsm"] = {"Kasem"},<br />
["xsn"] = {"Sanga (Nigeria)"},<br />
["xso"] = {"Solano"},<br />
["xsp"] = {"Silopi"},<br />
["xsq"] = {"Makhuwa-Saka"},<br />
["xsr"] = {"Sherpa"},<br />
["xss"] = {"Assan"},<br />
["xsu"] = {"Sanumá"},<br />
["xsv"] = {"Sudovian"},<br />
["xsy"] = {"Saisiyat"},<br />
["xta"] = {"Alcozauca Mixtec"},<br />
["xtb"] = {"Chazumba Mixtec"},<br />
["xtc"] = {"Katcha-Kadugli-Miri"},<br />
["xtd"] = {"Diuxi-Tilantongo Mixtec"},<br />
["xte"] = {"Ketengban"},<br />
["xtg"] = {"Transalpine Gaulish"},<br />
["xth"] = {"Yitha Yitha"},<br />
["xti"] = {"Sinicahua Mixtec"},<br />
["xtj"] = {"San Juan Teita Mixtec"},<br />
["xtl"] = {"Tijaltepec Mixtec"},<br />
["xtm"] = {"Magdalena Peñasco Mixtec"},<br />
["xtn"] = {"Northern Tlaxiaco Mixtec"},<br />
["xto"] = {"Tokharian A"},<br />
["xtp"] = {"San Miguel Piedras Mixtec"},<br />
["xtq"] = {"Tumshuqese"},<br />
["xtr"] = {"Early Tripuri"},<br />
["xts"] = {"Sindihui Mixtec"},<br />
["xtt"] = {"Tacahua Mixtec"},<br />
["xtu"] = {"Cuyamecalco Mixtec"},<br />
["xtv"] = {"Thawa"},<br />
["xtw"] = {"Tawandê"},<br />
["xty"] = {"Yoloxochitl Mixtec"},<br />
["xua"] = {"Alu Kurumba"},<br />
["xub"] = {"Betta Kurumba"},<br />
["xud"] = {"Umiida"},<br />
["xug"] = {"Kunigami"},<br />
["xuj"] = {"Jennu Kurumba"},<br />
["xul"] = {"Ngunawal", "Nunukul"},<br />
["xum"] = {"Umbrian"},<br />
["xun"] = {"Unggaranggu"},<br />
["xuo"] = {"Kuo"},<br />
["xup"] = {"Upper Umpqua"},<br />
["xur"] = {"Urartian"},<br />
["xut"] = {"Kuthant"},<br />
["xuu"] = {"Kxoe", "Khwedam"},<br />
["xve"] = {"Venetic"},<br />
["xvi"] = {"Kamviri"},<br />
["xvn"] = {"Vandalic"},<br />
["xvo"] = {"Volscian"},<br />
["xvs"] = {"Vestinian"},<br />
["xwa"] = {"Kwaza"},<br />
["xwc"] = {"Woccon"},<br />
["xwd"] = {"Wadi Wadi"},<br />
["xwe"] = {"Xwela Gbe"},<br />
["xwg"] = {"Kwegu"},<br />
["xwj"] = {"Wajuk"},<br />
["xwk"] = {"Wangkumara"},<br />
["xwl"] = {"Western Xwla Gbe"},<br />
["xwo"] = {"Written Oirat"},<br />
["xwr"] = {"Kwerba Mamberamo"},<br />
["xwt"] = {"Wotjobaluk"},<br />
["xww"] = {"Wemba Wemba"},<br />
["xxb"] = {"Boro (Ghana)"},<br />
["xxk"] = {"Ke'o"},<br />
["xxm"] = {"Minkin"},<br />
["xxr"] = {"Koropó"},<br />
["xxt"] = {"Tambora"},<br />
["xya"] = {"Yaygir"},<br />
["xyb"] = {"Yandjibara"},<br />
["xyj"] = {"Mayi-Yapi"},<br />
["xyk"] = {"Mayi-Kulan"},<br />
["xyl"] = {"Yalakalore"},<br />
["xyt"] = {"Mayi-Thakurti"},<br />
["xyy"] = {"Yorta Yorta"},<br />
["xzh"] = {"Zhang-Zhung"},<br />
["xzm"] = {"Zemgalian"},<br />
["xzp"] = {"Ancient Zapotec"},<br />
["yaa"] = {"Yaminahua"},<br />
["yab"] = {"Yuhup"},<br />
["yac"] = {"Pass Valley Yali"},<br />
["yad"] = {"Yagua"},<br />
["yae"] = {"Pumé"},<br />
["yaf"] = {"Yaka (Democratic Republic of Congo)"},<br />
["yag"] = {"Yámana"},<br />
["yah"] = {"Yazgulyam"},<br />
["yai"] = {"Yagnobi"},<br />
["yaj"] = {"Banda-Yangere"},<br />
["yak"] = {"Yakama"},<br />
["yal"] = {"Yalunka"},<br />
["yam"] = {"Yamba"},<br />
["yan"] = {"Mayangna"},<br />
["yao"] = {"Yao"},<br />
["yap"] = {"Yapese"},<br />
["yaq"] = {"Yaqui"},<br />
["yar"] = {"Yabarana"},<br />
["yas"] = {"Nugunu (Cameroon)"},<br />
["yat"] = {"Yambeta"},<br />
["yau"] = {"Yuwana"},<br />
["yav"] = {"Yangben"},<br />
["yaw"] = {"Yawalapití"},<br />
["yax"] = {"Yauma"},<br />
["yay"] = {"Agwagwune"},<br />
["yaz"] = {"Lokaa"},<br />
["yba"] = {"Yala"},<br />
["ybb"] = {"Yemba"},<br />
["ybe"] = {"West Yugur"},<br />
["ybh"] = {"Yakha"},<br />
["ybi"] = {"Yamphu"},<br />
["ybj"] = {"Hasha"},<br />
["ybk"] = {"Bokha"},<br />
["ybl"] = {"Yukuben"},<br />
["ybm"] = {"Yaben"},<br />
["ybn"] = {"Yabaâna"},<br />
["ybo"] = {"Yabong"},<br />
["ybx"] = {"Yawiyo"},<br />
["yby"] = {"Yaweyuha"},<br />
["ych"] = {"Chesu"},<br />
["ycl"] = {"Lolopo"},<br />
["ycn"] = {"Yucuna"},<br />
["ycp"] = {"Chepya"},<br />
["yda"] = {"Yanda"},<br />
["ydd"] = {"Eastern Yiddish"},<br />
["yde"] = {"Yangum Dey"},<br />
["ydg"] = {"Yidgha"},<br />
["ydk"] = {"Yoidik"},<br />
["yea"] = {"Ravula"},<br />
["yec"] = {"Yeniche"},<br />
["yee"] = {"Yimas"},<br />
["yei"] = {"Yeni"},<br />
["yej"] = {"Yevanic"},<br />
["yel"] = {"Yela"},<br />
["yer"] = {"Tarok"},<br />
["yes"] = {"Nyankpa"},<br />
["yet"] = {"Yetfa"},<br />
["yeu"] = {"Yerukula"},<br />
["yev"] = {"Yapunda"},<br />
["yey"] = {"Yeyi"},<br />
["yga"] = {"Malyangapa"},<br />
["ygi"] = {"Yiningayi"},<br />
["ygl"] = {"Yangum Gel"},<br />
["ygm"] = {"Yagomi"},<br />
["ygp"] = {"Gepo"},<br />
["ygr"] = {"Yagaria"},<br />
["ygs"] = {"Yolŋu Sign Language"},<br />
["ygu"] = {"Yugul"},<br />
["ygw"] = {"Yagwoia"},<br />
["yha"] = {"Baha Buyang"},<br />
["yhd"] = {"Judeo-Iraqi Arabic"},<br />
["yhl"] = {"Hlepho Phowa"},<br />
["yhs"] = {"Yan-nhaŋu Sign Language"},<br />
["yia"] = {"Yinggarda"},<br />
["yif"] = {"Ache"},<br />
["yig"] = {"Wusa Nasu"},<br />
["yih"] = {"Western Yiddish"},<br />
["yii"] = {"Yidiny"},<br />
["yij"] = {"Yindjibarndi"},<br />
["yik"] = {"Dongshanba Lalo"},<br />
["yil"] = {"Yindjilandji"},<br />
["yim"] = {"Yimchungru Naga"},<br />
["yin"] = {"Riang Lai", "Yinchia"},<br />
["yip"] = {"Pholo"},<br />
["yiq"] = {"Miqie"},<br />
["yir"] = {"North Awyu"},<br />
["yis"] = {"Yis"},<br />
["yit"] = {"Eastern Lalu"},<br />
["yiu"] = {"Awu"},<br />
["yiv"] = {"Northern Nisu"},<br />
["yix"] = {"Axi Yi"},<br />
["yiz"] = {"Azhe"},<br />
["yka"] = {"Yakan"},<br />
["ykg"] = {"Northern Yukaghir"},<br />
["yki"] = {"Yoke"},<br />
["ykk"] = {"Yakaikeke"},<br />
["ykl"] = {"Khlula"},<br />
["ykm"] = {"Kap"},<br />
["ykn"] = {"Kua-nsi"},<br />
["yko"] = {"Yasa"},<br />
["ykr"] = {"Yekora"},<br />
["ykt"] = {"Kathu"},<br />
["yku"] = {"Kuamasi"},<br />
["yky"] = {"Yakoma"},<br />
["yla"] = {"Yaul"},<br />
["ylb"] = {"Yaleba"},<br />
["yle"] = {"Yele"},<br />
["ylg"] = {"Yelogu"},<br />
["yli"] = {"Angguruk Yali"},<br />
["yll"] = {"Yil"},<br />
["ylm"] = {"Limi"},<br />
["yln"] = {"Langnian Buyang"},<br />
["ylo"] = {"Naluo Yi"},<br />
["ylr"] = {"Yalarnnga"},<br />
["ylu"] = {"Aribwaung"},<br />
["yly"] = {"Nyâlayu", "Nyelâyu"},<br />
["ymb"] = {"Yambes"},<br />
["ymc"] = {"Southern Muji"},<br />
["ymd"] = {"Muda"},<br />
["yme"] = {"Yameo"},<br />
["ymg"] = {"Yamongeri"},<br />
["ymh"] = {"Mili"},<br />
["ymi"] = {"Moji"},<br />
["ymk"] = {"Makwe"},<br />
["yml"] = {"Iamalele"},<br />
["ymm"] = {"Maay"},<br />
["ymn"] = {"Yamna", "Sunum"},<br />
["ymo"] = {"Yangum Mon"},<br />
["ymp"] = {"Yamap"},<br />
["ymq"] = {"Qila Muji"},<br />
["ymr"] = {"Malasar"},<br />
["yms"] = {"Mysian"},<br />
["ymx"] = {"Northern Muji"},<br />
["ymz"] = {"Muzi"},<br />
["yna"] = {"Aluo"},<br />
["ynd"] = {"Yandruwandha"},<br />
["yne"] = {"Lang'e"},<br />
["yng"] = {"Yango"},<br />
["ynk"] = {"Naukan Yupik"},<br />
["ynl"] = {"Yangulam"},<br />
["ynn"] = {"Yana"},<br />
["yno"] = {"Yong"},<br />
["ynq"] = {"Yendang"},<br />
["yns"] = {"Yansi"},<br />
["ynu"] = {"Yahuna"},<br />
["yob"] = {"Yoba"},<br />
["yog"] = {"Yogad"},<br />
["yoi"] = {"Yonaguni"},<br />
["yok"] = {"Yokuts"},<br />
["yol"] = {"Yola"},<br />
["yom"] = {"Yombe"},<br />
["yon"] = {"Yongkom"},<br />
["yot"] = {"Yotti"},<br />
["yox"] = {"Yoron"},<br />
["yoy"] = {"Yoy"},<br />
["ypa"] = {"Phala"},<br />
["ypb"] = {"Labo Phowa"},<br />
["ypg"] = {"Phola"},<br />
["yph"] = {"Phupha"},<br />
["ypk"] = {"Yupik languages"},<br />
["ypm"] = {"Phuma"},<br />
["ypn"] = {"Ani Phowa"},<br />
["ypo"] = {"Alo Phola"},<br />
["ypp"] = {"Phupa"},<br />
["ypz"] = {"Phuza"},<br />
["yra"] = {"Yerakai"},<br />
["yrb"] = {"Yareba"},<br />
["yre"] = {"Yaouré"},<br />
["yrk"] = {"Nenets"},<br />
["yrl"] = {"Nhengatu"},<br />
["yrm"] = {"Yirrk-Mel"},<br />
["yrn"] = {"Yerong"},<br />
["yro"] = {"Yaroamë"},<br />
["yrs"] = {"Yarsun"},<br />
["yrw"] = {"Yarawata"},<br />
["yry"] = {"Yarluyandi"},<br />
["ysc"] = {"Yassic"},<br />
["ysd"] = {"Samatao"},<br />
["ysg"] = {"Sonaga"},<br />
["ysl"] = {"Yugoslavian Sign Language"},<br />
["ysm"] = {"Myanmar Sign Language"},<br />
["ysn"] = {"Sani"},<br />
["yso"] = {"Nisi (China)"},<br />
["ysp"] = {"Southern Lolopo"},<br />
["ysr"] = {"Sirenik Yupik"},<br />
["yss"] = {"Yessan-Mayo"},<br />
["ysy"] = {"Sanie"},<br />
["yta"] = {"Talu"},<br />
["ytl"] = {"Tanglang"},<br />
["ytp"] = {"Thopho"},<br />
["ytw"] = {"Yout Wam"},<br />
["yty"] = {"Yatay"},<br />
["yua"] = {"Yucateco", "Yucatec Maya"},<br />
["yub"] = {"Yugambal"},<br />
["yuc"] = {"Yuchi"},<br />
["yud"] = {"Judeo-Tripolitanian Arabic"},<br />
["yue"] = {"Yue Chinese", "Cantonese"},<br />
["yuf"] = {"Havasupai-Walapai-Yavapai"},<br />
["yug"] = {"Yug"},<br />
["yui"] = {"Yurutí"},<br />
["yuj"] = {"Karkar-Yuri"},<br />
["yuk"] = {"Yuki"},<br />
["yul"] = {"Yulu"},<br />
["yum"] = {"Quechan"},<br />
["yun"] = {"Bena (Nigeria)"},<br />
["yup"] = {"Yukpa"},<br />
["yuq"] = {"Yuqui"},<br />
["yur"] = {"Yurok"},<br />
["yut"] = {"Yopno"},<br />
["yuw"] = {"Yau (Morobe Province)"},<br />
["yux"] = {"Southern Yukaghir"},<br />
["yuy"] = {"East Yugur"},<br />
["yuz"] = {"Yuracare"},<br />
["yva"] = {"Yawa"},<br />
["yvt"] = {"Yavitero"},<br />
["ywa"] = {"Kalou"},<br />
["ywg"] = {"Yinhawangka"},<br />
["ywl"] = {"Western Lalu"},<br />
["ywn"] = {"Yawanawa"},<br />
["ywq"] = {"Wuding-Luquan Yi"},<br />
["ywr"] = {"Yawuru"},<br />
["ywt"] = {"Xishanba Lalo", "Central Lalo"},<br />
["ywu"] = {"Wumeng Nasu"},<br />
["yww"] = {"Yawarawarga"},<br />
["yxa"] = {"Mayawali"},<br />
["yxg"] = {"Yagara"},<br />
["yxl"] = {"Yardliyawarra"},<br />
["yxm"] = {"Yinwum"},<br />
["yxu"] = {"Yuyu"},<br />
["yxy"] = {"Yabula Yabula"},<br />
["yyr"] = {"Yir Yoront"},<br />
["yyu"] = {"Yau (Sandaun Province)"},<br />
["yyz"] = {"Ayizi"},<br />
["yzg"] = {"E'ma Buyang"},<br />
["yzk"] = {"Zokhuo"},<br />
["zaa"] = {"Sierra de Juárez Zapotec"},<br />
["zab"] = {"Western Tlacolula Valley Zapotec", "San Juan Guelavía Zapotec"},<br />
["zac"] = {"Ocotlán Zapotec"},<br />
["zad"] = {"Cajonos Zapotec"},<br />
["zae"] = {"Yareni Zapotec"},<br />
["zaf"] = {"Ayoquesco Zapotec"},<br />
["zag"] = {"Zaghawa"},<br />
["zah"] = {"Zangwal"},<br />
["zai"] = {"Isthmus Zapotec"},<br />
["zaj"] = {"Zaramo"},<br />
["zak"] = {"Zanaki"},<br />
["zal"] = {"Zauzou"},<br />
["zam"] = {"Miahuatlán Zapotec"},<br />
["zao"] = {"Ozolotepec Zapotec"},<br />
["zap"] = {"Zapotec"},<br />
["zaq"] = {"Aloápam Zapotec"},<br />
["zar"] = {"Rincón Zapotec"},<br />
["zas"] = {"Santo Domingo Albarradas Zapotec"},<br />
["zat"] = {"Tabaa Zapotec"},<br />
["zau"] = {"Zangskari"},<br />
["zav"] = {"Yatzachi Zapotec"},<br />
["zaw"] = {"Mitla Zapotec"},<br />
["zax"] = {"Xadani Zapotec"},<br />
["zay"] = {"Zayse-Zergulla", "Zaysete"},<br />
["zaz"] = {"Zari"},<br />
["zba"] = {"Balaibalan"},<br />
["zbc"] = {"Central Berawan"},<br />
["zbe"] = {"East Berawan"},<br />
["zbl"] = {"Blissymbols", "Bliss", "Blissymbolics"},<br />
["zbt"] = {"Batui"},<br />
["zbu"] = {"Bu (Bauchi State)"},<br />
["zbw"] = {"West Berawan"},<br />
["zca"] = {"Coatecas Altas Zapotec"},<br />
["zcd"] = {"Las Delicias Zapotec"},<br />
["zch"] = {"Central Hongshuihe Zhuang"},<br />
["zdj"] = {"Ngazidja Comorian"},<br />
["zea"] = {"Zeeuws"},<br />
["zeg"] = {"Zenag"},<br />
["zeh"] = {"Eastern Hongshuihe Zhuang"},<br />
["zen"] = {"Zenaga"},<br />
["zga"] = {"Kinga"},<br />
["zgb"] = {"Guibei Zhuang"},<br />
["zgh"] = {"Standard Moroccan Tamazight"},<br />
["zgm"] = {"Minz Zhuang"},<br />
["zgn"] = {"Guibian Zhuang"},<br />
["zgr"] = {"Magori"},<br />
["zhb"] = {"Zhaba"},<br />
["zhd"] = {"Dai Zhuang"},<br />
["zhi"] = {"Zhire"},<br />
["zhn"] = {"Nong Zhuang"},<br />
["zhw"] = {"Zhoa"},<br />
["zhx"] = {"Chinese (family)"},<br />
["zia"] = {"Zia"},<br />
["zib"] = {"Zimbabwe Sign Language"},<br />
["zik"] = {"Zimakani"},<br />
["zil"] = {"Zialo"},<br />
["zim"] = {"Mesme"},<br />
["zin"] = {"Zinza"},<br />
["ziw"] = {"Zigula"},<br />
["ziz"] = {"Zizilivakan"},<br />
["zka"] = {"Kaimbulawa"},<br />
["zkb"] = {"Koibal"},<br />
["zkd"] = {"Kadu"},<br />
["zkg"] = {"Koguryo"},<br />
["zkh"] = {"Khorezmian"},<br />
["zkk"] = {"Karankawa"},<br />
["zkn"] = {"Kanan"},<br />
["zko"] = {"Kott"},<br />
["zkp"] = {"São Paulo Kaingáng"},<br />
["zkr"] = {"Zakhring"},<br />
["zkt"] = {"Kitan"},<br />
["zku"] = {"Kaurna"},<br />
["zkv"] = {"Krevinian"},<br />
["zkz"] = {"Khazar"},<br />
["zla"] = {"Zula"},<br />
["zle"] = {"East Slavic languages"},<br />
["zlj"] = {"Liujiang Zhuang"},<br />
["zlm"] = {"Malay (individual language)"},<br />
["zln"] = {"Lianshan Zhuang"},<br />
["zlq"] = {"Liuqian Zhuang"},<br />
["zls"] = {"South Slavic languages"},<br />
["zlw"] = {"West Slavic languages"},<br />
["zma"] = {"Manda (Australia)"},<br />
["zmb"] = {"Zimba"},<br />
["zmc"] = {"Margany"},<br />
["zmd"] = {"Maridan"},<br />
["zme"] = {"Mangerr"},<br />
["zmf"] = {"Mfinu"},<br />
["zmg"] = {"Marti Ke"},<br />
["zmh"] = {"Makolkol"},<br />
["zmi"] = {"Negeri Sembilan Malay"},<br />
["zmj"] = {"Maridjabin"},<br />
["zmk"] = {"Mandandanyi"},<br />
["zml"] = {"Matngala"},<br />
["zmm"] = {"Marimanindji", "Marramaninyshi"},<br />
["zmn"] = {"Mbangwe"},<br />
["zmo"] = {"Molo"},<br />
["zmp"] = {"Mpuono"},<br />
["zmq"] = {"Mituku"},<br />
["zmr"] = {"Maranunggu"},<br />
["zms"] = {"Mbesa"},<br />
["zmt"] = {"Maringarr"},<br />
["zmu"] = {"Muruwari"},<br />
["zmv"] = {"Mbariman-Gudhinma"},<br />
["zmw"] = {"Mbo (Democratic Republic of Congo)"},<br />
["zmx"] = {"Bomitaba"},<br />
["zmy"] = {"Mariyedi"},<br />
["zmz"] = {"Mbandja"},<br />
["zna"] = {"Zan Gula"},<br />
["znd"] = {"Zande languages"},<br />
["zne"] = {"Zande (individual language)"},<br />
["zng"] = {"Mang"},<br />
["znk"] = {"Manangkari"},<br />
["zns"] = {"Mangas"},<br />
["zoc"] = {"Copainalá Zoque"},<br />
["zoh"] = {"Chimalapa Zoque"},<br />
["zom"] = {"Zou"},<br />
["zoo"] = {"Asunción Mixtepec Zapotec"},<br />
["zoq"] = {"Tabasco Zoque"},<br />
["zor"] = {"Rayón Zoque"},<br />
["zos"] = {"Francisco León Zoque"},<br />
["zpa"] = {"Lachiguiri Zapotec"},<br />
["zpb"] = {"Yautepec Zapotec"},<br />
["zpc"] = {"Choapan Zapotec"},<br />
["zpd"] = {"Southeastern Ixtlán Zapotec"},<br />
["zpe"] = {"Petapa Zapotec"},<br />
["zpf"] = {"San Pedro Quiatoni Zapotec"},<br />
["zpg"] = {"Guevea De Humboldt Zapotec"},<br />
["zph"] = {"Totomachapan Zapotec"},<br />
["zpi"] = {"Santa María Quiegolani Zapotec"},<br />
["zpj"] = {"Quiavicuzas Zapotec"},<br />
["zpk"] = {"Tlacolulita Zapotec"},<br />
["zpl"] = {"Lachixío Zapotec"},<br />
["zpm"] = {"Mixtepec Zapotec"},<br />
["zpn"] = {"Santa Inés Yatzechi Zapotec"},<br />
["zpo"] = {"Amatlán Zapotec"},<br />
["zpp"] = {"El Alto Zapotec"},<br />
["zpq"] = {"Zoogocho Zapotec"},<br />
["zpr"] = {"Santiago Xanica Zapotec"},<br />
["zps"] = {"Coatlán Zapotec"},<br />
["zpt"] = {"San Vicente Coatlán Zapotec"},<br />
["zpu"] = {"Yalálag Zapotec"},<br />
["zpv"] = {"Chichicapan Zapotec"},<br />
["zpw"] = {"Zaniza Zapotec"},<br />
["zpx"] = {"San Baltazar Loxicha Zapotec"},<br />
["zpy"] = {"Mazaltepec Zapotec"},<br />
["zpz"] = {"Texmelucan Zapotec"},<br />
["zqe"] = {"Qiubei Zhuang"},<br />
["zra"] = {"Kara (Korea)"},<br />
["zrg"] = {"Mirgan"},<br />
["zrn"] = {"Zerenkel"},<br />
["zro"] = {"Záparo"},<br />
["zrp"] = {"Zarphatic"},<br />
["zrs"] = {"Mairasi"},<br />
["zsa"] = {"Sarasira"},<br />
["zsk"] = {"Kaskean"},<br />
["zsl"] = {"Zambian Sign Language"},<br />
["zsm"] = {"Standard Malay"},<br />
["zsr"] = {"Southern Rincon Zapotec"},<br />
["zsu"] = {"Sukurum"},<br />
["zte"] = {"Elotepec Zapotec"},<br />
["ztg"] = {"Xanaguía Zapotec"},<br />
["ztl"] = {"Lapaguía-Guivini Zapotec"},<br />
["ztm"] = {"San Agustín Mixtepec Zapotec"},<br />
["ztn"] = {"Santa Catarina Albarradas Zapotec"},<br />
["ztp"] = {"Loxicha Zapotec"},<br />
["ztq"] = {"Quioquitani-Quierí Zapotec"},<br />
["zts"] = {"Tilquiapan Zapotec"},<br />
["ztt"] = {"Tejalapan Zapotec"},<br />
["ztu"] = {"Güilá Zapotec"},<br />
["ztx"] = {"Zaachila Zapotec"},<br />
["zty"] = {"Yatee Zapotec"},<br />
["zua"] = {"Zeem"},<br />
["zuh"] = {"Tokano"},<br />
["zum"] = {"Kumzari"},<br />
["zun"] = {"Zuni"},<br />
["zuy"] = {"Zumaya"},<br />
["zwa"] = {"Zay"},<br />
["zxx"] = {"No linguistic content", "Not applicable"},<br />
["zyb"] = {"Yongbei Zhuang"},<br />
["zyg"] = {"Yang Zhuang"},<br />
["zyj"] = {"Youjiang Zhuang"},<br />
["zyn"] = {"Yongnan Zhuang"},<br />
["zyp"] = {"Zyphe Chin"},<br />
["zza"] = {"Zaza", "Dimili", "Dimli (macrolanguage)", "Kirdki", "Kirmanjki (macrolanguage)", "Zazaki"},<br />
["zzj"] = {"Zuojiang Zhuang"}<br />
}<br />
<br />
local deprecated = {<br />
["in"] = {"Indonesian"},<br />
["iw"] = {"Hebrew"},<br />
["ji"] = {"Yiddish"},<br />
["jw"] = {"Javanese"},<br />
["mo"] = {"Moldavian", "Moldovan"},<br />
["aam"] = {"Aramanik"},<br />
["adp"] = {"Adap"},<br />
["agp"] = {"Paranan"},<br />
["ais"] = {"Nataoran Amis"},<br />
["ajt"] = {"Judeo-Tunisian Arabic"},<br />
["aoh"] = {"Arma"},<br />
["asd"] = {"Asas"},<br />
["aue"] = {"ǂKxʼauǁʼein"},<br />
["ayx"] = {"Ayi (China)"},<br />
["ayy"] = {"Tayabas Ayta"},<br />
["baz"] = {"Tunen"},<br />
["bbz"] = {"Babalia Creole Arabic"},<br />
["bgm"] = {"Baga Mboteni"},<br />
["bhk"] = {"Albay Bicolano"},<br />
["bic"] = {"Bikaru"},<br />
["bij"] = {"Vaghat-Ya-Bijim-Legeri"},<br />
["bjd"] = {"Bandjigali"},<br />
["bjq"] = {"Southern Betsimisaraka Malagasy"},<br />
["bkb"] = {"Finallig"},<br />
["blg"] = {"Balau"},<br />
["bmy"] = {"Bemba (Democratic Republic of Congo)"},<br />
["bpb"] = {"Barbacoas"},<br />
["btb"] = {"Beti (Cameroon)"},<br />
["btl"] = {"Bhatola"},<br />
["bxx"] = {"Borna (Democratic Republic of Congo)"},<br />
["byy"] = {"Buya"},<br />
["cbe"] = {"Chipiajes"},<br />
["cbh"] = {"Cagua"},<br />
["cca"] = {"Cauca"},<br />
["ccq"] = {"Chaungtha"},<br />
["cdg"] = {"Chamari"},<br />
["cjr"] = {"Chorotega"},<br />
["cka"] = {"Khumi Awa Chin"},<br />
["cmk"] = {"Chimakum"},<br />
["coy"] = {"Coyaima"},<br />
["cqu"] = {"Chilean Quechua"},<br />
["cug"] = {"Chungmboko", "Cung"},<br />
["cum"] = {"Cumeral"},<br />
["daf"] = {"Dan"},<br />
["dap"] = {"Nisi (India)"},<br />
["dgu"] = {"Degaru"},<br />
["dha"] = {"Dhanwar (India)"},<br />
["dit"] = {"Dirari"},<br />
["djl"] = {"Djiwarli"},<br />
["dkl"] = {"Kolum So Dogon"},<br />
["drh"] = {"Darkhat"},<br />
["drr"] = {"Dororo"},<br />
["drw"] = {"Darwazi"},<br />
["dud"] = {"Hun-Saare"},<br />
["duj"] = {"Dhuwal"},<br />
["dwl"] = {"Walo Kumbe Dogon"},<br />
["dzd"] = {"Daza"},<br />
["ekc"] = {"Eastern Karnic"},<br />
["elp"] = {"Elpaputih"},<br />
["emo"] = {"Emok"},<br />
["gav"] = {"Gabutamon"},<br />
["gbc"] = {"Garawa"},<br />
["gfx"] = {"Mangetti Dune ǃXung"},<br />
["ggn"] = {"Eastern Gurung"},<br />
["ggo"] = {"Southern Gondi"},<br />
["ggr"] = {"Aghu Tharnggalu"},<br />
["gio"] = {"Gelao"},<br />
["gji"] = {"Geji"},<br />
["gli"] = {"Guliguli"},<br />
["gti"] = {"Gbati-ri"},<br />
["guv"] = {"Gey"},<br />
["hrr"] = {"Horuru"},<br />
["iap"] = {"Iapama"},<br />
["ibi"] = {"Ibilo"},<br />
["ill"] = {"Iranun"},<br />
["ilw"] = {"Talur"},<br />
["ime"] = {"Imeraguen"},<br />
["izi"] = {"Izi-Ezaa-Ikwo-Mgbo"},<br />
["jar"] = {"Jarawa (Nigeria)"},<br />
["jeg"] = {"Jeng"},<br />
["kbf"] = {"Kakauhua"},<br />
["kdv"] = {"Kado"},<br />
["kgc"] = {"Kasseng"},<br />
["kgd"] = {"Kataang"},<br />
["kgh"] = {"Upper Tanudan Kalinga"},<br />
["kjf"] = {"Khalaj [Indo-Iranian]"},<br />
["koj"] = {"Sara Dunjo"},<br />
["kox"] = {"Coxima"},<br />
["kpp"] = {"Paku Karen"},<br />
["krm"] = {"Krim"},<br />
["ktr"] = {"Kota Marudu Tinagas"},<br />
["kvs"] = {"Kunggara"},<br />
["kwq"] = {"Kwak"},<br />
["kxe"] = {"Kakihum"},<br />
["kxl"] = {"Nepali Kurux"},<br />
["kxu"] = {"Kui (India)"},<br />
["kzh"] = {"Kenuzi-Dongola"},<br />
["kzj"] = {"Coastal Kadazan"},<br />
["kzt"] = {"Tambunan Dusun"},<br />
["lak"] = {"Laka (Nigeria)"},<br />
["lba"] = {"Lui"},<br />
["leg"] = {"Lengua"},<br />
["lii"] = {"Lingkhim"},<br />
["llo"] = {"Khlor"},<br />
["lmm"] = {"Lamam"},<br />
["lmz"] = {"Lumbee"},<br />
["lno"] = {"Lango (South Sudan)"},<br />
["lsg"] = {"Lyons Sign Language"},<br />
["meg"] = {"Mea"},<br />
["mgx"] = {"Omati"},<br />
["mhh"] = {"Maskoy Pidgin"},<br />
["mja"] = {"Mahei"},<br />
["mld"] = {"Malakhel"},<br />
["mnt"] = {"Maykulan"},<br />
["mof"] = {"Mohegan-Montauk-Narragansett"},<br />
["mst"] = {"Cataelano Mandaya"},<br />
["mvm"] = {"Muya"},<br />
["mwd"] = {"Mudbura"},<br />
["mwj"] = {"Maligo"},<br />
["mwx"] = {"Mediak"},<br />
["mwy"] = {"Mosiro"},<br />
["myd"] = {"Maramba"},<br />
["myi"] = {"Mina (India)"},<br />
["myq"] = {"Forest Maninka"},<br />
["myt"] = {"Sangab Mandaya"},<br />
["nad"] = {"Nijadali"},<br />
["nbf"] = {"Naxi"},<br />
["nbx"] = {"Ngura"},<br />
["ncp"] = {"Ndaktup"},<br />
["ngo"] = {"Ngoni"},<br />
["nln"] = {"Durango Nahuatl"},<br />
["nlr"] = {"Ngarla"},<br />
["nns"] = {"Ningye"},<br />
["nnx"] = {"Ngong"},<br />
["noo"] = {"Nootka"},<br />
["nts"] = {"Natagaimas"},<br />
["nxu"] = {"Narau"},<br />
["ome"] = {"Omejes"},<br />
["oun"] = {"ǃOǃung"},<br />
["pat"] = {"Papitalai"},<br />
["pbz"] = {"Palu"},<br />
["pcr"] = {"Panang"},<br />
["pgy"] = {"Pongyong"},<br />
["pii"] = {"Pini"},<br />
["plp"] = {"Palpa"},<br />
["pmc"] = {"Palumata"},<br />
["pmu"] = {"Mirpur Panjabi"},<br />
["pod"] = {"Ponares"},<br />
["ppa"] = {"Pao"},<br />
["ppr"] = {"Piru"},<br />
["prb"] = {"Lua'"},<br />
["pry"] = {"Pray 3"},<br />
["puk"] = {"Pu Ko"},<br />
["puz"] = {"Purum Naga"},<br />
["rie"] = {"Rien"},<br />
["rmr"] = {"Caló"},<br />
["rna"] = {"Runa"},<br />
["rsi"] = {"Rennellese Sign Language"},<br />
["sap"] = {"Sanapaná"},<br />
["sca"] = {"Sansu"},<br />
["sdm"] = {"Semandang"},<br />
["sgl"] = {"Sanglechi-Ishkashimi"},<br />
["sgo"] = {"Songa"},<br />
["skk"] = {"Sok"},<br />
["smd"] = {"Sama"},<br />
["snb"] = {"Sebuyau"},<br />
["snh"] = {"Shinabo"},<br />
["sul"] = {"Surigaonon"},<br />
["sum"] = {"Sumo-Mayangna"},<br />
["svr"] = {"Savara"},<br />
["tbb"] = {"Tapeba"},<br />
["tdu"] = {"Tempasuk Dusun"},<br />
["tgg"] = {"Tangga"},<br />
["thc"] = {"Tai Hang Tong"},<br />
["thw"] = {"Thudam"},<br />
["thx"] = {"The"},<br />
["tid"] = {"Tidong"},<br />
["tie"] = {"Tingal"},<br />
["tkk"] = {"Takpa"},<br />
["tlw"] = {"South Wemale"},<br />
["tmp"] = {"Tai Mène"},<br />
["tne"] = {"Tinoc Kallahan"},<br />
["tnf"] = {"Tangshewi"},<br />
["toe"] = {"Tomedes"},<br />
["tsf"] = {"Southwestern Tamang"},<br />
["unp"] = {"Worora"},<br />
["uok"] = {"Uokha"},<br />
["uun"] = {"Kulon-Pazeh"},<br />
["vki"] = {"Ija-Zuba"},<br />
["wgw"] = {"Wagawaga"},<br />
["wit"] = {"Wintu"},<br />
["wiw"] = {"Wirangu"},<br />
["wra"] = {"Warapu"},<br />
["wrd"] = {"Warduji"},<br />
["wya"] = {"Wyandot"},<br />
["xba"] = {"Kamba (Brazil)"},<br />
["xbx"] = {"Kabixí"},<br />
["xia"] = {"Xiandao"},<br />
["xip"] = {"Xipináwa"},<br />
["xkh"] = {"Karahawyana"},<br />
["xrq"] = {"Karranga"},<br />
["xtz"] = {"Tasmanian"},<br />
["ybd"] = {"Yangbye"},<br />
["yds"] = {"Yiddish Sign Language"},<br />
["yen"] = {"Yendang"},<br />
["yiy"] = {"Yir Yoront"},<br />
["yma"] = {"Yamphe"},<br />
["ymt"] = {"Mator-Taygi-Karagas"},<br />
["ynh"] = {"Yangho"},<br />
["yos"] = {"Yos"},<br />
["yri"] = {"Yarí"},<br />
["yuu"] = {"Yugh"},<br />
["zir"] = {"Ziriya"}<br />
}<br />
<br />
return {<br />
active = active,<br />
deprecated = deprecated,<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Lang/data&diff=3390
Module:Lang/data
2022-06-25T21:30:21Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>local lang_obj = mw.language.getContentLanguage();<br />
local this_wiki_lang_tag = lang_obj.code; -- get this wiki's language tag<br />
<br />
<br />
--[[--------------------------< L A N G _ N A M E _ T A B L E >------------------------------------------------<br />
<br />
primary table of tables that decode:<br />
lang -> language tags and names<br />
script -> ISO 15924 script tags<br />
region -> ISO 3166 region tags<br />
variant -> iana registered variant tags<br />
suppressed -> map of scripts tags and their associated language tags<br />
<br />
all of these data come from separate modules that are derived from the IANA language-subtag-registry file<br />
<br />
key_to_lower() avoids the metatable trap and sets all keys in the subtables to lowercase. Many language codes<br />
have multiple associated names; Module:lang is only concerned with the first name so key_to_lower() only fetches<br />
the first name.<br />
<br />
]]<br />
<br />
local function key_to_lower (module, src_type)<br />
local out = {};<br />
local source = (('var_sup' == src_type) and require (module)) or mw.loadData (module); -- fetch data from this module; require() avoids metatable trap for variant data<br />
if 'var_sup' == src_type then<br />
for k, v in pairs (source) do<br />
out[k:lower()] = v; -- for variant and suppressed everything is needed<br />
end<br />
<br />
elseif 'lang' == src_type and source.active then -- for ~/iana_languages (active)<br />
for k, v in pairs (source.active) do<br />
out[k:lower()] = v[1]; -- ignore multiple names; take first name only<br />
end<br />
<br />
elseif 'lang_dep' == src_type and source.deprecated then -- for ~/iana_languages (deprecated)<br />
for k, v in pairs (source.deprecated) do<br />
out[k:lower()] = v[1]; -- ignore multiple names; take first name only<br />
end<br />
<br />
else -- here for all other sources<br />
for k, v in pairs (source) do<br />
out[k:lower()] = v[1]; -- ignore multiple names; take first name only<br />
end<br />
end<br />
return out;<br />
end<br />
<br />
local lang_name_table_t = {<br />
lang = key_to_lower ('Module:Language/data/iana languages', 'lang'),<br />
lang_dep = key_to_lower ('Module:Language/data/iana languages', 'lang_dep'),<br />
script = key_to_lower ('Module:Language/data/iana scripts'), -- script keys are capitalized; set to lower<br />
region = key_to_lower ('Module:Language/data/iana regions'), -- region keys are uppercase; set to lower<br />
variant = key_to_lower ('Module:Language/data/iana variants', 'var_sup'),<br />
suppressed = key_to_lower ('Module:Language/data/iana suppressed scripts', 'var_sup'), -- script keys are capitalized; set to lower<br />
}<br />
<br />
<br />
--[[--------------------------< I 1 8 N M E D I A W I K I O V E R R I D E >--------------------------------<br />
<br />
For internationalization; not used at en.wiki<br />
<br />
The language names taken from the IANA language-subtag-registry file are given in English. That may not be ideal.<br />
Translating ~8,000 language names is also not ideal. MediaWiki maintains (much) shorter lists of language names<br />
in most languages for which there is a Wikipedia edition. When desired, Module:Lang can use the MediaWiki <br />
language list for the local language.<br />
<br />
Caveat lector: the list of MediaWiki language names for your language may not be complete or may not exist at all.<br />
When incomplete, MediaWiki's list will 'fall back' to another language (typically English). When that happens<br />
add an appropriate entry to the override table below.<br />
<br />
Caveat lector: the list of MediaWiki language names for your language may not be correct. At en.wiki, the<br />
MediaWiki language names do not agree with the IANA language names for these ISO 639-1 tags. Often it is simply<br />
spelling differences:<br />
bh: IANA: Bihari languages MW: Bhojpuri – the ISO 639-3 tag for Bhojpuri is bho<br />
bn: IANA: Bengali MW: Bangla – Bengali is the exonym, Bangla is the endonym<br />
dv: IANA: Dhivehi MW: Divehi<br />
el: IANA: Modern Greek MW: Greek<br />
ht: IANA: Haitian MW: Haitian Creole<br />
ky: IANA: Kirghiz MW: Kyrgyz<br />
li: IANA: Limburgan MW: Limburgish<br />
or: IANA: Oriya MW: Odia<br />
os: IANA: Ossetian MW: Ossetic<br />
"pa: IANA: Panjabi MW: Punjabi<br />
"ps: IANA: Pushto MW: Pashto<br />
"to: IANA: Tonga MW: Tongan<br />
"ug: IANA: Uighur MW: Uyghur<br />
use the override table to override language names that are incorrect for your project<br />
<br />
To see the list of names that MediaWiki has for your language, enter this in the Debug colsole:<br />
=mw.dumpObject (mw.language.fetchLanguageNames ('<tag>', 'all'))<br />
(replacing <tag> with the language tag for your language)<br />
<br />
Use of the MediaWiki language names lists is enabled when media_wiki_override_enable is set to boolean true.<br />
<br />
]]<br />
<br />
local media_wiki_override_enable = false; -- set to true to override IANA names with MediaWiki names; always false at en.wiki<br />
-- caveat lector: the list of MediaWiki language names for your language may not be complete or may not exist at all<br />
if true == media_wiki_override_enable then<br />
local mw_languages_by_tag_t = mw.language.fetchLanguageNames (this_wiki_lang_tag, 'all'); -- get a table of language tag/name pairs known to MediaWiki<br />
for tag, name in pairs (mw_languages_by_tag_t) do -- loop through each tag/name pair in the MediaWiki list<br />
if lang_name_table_t.lang[tag] then -- if the tag is in the main list<br />
lang_name_table_t.lang[tag] = name; -- overwrite exisiting name with the name from MediaWiki<br />
end<br />
end<br />
end<br />
<br />
<br />
--[[--------------------------< O V E R R I D E >--------------------------------------------------------------<br />
<br />
Language codes and names in this table override the BCP47 names in lang_name_table.<br />
<br />
indexes in this table shall always be lower case<br />
<br />
]]<br />
<br />
local override = {<br />
------------------------------< I S O _ 6 3 9 - 1 >------------------------------------------------------------<br />
<br />
["ca-valencia"] = "Valencian",<br />
["cu"] = "Church Slavonic", -- 2nd IANA name;<br />
["de-at"] = "Austrian German", -- these code-region and code-variant tags to match en.wiki article names<br />
["de-ch"] = "Swiss Standard German",<br />
["en-au"] = "Australian English",<br />
["en-ca"] = "Canadian English",<br />
["en-emodeng"] = "Early Modern English",<br />
["en-gb"] = "British English",<br />
["en-ie"] = "Irish English",<br />
["en-in"] = "Indian English",<br />
["en-nz"] = "New Zealand English",<br />
["en-us"] = "American English",<br />
["en-za"] = "South African English",<br />
["fy"] = "West Frisian", -- Western Frisian<br />
["mo"] = "Moldovan", -- Moldavian (deprecated code); to match en.wiki article title<br />
["nl-be"] = "Flemish", -- match MediaWiki<br />
["oc-provenc"] = "Provençal",<br />
["ps"] = "Pashto", -- Pushto<br />
["pt-br"] = "Brazilian Portuguese", -- match MediaWiki<br />
["tw-asante"] = "Asante Twi",<br />
<br />
-- these ISO 639-1 language-name overrides imported from Module:Language/data/wp_languages<br />
--<begin do-not-edit except to comment out>--<br />
["av"] = "Avar", -- Avaric<br />
["bo"] = "Standard Tibetan", -- Tibetan<br />
["el"] = "Greek", -- Modern Greek<br />
-- ["en-SA"] = "South African English", -- English; no; SA is not South Africa it Saudi Arabia; ZA is South Africa<br />
["ff"] = "Fula", -- Fulah<br />
["ht"] = "Haitian Creole", -- Haitian<br />
["hz"] = "Otjiherero", -- Herero<br />
["ii"] = "Yi", -- Sichuan Yi<br />
["ki"] = "Gikuyu", -- Kikuyu<br />
["kl"] = "Greenlandic", -- Kalaallisut<br />
["ky"] = "Kyrgyz", -- Kirghiz<br />
["lg"] = "Luganda", -- Ganda<br />
["li"] = "Limburgish", -- Limburgan<br />
["mi"] = "Māori", -- Maori<br />
["na"] = "Nauruan", -- Nauru<br />
["nb"] = "Bokmål", -- Norwegian Bokmål<br />
["nd"] = "Northern Ndebele", -- North Ndebele<br />
["nn"] = "Nynorsk", -- Norwegian Nynorsk<br />
["nr"] = "Southern Ndebele", -- South Ndebele<br />
["ny"] = "Chichewa", -- Nyanja<br />
["oj"] = "Ojibwe", -- Ojibwa<br />
["or"] = "Odia", -- Oriya<br />
["pa"] = "Punjabi", -- Panjabi<br />
["rn"] = "Kirundi", -- Rundi<br />
["sl"] = "Slovene", -- Slovenian<br />
["ss"] = "Swazi", -- Swati<br />
["st"] = "Sotho", -- Southern Sotho<br />
["to"] = "Tongan", -- Tonga<br />
--<end do-not-edit except to comment out>--<br />
<br />
<br />
------------------------------< I S O _ 6 3 9 - 2, - 3, - 5 >----------------------------------------------<br />
<br />
["alv"] = "Atlantic–Congo languages", -- to match en.wiki article title (endash)<br />
["arc"] = "Aramaic", -- Official Aramaic (700-300 BCE), Imperial Aramaic (700-300 BCE);<br />
["art"] = "constructed", -- to match en.wiki article; lowercase for category name<br />
["bhd"] = "Bhadarwahi", -- Bhadrawahi; to match en.wiki article title<br />
["bla"] = "Blackfoot", -- Siksika; to match en.wiki article title<br />
["bua"] = "Buryat", -- Buriat; this is a macro language; these four use wp preferred transliteration;<br />
["bxm"] = "Mongolian Buryat", -- Mongolia Buriat; these three all redirect to Buryat<br />
["bxr"] = "Russian Buryat", -- Russia Buriat;<br />
["bxu"] = "Chinese Buryat", -- China Buriat;<br />
["byr"] = "Yipma", -- Baruya, Yipma<br />
["egy"] = "Ancient Egyptian", -- Egyptian (Ancient); distinguish from contemporary arz: Egyptian Arabic <br />
["ems"] = "Alutiiq", -- Pacific Gulf Yupik; to match en.wiki article title<br />
["esx"] = "Eskimo–Aleut languages", -- to match en.wiki article title (endash)<br />
["frr"] = "North Frisian", -- Northern Frisian<br />
["frs"] = "East Frisian Low Saxon", -- Eastern Frisian<br />
["gsw-fr"] = "Alsatian", -- match MediaWiki<br />
["haa"] = "Hän", -- Han; to match en.wiki article title<br />
["hmx"] = "Hmong–Mien languages", -- to match en.wiki article title (endash)<br />
["ilo"] = "Ilocano", -- Iloko; to match en.wiki article title<br />
["jam"] = "Jamaican Patois", -- Jamaican Creole English<br />
["luo"] = "Dholuo", -- IANA (primary) /ISO 639-3: Luo (Kenya and Tanzania); IANA (secondary): Dholuo<br />
["mhr"] = "Meadow Mari", -- Eastern Mari<br />
["mid"] = "Modern Mandaic", -- Mandaic<br />
['mis'] = "uncoded", -- Uncoded languages; capitalization; special scope, not collective scope;<br />
["mkh"] = "Mon–Khmer languages", -- to match en.wiki article title (endash)<br />
["mla"] = "Tamambo", -- Malo<br />
['mte'] = "Mono-Alu", -- Mono (Solomon Islands)<br />
['mul'] = "multiple", -- Multiple languages; capitalization; special scope, not collective scope;<br />
["nan-tw"] = "Taiwanese Hokkien", -- make room for IANA / 639-3 nan Min Nan Chinese; match en.wiki article title<br />
["new"] = "Newar", -- Newari, Nepal Bhasa; to match en,wiki article title<br />
["ngf"] = "Trans–New Guinea languages", -- to match en.wiki article title (endash)<br />
["nic"] = "Niger–Congo languages", -- Niger-Kordofanian languages; to match en,wiki article title<br />
["nrf"] = "Norman", -- not quite a collective - IANA name: Jèrriais + Guernésiais; categorizes to Norman-language text<br />
["nrf-gg"] = "Guernésiais", -- match MediaWiki<br />
["nrf-je"] = "Jèrriais", -- match MediaWiki<br />
["nzi"] = "Nzema", -- Nzima; to match en.wiki article title<br />
["oma"] = "Omaha–Ponca", -- to match en.wiki article title (endash)<br />
["orv"] = "Old East Slavic", -- Old Russian<br />
["pfl"] = "Palatine German", -- Pfaelzisch; to match en.wiki article<br />
["pie"] = "Piro Pueblo", -- Piro; to match en.wiki article<br />
["pms"] = "Piedmontese", -- Piemontese; to match en.wiki article title<br />
["pnb"] = "Punjabi (Western)", -- Western Panjabi; dab added to override import from ~/wp languages and distinguish pnb from pa in reverse look up tag_from_name()<br />
["rop"] = "Australian Kriol", -- Kriol; en.wiki article is a dab; point to correct en.wiki article<br />
["sdo"] = "Bukar–Sadong", -- Bukar-Sadung Bidayuh; to match en.wiki article title<br />
["stq"] = "Saterland Frisian", -- Saterfriesisch<br />
["und"] = "undetermined", -- capitalization to match existing category<br />
["wrg"] = "Warrongo", -- Warungu<br />
["xal-ru"] = "Kalmyk", -- to match en.wiki article title<br />
["xgf"] = "Tongva", -- ISO 639-3 is Gabrielino-Fernandeño<br />
["yuf"] = "Havasupai–Hualapai", -- Havasupai-Walapai-Yavapai; to match en.wiki article title<br />
["zxx"] = "no linguistic content", -- capitalization<br />
<br />
-- these ISO 639-2, -3 language-name overrides imported from Module:Language/data/wp_languages<br />
--<begin do-not-edit except to comment out>--<br />
["ace"] = "Acehnese", -- Achinese<br />
["aec"] = "Sa'idi Arabic", -- Saidi Arabic<br />
["akl"] = "Aklan", -- Aklanon<br />
["alt"] = "Altay", -- Southern Altai<br />
["apm"] = "Mescalero-Chiricahua", -- Mescalero-Chiricahua Apache<br />
["bal"] = "Balochi", -- Baluchi<br />
-- ["bcl"] = "Central Bicolano", -- Central Bikol<br />
["bin"] = "Edo", -- Bini<br />
["bpy"] = "Bishnupriya Manipuri", -- Bishnupriya<br />
["chg"] = "Chagatay", -- Chagatai<br />
["ckb"] = "Sorani Kurdish", -- Central Kurdish<br />
["cnu"] = "Shenwa", -- Chenoua<br />
["coc"] = "Cocopah", -- Cocopa<br />
["diq"] = "Zazaki", -- Dimli<br />
["fit"] = "Meänkieli", -- Tornedalen Finnish<br />
["fkv"] = "Kven", -- Kven Finnish<br />
["frk"] = "Old Frankish", -- Frankish<br />
["gez"] = "Ge'ez", -- Geez<br />
["gju"] = "Gujari", -- Gujari<br />
["gsw"] = "Alemannic German", -- Swiss German<br />
["gul"] = "Gullah", -- Sea Island Creole English<br />
["hak"] = "Hakka", -- Hakka Chinese<br />
["hbo"] = "Biblical Hebrew", -- Ancient Hebrew<br />
["hnd"] = "Hindko", -- Southern Hindko<br />
-- ["ikt"] = "Inuvialuk", -- Inuinnaqtun<br />
["kaa"] = "Karakalpak", -- Kara-Kalpak<br />
["khb"] = "Tai Lü", -- Lü<br />
["kmr"] = "Kurmanji Kurdish", -- Northern Kurdish<br />
["kpo"] = "Kposo", -- Ikposo<br />
["krj"] = "Kinaray-a", -- Kinaray-A<br />
["ktz"] = "Juǀ'hoan", -- Juǀʼhoan<br />
["lez"] = "Lezgian", -- Lezghian<br />
["liv"] = "Livonian", -- Liv<br />
["lng"] = "Lombardic", -- Langobardic<br />
["mia"] = "Miami-Illinois", -- Miami<br />
["miq"] = "Miskito", -- Mískito<br />
["mix"] = "Mixtec", -- Mixtepec Mixtec<br />
["mni"] = "Meitei", -- Manipuri<br />
["mrj"] = "Hill Mari", -- Western Mari<br />
["mww"] = "White Hmong", -- Hmong Daw<br />
["nds-nl"] = "Dutch Low Saxon", -- Low German<br />
-- ["new"] = "Nepal Bhasa", -- Newari<br />
["nso"] = "Northern Sotho", -- Pedi<br />
-- ["nwc"] = "Classical Nepal Bhasa", -- Classical Newari, Classical Nepal Bhasa, Old Newari<br />
["ood"] = "O'odham", -- Tohono O'odham<br />
["otk"] = "Old Turkic", -- Old Turkish<br />
["pal"] = "Middle Persian", -- Pahlavi<br />
["pam"] = "Kapampangan", -- Pampanga<br />
["phr"] = "Potwari", -- Pahari-Potwari<br />
["pka"] = "Jain Prakrit", -- Ardhamāgadhī Prākrit<br />
-- ["pnb"] = "Punjabi", -- Western Panjabi<br />
["psu"] = "Shauraseni", -- Sauraseni Prākrit<br />
["rap"] = "Rapa Nui", -- Rapanui<br />
["rar"] = "Cook Islands Māori", -- Rarotongan<br />
["rmu"] = "Scandoromani", -- Tavringer Romani<br />
["rom"] = "Romani", -- Romany<br />
["rup"] = "Aromanian", -- Macedo-Romanian<br />
["ryu"] = "Okinawan", -- Central Okinawan<br />
["sdc"] = "Sassarese", -- Sassarese Sardinian<br />
["sdn"] = "Gallurese", -- Gallurese Sardinian<br />
["shp"] = "Shipibo", -- Shipibo-Conibo<br />
["src"] = "Logudorese", -- Logudorese Sardinian<br />
["sro"] = "Campidanese", -- Campidanese Sardinian<br />
["tkl"] = "Tokelauan", -- Tokelau<br />
["tvl"] = "Tuvaluan", -- Tuvalu<br />
["tyv"] = "Tuvan", -- Tuvinian<br />
["vls"] = "West Flemish", -- Vlaams<br />
["wep"] = "Westphalian", -- Westphalien<br />
["xal"] = "Oirat", -- Kalmyk<br />
["xcl"] = "Old Armenian", -- Classical Armenian<br />
["yua"] = "Yucatec Maya", -- Yucateco<br />
--<end do-not-edit except to comment out>--<br />
<br />
<br />
------------------------------< P R I V A T E _ U S E _ T A G S >----------------------------------------------<br />
<br />
["alg-x-proto"] = "Proto-Algonquian", -- alg in IANA is Algonquian languages<br />
["cel-x-proto"] = "Proto-Celtic", -- cel in IANA is Celtic languages<br />
["gem-x-proto"] = "Proto-Germanic", -- gem in IANA is Germanic languages<br />
["gmw-x-ecg"] = "East Central German",<br />
["grc-x-aeolic"] = "Aeolic Greek", -- these grc-x-... codes are preferred alternates to the non-standard catchall code grc-gre<br />
["grc-x-attic"] = "Attic Greek",<br />
["grc-x-biblical"] = "Biblical Greek",<br />
["grc-x-byzant"] = "Byzantine Greek",<br />
["grc-x-classic"] = "Classical Greek",<br />
["grc-x-doric"] = "Doric Greek",<br />
["grc-x-hellen"] = "Hellenistic Greek",<br />
["grc-x-ionic"] = "Ionic Greek",<br />
["grc-x-koine"] = "Koinē Greek",<br />
["grc-x-medieval"] = "Medieval Greek",<br />
["grc-x-patris"] = "Patristic Greek",<br />
["grk-x-proto"] = "Proto-Greek", -- grk in IANA is Greek languages<br />
["iir-x-proto"] = "Proto-Indo-Iranian", -- iir in IANA is Indo-Iranian Languages<br />
["ine-x-proto"] = "Proto-Indo-European",<br />
["ira-x-proto"] = "Proto-Iranian", -- ira in IANA is Iranian languages<br />
["itc-x-proto"] = "Proto-Italic", -- itc in IANA is Italic languages<br />
["ksh-x-colog"] = "Colognian", -- en.wiki article is Colognian; ksh (Kölsch) redirects there<br />
["la-x-medieval"] = "Medieval Latin",<br />
["mis-x-ripuar"] = "Ripuarian", -- replaces improper use of ksh in wp_languages<br />
["sem-x-proto"] = "Proto-Semitic",<br />
["sla-x-proto"] = "Proto-Slavic", -- sla in IANA is Slavic languages<br />
["yuf-x-hav"] = "Havasupai", -- IANA name for these three is Havasupai-Walapai-Yavapai<br />
["yuf-x-wal"] = "Walapai",<br />
["yuf-x-yav"] = "Yavapai",<br />
}<br />
<br />
<br />
--[[--------------------------< A R T I C L E _ L I N K >------------------------------------------------------<br />
<br />
for those rare occasions when article titles don't fit with the normal '<language name>-language', this table<br />
maps language code to article title. Use of this table should be avoided and the use of redirects preferred as<br />
that is the long-standing method of handling article names that don't fit with the normal pattern<br />
<br />
]]<br />
<br />
local article_name = {<br />
["lij"] = "Ligurian (Romance language)", -- Ligurian; see Template_talk:Lang#Ligurian_dab<br />
['mnh'] = "Mono language (Congo)", -- Mono (Democratic Republic of Congo); see Template_talk:Lang#Mono_languages<br />
['mnr'] = "Mono language (California)", -- Mono (USA)<br />
['mru'] = "Mono language (Cameroon)", -- Mono (Cameroon)<br />
["xlg"] = "Ligurian (ancient language)", -- see Template_talk:Lang#Ligurian_dab<br />
}<br />
<br />
<br />
--[=[-------------------------< R T L _ S C R I P T S >--------------------------------------------------------<br />
<br />
ISO 15924 scripts that are written right-to-left. Data in this table taken from [[ISO 15924#List of codes]]<br />
<br />
last update to this list: 2017-12-24<br />
<br />
]=]<br />
<br />
local rtl_scripts = {<br />
'adlm', 'arab', 'aran', 'armi', 'avst', 'cprt', 'egyd', 'egyh', 'hatr', 'hebr',<br />
'hung', 'inds', 'khar', 'lydi', 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',<br />
'nbat', 'nkoo', 'orkh', 'palm', 'phli', 'phlp', 'phlv', 'phnx', 'prti', 'rohg',<br />
'samr', 'sarb', 'sogd', 'sogo', 'syrc', 'syre', 'syrj', 'syrn', 'thaa', 'wole',<br />
};<br />
<br />
<br />
--[[--------------------------< T R A N S L I T _ T I T L E S >------------------------------------------------<br />
<br />
This is a table of tables of transliteration standards and the language codes or language scripts that apply to<br />
those standards. This table is used to create the tool-tip text associated with the transliterated text displayed<br />
by some of the {{lang-??}} templates.<br />
<br />
These tables are more-or-less copied directly from {{transl}}. The standard 'NO_STD' is a construct to allow for<br />
the cases when no |std= parameter value is provided.<br />
<br />
]]<br />
<br />
local translit_title_table = {<br />
['ahl'] = {<br />
['default'] = 'Academy of the Hebrew Language transliteration',<br />
},<br />
<br />
['ala'] = {<br />
['default'] = 'American Library Association – Library of Congress transliteration',<br />
},<br />
<br />
['ala-lc'] = {<br />
['default'] = 'American Library Association – Library of Congress transliteration',<br />
},<br />
<br />
['batr'] = {<br />
['default'] = 'Bikdash Arabic Transliteration Rules',<br />
},<br />
<br />
['bgn/pcgn'] = {<br />
['default'] = 'Board on Geographic Names / Permanent Committee on Geographical Names transliteration',<br />
},<br />
<br />
['din'] = {<br />
['ar'] = 'DIN 31635 Arabic',<br />
['fa'] = 'DIN 31635 Arabic',<br />
['ku'] = 'DIN 31635 Arabic',<br />
['ps'] = 'DIN 31635 Arabic',<br />
['tg'] = 'DIN 31635 Arabic',<br />
['ug'] = 'DIN 31635 Arabic',<br />
['ur'] = 'DIN 31635 Arabic',<br />
['arab'] = 'DIN 31635 Arabic',<br />
<br />
['default'] = 'DIN transliteration',<br />
},<br />
<br />
['eae'] = {<br />
['default'] = 'Encyclopaedia Aethiopica transliteration',<br />
},<br />
<br />
['hepburn'] = {<br />
['default'] = 'Hepburn transliteration',<br />
},<br />
<br />
['hunterian'] = {<br />
['default'] = 'Hunterian transliteration',<br />
},<br />
<br />
['iast'] = {<br />
['default'] = 'International Alphabet of Sanskrit transliteration',<br />
},<br />
<br />
['iso'] = { -- when a transliteration standard is supplied<br />
['ab'] = 'ISO 9 Cyrillic',<br />
['ba'] = 'ISO 9 Cyrillic',<br />
['be'] = 'ISO 9 Cyrillic',<br />
['bg'] = 'ISO 9 Cyrillic',<br />
['kk'] = 'ISO 9 Cyrillic',<br />
['ky'] = 'ISO 9 Cyrillic',<br />
['mn'] = 'ISO 9 Cyrillic',<br />
['ru'] = 'ISO 9 Cyrillic',<br />
['tg'] = 'ISO 9 Cyrillic',<br />
['uk'] = 'ISO 9 Cyrillic',<br />
['bua'] = 'ISO 9 Cyrillic',<br />
['sah'] = 'ISO 9 Cyrillic',<br />
['tut'] = 'ISO 9 Cyrillic',<br />
['xal'] = 'ISO 9 Cyrillic',<br />
['cyrl'] = 'ISO 9 Cyrillic',<br />
<br />
['ar'] = 'ISO 233 Arabic',<br />
['ku'] = 'ISO 233 Arabic',<br />
['ps'] = 'ISO 233 Arabic',<br />
['ug'] = 'ISO 233 Arabic',<br />
['ur'] = 'ISO 233 Arabic',<br />
['arab'] = 'ISO 233 Arabic',<br />
<br />
['he'] = 'ISO 259 Hebrew',<br />
['yi'] = 'ISO 259 Hebrew',<br />
['hebr'] = 'ISO 259 Hebrew',<br />
<br />
['el'] = 'ISO 843 Greek',<br />
['grc'] = 'ISO 843 Greek',<br />
<br />
['ja'] = 'ISO 3602 Japanese',<br />
['hira'] = 'ISO 3602 Japanese',<br />
['hrkt'] = 'ISO 3602 Japanese',<br />
['jpan'] = 'ISO 3602 Japanese',<br />
['kana'] = 'ISO 3602 Japanese',<br />
<br />
['zh'] = 'ISO 7098 Chinese',<br />
['chi'] = 'ISO 7098 Chinese',<br />
['pny'] = 'ISO 7098 Chinese',<br />
['zho'] = 'ISO 7098 Chinese',<br />
-- ['han'] = 'ISO 7098 Chinese', -- unicode alias of Hani? doesn't belong here? should be Hani?<br />
['hans'] = 'ISO 7098 Chinese',<br />
['hant'] = 'ISO 7098 Chinese',<br />
<br />
['ka'] = 'ISO 9984 Georgian',<br />
['kat'] = 'ISO 9984 Georgian',<br />
<br />
['arm'] = 'ISO 9985 Armenian',<br />
['hy'] = 'ISO 9985 Armenian',<br />
<br />
['th'] = 'ISO 11940 Thai',<br />
['tha'] = 'ISO 11940 Thai',<br />
<br />
['ko'] = 'ISO 11941 Korean',<br />
['kor'] = 'ISO 11941 Korean',<br />
<br />
['awa'] = 'ISO 15919 Indic',<br />
['bho'] = 'ISO 15919 Indic',<br />
['bn'] = 'ISO 15919 Indic',<br />
['bra'] = 'ISO 15919 Indic',<br />
['doi'] = 'ISO 15919 Indic',<br />
['dra'] = 'ISO 15919 Indic',<br />
['gon'] = 'ISO 15919 Indic',<br />
['gu'] = 'ISO 15919 Indic',<br />
['hi'] = 'ISO 15919 Indic',<br />
['inc'] = 'ISO 15919 Indic',<br />
['kn'] = 'ISO 15919 Indic',<br />
['kok'] = 'ISO 15919 Indic',<br />
['ks'] = 'ISO 15919 Indic',<br />
['mag'] = 'ISO 15919 Indic',<br />
['mai'] = 'ISO 15919 Indic',<br />
['ml'] = 'ISO 15919 Indic',<br />
['mr'] = 'ISO 15919 Indic',<br />
['ne'] = 'ISO 15919 Indic',<br />
['new'] = 'ISO 15919 Indic',<br />
['or'] = 'ISO 15919 Indic',<br />
['pa'] = 'ISO 15919 Indic',<br />
['raj'] = 'ISO 15919 Indic',<br />
['sa'] = 'ISO 15919 Indic',<br />
['sat'] = 'ISO 15919 Indic',<br />
['sd'] = 'ISO 15919 Indic',<br />
['si'] = 'ISO 15919 Indic',<br />
['ta'] = 'ISO 15919 Indic',<br />
['tcy'] = 'ISO 15919 Indic',<br />
['te'] = 'ISO 15919 Indic',<br />
['beng'] = 'ISO 15919 Indic',<br />
['brah'] = 'ISO 15919 Indic',<br />
['deva'] = 'ISO 15919 Indic',<br />
['gujr'] = 'ISO 15919 Indic',<br />
['guru'] = 'ISO 15919 Indic',<br />
['knda'] = 'ISO 15919 Indic',<br />
['mlym'] = 'ISO 15919 Indic',<br />
['orya'] = 'ISO 15919 Indic',<br />
['sinh'] = 'ISO 15919 Indic',<br />
['taml'] = 'ISO 15919 Indic',<br />
['telu'] = 'ISO 15919 Indic',<br />
<br />
['default'] = 'ISO transliteration',<br />
},<br />
<br />
['jyutping'] = {<br />
['default'] = 'Jyutping transliteration',<br />
},<br />
<br />
['mlcts'] = {<br />
['default'] = 'Myanmar Language Commission Transcription System',<br />
},<br />
<br />
['mr'] = {<br />
['default'] = 'McCune–Reischauer transliteration',<br />
},<br />
<br />
['nihon-shiki'] = {<br />
['default'] = 'Nihon-shiki transliteration',<br />
},<br />
<br />
['no_std'] = { -- when no transliteration standard is supplied<br />
['akk'] = 'Semitic transliteration',<br />
['sem'] = 'Semitic transliteration',<br />
['phnx'] = 'Semitic transliteration',<br />
['xsux'] = 'Cuneiform transliteration',<br />
},<br />
<br />
['pinyin'] = {<br />
['default'] = 'Pinyin transliteration',<br />
},<br />
<br />
['rr'] = {<br />
['default'] = 'Revised Romanization of Korean transliteration',<br />
},<br />
<br />
['rtgs'] = {<br />
['default'] = 'Royal Thai General System of Transcription',<br />
},<br />
<br />
['satts'] = {<br />
['default'] = 'Standard Arabic Technical Transliteration System transliteration',<br />
},<br />
<br />
['scientific'] = {<br />
['default'] = 'scientific transliteration',<br />
},<br />
<br />
['ukrainian'] = {<br />
['default'] = 'Ukrainian National system of romanization',<br />
},<br />
<br />
['ungegn'] = {<br />
['default'] = 'United Nations Group of Experts on Geographical Names transliteration',<br />
},<br />
<br />
['wadegile'] = {<br />
['default'] = 'Wade–Giles transliteration',<br />
},<br />
<br />
['wehr'] = {<br />
['default'] = 'Hans Wehr transliteration',<br />
},<br />
};<br />
<br />
<br />
return<br />
{<br />
this_wiki_lang_tag = this_wiki_lang_tag,<br />
this_wiki_lang_dir = lang_obj:getDir(), -- wiki's language direction<br />
<br />
article_name = article_name,<br />
lang_name_table = lang_name_table_t,<br />
override = override,<br />
rtl_scripts = rtl_scripts,<br />
special_tags_table = special_tags_table,<br />
translit_title_table = translit_title_table,<br />
};</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Lang/ISO_639_synonyms&diff=3388
Module:Lang/ISO 639 synonyms
2022-06-25T21:30:20Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>-- File-Date: 2013-01-11<br />
return {<br />
["aar"] = "aa",<br />
["abk"] = "ab",<br />
["afr"] = "af",<br />
["aka"] = "ak",<br />
["amh"] = "am",<br />
["ara"] = "ar",<br />
["arg"] = "an",<br />
["asm"] = "as",<br />
["ava"] = "av",<br />
["ave"] = "ae",<br />
["aym"] = "ay",<br />
["aze"] = "az",<br />
["bak"] = "ba",<br />
["bam"] = "bm",<br />
["bel"] = "be",<br />
["ben"] = "bn",<br />
["bih"] = "bh",<br />
["bis"] = "bi",<br />
["bod"] = "bo",<br />
["bos"] = "bs",<br />
["bre"] = "br",<br />
["bul"] = "bg",<br />
["cat"] = "ca",<br />
["ces"] = "cs",<br />
["cha"] = "ch",<br />
["che"] = "ce",<br />
["chu"] = "cu",<br />
["chv"] = "cv",<br />
["cor"] = "kw",<br />
["cos"] = "co",<br />
["cre"] = "cr",<br />
["cym"] = "cy",<br />
["dan"] = "da",<br />
["deu"] = "de",<br />
["div"] = "dv",<br />
["dzo"] = "dz",<br />
["ell"] = "el",<br />
["eng"] = "en",<br />
["epo"] = "eo",<br />
["est"] = "et",<br />
["eus"] = "eu",<br />
["ewe"] = "ee",<br />
["fao"] = "fo",<br />
["fas"] = "fa",<br />
["fij"] = "fj",<br />
["fin"] = "fi",<br />
["fra"] = "fr",<br />
["fry"] = "fy",<br />
["ful"] = "ff",<br />
["gla"] = "gd",<br />
["gle"] = "ga",<br />
["glg"] = "gl",<br />
["glv"] = "gv",<br />
["grn"] = "gn",<br />
["guj"] = "gu",<br />
["hat"] = "ht",<br />
["hau"] = "ha",<br />
["heb"] = "he",<br />
["her"] = "hz",<br />
["hin"] = "hi",<br />
["hmo"] = "ho",<br />
["hrv"] = "hr",<br />
["hun"] = "hu",<br />
["hye"] = "hy",<br />
["ibo"] = "ig",<br />
["ido"] = "io",<br />
["iii"] = "ii",<br />
["iku"] = "iu",<br />
["ile"] = "ie",<br />
["ina"] = "ia",<br />
["ind"] = "id",<br />
["ipk"] = "ik",<br />
["isl"] = "is",<br />
["ita"] = "it",<br />
["jav"] = "jv",<br />
["jpn"] = "ja",<br />
["kal"] = "kl",<br />
["kan"] = "kn",<br />
["kas"] = "ks",<br />
["kat"] = "ka",<br />
["kau"] = "kr",<br />
["kaz"] = "kk",<br />
["khm"] = "km",<br />
["kik"] = "ki",<br />
["kin"] = "rw",<br />
["kir"] = "ky",<br />
["kom"] = "kv",<br />
["kon"] = "kg",<br />
["kor"] = "ko",<br />
["kua"] = "kj",<br />
["kur"] = "ku",<br />
["lao"] = "lo",<br />
["lat"] = "la",<br />
["lav"] = "lv",<br />
["lim"] = "li",<br />
["lin"] = "ln",<br />
["lit"] = "lt",<br />
["ltz"] = "lb",<br />
["lub"] = "lu",<br />
["lug"] = "lg",<br />
["mah"] = "mh",<br />
["mal"] = "ml",<br />
["mar"] = "mr",<br />
["mkd"] = "mk",<br />
["mlg"] = "mg",<br />
["mlt"] = "mt",<br />
["mon"] = "mn",<br />
["mri"] = "mi",<br />
["msa"] = "ms",<br />
["mya"] = "my",<br />
["nau"] = "na",<br />
["nav"] = "nv",<br />
["nbl"] = "nr",<br />
["nde"] = "nd",<br />
["ndo"] = "ng",<br />
["nep"] = "ne",<br />
["nld"] = "nl",<br />
["nno"] = "nn",<br />
["nob"] = "nb",<br />
["nor"] = "no",<br />
["nya"] = "ny",<br />
["oci"] = "oc",<br />
["oji"] = "oj",<br />
["ori"] = "or",<br />
["orm"] = "om",<br />
["oss"] = "os",<br />
["pan"] = "pa",<br />
["pli"] = "pi",<br />
["pol"] = "pl",<br />
["por"] = "pt",<br />
["pus"] = "ps",<br />
["que"] = "qu",<br />
["roh"] = "rm",<br />
["ron"] = "ro",<br />
["run"] = "rn",<br />
["rus"] = "ru",<br />
["sag"] = "sg",<br />
["san"] = "sa",<br />
["sin"] = "si",<br />
["slk"] = "sk",<br />
["slv"] = "sl",<br />
["sme"] = "se",<br />
["smo"] = "sm",<br />
["sna"] = "sn",<br />
["snd"] = "sd",<br />
["som"] = "so",<br />
["sot"] = "st",<br />
["spa"] = "es",<br />
["sqi"] = "sq",<br />
["srd"] = "sc",<br />
["srp"] = "sr",<br />
["ssw"] = "ss",<br />
["sun"] = "su",<br />
["swa"] = "sw",<br />
["swe"] = "sv",<br />
["tah"] = "ty",<br />
["tam"] = "ta",<br />
["tat"] = "tt",<br />
["tel"] = "te",<br />
["tgk"] = "tg",<br />
["tgl"] = "tl",<br />
["tha"] = "th",<br />
["tir"] = "ti",<br />
["ton"] = "to",<br />
["tsn"] = "tn",<br />
["tso"] = "ts",<br />
["tuk"] = "tk",<br />
["tur"] = "tr",<br />
["twi"] = "tw",<br />
["uig"] = "ug",<br />
["ukr"] = "uk",<br />
["urd"] = "ur",<br />
["uzb"] = "uz",<br />
["ven"] = "ve",<br />
["vie"] = "vi",<br />
["vol"] = "vo",<br />
["wln"] = "wa",<br />
["wol"] = "wo",<br />
["xho"] = "xh",<br />
["yid"] = "yi",<br />
["yor"] = "yo",<br />
["zha"] = "za",<br />
["zho"] = "zh",<br />
["zul"] = "zu"<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Lang&diff=3386
Module:Lang
2022-06-25T21:30:19Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>--[=[<br />
<br />
Lua support for the {{lang}}, {{lang-xx}}, and {{transl}} templates and replacement of various supporting templates. <br />
<br />
]=]<br />
<br />
require('Module:No globals');<br />
<br />
local getArgs = require ('Module:Arguments').getArgs;<br />
local unicode = require ("Module:Unicode data"); -- for is_latin() and is_rtl()<br />
local yesno = require ('Module:Yesno');<br />
<br />
local lang_data = mw.loadData ('Module:Lang/data'); -- language name override and transliteration tool-tip tables<br />
local lang_name_table = lang_data.lang_name_table; -- language codes, names, regions, scripts, suppressed scripts<br />
local lang_table = lang_data.lang_name_table.lang;<br />
local lang_dep_table = lang_data.lang_name_table.lang_dep;<br />
local script_table = lang_data.lang_name_table.script;<br />
local region_table = lang_data.lang_name_table.region;<br />
local variant_table = lang_data.lang_name_table.variant;<br />
local suppressed_table = lang_data.lang_name_table.suppressed;<br />
local override_table = lang_data.override;<br />
<br />
local synonym_table = mw.loadData ('Module:Lang/ISO 639 synonyms'); -- ISO 639-2/639-2T code translation to 639-1 code<br />
<br />
local namespace = mw.title.getCurrentTitle().namespace; -- used for categorization<br />
<br />
local content_lang = mw.language.getContentLanguage();<br />
local this_wiki_lang_tag = content_lang.code; -- get this wiki's language tag<br />
local this_wiki_lang_dir = content_lang:getDir(); -- get this wiki's language direction<br />
<br />
local initial_style_state; -- set by lang_xx_normal() and lang_xx_italic()<br />
<br />
local maint_cats = {}; -- maintenance categories go here<br />
local maint_msgs = {}; -- and their messages go here<br />
<br />
<br />
--[[--------------------------< I S _ S E T >------------------------------------------------------------------<br />
<br />
Returns true if argument is set; false otherwise. Argument is 'set' when it exists (not nil) or when it is not an empty string.<br />
<br />
]]<br />
<br />
local function is_set( var )<br />
return not (var == nil or var == '');<br />
end<br />
<br />
<br />
--[[--------------------------< I N V E R T _ I T A L I C S >-------------------------------------------------<br />
<br />
This function attempts to invert the italic markup a args.text by adding/removing leading/trailing italic markup<br />
in args.text. Like |italic=unset, |italic=invert disables automatic italic markup. Individual leading/trailing<br />
apostrophes are converted to their html numeric entity equivalent so that the new italic markup doesn't become<br />
bold markup inadvertently.<br />
<br />
Leading and trailing wiki markup is extracted from args.text into separate table elements. Addition, removal,<br />
replacement of wiki markup is handled by a string.gsub() replacement table operating only on these separate elements.<br />
In the string.gsub() matching pattern, '.*' matches empty string as well as the three expected wiki markup patterns.<br />
<br />
This function expects that markup in args.text is complete and correct; if it is not, oddness may result.<br />
<br />
]]<br />
<br />
local function invert_italics (source)<br />
local invert_pattern_table = { -- leading/trailing markup add/remove/replace patterns<br />
[""]="\'\'", -- empty string becomes italic markup<br />
["\'\'"]="", -- italic markup becomes empty string<br />
["\'\'\'"]="\'\'\'\'\'", -- bold becomes bold italic<br />
["\'\'\'\'\'"]="\'\'\'", -- bold italic become bold<br />
};<br />
local seg = {};<br />
<br />
source = source:gsub ("%f[\']\'%f[^\']", '&#39;'); -- protect single quote marks from being interpreted as bold markup<br />
<br />
seg[1] = source:match ('^(\'\'+%f[^\']).+') or ''; -- get leading markup, if any; ignore single quote<br />
seg[3] = source:match ('.+(%f[\']\'\'+)$') or ''; -- get trailing markup, if any; ignore single quote<br />
<br />
if '' ~= seg[1] and '' ~= seg[3] then -- extract the 'text' <br />
seg[2] = source:match ('^\'\'+%f[^\'](.+)%f[\']\'\'+$') -- from between leading and trailing markup<br />
elseif '' ~= seg[1] then<br />
seg[2] = source:match ('^\'\'+%f[^\'](.+)') -- following leading markup<br />
elseif '' ~= seg[3] then<br />
seg[2] = source:match ('(.+)%f[\']\'\'+$') -- preceding trailing markup<br />
else<br />
seg[2] = source -- when there is no markup<br />
end<br />
<br />
seg[1] = invert_pattern_table[seg[1]] or seg[1]; -- replace leading markup according to pattern table<br />
seg[3] = invert_pattern_table[seg[3]] or seg[3]; -- replace leading markup according to pattern table<br />
<br />
return table.concat (seg); -- put it all back together and done<br />
end<br />
<br />
<br />
--[[--------------------------< V A L I D A T E _ I T A L I C >------------------------------------------------<br />
<br />
validates |italic= or |italics= assigned values.<br />
<br />
When |italic= is set and has an acceptible assigned value, return the matching css font-style property value or,<br />
for the special case 'default', return nil.<br />
<br />
When |italic= is not set, or has an unacceptible assigned value, return nil and a nil error message.<br />
<br />
When both |italic= and |italics= are set, returns nil and a 'conflicting' error message.<br />
<br />
The return value nil causes the calling lang, lang_xx, or transl function to set args.italic according to the template's<br />
defined default ('inherit' for {{lang}}, 'inherit' or 'italic' for {{lang-xx}} depending on<br />
the individual template's requirements, 'italic' for {{transl}}) or to the value appropriate to |script=, if set ({{lang}}<br />
and {{lang-xx}} only).<br />
<br />
Accepted values and the values that this function returns are are:<br />
nil - when |italic= absent or not set; returns nil<br />
default - for completeness, should rarely if ever be used; returns nil<br />
yes - force args.text to be rendered in italic font; returns 'italic'<br />
no - force args.text to be rendered in normal font; returns 'normal'<br />
unset - disables font control so that font-style applied to text is dictated by markup inside or outside the template; returns 'inherit'<br />
invert - disables font control so that font-style applied to text is dictated by markup outside or inverted inside the template; returns 'invert'<br />
<br />
]]<br />
<br />
local function validate_italic (args)<br />
local properties = {['yes'] = 'italic', ['no'] = 'normal', ['unset'] = 'inherit', ['invert'] = 'invert', ['default'] = nil};<br />
<br />
local count = 0<br />
for _, arg in pairs {'italic', 'italics', 'i'} do<br />
if args[arg] then<br />
count = count + 1<br />
end<br />
end<br />
<br />
if count > 1 then -- return nil and an error message if more than one is set <br />
return nil, 'only one of |italic=, |italics=, or |i= can be specified';<br />
end<br />
<br />
return properties[args.italic or args.italics or args.i], nil; -- return an appropriate value and a nil error message<br />
end<br />
<br />
<br />
--[=[--------------------------< V A L I D A T E _ C A T _ A R G S >----------------------------------------------------------<br />
<br />
Default behavior of the {{lang}} and {{lang-xx}} templates is to add categorization when the templates are used in mainspace.<br />
This default functionality may be suppressed by setting |nocat=yes or |cat=no. This function selects one of these two parameters<br />
to control categorization.<br />
<br />
Because having two parameters with 'opposite' names and 'opposite' values is confusing, this function accepts only affirmative<br />
values for |nocat= and only negative values for |cat=; in both cases the 'other' sense (and non-sense) is not accepted and the<br />
parameter is treated as if it were not set in the template.<br />
<br />
Sets args.nocat to true if categorization is to be turned off; to nil if the default behavior should apply.<br />
<br />
Accepted values for |nocat= are the text strings:<br />
'yes', 'y', 'true', 't', on, '1' -- [[Module:Yesno]] returns logical true for all of these; false or nil else<br />
for |cat=<br />
'no', 'n', 'false', 'f', 'off', '0' -- [[Module:Yesno]] returns logical false for all of these; true or nil else<br />
<br />
]=]<br />
<br />
local function validate_cat_args (args)<br />
if not (args.nocat or args.cat) then -- both are nil, so categorize<br />
return;<br />
end<br />
<br />
if false == yesno (args.cat) or true == yesno (args.nocat) then<br />
args.nocat = true; -- set to true when args.nocat is affirmative; nil else (as if the parameter were not set in the template)<br />
else -- args.nocat is the parameter actually used.<br />
args.nocat = nil;<br />
end<br />
end<br />
<br />
<br />
--[[--------------------------< I N _ A R R A Y >--------------------------------------------------------------<br />
<br />
Whether needle is in haystack<br />
<br />
]]<br />
<br />
local function in_array ( needle, haystack )<br />
if needle == nil then<br />
return false;<br />
end<br />
for n,v in ipairs( haystack ) do<br />
if v == needle then<br />
return n;<br />
end<br />
end<br />
return false;<br />
end<br />
<br />
<br />
--[[--------------------------< F O R M A T _ I E T F _ T A G >------------------------------------------------<br />
<br />
prettify ietf tags to use recommended subtag formats:<br />
code: lower case<br />
script: sentence case<br />
region: upper case<br />
variant: lower case<br />
private: lower case prefixed with -x-<br />
<br />
]]<br />
<br />
local function format_ietf_tag (code, script, region, variant, private)<br />
local out = {};<br />
<br />
if is_set (private) then<br />
return table.concat ({code:lower(), 'x', private:lower()}, '-'); -- if private, all other tags ignored<br />
end<br />
<br />
table.insert (out, code:lower());<br />
if is_set (script) then<br />
script = script:lower():gsub ('^%a', string.upper);<br />
table.insert (out, script);<br />
end<br />
<br />
if is_set (region) then<br />
table.insert (out, region:upper());<br />
end<br />
<br />
if is_set (variant) then<br />
table.insert (out, variant:lower());<br />
end<br />
<br />
return table.concat (out, '-');<br />
end<br />
<br />
<br />
--[[--------------------------< G E T _ I E T F _ P A R T S >--------------------------------------------------<br />
<br />
extracts and returns IETF language tag parts:<br />
primary language subtag (required) - 2 or 3 character IANA language code<br />
script subtag - four character IANA script code<br />
region subtag - two-letter or three digit IANA region code<br />
variant subtag - four digit or 5-8 alnum variant code; only one variant subtag supported<br />
private subtag - x- followed by 1-8 alnum private code; only supported with the primary language tag<br />
<br />
in any one of these forms<br />
lang lang-variant<br />
lang-script lang-script-variant<br />
lang-region lang-region-variant<br />
lang-script-region lang-script-region-variant<br />
lang-x-private <br />
<br />
each of lang, script, region, variant, and private, when used, must be valid<br />
<br />
Languages with both two- and three-character code synonyms are promoted to the two-character synonym because<br />
the IANA registry file omits the synonymous three-character code; we cannot depend on browsers understanding<br />
the synonymous three-character codes in the lang= attribute.<br />
<br />
For {{lang-xx}} templates, the parameters |script=, |region=, and |variant= are supported (not supported in {{lang}}<br />
because those parameters are superfluous to the IETF subtags in |code=)<br />
<br />
returns six values; all lower case. Valid parts are returned as themselves; omitted parts are returned as empty strings, invalid<br />
parts are returned as nil; the sixth returned item is an error message (if an error detected) or nil.<br />
<br />
see http://www.rfc-editor.org/rfc/bcp/bcp47.txt section 2.1<br />
<br />
]]<br />
<br />
local function get_ietf_parts (source, args_script, args_region, args_variant)<br />
local code, script, region, variant, private; -- ietf tag parts<br />
<br />
if not is_set (source) then<br />
return nil, nil, nil, nil, nil, 'missing language tag';<br />
end<br />
<br />
local pattern = { -- table of tables holding acceptibe ietf tag patterns and short names of the ietf part captured by the pattern<br />
{'^(%a%a%a?)%-(%a%a%a%a)%-(%a%a)%-(%d%d%d%d)$', 's', 'r', 'v'}, -- 1 - ll-Ssss-RR-variant (where variant is 4 digits)<br />
{'^(%a%a%a?)%-(%a%a%a%a)%-(%d%d%d)%-(%d%d%d%d)$', 's', 'r', 'v'}, -- 2 - ll-Ssss-DDD-variant (where region is 3 digits; variant is 4 digits)<br />
{'^(%a%a%a?)%-(%a%a%a%a)%-(%a%a)%-(%w%w%w%w%w%w?%w?%w?)$', 's', 'r', 'v'}, -- 3 - ll-Ssss-RR-variant (where variant is 5-8 alnum characters)<br />
{'^(%a%a%a?)%-(%a%a%a%a)%-(%d%d%d)%-(%w%w%w%w%w%w?%w?%w?)$', 's', 'r', 'v'}, -- 4 - ll-Ssss-DDD-variant (where region is 3 digits; variant is 5-8 alnum characters)<br />
<br />
{'^(%a%a%a?)%-(%a%a%a%a)%-(%d%d%d%d)$', 's', 'v'}, -- 5 - ll-Ssss-variant (where variant is 4 digits)<br />
{'^(%a%a%a?)%-(%a%a%a%a)%-(%w%w%w%w%w%w?%w?%w?)$', 's', 'v'}, -- 6 - ll-Ssss-variant (where variant is 5-8 alnum characters)<br />
<br />
{'^(%a%a%a?)%-(%a%a)%-(%d%d%d%d)$', 'r', 'v'}, -- 7 - ll-RR-variant (where variant is 4 digits)<br />
{'^(%a%a%a?)%-(%d%d%d)%-(%d%d%d%d)$', 'r', 'v'}, -- 8 - ll-DDD-variant (where region is 3 digits; variant is 4 digits)<br />
{'^(%a%a%a?)%-(%a%a)%-(%w%w%w%w%w%w?%w?%w?)$', 'r', 'v'}, -- 9 - ll-RR-variant (where variant is 5-8 alnum characters)<br />
{'^(%a%a%a?)%-(%d%d%d)%-(%w%w%w%w%w%w?%w?%w?)$', 'r', 'v'}, -- 10 - ll-DDD-variant (where region is 3 digits; variant is 5-8 alnum characters)<br />
<br />
{'^(%a%a%a?)%-(%d%d%d%d)$', 'v'}, -- 11 - ll-variant (where variant is 4 digits)<br />
{'^(%a%a%a?)%-(%w%w%w%w%w%w?%w?%w?)$', 'v'}, -- 12 - ll-variant (where variant is 5-8 alnum characters)<br />
<br />
{'^(%a%a%a?)%-(%a%a%a%a)%-(%a%a)$', 's', 'r'}, -- 13 - ll-Ssss-RR<br />
{'^(%a%a%a?)%-(%a%a%a%a)%-(%d%d%d)$', 's', 'r'}, -- 14 - ll-Ssss-DDD (region is 3 digits)<br />
<br />
{'^(%a%a%a?)%-(%a%a%a%a)$', 's'}, -- 15 - ll-Ssss<br />
<br />
{'^(%a%a%a?)%-(%a%a)$', 'r'}, -- 16 - ll-RR<br />
{'^(%a%a%a?)%-(%d%d%d)$', 'r'}, -- 17 - ll-DDD (region is 3 digits)<br />
<br />
{'^(%a%a%a?)$'}, -- 18 - ll<br />
<br />
{'^(%a%a%a?)%-x%-(%w%w?%w?%w?%w?%w?%w?%w?)$', 'p'}, -- 19 - ll-x-pppppppp (private is 1-8 alnum characters)<br />
}<br />
<br />
local t = {}; -- table of captures; serves as a translator between captured ietf tag parts and named variables<br />
<br />
for i, v in ipairs (pattern) do -- spin through the pattern table looking for a match<br />
local c1, c2, c3, c4; -- captures in the 'pattern' from the pattern table go here<br />
<br />
c1, c2, c3, c4 = source:match (pattern[i][1]); -- one or more captures set if source matches pattern[i])<br />
if c1 then -- c1 always set on match<br />
code = c1; -- first capture is always code<br />
t = {<br />
[pattern[i][2] or 'x'] = c2, -- fill the table of captures with the rest of the captures<br />
[pattern[i][3] or 'x'] = c3, -- take index names from pattern table and assign sequential captures<br />
[pattern[i][4] or 'x'] = c4, -- index name may be nil in pattern[i] table so "or 'x'" spoofs a name for this index in this table<br />
};<br />
script = t.s or ''; -- translate table contents to named variables;<br />
region = t.r or ''; -- absent table entries are nil so set named ietf parts to empty string for concatenation<br />
variant= t.v or '';<br />
private = t.p or '';<br />
break; -- and done<br />
end<br />
end<br />
<br />
if not code then<br />
return nil, nil, nil, nil, nil, table.concat ({'unrecognized language tag: ', source}); -- don't know what we got but it is malformed<br />
end<br />
<br />
code = code:lower(); -- ensure that we use and return lower case version of this<br />
<br />
if not (override_table[code] or lang_table[code] or synonym_table[code] or lang_dep_table[code]) then<br />
return nil, nil, nil, nil, nil, table.concat ({'unrecognized language code: ', code}); -- invalid language code, don't know about the others (don't care?)<br />
end<br />
<br />
if synonym_table[code] then -- if 639-2/639-2T code has a 639-1 synonym<br />
table.insert (maint_cats, table.concat ({'Lang and lang-xx code promoted to ISO 639-1|', code}));<br />
table.insert (maint_msgs, table.concat ({'code: ', code, ' promoted to code: ', synonym_table[code]}));<br />
code = synonym_table[code]; -- use the synonym<br />
end<br />
<br />
if is_set (script) then<br />
if is_set (args_script) then<br />
return code, nil, nil, nil, nil, 'redundant script tag'; -- both code with script and |script= not allowed<br />
end<br />
else<br />
script = args_script or ''; -- use args.script if provided<br />
end <br />
<br />
if is_set (script) then<br />
script = script:lower(); -- ensure that we use and return lower case version of this<br />
if not script_table[script] then<br />
return code, nil, nil, nil, nil, table.concat ({'unrecognized script: ', script, ' for code: ', code}); -- language code ok, invalid script, don't know about the others (don't care?)<br />
end<br />
end<br />
if suppressed_table[script] then -- ensure that code-script does not use a suppressed script<br />
if in_array (code, suppressed_table[script]) then<br />
return code, nil, nil, nil, nil, table.concat ({'script: ', script, ' not supported for code: ', code}); -- language code ok, script is suppressed for this code<br />
end<br />
end<br />
<br />
if is_set (region) then<br />
if is_set (args_region) then<br />
return code, nil, nil, nil, nil, 'redundant region tag'; -- both code with region and |region= not allowed<br />
end<br />
else<br />
region = args_region or ''; -- use args.region if provided<br />
end <br />
<br />
if is_set (region) then<br />
region = region:lower(); -- ensure that we use and return lower case version of this<br />
if not region_table[region] then<br />
return code, script, nil, nil, nil, table.concat ({'unrecognized region: ', region, ' for code: ', code});<br />
end<br />
end<br />
<br />
if is_set (variant) then<br />
if is_set (args_variant) then<br />
return code, nil, nil, nil, nil, 'redundant variant tag'; -- both code with variant and |variant= not allowed<br />
end<br />
else<br />
variant = args_variant or ''; -- use args.variant if provided<br />
end <br />
<br />
if is_set (variant) then<br />
variant = variant:lower(); -- ensure that we use and return lower case version of this<br />
if not variant_table[variant] then -- make sure variant is valid<br />
return code, script, region, nil, nil, table.concat ({'unrecognized variant: ', variant});<br />
end -- does this duplicate/replace tests in lang() and lang_xx()?<br />
if is_set (script) then -- if script set it must be part of the 'prefix'<br />
if not in_array (table.concat ({code, '-', script}), variant_table[variant]['prefixes']) then<br />
return code, script, region, nil, nil, table.concat ({'unrecognized variant: ', variant, ' for code-script pair: ', code, '-', script});<br />
end<br />
elseif is_set (region) then -- if region set, there are some prefixes that require lang code and region (en-CA-newfound)<br />
if not in_array (code, variant_table[variant]['prefixes']) then -- first see if lang code is all that's required (en-oxendict though en-GB-oxendict is preferred)<br />
if not in_array (table.concat ({code, '-', region}), variant_table[variant]['prefixes']) then -- now try for lang code and region (en-CA-newfound)<br />
return code, script, region, nil, nil, table.concat ({'unrecognized variant: ', variant, ' for code-region pair: ', code, '-', region});<br />
end<br />
end<br />
else -- cheap way to determine if there are prefixes; fonipa and others don't have prefixes; # operator always returns 0<br />
if variant_table[variant]['prefixes'][1] and not in_array (code, variant_table[variant]['prefixes']) then<br />
return code, script, region, nil, nil, table.concat ({'unrecognized variant: ', variant, ' for code: ', code});<br />
end<br />
end<br />
end<br />
<br />
if is_set (private) then<br />
private = private:lower(); -- ensure that we use and return lower case version of this<br />
if not override_table[table.concat ({code, '-x-', private})] then -- make sure private tag is valid; note that index <br />
return code, script, region, nil, nil, table.concat ({'unrecognized private tag: ', private});<br />
end<br />
end<br />
return code, script, region, variant, private, nil; -- return the good bits; make sure that msg is nil<br />
end<br />
<br />
<br />
--[[--------------------------< M A K E _ E R R O R _ M S G >--------------------------------------------------<br />
<br />
assembles an error message from template name, message text, help link, and error category.<br />
<br />
]]<br />
<br />
local function make_error_msg (msg, args, template)<br />
local out = {};<br />
local category;<br />
<br />
if 'Transl' == template then<br />
category = 'Transl';<br />
else<br />
category = 'Lang and lang-xx'<br />
end<br />
<br />
table.insert (out, table.concat ({'[', args.text or 'undefined', '] '})); -- for error messages output args.text if available<br />
table.insert (out, table.concat ({'<span style=\"color:#d33\">Error: {{', template, '}}: '}));<br />
table.insert (out, msg);<br />
table.insert (out, table.concat ({' ([[:Category:', category, ' template errors|help]])'}));<br />
table.insert (out, '</span>');<br />
<br />
if (0 == namespace or 10 == namespace) and not args.nocat then -- categorize in article space (and template space to take care of broken usages)<br />
table.insert (out, table.concat ({'[[Category:', category, ' template errors]]'}));<br />
end<br />
<br />
return table.concat (out);<br />
end<br />
<br />
<br />
--[=[-------------------------< M A K E _ W I K I L I N K >----------------------------------------------------<br />
<br />
Makes a wikilink; when both link and display text is provided, returns a wikilink in the form [[L|D]]; if only<br />
link is provided, returns a wikilink in the form [[L]]; if neither are provided or link is omitted, returns an<br />
empty string.<br />
<br />
]=]<br />
<br />
local function make_wikilink (link, display)<br />
if is_set (link) then<br />
if is_set (display) then<br />
return table.concat ({'[[', link, '|', display, ']]'});<br />
else<br />
return table.concat ({'[[', link, ']]'});<br />
end<br />
else<br />
return '';<br />
end<br />
end<br />
<br />
<br />
--[[--------------------------< D I V _ M A R K U P _ A D D >--------------------------------------------------<br />
<br />
adds <i> and </i> tags to list-item text or to implied <p>..</p> text. mixed not supported<br />
<br />
]]<br />
<br />
local function div_markup_add (text, style)<br />
local implied_p = {};<br />
<br />
if text:find ('^\n[%*:;#]') then -- look for list markup; list markup must begin at start of text<br />
if 'italic' == style then<br />
return text:gsub ('(\n[%*:;#]+)([^\n]+)', '%1<i>%2</i>'); -- insert italic markup at each list item<br />
else<br />
return text;<br />
end<br />
end<br />
<br />
if text:find ('\n+') then -- look for any number of \n characters in text<br />
text = text:gsub ('([^\n])\n([^\n])', '%1 %2'); -- replace single newline characters with a space character which mimics mediawiki<br />
<br />
if 'italic' == style then<br />
text = text:gsub('[^\n]+', '<p><i>%1</i></p>'); -- insert p and italic markup tags at each impled p (two or more consecutive '\n\n' sequences)<br />
else<br />
text = text:gsub ('[^\n]+', '<p>%1</p>'); -- insert p markup at each impled p<br />
text = text:gsub ('\n', ''); -- strip newline characters<br />
end<br />
end<br />
<br />
return text;<br />
end<br />
<br />
<br />
--[[--------------------------< T I T L E _ W R A P P E R _ M A K E >------------------------------------------<br />
<br />
makes a <span title="<title text>"><content_text></span> or <div title="<title text>"><content_text></div> where<br />
<title text> is in the tool-tip in the wiki's local language and <content_text> is non-local-language text in<br />
html markup. This because the lang= attibute applies to the content of its enclosing tag.<br />
<br />
<tag> holds a string 'div' or 'span' used to choose the correct wrapping tag<br />
]]<br />
<br />
local function title_wrapper_make (title_text, content_text, tag)<br />
local wrapper_t = {};<br />
<br />
table.insert (wrapper_t, table.concat ({'<', tag})); -- open opening wrapper tag<br />
table.insert (wrapper_t, ' title=\"'); -- begin title attribute<br />
table.insert (wrapper_t, title_text); -- add <title_text><br />
table.insert (wrapper_t, '\">'); -- end title attribute and close opening wrapper tag<br />
table.insert (wrapper_t, content_text); -- add <content_text><br />
table.insert (wrapper_t, table.concat ({'</', tag, '>'})); -- add closing wrapper tag<br />
<br />
return table.concat (wrapper_t); -- make a big string and done<br />
end<br />
<br />
<br />
--[[--------------------------< M A K E _ T E X T _ H T M L >--------------------------------------------------<br />
<br />
Add the html markup to text according to the type of content that it is: <span> or <i> tags for inline content or<br />
<div> tags for block content<br />
<br />
The lang= attribute also applies to the content of the tag where it is placed so this is wrong because 'Spanish<br />
language text' is English:<br />
<i lang="es" title="Spanish language text">casa</i><br />
should be:<br />
<span title="Spanish language text"><i lang="es">casa</i></span><br />
or for <div>...</div>:<br />
<div title="Spanish language text"><div lang="es"><spanish-language-text></div></div><br />
<br />
]]<br />
<br />
local function make_text_html (code, text, tag, rtl, style, size, language)<br />
local html_t = {};<br />
local style_added = '';<br />
local wrapper_tag = tag; -- <tag> gets modified so save a copy for use when/if we create a wrapper span or div<br />
<br />
if text:match ('^%*') then<br />
table.insert (html_t, '&#42;'); -- move proto language text prefix outside of italic markup if any; use numeric entity because plain splat confuses MediaWiki<br />
text = text:gsub ('^%*', ''); -- remove the splat from the text<br />
end<br />
<br />
if 'span' == tag then -- default html tag for inline content<br />
if 'italic' == style then -- but if italic<br />
tag = 'i'; -- change to <i> tags<br />
end<br />
else -- must be div so go<br />
text = div_markup_add (text, style); -- handle implied <p>, implied <p> with <i>, and list markup (*;:#) with <i><br />
end<br />
<br />
table.insert (html_t, table.concat ({'<', tag})); -- open the <i>, <span>, or <div> html tag<br />
code = code:gsub ('%-x%-.*', ''); -- strip private use subtag from code tag because meaningless outside of wikipedia<br />
table.insert (html_t, table.concat ({' lang="', code, '\"'})); -- add language attribute<br />
<br />
if (rtl or unicode.is_rtl(text)) and ('ltr' == this_wiki_lang_dir) then -- text is right-to-left on a left-to-right wiki<br />
table.insert (html_t, ' dir="rtl"'); -- add direction attribute for right-to-left languages<br />
elseif not (rtl or unicode.is_rtl(text)) and ('rtl' == this_wiki_lang_dir) then -- text is left-to-right on a right-to-left wiki<br />
table.insert (html_t, ' dir="ltr"'); -- add direction attribute for left-to-right languages<br />
end<br />
<br />
if 'normal' == style then -- when |italic=no<br />
table.insert (html_t, ' style=\"font-style: normal;'); -- override external markup, if any<br />
style_added = '\"'; -- remember that style attribute added and is not yet closed<br />
end<br />
<br />
if is_set (size) then -- when |size=<something><br />
if is_set (style_added) then<br />
table.insert (html_t, table.concat ({' font-size: ', size, ';'})); -- add when style attribute already inserted<br />
else<br />
table.insert (html_t, table.concat ({' style=\"font-size: ', size, ';'})); -- create style attribute<br />
style_added = '\"'; -- remember that style attribute added and is not yet closed<br />
end<br />
end<br />
<br />
table.insert (html_t, table.concat ({style_added, '>'})); -- close the opening html tag<br />
table.insert (html_t, text); -- insert the text<br />
<br />
table.insert (html_t, table.concat ({'</', tag, '>'})); -- close the 'text' <i>, <span>, or <div> html tag<br />
<br />
if is_set (language) then -- create a <title_text> string for the title= attribute in a wrapper span or div<br />
local title_text;<br />
if 'zxx' == code then -- special case for this tag 'no linguistic content'<br />
title_text = table.concat ({language, ' text'}); -- not a language so don't use 'language' in title text<br />
elseif mw.ustring.find (language, 'languages', 1, true) then<br />
title_text = table.concat ({language, ' collective text'}); -- for collective languages<br />
else<br />
title_text = table.concat ({language, '-language text'}); -- for individual languages<br />
end<br />
<br />
return title_wrapper_make (title_text, table.concat (html_t), wrapper_tag);<br />
else<br />
return table.concat (html_t);<br />
end<br />
end<br />
<br />
<br />
--[=[-------------------------< M A K E _ C A T E G O R Y >----------------------------------------------------<br />
<br />
For individual language, <language>, returns:<br />
[[Category:Articles containing <language>-language text]]<br />
<br />
for English:<br />
[[Category:Articles containing explicitly cited English-language text]]<br />
<br />
for ISO 639-2 collective languages (and for 639-1 bh):<br />
[[Category:Articles with text in <language> languages]]<br />
<br />
]=]<br />
<br />
local function make_category (code, language_name, nocat, name_get)<br />
local cat = {};<br />
local retval;<br />
<br />
if ((0 ~= namespace) or nocat) and not name_get then -- only categorize in article space<br />
return ''; -- return empty string for concatenation<br />
end<br />
<br />
if mw.ustring.find (language_name, 'languages', 1, true) then<br />
return table.concat ({'[[Category:Articles with text in ', language_name, ']]'});<br />
end<br />
<br />
table.insert (cat, '[[Category:Articles containing ');<br />
<br />
if this_wiki_lang_tag == code then<br />
table.insert (cat, 'explicitly cited ' .. language_name); -- unique category name for the local language<br />
else<br />
table.insert (cat, language_name);<br />
end<br />
<br />
table.insert (cat, '-language text]]');<br />
<br />
return table.concat (cat);<br />
end<br />
<br />
<br />
--[[--------------------------< M A K E _ T R A N S L I T >----------------------------------------------------<br />
<br />
return translit <i lang=xx-Latn>...</i> where xx is the language code; else return empty string<br />
<br />
The value |script= is not used in {{transl}} for this purpose; instead it uses |code. Because language scripts<br />
are listed in the {{transl}} switches they are included in the data tables. The script parameter is introduced<br />
at {{Language with name and transliteration}}. If |script= is set, this function uses it in preference to code.<br />
<br />
To avoid confusion, in this module and the templates that use it, the transliteration script parameter is renamed<br />
to be |translit-script= (in this function, tscript)<br />
<br />
This function is used by both lang_xx() and transl()<br />
lang_xx() always provides code, language_name, and translit; may provide tscript; never provides style<br />
transl() always provides language_name, translit, and one of code or tscript, never both; always provides style<br />
<br />
For {{transl}}, style only applies when a language code is provided<br />
]]<br />
<br />
local function make_translit (code, language_name, translit, std, tscript, style)<br />
local title;<br />
local out_t = {};<br />
local title_t = lang_data.translit_title_table; -- table of transliteration standards and the language codes and scripts that apply to those standards<br />
local title_text = ''; -- tool tip text for title= attribute<br />
<br />
std = std and std:lower(); -- lower case for table indexing<br />
<br />
if not is_set (std) and not is_set (tscript) then -- when neither standard nor script specified<br />
title_text = language_name; -- write a generic tool tip<br />
if not mw.ustring.find (language_name, 'languages', 1, true) then -- collective language names (plural 'languages' is part of the name)<br />
title_text = title_text .. '-language'; -- skip this text (individual and macro languages only)<br />
end<br />
title_text = title_text .. ' romanization'; -- finish the tool tip; use romanization when neither script nor standard supplied<br />
<br />
elseif is_set (std) and is_set (tscript) then -- when both are specified<br />
if title_t[std] then -- and if standard is legitimate<br />
if title_t[std][tscript] then -- and if script for that standard is legitimate<br />
if script_table[tscript] then<br />
title_text = title_text .. table.concat ({title_t[std][tscript:lower()], ' (', script_table[tscript], ' script) transliteration'}); -- add the appropriate text to the tool tip<br />
else<br />
title_text = title_text .. title_t[std]['default']; -- use the default if script not in std table; TODO: maint cat? error message because script not found for this standard?<br />
end<br />
else<br />
title_text = title_text .. title_t[std]['default']; -- use the default if script not in std table; TODO: maint cat? error message because script not found for this standard?<br />
end<br />
else<br />
return ''; -- invalid standard, setup for error message<br />
end<br />
<br />
elseif is_set (std) then -- translit-script not set, use language code<br />
if not title_t[std] then return ''; end -- invalid standard, setup for error message<br />
<br />
if title_t[std][code] then -- if language code is in the table (transl may not provide a language code)<br />
title_text = title_text .. table.concat ({title_t[std][code:lower()], ' (', language_name, ' language) transliteration'}); -- add the appropriate text to the tool tip<br />
else -- code doesn't match<br />
title_text = title_text .. title_t[std]['default']; -- so use the standard's default<br />
end<br />
<br />
else -- here if translit-script set but translit-std not set<br />
if title_t['no_std'][tscript] then<br />
title_text = title_text .. title_t['no_std'][tscript]; -- use translit-script if set<br />
elseif title_t['no_std'][code] then<br />
title_text = title_text .. title_t['no_std'][code]; -- use language code<br />
else<br />
if is_set (tscript) then<br />
title_text = title_text .. table.concat ({language_name, '-script transliteration'}); -- write a script tool tip<br />
elseif is_set (code) then<br />
if not mw.ustring.find (language_name, 'languages', 1, true) then -- collective language names (plural 'languages' is part of the name)<br />
title_text = title_text .. '-language'; -- skip this text (individual and macro languages only)<br />
end<br />
title_text = title_text .. ' transliteration'; -- finish the tool tip<br />
else<br />
title_text = title_text .. ' transliteration'; -- generic tool tip (can we ever get here?)<br />
end<br />
end<br />
end<br />
<br />
local close_tag;<br />
if is_set (code) then -- when a language code is provided (always with {{lang-xx}} templates, not always with {{transl}})<br />
if not style then -- nil for the default italic style<br />
table.insert (out_t, "<i lang=\""); -- so use <i> tag<br />
close_tag = '</i>'; -- tag to be used when closing<br />
else<br />
table.insert (out_t, table.concat ({'<span style=\"font-style: ', style, '\" lang=\"'})); -- non-standard style, construct a span tag for it<br />
close_tag = '</span>'; -- tag to be used when closing<br />
end<br />
table.insert (out_t, code);<br />
table.insert (out_t, "-Latn\">"); -- transliterations are always Latin script<br />
else<br />
table.insert (out_t, "<span>"); -- when no language code: no lang= attribute, not italic ({{transl}} only)<br />
close_tag = '</span>';<br />
end<br />
<br />
table.insert (out_t, translit); -- add the translit text<br />
table.insert (out_t, close_tag); -- and add the appropriate </i> or </span><br />
<br />
if '' == title_text then -- when there is no need for a tool-tip<br />
return table.concat (out_t); -- make a string and done<br />
else<br />
return title_wrapper_make (title_text, table.concat (out_t), 'span'); -- wrap with a tool-tip span and don<br />
end<br />
end<br />
<br />
<br />
--[[--------------------------< V A L I D A T E _ T E X T >----------------------------------------------------<br />
<br />
This function checks the content of args.text and returns empty string if nothing is amiss else it returns an<br />
error message. The tests are for empty or missing text and for improper or disallowed use of apostrophe markup.<br />
<br />
Italic rendering is controlled by the |italic= template parameter so italic markup should never appear in args.text<br />
either as ''itself'' or as '''''bold italic''''' unless |italic=unset or |italic=invert.<br />
<br />
]]<br />
<br />
local function validate_text (template, args)<br />
if not is_set (args.text) then<br />
return make_error_msg ('no text', args, template);<br />
end<br />
<br />
if args.text:find ("%f[\']\'\'\'\'%f[^\']") or args.text:find ("\'\'\'\'\'[\']+") then -- because we're looking, look for 4 appostrophes or 6+ appostrophes<br />
return make_error_msg ('text has malformed markup', args, template);<br />
end<br />
<br />
local style = args.italic;<br />
<br />
if ('unset' ~= style) and ('invert' ~=style) then<br />
if args.text:find ("%f[\']\'\'%f[^\']") or args.text:find ("%f[\']\'\'\'\'\'%f[^\']") then -- italic but not bold, or bold italic<br />
return make_error_msg ('text has italic markup', args, template);<br />
end<br />
end<br />
end<br />
<br />
<br />
--[[--------------------------< R E N D E R _ M A I N T >------------------------------------------------------<br />
<br />
render mainenance messages and categories<br />
<br />
]]<br />
<br />
local function render_maint(nocat)<br />
local maint = {};<br />
<br />
if 0 < #maint_msgs then -- when there are maintenance messages<br />
table.insert (maint, table.concat ({'<span class="lang-comment" style="font-style: normal; display: none; color: #33aa33; margin-left: 0.3em;">'})); -- opening <span> tag<br />
for _, msg in ipairs (maint_msgs) do<br />
table.insert (maint, table.concat ({msg, ' '})); -- add message strings<br />
end<br />
table.insert (maint, '</span>'); -- close the span<br />
end<br />
<br />
if (0 < #maint_cats) and (0 == namespace) and not nocat then -- when there are maintenance categories; article namespace only<br />
for _, cat in ipairs (maint_cats) do<br />
table.insert (maint, table.concat ({'[[Category:', cat, ']]'})); -- format and add the categories<br />
end<br />
end<br />
<br />
return table.concat (maint);<br />
end<br />
<br />
<br />
--[[--------------------------< P R O T O _ P R E F I X >------------------------------------------------------<br />
<br />
for proto languages, text is prefixed with a splat. We do that here as a flag for make_text_html() so that a splat<br />
will be rendered outside of italic markup (if used). If the first character in text here is already a splat, we<br />
do nothing<br />
<br />
proto_param is boolean or nil; true adds splat prefix regardless of language name; false removes and / or inhibits<br />
regardless of language name; nil does nothing; presumes that the value in text is correct but removes extra splac<br />
<br />
]]<br />
<br />
local function proto_prefix (text, language_name, proto_param)<br />
if false == proto_param then -- when forced by |proto=no<br />
return text:gsub ('^%**', ''); -- return text without splat prefix regardless of language name or existing splat prefix in text<br />
elseif (language_name:find ('^Proto%-') or (true == proto_param)) then -- language is a proto or forced by |proto=yes<br />
return text:gsub ('^%**', '*'); -- prefix proto-language text with a splat; also removes duplicate prefixing splats<br />
end<br />
<br />
return text:gsub ('^%*+', '*'); -- return text unmolested except multiple splats reduced to one splat<br />
end<br />
<br />
<br />
--[[--------------------------< H A S _ P O E M _ T A G >------------------------------------------------------<br />
<br />
looks for a poem strip marker in text; returns true when found; false else<br />
<br />
auto-italic detection disabled when text has poem stripmarker because it is not possible for this code to know<br />
the content that will replace the stripmarker.<br />
<br />
]]<br />
<br />
local function has_poem_tag (text)<br />
return text:find ('\127[^\127]*UNIQ%-%-poem%-[%a%d]+%-QINU[^\127]*\127') and true or false;<br />
end<br />
<br />
<br />
--[[--------------------------< H T M L _ T A G _ S E L E C T >------------------------------------------------<br />
<br />
Inspects content of and selectively trims text. Returns text and the name of an appropriate html tag for text.<br />
<br />
If text contains:<br />
\n\n text has implied <p>..</p> tags - trim leading and trailing whitespace and return <br />
If text begins with list markup:<br />
\n* unordered<br />
\n; definition<br />
\n: definition<br />
\n# ordered<br />
trim all leading whitespace except \n and trim all trailing whitespace<br />
<br />
If text contains <poem>...</poem> stripmarker, return text unmodified and choose <div>..</div> tags because <br />
the stripmarker is replaced with text wrapped in <div>..</div> tags.<br />
<br />
]]<br />
<br />
local function html_tag_select (text)<br />
local tag;<br />
<br />
if has_poem_tag (text) then -- contains poem stripmarker (we can't know the content of that)<br />
tag = 'div'; -- poem replacement is in div tags so lang must use div tags<br />
elseif mw.text.trim (text):find ('\n\n+') then -- contains implied p tags<br />
text = mw.text.trim (text); -- trim leading and trailing whitespace characters<br />
tag = 'div'; -- must be div because span may not contain p tags (added later by MediaWiki); poem replacement is in div tags<br />
elseif text:find ('\n[%*:;%#]') then -- if text has list markup<br />
text = text:gsub ('^[\t\r\f ]*', ''):gsub ('%s*$', ''); -- trim all whitespace except leading newline character '\n'<br />
tag = 'div'; -- must be div because span may not contain ul, dd, dl, ol tags (added later by MediaWiki)<br />
else<br />
text = mw.text.trim (text); -- plain text<br />
tag = 'span'; -- so span is fine<br />
end<br />
<br />
return text, tag;<br />
end<br />
<br />
<br />
--[[--------------------------< V A L I D A T E _ P R O T O >--------------------------------------------------<br />
<br />
validates value assigned to |proto=; permitted values are yes and no; yes returns as true, no returns as false,<br />
empty string (or parameter omitted) returns as nil; any other value returns as nil with a second return value of<br />
true indicating that some other value has been assigned to |proto=<br />
<br />
]]<br />
<br />
local function validate_proto (proto_param)<br />
if 'yes' == proto_param then<br />
return true;<br />
elseif 'no' == proto_param then<br />
return false;<br />
elseif is_set (proto_param) then<br />
return nil, true; -- |proto= something other than 'yes' or 'no'<br />
else<br />
return nil; -- missing or empty<br />
end<br />
end<br />
<br />
<br />
--[[--------------------------< L A N G U A G E _ N A M E _ G E T >--------------------------------------------<br />
<br />
common function to return language name from the data set according to IETF tag<br />
<br />
returns language name if found in data tables; nil else<br />
<br />
]]<br />
<br />
local function language_name_get (ietf, code, cat)<br />
ietf = ietf:lower(); -- ietf:lower() because format_ietf_tag() returns mixed case<br />
<br />
local name; -- remains nil if not found<br />
<br />
if override_table[ietf] then -- look for whole IETF tag in override table<br />
name = override_table[ietf];<br />
elseif override_table[code] then -- not there so try basic language tag<br />
name = override_table[code];<br />
elseif lang_table[code] then -- shift to iana active tag/name table<br />
name = lang_table[code];<br />
elseif lang_dep_table[code] then -- try the iana deprecated tag/name table<br />
name = lang_dep_table[code];<br />
end<br />
<br />
if lang_dep_table[code] and cat then -- because deprecated code may have been overridden to en.wiki preferred name<br />
table.insert (maint_cats, table.concat ({'Lang and lang-xx using deprecated ISO 639 codes|', code}));<br />
table.insert (maint_msgs, table.concat ({'code: ', code, ' is deprecated'}));<br />
end<br />
<br />
return name; -- name from data tables or nil<br />
end<br />
<br />
<br />
--[[--------------------------< _ L A N G >--------------------------------------------------------------------<br />
<br />
entry point for {{lang}}<br />
<br />
there should be no reason to set parameters in the {{lang}} {{#invoke:}}<br />
<includeonly>{{#invoke:lang|lang}}</includeonly><br />
<br />
parameters are received from the template's frame (parent frame)<br />
<br />
]]<br />
<br />
local function _lang (args)<br />
local out = {};<br />
local language_name; -- used to make category names<br />
local category_name; -- same as language_name except that it retains any parenthetical disambiguators (if any) from the data set<br />
local subtags = {}; -- IETF subtags script, region, variant, and private<br />
local code; -- the language code<br />
local msg; -- for error messages<br />
local tag = 'span'; -- initial value for make_text_html()<br />
local template = args.template or 'Lang';<br />
<br />
validate_cat_args (args); -- determine if categorization should be suppressed<br />
<br />
if args[1] and args.code then<br />
return make_error_msg ('conflicting: {{{1}}} and |code=', args, template);<br />
else<br />
args.code = args[1] or args.code; -- prefer args.code<br />
end<br />
<br />
if args[2] and args.text then<br />
return make_error_msg ('conflicting: {{{2}}} and |text=', args, template);<br />
else<br />
args.text = args[2] or args.text; -- prefer args.text<br />
end<br />
<br />
msg = validate_text (template, args); -- ensure that |text= is set<br />
if is_set (msg) then -- msg is an already-formatted error message<br />
return msg;<br />
end<br />
<br />
args.text, tag = html_tag_select (args.text); -- inspects text; returns appropriate html tag with text trimmed accordingly<br />
<br />
args.rtl = args.rtl == 'yes'; -- convert to boolean: 'yes' -> true, other values -> false<br />
<br />
args.proto, msg = validate_proto (args.proto); -- return boolean, or nil, or nil and error message flag<br />
if msg then<br />
return make_error_msg (table.concat ({'invalid |proto=: ', args.proto}), args, template);<br />
end<br />
<br />
code, subtags.script, subtags.region, subtags.variant, subtags.private, msg = get_ietf_parts (args.code); -- |script=, |region=, |variant= not supported because they should be part of args.code ({{{1}}} in {{lang}})<br />
<br />
if msg then<br />
return make_error_msg ( msg, args, template);<br />
end<br />
<br />
args.italic, msg = validate_italic (args);<br />
if msg then<br />
return make_error_msg (msg, args, template);<br />
end<br />
<br />
if nil == args.italic then -- nil when |italic= absent or not set or |italic=default; args.italic controls<br />
if ('latn' == subtags.script) or -- script is latn<br />
(this_wiki_lang_tag ~= code and not is_set (subtags.script) and not has_poem_tag (args.text) and unicode.is_Latin (args.text)) then -- text not this wiki's language, no script specified and not in poem markup but is wholly latn script (auto-italics)<br />
args.italic = 'italic'; -- DEFAULT for {{lang}} templates is upright; but if latn script set for font-style:italic<br />
else<br />
args.italic = 'inherit'; -- italic not set; script not latn; inherit current style<br />
end<br />
end<br />
<br />
if is_set (subtags.script) then -- if script set, override rtl setting<br />
if in_array (subtags.script, lang_data.rtl_scripts) then<br />
args.rtl = true; -- script is an rtl script<br />
else<br />
args.rtl = false; -- script is not an rtl script<br />
end<br />
end<br />
<br />
args.code = format_ietf_tag (code, subtags.script, subtags.region, subtags.variant, subtags.private); -- format to recommended subtag styles<br />
language_name = language_name_get (args.code, code, true); -- get language name; try ietf tag first, then code w/o variant then code w/ variant<br />
<br />
if 'invert' == args.italic and 'span' == tag then -- invert only supported for in-line content<br />
args.text = invert_italics (args.text)<br />
end<br />
<br />
args.text = proto_prefix (args.text, language_name, args.proto); -- prefix proto-language text with a splat<br />
<br />
table.insert (out, make_text_html (args.code, args.text, tag, args.rtl, args.italic, args.size, language_name));<br />
table.insert (out, make_category (code, language_name, args.nocat));<br />
table.insert (out, render_maint(args.nocat)); -- maintenance messages and categories<br />
<br />
return table.concat (out); -- put it all together and done<br />
end<br />
<br />
<br />
--[[--------------------------< L A N G >----------------------------------------------------------------------<br />
<br />
entry point for {{lang}}<br />
<br />
there should be no reason to set parameters in the {{lang}} {{#invoke:}}<br />
<includeonly>{{#invoke:lang|lang}}</includeonly><br />
<br />
parameters are received from the template's frame (parent frame)<br />
<br />
]]<br />
<br />
local function lang (frame)<br />
local args = getArgs (frame, { -- this code so that we can detect and handle wiki list markup in text<br />
valueFunc = function (key, value)<br />
if 2 == key or 'text' == key then -- the 'text' parameter; do not trim wite space<br />
return value; -- return untrimmed 'text'<br />
elseif value then -- all other values: if the value is not nil<br />
value = mw.text.trim (value); -- trim whitespace<br />
if '' ~= value then -- empty string when value was only whitespace<br />
return value;<br />
end<br />
end<br />
return nil; -- value was empty or contained only whitespace<br />
end -- end of valueFunc<br />
});<br />
<br />
return _lang (args);<br />
end<br />
<br />
<br />
--[[--------------------------< L A N G _ X X >----------------------------------------------------------------<br />
<br />
For the {{lang-xx}} templates, the only parameter required to be set in the template is the language code. All<br />
other parameters can, usually should, be written in the template call. For {{lang-xx}} templates for languages<br />
that can have multiple writing systems, it may be appropriate to set |script= as well.<br />
<br />
For each {{lang-xx}} template choose the appropriate entry-point function so that this function knows the default<br />
styling that should be applied to text.<br />
<br />
For normal, upright style:<br />
<includeonly>{{#invoke:lang|lang_xx_inherit|code=xx}}</includeonly><br />
For italic style:<br />
<includeonly>{{#invoke:lang|lang_xx_italic|code=xx}}</includeonly><br />
<br />
All other parameters should be received from the template's frame (parent frame)<br />
<br />
Supported parameters are:<br />
|code = (required) the IANA language code<br />
|script = IANA script code; especially for use with languages that use multiple writing systems<br />
|region = IANA region code<br />
|variant = IANA variant code<br />
|text = (required) the displayed text in language specified by code<br />
|link = boolean false ('no') does not link code-spcified language name to associated language article<br />
|rtl = boolean true ('yes') identifies the language specified by code as a right-to-left language<br />
|nocat = boolean true ('yes') inhibits normal categorization; error categories are not affected<br />
|cat = boolian false ('no') opposite form of |nocat=<br />
|italic = boolean true ('yes') renders displayed text in italic font; boolean false ('no') renders displayed text in normal font; not set renders according to initial_style_state<br />
|lit = text that is a literal translation of text<br />
|label = 'none' to suppress all labeling (language name, 'translit.', 'lit.')<br />
any other text replaces language-name label - automatic wikilinking disabled<br />
<br />
for those {{lang-xx}} templates that support transliteration (those templates where |text= is not entirely latn script):<br />
|translit = text that is a transliteration of text<br />
|translit-std = the standard that applies to the transliteration<br />
|translit-script = ISO 15924 script name; falls back to code<br />
<br />
For {{lang-xx}}, the positional parameters are:<br />
{{{1}}} text<br />
{{{2}}} transliterated text<br />
{{{3}}} literal translation text<br />
no other positional parameters are allowed<br />
<br />
]]<br />
<br />
local function _lang_xx (args)<br />
local out = {};<br />
local language_name; -- used to make display text, article links<br />
local category_name; -- same as language_name except that it retains any parenthetical disambiguators (if any) from the data set<br />
local subtags = {}; -- IETF subtags script, region, and variant<br />
local code; -- the language code<br />
<br />
local translit_script_name; -- name associated with IANA (ISO 15924) script code<br />
local translit;<br />
local translit_title;<br />
local msg; -- for error messages<br />
local tag = 'span'; -- initial value for make_text_html()<br />
local template = args.template or 'Lang-xx';<br />
<br />
if args[1] and args.text then<br />
return make_error_msg ('conflicting: {{{1}}} and |text=', args, template);<br />
else<br />
args.text = args[1] or args.text; -- prefer args.text<br />
end<br />
<br />
msg = validate_text (template, args); -- ensure that |text= is set, does not contain italic markup and is protected from improper bolding<br />
if is_set (msg) then<br />
return msg;<br />
end<br />
<br />
args.text, tag = html_tag_select (args.text); -- inspects text; returns appropriate html tag with text trimmed accordingly<br />
<br />
if args[2] and args.translit then<br />
return make_error_msg ('conflicting: {{{2}}} and |translit=', args, template);<br />
else<br />
args.translit = args[2] or args.translit -- prefer args.translit<br />
end<br />
<br />
if args[3] and (args.translation or args.lit) then<br />
return make_error_msg ('conflicting: {{{3}}} and |lit= or |translation=', args, template);<br />
elseif args.translation and args.lit then<br />
return make_error_msg ('conflicting: |lit= and |translation=', args, template);<br />
else<br />
args.translation = args[3] or args.translation or args.lit; -- prefer args.translation<br />
end<br />
<br />
if args.links and args.link then<br />
return make_error_msg ('conflicting: |links= and |link=', args, template);<br />
else<br />
args.link = args.link or args.links; -- prefer args.link<br />
end<br />
<br />
validate_cat_args (args); -- determine if categorization should be suppressed<br />
<br />
args.rtl = args.rtl == 'yes'; -- convert to boolean: 'yes' -> true, other values -> false<br />
<br />
code, subtags.script, subtags.region, subtags.variant, subtags.private, msg = get_ietf_parts (args.code, args.script, args.region, args.variant); -- private omitted because private<br />
<br />
if msg then -- if an error detected then there is an error message<br />
return make_error_msg (msg, args, template);<br />
end<br />
<br />
args.italic, msg = validate_italic (args);<br />
if msg then<br />
return make_error_msg (msg, args, template);<br />
end<br />
<br />
if nil == args.italic then -- args.italic controls<br />
if is_set (subtags.script) then<br />
if 'latn' == subtags.script then<br />
args.italic = 'italic'; -- |script=Latn; set for font-style:italic<br />
else<br />
args.italic = initial_style_state; -- italic not set; script is not latn; set for font-style:<initial_style_state><br />
end<br />
else<br />
args.italic = initial_style_state; -- here when |italic= and |script= not set; set for font-style:<initial_style_state><br />
end<br />
end<br />
<br />
if is_set (subtags.script) then -- if script set override rtl setting<br />
if in_array (subtags.script, lang_data.rtl_scripts) then<br />
args.rtl = true; -- script is an rtl script<br />
else<br />
args.rtl = false; -- script is not an rtl script<br />
end<br />
end<br />
<br />
args.proto, msg = validate_proto (args.proto); -- return boolean, or nil, or nil and error message flag<br />
if msg then<br />
return make_error_msg (table.concat ({'invalid |proto=: ', args.proto}), args, template);<br />
end<br />
<br />
args.code = format_ietf_tag (code, subtags.script, subtags.region, subtags.variant, subtags.private); -- format to recommended subtag styles<br />
language_name = language_name_get (args.code, code, true); -- get language name; try ietf tag first, then code w/o variant then code w/ variant<br />
<br />
category_name = language_name; -- category names retain IANA parenthetical diambiguators (if any)<br />
language_name = language_name:gsub ('%s+%b()', ''); -- remove IANA parenthetical disambiguators or qualifiers from names that have them<br />
<br />
if args.label then<br />
if 'none' ~= args.label then<br />
table.insert (out, table.concat ({args.label, ': '})); -- custom label<br />
end<br />
else<br />
if 'no' == args.link then<br />
table.insert (out, language_name); -- language name without wikilink<br />
else<br />
if mw.ustring.find (language_name, 'languages', 1, true) then<br />
table.insert (out, make_wikilink (language_name)); -- collective language name uses simple wikilink<br />
elseif lang_data.article_name[code] then<br />
table.insert (out, make_wikilink (lang_data.article_name[code], language_name)); -- language name with wikilink from override data<br />
else<br />
table.insert (out, make_wikilink (language_name .. ' language', language_name)); -- language name with wikilink<br />
end<br />
end<br />
table.insert (out, ': '); -- separator<br />
end<br />
<br />
if 'invert' == args.italic then<br />
args.text = invert_italics (args.text)<br />
end<br />
<br />
args.text = proto_prefix (args.text, language_name, args.proto); -- prefix proto-language text with a splat<br />
<br />
table.insert (out, make_text_html (args.code, args.text, tag, args.rtl, args.italic, args.size, ('none' == args.label) and language_name or nil))<br />
<br />
if is_set (args.translit) and not unicode.is_Latin (args.text) then -- transliteration (not supported in {{lang}}); not supported when args.text is wholly latn text (this is an imperfect test)<br />
table.insert (out, ', '); -- comma to separate text from translit<br />
if 'none' ~= args.label then<br />
table.insert (out, '<small>');<br />
if script_table[args['translit-script']] then -- when |translit-script= is set, try to use the script's name<br />
translit_script_name = script_table[args['translit-script']];<br />
else<br />
translit_script_name = language_name; -- fall back on language name<br />
end<br />
translit_title = mw.title.makeTitle (0, table.concat ({'Romanization of ', translit_script_name})); -- make a title object<br />
if translit_title.exists and ('no' ~= args.link) then<br />
table.insert (out, make_wikilink ('Romanization of ' .. translit_script_name or language_name, 'romanized') .. ':'); -- make a wikilink if there is an article to link to<br />
else<br />
table.insert (out, 'romanized:'); -- else plain text<br />
end<br />
table.insert (out, '&nbsp;</small>'); -- close the small tag<br />
end<br />
<br />
translit = make_translit (args.code, language_name, args.translit, args['translit-std'], args['translit-script'])<br />
if is_set (translit) then<br />
table.insert (out, translit);<br />
else<br />
return make_error_msg (table.concat ({'invalid translit-std: \'', args['translit-std'] or '[missing]'}), args, template);<br />
end<br />
end<br />
<br />
if is_set (args.translation) then -- translation (not supported in {{lang}})<br />
table.insert (out, ', ');<br />
if 'none' ~= args.label then<br />
table.insert (out, '<small>');<br />
if 'no' == args.link then<br />
table.insert (out, '<abbr title="literal translation">lit.</abbr>');<br />
else<br />
table.insert (out, make_wikilink ('Literal translation', 'lit.'));<br />
end<br />
table.insert (out, "&thinsp;</small>");<br />
end<br />
table.insert (out, table.concat ({'&#39;', args.translation, '&#39;'})); -- use html entities to avoid wiki markup confusion<br />
end<br />
<br />
table.insert (out, make_category (code, category_name, args.nocat));<br />
table.insert (out, render_maint(args.nocat)); -- maintenance messages and categories<br />
<br />
return table.concat (out); -- put it all together and done<br />
end<br />
<br />
<br />
--[[--------------------------< L A N G _ X X _ A R G S _ G E T >----------------------------------------------<br />
<br />
common function to get args table from {{lang-??}} templates<br />
<br />
returns table of args<br />
<br />
]]<br />
<br />
local function lang_xx_args_get (frame)<br />
local args = getArgs(frame,<br />
{<br />
parentFirst= true, -- parameters in the template override parameters set in the {{#invoke:}}<br />
valueFunc = function (key, value)<br />
if 1 == key then -- the 'text' parameter; do not trim wite space<br />
return value; -- return untrimmed 'text'<br />
elseif value then -- all other values: if the value is not nil<br />
value = mw.text.trim (value); -- trim whitespace<br />
if '' ~= value then -- empty string when value was only whitespace<br />
return value;<br />
end<br />
end<br />
return nil; -- value was empty or contained only whitespace<br />
end -- end of valueFunc<br />
});<br />
<br />
return args;<br />
end<br />
<br />
<br />
--[[--------------------------< L A N G _ X X _ I T A L I C >--------------------------------------------------<br />
<br />
Entry point for those {{lang-xx}} templates that call lang_xx_italic(). Sets the initial style state to italic.<br />
<br />
]]<br />
<br />
local function lang_xx_italic (frame)<br />
local args = lang_xx_args_get (frame);<br />
<br />
initial_style_state = 'italic';<br />
return _lang_xx (args);<br />
end<br />
<br />
<br />
--[[--------------------------< _ L A N G _ X X _ I T A L I C >------------------------------------------------<br />
<br />
Entry point ffrom another module. Sets the initial style state to italic.<br />
<br />
]]<br />
<br />
local function _lang_xx_italic (args)<br />
initial_style_state = 'italic';<br />
return _lang_xx (args);<br />
end<br />
<br />
<br />
--[[--------------------------< L A N G _ X X _ I N H E R I T >------------------------------------------------<br />
<br />
Entry point for those {{lang-xx}} templates that call lang_xx_inherit(). Sets the initial style state to inherit.<br />
<br />
]]<br />
<br />
local function lang_xx_inherit (frame)<br />
local args = lang_xx_args_get (frame);<br />
<br />
initial_style_state = 'inherit';<br />
return _lang_xx (args);<br />
end<br />
<br />
<br />
--[[--------------------------< _ L A N G _ X X _ I N H E R I T >----------------------------------------------<br />
<br />
Entry point from another module. Sets the initial style state to inherit.<br />
<br />
]]<br />
<br />
local function _lang_xx_inherit (args)<br />
initial_style_state = 'inherit';<br />
return _lang_xx (args);<br />
end<br />
<br />
<br />
--[[--------------------------< _ I S _ I E T F _ T A G >------------------------------------------------------<br />
<br />
Returns true when a language name associated with IETF language tag exists; nil else. IETF language tag must be valid.<br />
<br />
All code combinations supported by {{lang}} and the {{lang-xx}} templates are supported by this function.<br />
<br />
Module entry point from another module<br />
<br />
]]<br />
<br />
local function _is_ietf_tag (tag) -- entry point when this module is require()d into another<br />
local c, s, r, v, p, err; -- code, script, region, variant, private, error message<br />
c, s, r, v, p, err = get_ietf_parts (tag); -- disassemble tag into constituent part and validate<br />
<br />
return ((c and not err) and true) or nil; -- return true when code portion has a value without error message; nil else<br />
end<br />
<br />
<br />
--[[--------------------------< I S _ I E T F _ T A G >--------------------------------------------------------<br />
<br />
Module entry point from an {{#invoke:}}<br />
<br />
]]<br />
<br />
local function is_ietf_tag (frame)<br />
return _is_ietf_tag (getArgs (frame)[1]); -- args[1] is the ietf language tag to be tested; also get parent frame<br />
end<br />
<br />
<br />
--[[--------------------------< I S _ I E T F _ T A G _ F R A M E >--------------------------------------------<br />
<br />
Module entry point from an {{#invoke:}}; same as is_ietf_tag() except does not get parameters from the parent<br />
(template) frame. This function not useful when called by {{lang|fn=is_ietf_tag_frame|<tag>}} because <tag><br />
is in the parent frame.<br />
<br />
]]<br />
<br />
local function is_ietf_tag_frame (frame)<br />
return _is_ietf_tag (getArgs (frame, {frameOnly = true,})[1]); -- args[1] is the ietf language tag to be tested; do not get parent frame<br />
end<br />
<br />
<br />
--[[--------------------------< _ N A M E _ F R O M _ T A G >--------------------------------------------------<br />
<br />
Returns language name associated with IETF language tag if valid; error message else.<br />
<br />
All code combinations supported by {{lang}} and the {{lang-xx}} templates are supported by this function.<br />
<br />
Set invoke's |link= parameter to yes to get wikilinked version of the language name.<br />
<br />
Module entry point from another module<br />
<br />
]]<br />
<br />
local function _name_from_tag (args)<br />
local subtags = {}; -- IETF subtags script, region, variant, and private<br />
local raw_code = args[1]; -- save a copy of the input IETF subtag<br />
local link = 'yes' == args['link']; -- make a boolean<br />
local label = args.label;<br />
local code; -- the language code<br />
local msg; -- gets an error message if IETF language tag is malformed or invalid<br />
local language_name = '';<br />
<br />
code, subtags.script, subtags.region, subtags.variant, subtags.private, msg = get_ietf_parts (raw_code);<br />
if msg then<br />
local template = (args['template'] and table.concat ({'{{', args['template'], '}}: '})) or ''; -- make template name (if provided by the template)<br />
return table.concat ({'<span style=\"color:#d33\">Error: ', template, msg, '</span>'});<br />
end<br />
<br />
raw_code = format_ietf_tag (code, subtags.script, subtags.region, subtags.variant, subtags.private); -- format to recommended subtag styles; private omitted because private<br />
language_name = language_name_get (raw_code, code); -- get language name; try ietf tag first, then code w/o variant then code w/ variant<br />
<br />
language_name = language_name:gsub ('%s+%b()', ''); -- remove IANA parenthetical disambiguators or qualifiers from names that have them<br />
<br />
if link then -- when |link=yes, wikilink the language name<br />
if mw.ustring.find (language_name, 'languages', 1, true) then<br />
language_name = make_wikilink (language_name, label); -- collective language name uses simple wikilink<br />
elseif lang_data.article_name[code] then<br />
language_name = make_wikilink (lang_data.article_name[code], label or language_name); -- language name with wikilink from override data<br />
else<br />
language_name = make_wikilink (language_name .. ' language', label or language_name); -- language name with wikilink<br />
end<br />
end<br />
<br />
return language_name;<br />
end<br />
<br />
<br />
--[[--------------------------< N A M E _ F R O M _ T A G >----------------------------------------------------<br />
<br />
Module entry point from an {{#invoke:}}<br />
<br />
]]<br />
<br />
local function name_from_tag (frame) -- entry point from an {{#invoke:Lang|name_from_tag|<ietf tag>|link=<yes>|template=<template name>}}<br />
return _name_from_tag (getArgs(frame)) -- pass-on the args table, nothing else; getArgs() so we also get parent frame<br />
end<br />
<br />
<br />
--[[--------------------------< _ T A G _ F R O M _ N A M E >--------------------------------------------------<br />
<br />
Returns the ietf language tag associated with the language name. Spelling of language name must be correct<br />
according to the spelling in the source tables. When a standard language name has a parenthetical disambiguator,<br />
that disambiguator must be omitted (they are not present in the data name-to-tag tables).<br />
<br />
Module entry point from another module<br />
<br />
]]<br />
<br />
local function _tag_from_name (args) -- entry point from another module<br />
local msg;<br />
<br />
if args[1] and '' ~= args[1] then<br />
local data = mw.loadData ('Module:Lang/tag from name'); -- get the reversed data tables TODO: change when going live<br />
local lang = args[1]:lower(); -- allow any-case for the language name (speeling must till be correct)<br />
local tag = data.rev_override_table[lang] or data.rev_lang_table[lang] or data.rev_lang_dep_table[lang]; -- get the code; look first in the override then in the standard<br />
<br />
if tag then<br />
return tag, true; -- language name found so return tag and done; second return used by is_lang_name()<br />
else<br />
msg = 'language: ' .. args[1] .. ' not found' -- language name not found, error message<br />
end<br />
else<br />
msg = 'missing language name' -- language name not provided, error message<br />
end<br />
<br />
local template = '';<br />
if args.template and '' ~= args.template then<br />
template = table.concat ({'{{', args['template'], '}}: '}); -- make template name (if provided by the template)<br />
end<br />
return table.concat ({'<span style=\"color:#d33\">Error: ', template, msg, '</span>'});<br />
end<br />
<br />
<br />
--[[--------------------------< T A G _ F R O M _ N A M E >----------------------------------------------------<br />
<br />
Module entry point from an {{#invoke:}}<br />
<br />
]]<br />
<br />
local function tag_from_name (frame) -- entry point from an {{#invoke:Lang|tag_from_name|<language name>|link=<yes>|template=<template name>}}<br />
local result, _ = _tag_from_name (getArgs(frame)) -- pass-on the args table, nothing else; getArgs() so we also get parent frame; supress second return used by is_lang_name()<br />
return result; <br />
end<br />
<br />
<br />
--[[--------------------------< I S _ L A N G _ N A M E >------------------------------------------------------<br />
<br />
Module entry point from an {{#invoke:}}<br />
<br />
]]<br />
<br />
local function is_lang_name (frame)<br />
local _, result = _tag_from_name (getArgs(frame)) -- pass-on the args table, nothing else; getArgs() so we also get parent frame; supress second return used by tag_from_name()<br />
return result and true or nil; <br />
end<br />
<br />
<br />
--[[--------------------------< _ T R A N S L >----------------------------------------------------------------<br />
<br />
Module entry point from another module<br />
<br />
]]<br />
<br />
local function _transl (args)<br />
local title_table = lang_data.translit_title_table; -- table of transliteration standards and the language codes and scripts that apply to those standards<br />
local language_name; -- language name that matches language code; used for tool tip<br />
local translit; -- transliterated text to display<br />
local script; -- IANA script<br />
local msg; -- for when called functions return an error message<br />
<br />
if is_set (args[3]) then -- [3] set when {{transl|code|standard|text}}<br />
args.text = args[3]; -- get the transliterated text<br />
args.translit_std = args[2] and args[2]:lower(); -- get the standard; lower case for table indexing<br />
<br />
if not title_table[args.translit_std] then<br />
return make_error_msg (table.concat ({'unrecognized transliteration standard: ', args.translit_std}), args, 'Transl');<br />
end<br />
else<br />
if is_set (args[2]) then -- [2] set when {{transl|code|text}}<br />
args.text = args[2]; -- get the transliterated text<br />
else<br />
if args[1] and args[1]:match ('^%a%a%a?%a?$') then -- args[2] missing; is args[1] a code or is it the transliterated text?<br />
return make_error_msg ('no text', args, 'Transl'); -- args[1] is a code so we're missing text<br />
else<br />
args.text = args[1]; -- args[1] is not a code so we're missing that; assign args.text for error message<br />
return make_error_msg ('missing language / script code', args, 'Transl');<br />
end<br />
end<br />
end<br />
<br />
if is_set (args[1]) then -- IANA language code used for html lang= attribute; or ISO 15924 script code<br />
if args[1]:match ('^%a%a%a?%a?$') then -- args[1] has correct form?<br />
args.code = args[1]:lower(); -- use the language/script code; only (2, 3, or 4 alpha characters); lower case because table indexes are lower case<br />
else<br />
return make_error_msg (table.concat ({'unrecognized language / script code: ', args[1]}), args, 'Transl'); -- invalid language / script code<br />
end<br />
else<br />
return make_error_msg ('missing language / script code', args, 'Transl'); -- missing language / script code so quit<br />
end<br />
<br />
args.italic, msg = validate_italic (args);<br />
if msg then<br />
return make_error_msg (msg, args, 'Transl');<br />
end<br />
<br />
if 'italic' == args.italic then -- 'italic' when |italic=yes; because that is same as absent or not set and |italic=default<br />
args.italic = nil; -- set to nil; <br />
end<br />
<br />
if override_table[args.code] then -- is code a language code defined in the override table?<br />
language_name = override_table[args.code];<br />
elseif lang_table[args.code] then -- is code a language code defined in the standard language code tables?<br />
language_name = lang_table[args.code];<br />
elseif lang_dep_table[args.code] then -- is code a language code defined in the deprecated language code tables?<br />
language_name = lang_dep_table[args.code];<br />
elseif script_table[args.code] then -- if here, code is not a language code; is it a script code?<br />
language_name = script_table[args.code];<br />
script = args.code; -- code was an ISO 15924 script so use that instead<br />
args.code = ''; -- unset because not a language code<br />
else<br />
return make_error_msg (table.concat ({'unrecognized language / script code: ', args.code}), args, 'Transl'); -- invalid language / script code<br />
end<br />
-- here only when all parameters passed to make_translit() are valid<br />
return make_translit (args.code, language_name, args.text, args.translit_std, script, args.italic);<br />
end<br />
<br />
<br />
--[[--------------------------< T R A N S L >------------------------------------------------------------------<br />
<br />
Module entry point from an {{#invoke:}}<br />
<br />
]]<br />
<br />
local function transl (frame)<br />
return _transl (getArgs(frame));<br />
end<br />
<br />
<br />
--[[--------------------------< C A T E G O R Y _ F R O M _ T A G >--------------------------------------------<br />
<br />
Returns category name associated with IETF language tag if valid; error message else<br />
<br />
All code combinations supported by {{lang}} and the {{lang-xx}} templates are supported by this function.<br />
<br />
Module entry point from another module<br />
<br />
]]<br />
<br />
local function _category_from_tag (args_t)<br />
local subtags = {}; -- IETF subtags script, region, variant, and private<br />
local raw_code = args_t[1]; -- save a copy of the input IETF subtag<br />
local link = 'yes' == args_t.link; -- make a boolean<br />
local label = args_t.label;<br />
local code; -- the language code<br />
local msg; -- gets an error message if IETF language tag is malformed or invalid<br />
local category_name = '';<br />
<br />
code, subtags.script, subtags.region, subtags.variant, subtags.private, msg = get_ietf_parts (raw_code);<br />
if msg then<br />
local template = (args_t.template and table.concat ({'{{', args_t.template, '}}: '})) or ''; -- make template name (if provided by the template)<br />
return table.concat ({'<span style=\"color:#d33\">Error: ', template, msg, '</span>'});<br />
end<br />
<br />
raw_code = format_ietf_tag (code, subtags.script, subtags.region, subtags.variant, subtags.private); -- format to recommended subtag styles; private omitted because private<br />
category_name = language_name_get (raw_code, code); -- get language name; try ietf tag first, then code w/o variant then code w/ variant<br />
category_name = make_category (code, category_name, nil, true):gsub ('[%[%]]', '');<br />
<br />
if link then<br />
return table.concat ({'[[:', category_name, ']]'});<br />
else<br />
return category_name;<br />
end<br />
end<br />
<br />
<br />
--[[--------------------------< C A T E G O R Y _ F R O M _ T A G >--------------------------------------------<br />
<br />
Module entry point from an {{#invoke:}}<br />
<br />
]]<br />
<br />
local function category_from_tag (frame) -- entry point from an {{#invoke:Lang|category_from_tag|<ietf tag>|template=<template name>}}<br />
return _category_from_tag (getArgs (frame)); -- pass-on the args table, nothing else; getArgs() so we also get parent frame<br />
end<br />
<br />
<br />
--[[--------------------------< E X P O R T E D F U N C T I O N S >------------------------------------------<br />
]]<br />
<br />
return {<br />
category_from_tag = category_from_tag,<br />
lang = lang, -- entry point for {{lang}}<br />
lang_xx_inherit = lang_xx_inherit, -- entry points for {{lang-??}}<br />
lang_xx_italic = lang_xx_italic,<br />
is_ietf_tag = is_ietf_tag,<br />
is_ietf_tag_frame = is_ietf_tag_frame,<br />
is_lang_name = is_lang_name,<br />
tag_from_name = tag_from_name, -- returns ietf tag associated with language name<br />
name_from_tag = name_from_tag, -- used for template documentation; possible use in ISO 639 name from code templates<br />
transl = transl, -- entry point for {{transl}}<br />
<br />
_category_from_tag = _category_from_tag, -- entry points when this module is require()d into other modules<br />
_lang = _lang,<br />
_lang_xx_inherit = _lang_xx_inherit,<br />
_lang_xx_italic = _lang_xx_italic,<br />
_is_ietf_tag = _is_ietf_tag,<br />
get_ietf_parts = get_ietf_parts,<br />
_tag_from_name = _tag_from_name, <br />
_name_from_tag = _name_from_tag,<br />
_transl = _transl,<br />
};</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Hatnote_inline&diff=3384
Module:Hatnote inline
2022-06-25T21:30:17Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>--------------------------------------------------------------------------------<br />
-- Module:Hatnote-inline --<br />
-- --<br />
-- This module produces hatnote-style links, and links to related articles, --<br />
-- but inside a <span>, instead of the <div> used by Module:Hatnote. It --<br />
-- implements the {{hatnote-inline}} meta-template. --<br />
--------------------------------------------------------------------------------<br />
<br />
local mHatnote = require('Module:Hatnote')<br />
local mArguments = require('Module:Arguments')<br />
local yesno = require('Module:Yesno')<br />
local p = {}<br />
<br />
function p.hatnoteInline (frame)<br />
local args = mArguments.getArgs(frame)<br />
local hatnote = mHatnote.hatnote(frame)<br />
if args.inline == nil or yesno(args.inline, true) then<br />
local subs = {<br />
['<div'] = '<span',<br />
['</div>$'] = '</span>'<br />
}<br />
for k, v in pairs(subs) do hatnote = string.gsub(hatnote, k, v, 1) end<br />
end<br />
return hatnote<br />
end<br />
<br />
p.hatnote = p.hatnoteInline --alias<br />
<br />
return p</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Exponential_search&diff=3382
Module:Exponential search
2022-06-25T21:30:14Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>-- This module provides a generic exponential search algorithm.<br />
<br />
local checkType = require('libraryUtil').checkType<br />
local floor = math.floor<br />
<br />
local function midPoint(lower, upper)<br />
return floor(lower + (upper - lower) / 2)<br />
end<br />
<br />
local function search(testFunc, i, lower, upper)<br />
if testFunc(i) then<br />
if i + 1 == upper then<br />
return i<br />
end<br />
lower = i<br />
if upper then<br />
i = midPoint(lower, upper)<br />
else<br />
i = i * 2<br />
end<br />
return search(testFunc, i, lower, upper)<br />
else<br />
upper = i<br />
i = midPoint(lower, upper)<br />
return search(testFunc, i, lower, upper)<br />
end<br />
end<br />
<br />
return function (testFunc, init)<br />
checkType('Exponential search', 1, testFunc, 'function')<br />
checkType('Exponential search', 2, init, 'number', true)<br />
if init and (init < 1 or init ~= floor(init) or init == math.huge) then<br />
error(string.format(<br />
"invalid init value '%s' detected in argument #2 to " ..<br />
"'Exponential search' (init value must be a positive integer)",<br />
tostring(init)<br />
), 2)<br />
end<br />
init = init or 2<br />
if not testFunc(1) then<br />
return nil<br />
end<br />
return search(testFunc, init, 1, nil)<br />
end</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Spaced_ndash&diff=3380
Template:Spaced ndash
2022-06-25T21:30:02Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>#REDIRECT [[Template:Spaced en dash]]<br />
{{R from move}}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Spaced_en_dash&diff=3378
Template:Spaced en dash
2022-06-25T21:30:02Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>&nbsp;&ndash;&#32;<noinclude><br />
<br />
{{documentation}}<br />
<!-- Add categories and interwikis to the /doc subpage, not here! --><br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Section_link&diff=3376
Template:Section link
2022-06-25T21:30:01Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>{{#invoke:Section link|main}}<noinclude><br />
{{documentation}}<br />
<!-- Categories go on the /doc subpage and interwikis go on Wikidata. --><br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Samp&diff=3374
Template:Samp
2022-06-25T21:30:00Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div><samp {{#if:{{{class|}}}|class="{{{class}}}"}} {{#if:{{{id|}}}|id="{{{id}}}"}} style="padding-left:0.4em; padding-right:0.4em; color:{{{color|#666666}}}; {{{style|}}}" {{#if:{{{lang|}}}|lang="{{{lang}}}"}} {{#if:{{{title|}}}|title="{{{title}}}"}}>{{{1}}}</samp><noinclude><br />
<!--Categories and interwikis go near the bottom of the /doc page.--><br />
{{Documentation}}<br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Pp-template&diff=3372
Template:Pp-template
2022-06-25T21:30:00Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div><includeonly>{{#switch:{{#invoke:Effective protection level|edit|{{FULLPAGENAME}}}}<br />
|*=[[Category:Pages with incorrect protection templates]]<br />
|autoconfirmed={{#tag:indicator|[[File:Semi-protection-shackle-no-text.svg|20px|link=Project:Protected page|alt=Permanently protected {{module other|module|template}}|This high-risk {{module other|module|template}} is permanently semi-protected to prevent vandalism]]|name="pp-default"}}[[Category:{{module other|Modules subject to page protection|Semi-protected templates}}|{{PAGENAME}}]]<br />
|sysop={{#tag:indicator|[[File:Full-protection-shackle-no-text.svg|20px|link=Project:Protected page|alt=Permanently protected {{module other|module|template}}|This high-risk {{module other|module|template}} is permanently protected to prevent vandalism]]|name="pp-default"}}[[Category:{{module other|Modules subject to page protection|Fully protected templates}}|{{PAGENAME}}]]<br />
}}</includeonly><noinclude><br />
{{Documentation}}<br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Lang&diff=3370
Template:Lang
2022-06-25T21:29:56Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div><includeonly>{{#invoke:Lang|{{{fn|lang}}}}}</includeonly><noinclude><br />
{{Documentation}}<br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Kbd&diff=3368
Template:Kbd
2022-06-25T21:29:56Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div><kbd {{#if:{{{class|}}}|class="{{{class}}}"}} {{#if:{{{id|}}}|id="{{{id}}}"}} style="background:#EEEEEE; {{#if:{{{spacing|}}}| padding-left:{{{padding|0.2em}}}; padding-right:{{{padding|0.2em}}};| letter-spacing:0.05em; padding-left:0.25em; padding-right:0.2em;}}{{#if:{{{style|}}}|{{{style}}}}}" {{#if:{{{lang|}}}|lang="{{{lang}}}"}} {{#if:{{{title|}}}|title="{{{title}}}"}}>{{{1|user input}}}</kbd><noinclude><br />
<!--Categories and interwikis go near the bottom of the /doc page.--><br />
{{Documentation}}<br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Hatnote_inline/invoke&diff=3366
Template:Hatnote inline/invoke
2022-06-25T21:29:54Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div><includeonly>{{#invoke:Hatnote inline|hatnote}}</includeonly><noinclude><br />
{{Documentation|content=This is an includeonly part of [[Template:Hatnote inline]].}}</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Hatnote_inline&diff=3364
Template:Hatnote inline
2022-06-25T21:29:53Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>{{Hatnote inline/invoke<br />
|1={{{1|{{{text|{{{content}}}}}}}}}<br />
|extraclasses={{{class|{{{extraclasses|}}}}}}<br />
|selfref={{#if:{{{printworthy|{{{selfref|}}}}}}||yes}}<br />
|category={{{category|}}}<br />
|inline={{{inline|true}}}<br />
}}<noinclude><br />
{{documentation}}<br />
<!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --><br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Crossreference/styles.css&diff=3362
Template:Crossreference/styles.css
2022-06-25T21:29:52Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>/* {{pp-template}} */<br />
/* This snippet just undoes the default "padding-left: 1.6em;" imposed by<br />
div.hatnote, when Template:Crossreference is used in block (div) mode.<br />
Ignore the dumb CSS editor's "Element (div.crossreference) is overqualified"<br />
warning. It is wrong. We do not want to apply any CSS intended for block<br />
mode when it is not in block mode. While it's unlikely our "padding-left: 0;"<br />
does anything wrong in inline (span) mode, we can't guarantee it forever. */<br />
div.crossreference {<br />
padding-left: 0;<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Crossreference&diff=3360
Template:Crossreference
2022-06-25T21:29:50Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div><templatestyles src="Crossreference/styles.css" />{{Hatnote inline<br />
|1={{{1|{{{text|{{{content|<noinclude>sample content</noinclude>}}}}}}}}}<br />
|extraclasses=crossreference {{{class|{{{extraclasses|}}}}}}<br />
|selfref={{#if:{{{selfref|{{{printworthy|{{{unprintworthy|}}}}}}}}}||yes}}<br />
|inline={{{inline|true}}}<br />
}}<noinclude><br />
{{documentation}}<br />
<!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --><br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Crossref&diff=3358
Template:Crossref
2022-06-25T21:29:50Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>#REDIRECT [[Template:Crossreference]]<br />
<br />
{{Rcat shell|<br />
{{R from template shortcut}}<br />
}}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Collapsible_option/doc&diff=3356
Template:Collapsible option/doc
2022-06-25T21:29:49Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>{{Documentation subpage}}<br />
<!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --><br />
{{High-risk| approximately 108000 }}<br />
{{tlx|Collapsible option}} provides a standardised message for [[Wikipedia:Transclusion|transclusion]] on the pages of collapsible templates whose collapsibility may be managed by the parameter {{para|state}}.<br />
<br />
It may be used on either the template page itself (wrapped within {{tag|noinclude}} tags) or on the template's {{tlx|documentation subpage}}.<br />
<br />
===Indicating optional use of {{samp|state}} name===<br />
The {{para|state}} parameter used to manage collapsible templates need not always be named explicitly, i.e. {{tnull|{{var|Template name}}{{!}}{{var|state}}}} can be the same as {{tnull|{{var|Template name}}|state{{=}}{{var|state}}}}, if the template is coded that way. To indicate this in the {{tnull|Collapsible option}} message, add the parameter {{para|statename|optional}}. This modifies the message so that it reads (if it were used for itself):<br />
<br />
<div style="clear:both;margin:1.0em 0;background:whitesmoke;"><br />
{{Collapsible option |statename=optional}}<br />
</div><br />
<br />
This possibility is enabled by including:<br />
*<code><nowiki>{{{1|}}}</nowiki></code> as part of a collapsible template's {{para|state}} parameter{{spaced ndash}}for instance, as {{para|state|<nowiki>{{{state|{{{1|}}}}}}</nowiki>}} or {{para|state|<nowiki>{{{state|{{{1|<noinclude>expanded</noinclude>}}}}}}</nowiki>}}, etc.<br />
*<code><nowiki><noinclude></nowiki></code>,<code><nowiki><includeonly></nowiki></code>as part of a collapsible template's <code>state</code> argument{{spaced ndash}}for instance, as {{para|state|<nowiki>{{{state<includeonly>|collapsed</includeonly>}}}</nowiki>}}<br />
If, however, the template includes collapsible sections within itself (e.g. {{tlx|Navbox with collapsible groups}}), then enabling this possibility may introduce ambiguity as regards what is to be collapsed or expanded. In those instances, therefore, the requirement to use {{para|state}} should be retained.<br />
<br />
===Changing the default state===<br />
To change the default state {{tnull|Collapsible option}} uses, add the parameter {{para|default|collapsed}} or {{para|default|expanded}} accordingly. To restore the default, remove any {{para|default}} previously included.<br />
<br />
The {{para|default|collapsed}} option must not be used in main article content in mainspace, e.g. to hide [[Wikipedia:Manual of Style/Tables|tables of information]], or to cram extraneous details into [[Wikipedia:Manual of Style/Infoboxes|infoboxes]]. {{crossref|printworthy=y|(For more information, see {{section link|Wikipedia:Manual of Style#Scrolling lists and collapsible content}}.)}} This option {{em|is}} permissible in [[Wikipedia:Navigation boxes|navboxes]], which are not part of the article content {{lang|la|per se}}.<br />
<br />
===Slashes and the {{samp|nobase}} parameter ===<br />
If the template name given to {{tnull|Collapsible option}}</nowiki> includes a forward-slash (virgule) character – <kbd>/</kbd> – then the parameter {{para|nobase}} (set to {{kbd|on}}, {{kbd|true}}, etc.) will need to be added so that the name is displayed correctly (i.e., so that {{tlc|PAGENAME}} rather than the default {{tlc|BASEPAGENAME}} is used to display it).<br />
<br />
== See also ==<br />
* {{tl|Navbox documentation}}<br />
* {{tlx|Collapsible lists option}}<br />
* {{tlx|Collapsible sections option}}<br />
* [[Help:Collapsing]]<br />
<br />
<includeonly>{{Sandbox other||<br />
<!-- Categories below this line; interwikis at Wikidata --><br />
[[Category:Documentation shared content templates]]<br />
[[Category:Wikipedia metatemplates]]<br />
<br />
}}</includeonly></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Collapsible_option&diff=3354
Template:Collapsible option
2022-06-25T21:29:47Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>'''{{big|Initial visibility:}}''' currently defaults to '''{{big|{{#switch:{{{default|}}}|collapsed=collapsed|expanded=expanded|autocollapse|#default=autocollapse}}}}'''<br />
<br />
To set this template's initial visibility, the {{para|{{{parameter_name|state}}}}} [[Help:Template#Parameters|parameter]] may be used:<br />
<ul><br />
<li>{{para|{{{parameter_name|state}}}|collapsed}}: <code><nowiki>{{</nowiki><includeonly>{{</includeonly>{{#if:{{{nobase|}}}| |BASE}}PAGENAME<includeonly>}}</includeonly><nowiki>|</nowiki>{{{parameter_name|state}}}<nowiki>=collapsed}}</nowiki></code> to show the template collapsed, i.e., hidden apart from its title bar</li><br />
<li>{{para|{{{parameter_name|state}}}|expanded}}: <code><nowiki>{{</nowiki><includeonly>{{</includeonly>{{#if:{{{nobase|}}} | |BASE}}PAGENAME<includeonly>}}</includeonly><nowiki>|</nowiki>{{{parameter_name|state}}}<nowiki>=expanded}}</nowiki></code> to show the template expanded, i.e., fully visible</li><br />
<li>{{para|{{{parameter_name|state}}}|autocollapse}}: <code><nowiki>{{</nowiki><includeonly>{{</includeonly>{{#if:{{{nobase|}}} | |BASE}}PAGENAME<includeonly>}}</includeonly><nowiki>|</nowiki>{{{parameter_name|state}}}<nowiki>=autocollapse}}</nowiki></code><br />
<ul><br />
<li>shows the template collapsed to the title bar if there is a {{tlx|navbar}}, a {{tlx|sidebar}}, or some other table on the page with the collapsible attribute</li><br />
<li>shows the template in its expanded state if there are no other collapsible items on the page</li><br />
</ul></li></ul><br />
If the {{para|{{{parameter_name|state}}}}} parameter in the template on this page is not set, the template's initial visibility is taken from the {{para|default}} parameter in the ''Collapsible option'' template. For the template on this page, that currently evaluates to {{big|'''<code>{{#switch:{{{default|}}}|collapsed=collapsed|expanded=expanded|autocollapse|#default=autocollapse}}</code>'''}}.<!--<br />
-->{{#if:{{{align|}}}|<br />
:{{para|align|{{var|value}}}} is also available; where {{var|value}} can be either <code>right</code> or <code>left</code>. The default is {{kbd|center}}.<br />
}}{{#if:{{{title-background|}}}|:{{para|title-background|{{var|value}}}} is also available; where {{var|value}} can be either {{kbd|navbox}} or a {{kbd|color}}. The default is {{kbd|none}}, and {{{kbd|navbox}} defaults to the default navbox color.<br />
}}{{#if:{{{width|}}}|<br />
:{{para|width|{{var|value}}}} is also available; where {{var|value}} can be either {{kbd|{{var|N}} [em/%/px]}} or {{kbd|auto}}. The default is {{kbd|100%}}.<br />
}}<!--<br />
Add {{pp-template}} if template page where this template is transcluded is protected:<br />
-->{{template other<br />
| {{#if:{{PROTECTIONLEVEL:edit}} |{{pp-template|docusage=yes}}<br />
| {{#if:{{PROTECTIONLEVEL:move}} |{{pp-move|docusage=yes|small=yes}} }}<br />
}} }}<noinclude><br />
{{Documentation}}<br />
<!-- Add categories to the /doc subpage, interwikis to Wikidata, not here --><br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Plain_text&diff=3352
Module:Plain text
2022-06-25T21:26:23Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>--converts text with wikilinks to plain text, e.g "[[foo|gah]] is [[bar]]" to "gah is bar"<br />
--removes anything enclosed in tags that isn't nested, mediawiki strip markers (references etc), files, italic and bold markup<br />
local p = {}<br />
<br />
function p.main(frame)<br />
local text = frame.args[1]<br />
local encode = require('Module:yesno')(frame.args.encode)<br />
return p._main(text, encode)<br />
end<br />
<br />
function p._main(text, encode)<br />
if not text then return end<br />
text = mw.text.killMarkers(text)<br />
:gsub('&nbsp;', ' ') --replace nbsp spaces with regular spaces<br />
:gsub('<br ?/?>', ', ') --replace br with commas<br />
:gsub('<span.->(.-)</span>', '%1') --remove spans while keeping text inside<br />
:gsub('<i.->(.-)</i>', '%1') --remove italics while keeping text inside<br />
:gsub('<b.->(.-)</b>', '%1') --remove bold while keeping text inside<br />
:gsub('<em.->(.-)</em>', '%1') --remove emphasis while keeping text inside<br />
:gsub('<strong.->(.-)</strong>', '%1') --remove strong while keeping text inside<br />
:gsub('<.->.-<.->', '') --strip out remaining tags and the text inside<br />
:gsub('<.->', '') --remove any other tag markup<br />
:gsub('%[%[%s*[Ff][Ii][Ll][Ee]%s*:.-%]%]', '') --strip out files<br />
:gsub('%[%[%s*[Ii][Mm][Aa][Gg][Ee]%s*:.-%]%]', '') --strip out use of image:<br />
:gsub('%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:.-%]%]', '') --strip out categories<br />
:gsub('%[%[[^%]]-|', '') --strip out piped link text<br />
:gsub('([^%[])%[[^%[%]][^%]]-%s', '%1') --strip out external link text<br />
:gsub('^%[[^%[%]][^%]]-%s', '') --strip out external link text<br />
:gsub('[%[%]]', '') --then strip out remaining [ and ]<br />
:gsub("'''''", "") --strip out bold italic markup<br />
:gsub("'''?", "") --not stripping out '''' gives correct output for bolded text in quotes<br />
:gsub('----+', '') --remove ---- lines<br />
:gsub("^%s+", "") --strip leading<br />
:gsub("%s+$", "") --and trailing spaces<br />
:gsub("%s+", " ") --strip redundant spaces<br />
if encode then<br />
return mw.text.encode(text)<br />
else<br />
return text<br />
end<br />
end<br />
<br />
return p</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Format_TemplateData&diff=3350
Module:Format TemplateData
2022-06-25T21:26:15Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>local TemplateData = { serial = "2017-11-06",<br />
suite = "TemplateData" }<br />
local plaintext = require("Module:Plain text")<br />
--[=[<br />
improve template:TemplateData<br />
]=]<br />
local Config = {<br />
-- multiple #invoke option names mapped into unique internal fields<br />
cat = "strange",<br />
classNoNumTOC = "suppressTOCnum",<br />
-- classParams = "classTable",<br />
cssParams = "stylesTable",<br />
cssParWrap = "stylesTabWrap",<br />
debug = false,<br />
docpageCreate = "suffix",<br />
docpageDetect = "subpage",<br />
msgDescMiss = "solo",<br />
-- classTable = false, -- class for params table<br />
loudly = false, -- show exported element, etc.<br />
solo = false, -- complaint on missing description<br />
strange = false, -- title of maintenance category<br />
stylesTable = false, -- styles for params table<br />
stylesTabWrap = false, -- styles for params table wrapper<br />
subpage = false, -- pattern to identify subpage<br />
suffix = false, -- subpage creation scheme<br />
suppressTOCnum = false -- class for TOC number suppression<br />
}<br />
local Data = {<br />
div = false, -- <div class="mw-templatedata-doc-wrap"><br />
got = false, -- table, initial templatedata object<br />
heirs = false, -- table, params that are inherited<br />
less = false, -- main description missing<br />
lasting = false, -- old syntax encountered<br />
lazy = false, -- doc mode; do not generate effective <templatedata><br />
leading = false, -- show TOC<br />
-- low = false, -- 1= mode<br />
order = false, -- parameter sequence<br />
params = false, -- table, exported parameters<br />
scream = false, -- error messages<br />
slang = false, -- project language code<br />
slim = false, -- JSON reduced to plain<br />
source = false, -- JSON input<br />
strip = false, -- <templatedata> evaluation<br />
tag = false, -- table, exported root element<br />
title = false, -- page<br />
tree = false -- table, rewritten templatedata object<br />
}<br />
local Permit = {<br />
styles = { required = "border-left: 3px solid black;",<br />
suggested = "border-left: 3px solid #888;",<br />
optional = "border-left: 3px solid #ccc",<br />
deprecated = "border-left: 3px dotted red; background-color: #FDD;",<br />
tableheadbg = "background-color: #B3B7FF;" },<br />
params = { aliases = "table",<br />
autovalue = "string",<br />
default = "string table I18N nowiki",<br />
deprecated = "boolean string",<br />
description = "string table I18N",<br />
example = "string table I18N nowiki",<br />
label = "string table I18N",<br />
inherits = "string",<br />
required = "boolean",<br />
suggested = "boolean",<br />
suggestedvalues = "table",<br />
type = "string" },<br />
root = { description = "string table I18N",<br />
format = "string",<br />
maps = "table",<br />
params = "table",<br />
paramOrder = "table",<br />
sets = "table" },<br />
search = "[{,]%%s*(['\"])%s%%1%%s*:%%s*%%{",<br />
types = { boolean = true,<br />
content = true,<br />
date = true,<br />
line = true,<br />
number = true,<br />
string = true,<br />
unknown = true,<br />
url = true,<br />
["wiki-file-name"] = true,<br />
["wiki-page-name"] = true,<br />
["wiki-template-name"] = true,<br />
["wiki-user-name"] = true,<br />
["unbalanced-wikitext"] = true,<br />
["string/line"] = "line",<br />
["string/wiki-page-name"] = "wiki-page-name",<br />
["string/wiki-user-name"] = "wiki-user-name" }<br />
}<br />
<br />
--<br />
-- Generic utility functions<br />
--<br />
<br />
local function _ne( value )<br />
-- Is string not empty?<br />
-- Parameter:<br />
-- value -- the value to test<br />
-- Return:<br />
-- boolean -- whether `value` is truthy and not the empty string<br />
return value and value ~= ''<br />
end -- _ne<br />
<br />
local function Fault( alert )<br />
-- Memorize error message<br />
-- Parameter:<br />
-- alert -- string, error message<br />
if Data.scream then<br />
Data.scream = string.format( "%s *** %s", Data.scream, alert )<br />
else<br />
Data.scream = alert<br />
end<br />
end -- Fault()<br />
<br />
local function collapseWhitespace ( a )<br />
-- Collapses whitespace, HTML style.<br />
return a:gsub( "%s*\n%s*", " " )<br />
:gsub( "%s%s+", " " )<br />
end -- collapseWhitespace<br />
<br />
--------------------------------------------------------------------------------<br />
--<br />
<br />
local function facet( ask, at )<br />
-- Find physical position of parameter definition in JSON<br />
-- Parameter:<br />
-- ask -- string, parameter name<br />
-- at -- number, physical position within definition<br />
-- Returns number, or nil<br />
local seek = string.format( Permit.search,<br />
ask:gsub( "%%", "%%%%" )<br />
:gsub( "([%-.()+*?^$%[%]])",<br />
"%%%1" ) )<br />
local i, k = Data.source:find( seek, at )<br />
local r, slice, source<br />
while i and not r do<br />
source = Data.source:sub( k + 1 )<br />
slice = source:match( "^%s*\"([^\"]+)\"s*:" )<br />
if not slice then<br />
slice = source:match( "^%s*'([^']+)'%s*:" )<br />
end<br />
if ( slice and Permit.params[ slice ] ) or<br />
source:match( "^%s*%}" ) then<br />
r = k<br />
else<br />
i, k = Data.source:find( seek, k )<br />
end<br />
end -- while i<br />
return r<br />
end -- facet()<br />
<br />
<br />
<br />
local function getLocalizedText( adapt )<br />
-- Retrieve localized text from system message<br />
-- Parameter:<br />
-- adapt -- string, message ID after "templatedata-"<br />
-- Returns string, with localized text<br />
return mw.message.new( "templatedata-" .. adapt ):plain()<br />
end -- getLocalizedText()<br />
<br />
<br />
<br />
local function faculty( adjust )<br />
-- Test template arg for boolean<br />
-- adjust -- string or nil<br />
-- Returns boolean<br />
local s = type( adjust )<br />
local r<br />
if s == "string" then<br />
r = mw.text.trim( adjust )<br />
r = ( r ~= "" and r ~= "0" )<br />
elseif s == "boolean" then<br />
r = adjust<br />
else<br />
r = false<br />
end<br />
return r<br />
end -- faculty()<br />
<br />
<br />
<br />
local function failures()<br />
-- Retrieve error collection and category<br />
-- Returns string<br />
local r<br />
if Data.scream then<br />
local e = mw.html.create( "span" )<br />
:addClass( "error" )<br />
:wikitext( Data.scream )<br />
r = tostring( e )<br />
mw.addWarning( "'''TemplateData'''<br />" .. Data.scream )<br />
if Config.strange then<br />
r = string.format( "%s[[category:%s]]",<br />
r,<br />
Config.strange )<br />
end<br />
else<br />
r = ""<br />
end<br />
return r<br />
end -- failures()<br />
<br />
<br />
<br />
local function handleNoexportWhitespace( adjust )<br />
-- Reduces runs of spaces, including newlines, to a single space, so the<br />
-- whole string is on one line. <noexport> blocks are left alone, but the<br />
-- <noexport> tags themselves are removed.<br />
-- adjust -- string<br />
-- Returns string, with adjusted text<br />
local r<br />
if adjust:find( "<noexport>", 1, true ) then<br />
local i = 1<br />
local j, k = adjust:find( "<noexport>", i, true )<br />
r = ""<br />
while j do<br />
if j > 1 then<br />
r = r .. collapseWhitespace( adjust:sub( i, j - 1 ) )<br />
end<br />
i = k + 1<br />
j, k = adjust:find( "</noexport>", i, true )<br />
if j then<br />
r = r .. adjust:sub( i, j - 1 )<br />
i = k + 1<br />
j, k = adjust:find( "<noexport>", i, true )<br />
else<br />
Fault( "missing </noexport>" )<br />
end<br />
end -- while j<br />
r = r .. adjust:sub( i )<br />
else<br />
r = collapseWhitespace( adjust )<br />
end<br />
return r<br />
end -- handleNoexportWhitespace()<br />
<br />
<br />
<br />
local function faraway( alternatives )<br />
-- Retrieve project language version from multilingual text<br />
-- Parameter:<br />
-- alternatives -- table, to be evaluated<br />
-- Returns<br />
-- 1 -- string, with best match<br />
-- 2 -- table of other versions, if any<br />
local n = 0<br />
local variants = { }<br />
local r1, r2<br />
if not Data.slang then<br />
Data.slang = mw.language.getContentLanguage():getCode()<br />
end<br />
for k, v in pairs( alternatives ) do<br />
if type( v ) == "string" then<br />
v = mw.text.trim( v )<br />
if v ~= "" then<br />
variants[ k ] = v<br />
n = n + 1<br />
end<br />
end<br />
end -- for k, v<br />
if n > 0 then<br />
for k, v in pairs( variants ) do<br />
if v then<br />
if n == 1 then<br />
r1 = v<br />
elseif k:lower() == Data.slang then<br />
variants[ k ] = nil<br />
r1 = v<br />
r2 = variants<br />
break -- for k, v<br />
end<br />
end<br />
end -- for k, v<br />
if not r1 then<br />
local seek = string.format( "^%s-", Data.slang )<br />
for k, v in pairs( variants ) do<br />
if v and k:lower():match( seek ) then<br />
variants[ k ] = nil<br />
r1 = v<br />
r2 = variants<br />
break -- for k, v<br />
end<br />
end -- for k, v<br />
if not r1 then<br />
local others = mw.language.getFallbacksFor( slang )<br />
table.insert( others, "en" )<br />
for i = 1, #others do<br />
seek = others[ i ]<br />
if variants[ seek ] then<br />
r1 = variants[ seek ]<br />
variants[ seek ] = nil<br />
r2 = variants<br />
break -- for i<br />
end<br />
end -- i = 1, #others<br />
end<br />
if not r1 then<br />
for k, v in pairs( variants ) do<br />
if v then<br />
variants[ k ] = nil<br />
r1 = v<br />
r2 = variants<br />
break -- for k, v<br />
end<br />
end -- for k, v<br />
end<br />
end<br />
if r2 then<br />
for k, v in pairs( r2 ) do<br />
if v then<br />
local baseCode = k:match( "^%s*(%a%a%a?)-?%a*%s*$" )<br />
if not baseCode or not mw.language.isKnownLanguageTag( baseCode ) then<br />
Fault( string.format( "Invalid <code>lang=%s</code>", k ))<br />
end<br />
end<br />
end -- for k, v<br />
end<br />
end<br />
return r1, r2<br />
end -- faraway()<br />
<br />
<br />
<br />
local function fathers()<br />
-- Merge params with inherited values<br />
local n = 0<br />
local p = Data.params<br />
local t = Data.tree.params<br />
local p2, t2<br />
for k, v in pairs( Data.heirs ) do<br />
n = n + 1<br />
end -- for k, v<br />
for i = 1, n do<br />
for k, v in pairs( Data.heirs ) do<br />
if v and not Data.heirs[ v ] then<br />
n = n - 1<br />
t[ k ].inherits = nil<br />
Data.heirs[ k ] = nil<br />
p2 = { }<br />
t2 = { }<br />
for k2, v2 in pairs( p[ v ] ) do<br />
p2[ k2 ] = v2<br />
end -- for k2, v2<br />
if p[ k ] then<br />
for k2, v2 in pairs( p[ k ] ) do<br />
if type( v2 ) ~= "nil" then<br />
p2[ k2 ] = v2<br />
end<br />
end -- for k2, v2<br />
end<br />
p[ k ] = p2<br />
for k2, v2 in pairs( t[ v ] ) do<br />
t2[ k2 ] = v2<br />
end -- for k2, v2<br />
for k2, v2 in pairs( t[ k ] ) do<br />
if type( v2 ) ~= "nil" then<br />
t2[ k2 ] = v2<br />
end<br />
end -- for k2, v2<br />
t[ k ] = t2<br />
end<br />
end -- for k, v<br />
end -- i = 1, n<br />
if n > 0 then<br />
local s<br />
for k, v in pairs( Data.heirs ) do<br />
if v then<br />
if s then<br />
s = string.format( "%s &#124; %s", s, k )<br />
else<br />
s = "Circular inherits: " .. k<br />
end<br />
end<br />
end -- for k, v<br />
Fault( s )<br />
end<br />
end -- fathers()<br />
<br />
<br />
<br />
local function feasible( about, asked )<br />
-- Create description head<br />
-- Parameter:<br />
-- about -- table, supposed to contain description<br />
-- asked -- true, if mandatory description<br />
-- Returns <block>, with head, or nil<br />
local para = mw.html.create( "div" )<br />
local plus, r<br />
if about and about.description then<br />
if type( about.description ) == "string" then<br />
para:wikitext( about.description )<br />
else<br />
para:wikitext( about.description[ 1 ] )<br />
plus = mw.html.create( "ul" )<br />
if not Config.loudly then<br />
plus:addClass( "templatedata-maintain" )<br />
:css( "display", "none" )<br />
end<br />
for k, v in pairs( about.description[ 2 ] ) do<br />
plus:node( mw.html.create( "li" )<br />
:node( mw.html.create( "code" )<br />
:wikitext( k ) )<br />
:node( mw.html.create( "br" ) )<br />
:wikitext( handleNoexportWhitespace( v ) ) )<br />
end -- for k, v<br />
end<br />
elseif Config.solo and asked then<br />
para:addClass( "error" )<br />
:wikitext( Config.solo )<br />
Data.less = true<br />
else<br />
para = false<br />
end<br />
if para then<br />
if plus then<br />
r = mw.html.create( "div" )<br />
:node( para )<br />
:node( plus )<br />
else<br />
r = para<br />
end<br />
end<br />
return r<br />
end -- feasible()<br />
<br />
<br />
<br />
local function feat()<br />
-- Check and store parameter sequence<br />
if Data.source then<br />
local i = 0<br />
local s<br />
for k, v in pairs( Data.tree.params ) do<br />
if i == 0 then<br />
Data.order = { }<br />
i = 1<br />
s = k<br />
else<br />
i = 2<br />
break -- for k, v<br />
end<br />
end -- for k, v<br />
if i > 1 then<br />
local pointers = { }<br />
local points = { }<br />
for k, v in pairs( Data.tree.params ) do<br />
i = facet( k, 1 )<br />
if i then<br />
table.insert( points, i )<br />
pointers[ i ] = k<br />
i = facet( k, i )<br />
if i then<br />
s = "Parameter '%s' detected twice"<br />
Fault( string.format( s, k ) )<br />
end<br />
else<br />
s = "Parameter '%s' not detected"<br />
Fault( string.format( s, k ) )<br />
end<br />
end -- for k, v<br />
table.sort( points )<br />
for i = 1, #points do<br />
table.insert( Data.order, pointers[ points[ i ] ] )<br />
end -- i = 1, #points<br />
elseif s then<br />
table.insert( Data.order, s )<br />
end<br />
end<br />
end -- feat()<br />
<br />
<br />
<br />
local function feature( access )<br />
-- Create table row for parameter, check and display violations<br />
-- Parameter:<br />
-- access -- string, with name<br />
-- Returns <tr><br />
local mode, s, status<br />
local fine = function ( a )<br />
s = mw.text.trim( a )<br />
return a == s and<br />
a ~= "" and<br />
not a:find( "%|=\n" ) and<br />
not a:find( "%s%s" )<br />
end<br />
local begin = mw.html.create( "td" )<br />
local code = mw.html.create( "code" )<br />
local desc = mw.html.create( "td" )<br />
local legal = true<br />
local param = Data.tree.params[ access ]<br />
local ranking = { "required", "suggested", "optional", "deprecated" }<br />
local r = mw.html.create( "tr" )<br />
local sort, typed<br />
<br />
for k, v in pairs( param ) do<br />
if v == "" then<br />
param[ k ] = false<br />
end<br />
end -- for k, v<br />
<br />
-- label<br />
sort = param.label or access<br />
if sort:match( "^%d+$" ) then<br />
begin:attr( "data-sort-value",<br />
string.format( "%05d", tonumber( sort ) ) )<br />
end<br />
begin:css( "font-weight", "bold" )<br />
:wikitext( sort )<br />
<br />
-- name and aliases<br />
code:css( "font-size", "92%" )<br />
:css( "white-space", "nowrap" )<br />
:wikitext( access )<br />
if not fine( access ) then<br />
code:addClass( "error" )<br />
Fault( string.format( "Bad ID params.<code>%s</code>", access ) )<br />
legal = false<br />
begin:attr( "data-sort-value", " " .. sort )<br />
end<br />
code = mw.html.create( "td" )<br />
:node( code )<br />
if access:match( "^%d+$" ) then<br />
code:attr( "data-sort-value",<br />
string.format( "%05d", tonumber( access ) ) )<br />
end<br />
if type( param.aliases ) == "table" then<br />
local lapsus<br />
for k, v in pairs( param.aliases ) do<br />
code:tag( "br" )<br />
if type( v ) == "string" then<br />
if not fine( v ) then<br />
lapsus = true<br />
code:node( mw.html.create( "span" )<br />
:addClass( "error" )<br />
:css( "font-style", "italic" )<br />
:wikitext( "string" ) )<br />
end<br />
code:wikitext( s )<br />
else<br />
lapsus = true<br />
code:node( mw.html.create( "code" )<br />
:addClass( "error" )<br />
:wikitext( type( v ) ) )<br />
end<br />
end -- for k, v<br />
if lapsus then<br />
s = string.format( "params.<code>%s</code>.aliases", access )<br />
Fault( getLocalizedText( "invalid-value" ):gsub( "$1", s ) )<br />
legal = false<br />
end<br />
end<br />
<br />
-- description etc.<br />
s = feasible( param )<br />
if s then<br />
desc:node( s )<br />
end<br />
if param.suggestedvalues or param.default or param.example or param.autovalue then<br />
local details = { "suggestedvalues", "default", "example", "autovalue" }<br />
local dl = mw.html.create( "dl" )<br />
local dd, section, show, sv<br />
for i = 1, #details do<br />
s = details[ i ]<br />
show = param[ s ]<br />
if show then<br />
section = getLocalizedText( "doc-param-" .. s )<br />
dt = mw.html.create( "dt" ):wikitext( section )<br />
dd = mw.html.create( "dd" )<br />
if type( show ) == "string" and (string.len(show) < 80) then<br />
dt:cssText("float: left;margin-right: 1.6em;")<br />
end<br />
if param.type == "boolean" then<br />
if (type( show ) == "table") then<br />
-- "suggestedvalues"<br />
for i = 1, #show do<br />
sv = show[ i ]<br />
if i > 1 then<br />
dd:wikitext("&#10;")<br />
end<br />
if sv == "0" then<br />
dd:wikitext("<span style=\"color: #610; font-weight: bold;\">False</span> (<code>0</code>)")<br />
elseif sv == "1" then<br />
dd:wikitext("<span style=\"color: #050; font-weight: bold;\">True</span> (<code>1</code>)")<br />
else<br />
dd:tag("code"):wikitext( sv )<br />
end<br />
end<br />
elseif show == "0" then<br />
dd:wikitext("<span style=\"color: #610; font-weight: bold;\">False</span> (<code>0</code>)")<br />
elseif show == "1" then<br />
dd:wikitext("<span style=\"color: #050; font-weight: bold;\">True</span> (<code>1</code>)")<br />
else<br />
dd:wikitext( show )<br />
end<br />
elseif type( show ) == "table" then<br />
-- "suggestedvalues"<br />
for i = 1, #show do<br />
sv = show[ i ]<br />
if i > 1 then<br />
dd:wikitext("&#10;")<br />
end<br />
dd:tag("code"):wikitext( sv )<br />
end<br />
else<br />
dd:wikitext( show )<br />
end<br />
dl:node( dt )<br />
:node( dd )<br />
end<br />
end -- i = 1, #details<br />
desc:node( dl )<br />
end<br />
<br />
-- type<br />
if param.type then<br />
s = Permit.types[ param.type ]<br />
typed = mw.html.create( "td" )<br />
if s then<br />
if type( s ) == "string" then<br />
Data.params[ access ].type = s<br />
typed:wikitext( getLocalizedText( "doc-param-type-" .. s ) )<br />
:tag( "br" )<br />
typed:node( mw.html.create( "span" )<br />
:addClass( "error" )<br />
:wikitext( param.type ) )<br />
Data.lasting = true<br />
else<br />
s = getLocalizedText( "doc-param-type-" .. param.type )<br />
typed:wikitext( s )<br />
end<br />
else<br />
Data.params[ access ].type = "unknown"<br />
typed:addClass( "error" )<br />
:wikitext( "INVALID" )<br />
s = string.format( "params.<code>%s</code>.type", access )<br />
Fault( getLocalizedText( "invalid-value" ):gsub( "$1", s ) )<br />
legal = false<br />
end<br />
else<br />
typed = mw.html.create( "td" )<br />
:wikitext( getLocalizedText( "doc-param-type-unknown" ) )<br />
end<br />
<br />
-- status<br />
if param.required then<br />
mode = 1<br />
if param.deprecated then<br />
Fault( string.format( "Required deprecated <code>%s</code>",<br />
access ) )<br />
legal = false<br />
end<br />
elseif param.deprecated then<br />
mode = 4<br />
elseif param.suggested then<br />
mode = 2<br />
else<br />
mode = 3<br />
end<br />
status = ranking[ mode ]<br />
ranking = getLocalizedText( "doc-param-status-" .. status )<br />
if mode == 1 or mode == 4 then<br />
ranking = mw.html.create( "span" )<br />
:css( "font-weight", "bold" )<br />
:wikitext( ranking )<br />
if type( param.deprecated ) == "string" then<br />
ranking:tag( "br" )<br />
ranking:wikitext( param.deprecated )<br />
end<br />
end<br />
<br />
-- <tr><br />
r:attr( "id", "templatedata:" .. mw.uri.anchorEncode( access ) )<br />
:cssText( Permit.styles[ status ] )<br />
:node( begin )<br />
:node( code )<br />
:node( desc )<br />
:node( typed )<br />
:node( mw.html.create( "td" )<br />
:attr( "data-sort-value", tostring( mode ) )<br />
:node( ranking ) )<br />
:newline()<br />
if not legal then<br />
r:css( "border", "#FF0000 3px solid" )<br />
end<br />
return r<br />
end -- feature()<br />
<br />
<br />
<br />
local function features()<br />
-- Create <table> for parameters<br />
-- Returns <table>, or nil<br />
local r<br />
if Data.tree and Data.tree.params then<br />
local style = Permit.styles.tableheadbg<br />
local tbl = mw.html.create( "table" )<br />
:addClass( "wikitable" )<br />
local tr = mw.html.create( "tr" )<br />
feat()<br />
if Data.order and #Data.order > 1 then<br />
tbl:addClass( "sortable" )<br />
end<br />
-- if Config.classTable then<br />
-- tbl:addClass( Config.classTable )<br />
-- end<br />
if Config.stylesTable then<br />
tbl:cssText( Config.stylesTable )<br />
end<br />
tr:node( mw.html.create( "th" )<br />
:attr( "colspan", "2" )<br />
:cssText( style )<br />
:wikitext( getLocalizedText( "doc-param-name" ) ) )<br />
:node( mw.html.create( "th" )<br />
:cssText( style )<br />
:wikitext( getLocalizedText( "doc-param-desc" ) ) )<br />
:node( mw.html.create( "th" )<br />
:cssText( style )<br />
:wikitext( getLocalizedText( "doc-param-type" ) ) )<br />
:node( mw.html.create( "th" )<br />
:cssText( style )<br />
:wikitext( getLocalizedText( "doc-param-status" ) ) )<br />
tbl:newline()<br />
-- :node( mw.html.create( "thead" )<br />
:node( tr )<br />
-- )<br />
:newline()<br />
if Data.order then<br />
for i = 1, #Data.order do<br />
tbl:node( feature( Data.order[ i ] ) )<br />
end -- for i = 1, #Data.order<br />
end<br />
if Config.stylesTabWrap then<br />
r = mw.html.create( "div" )<br />
:cssText( Config.stylesTabWrap )<br />
:node( tbl )<br />
else<br />
r = tbl<br />
end<br />
end<br />
return r<br />
end -- features()<br />
<br />
<br />
<br />
local function finalize()<br />
-- Wrap presentation into frame<br />
-- Returns string<br />
local r<br />
if Data.div then<br />
r = tostring( Data.div )<br />
elseif Data.strip then<br />
r = Data.strip<br />
else<br />
r = ""<br />
end<br />
return r .. failures()<br />
end -- finalize()<br />
<br />
<br />
<br />
local function find()<br />
-- Find JSON data within page source (title)<br />
-- Returns string, or nil<br />
local s = Data.title:getContent()<br />
local i, j = s:find( "<templatedata>", 1, true )<br />
local r<br />
if i then<br />
local k = s:find( "</templatedata>", j, true )<br />
if k then<br />
r = mw.text.trim( s:sub( j + 1, k - 1 ) )<br />
end<br />
end<br />
return r<br />
end -- find()<br />
<br />
<br />
<br />
local function flat( adjust )<br />
-- Remove formatting from text string<br />
-- Parameter:<br />
-- arglist -- string, to be stripped, or nil<br />
-- Returns string, or nil<br />
local r<br />
if adjust then<br />
r = adjust:gsub( "\n", " " )<br />
if r:find( "<noexport>", 1, true ) then<br />
r = r:gsub( "<noexport>(.*)</noexport>", "" )<br />
end<br />
r = plaintext._main(r)<br />
if r:find( "&", 1, true ) then<br />
r = mw.text.decode( r )<br />
end<br />
end<br />
return r<br />
end -- flat()<br />
<br />
<br />
<br />
local function flush()<br />
-- JSON encode narrowed input; obey unnamed (numerical) parameters<br />
-- Returns <templatedata> JSON string<br />
local r<br />
if Data.tag then<br />
r = mw.text.jsonEncode( Data.tag ):gsub( "%}$", "," )<br />
else<br />
r = "{"<br />
end<br />
r = r .. "\n\"params\":{"<br />
if Data.order then<br />
local sep = ""<br />
local s<br />
for i = 1, #Data.order do<br />
s = Data.order[ i ]<br />
r = string.format( "%s%s\n%s:%s",<br />
r,<br />
sep,<br />
mw.text.jsonEncode( s ),<br />
mw.text.jsonEncode( Data.params[ s ] ) )<br />
sep = ",\n"<br />
end -- for i = 1, #Data.order<br />
end<br />
r = r .. "\n}\n}"<br />
return r<br />
end -- flush()<br />
<br />
<br />
<br />
local function focus( access )<br />
-- Check components; focus multilingual description, build trees<br />
-- Parameter:<br />
-- access -- string, name of parameter, nil for root<br />
local f = function ( a, at )<br />
local r<br />
if at then<br />
r = string.format( "<code>params.%s</code>", at )<br />
else<br />
r = "''root''"<br />
end<br />
if a then<br />
r = string.format( "%s<code>.%s</code>", r, a )<br />
end<br />
return r<br />
end<br />
local parent<br />
if access then<br />
parent = Data.got.params[ access ]<br />
else<br />
parent = Data.got<br />
end<br />
if type( parent ) == "table" then<br />
local elem, got, permit, s, scope, slot, tag, target<br />
if access then<br />
permit = Permit.params<br />
if type( access ) == "number" then<br />
slot = tostring( access )<br />
else<br />
slot = access<br />
end<br />
else<br />
permit = Permit.root<br />
end<br />
for k, v in pairs( parent ) do<br />
scope = permit[ k ]<br />
if scope then<br />
s = type( v )<br />
if s == "string" then<br />
v = mw.text.trim( v )<br />
end<br />
if scope:find( s, 1, true ) then<br />
if scope:find( "I18N", 1, true ) then<br />
if s == "string" then<br />
elem = handleNoexportWhitespace( v )<br />
else<br />
local translated<br />
v, translated = faraway( v )<br />
if v then<br />
if translated and<br />
k == "description" then<br />
elem = { [ 1 ] = handleNoexportWhitespace( v ),<br />
[ 2 ] = translated }<br />
else<br />
elem = handleNoexportWhitespace( v )<br />
end<br />
else<br />
elem = false<br />
end<br />
end<br />
if v then<br />
if scope:find( "nowiki", 1, true ) then<br />
elem = mw.text.nowiki( v )<br />
else<br />
v = flat( v )<br />
end<br />
end<br />
else<br />
if k == "params" and not access then<br />
v = nil<br />
elem = nil<br />
elseif k == "format" and not access then<br />
v = mw.text.decode( v )<br />
elem = v<br />
elseif k == "inherits" then<br />
elem = v<br />
if not Data.heirs then<br />
Data.heirs = { }<br />
end<br />
Data.heirs[ slot ] = v<br />
v = nil<br />
elseif s == "string" then<br />
v = mw.text.nowiki( v )<br />
elem = v<br />
else<br />
elem = v<br />
end<br />
end<br />
if type( elem ) ~= "nil" then<br />
if not target then<br />
if access then<br />
if not Data.tree.params then<br />
Data.tree.params = { }<br />
end<br />
Data.tree.params[ slot ] = { }<br />
target = Data.tree.params[ slot ]<br />
else<br />
Data.tree = { }<br />
target = Data.tree<br />
end<br />
end<br />
target[ k ] = elem<br />
elem = false<br />
end<br />
if type( v ) ~= "nil" then<br />
if not tag then<br />
if access then<br />
if not Data.params then<br />
Data.params = { }<br />
end<br />
Data.params[ slot ] = { }<br />
tag = Data.params[ slot ]<br />
else<br />
Data.tag = { }<br />
tag = Data.tag<br />
end<br />
end<br />
tag[ k ] = v<br />
end<br />
else<br />
s = string.format( "Type <code>%s</code> bad for %s",<br />
scope, f( k, slot ) )<br />
Fault( s )<br />
end<br />
else<br />
Fault( "Unknown component " .. f( k, slot ) )<br />
end<br />
end -- for k, v<br />
else<br />
Fault( f() .. " needs to be of <code>object</code> type" )<br />
end<br />
end -- focus()<br />
<br />
<br />
<br />
local function format()<br />
-- Build presented documentation<br />
-- Returns <div><br />
local r = mw.html.create( "div" )<br />
local s = feasible( Data.tree, true )<br />
if s then<br />
r:node( s )<br />
end<br />
if Data.leading then<br />
local toc = mw.html.create( "div" )<br />
if Config.suppressTOCnum then<br />
toc:addClass( Config.suppressTOCnum )<br />
end<br />
toc:css( "margin-top", "0.5em" )<br />
:wikitext( "__TOC__" )<br />
r:newline()<br />
:node( toc )<br />
:newline()<br />
end<br />
s = features()<br />
if s then<br />
if Data.leading then<br />
r:node( mw.html.create( "h2" )<br />
:wikitext( getLocalizedText( "doc-params" ) ) )<br />
:newline()<br />
end<br />
r:node( s )<br />
end<br />
if Data.tree and Data.tree.format then<br />
local e, style<br />
s = Data.tree.format:lower( Data.tree.format )<br />
if s == "inline" or s == "block" then<br />
style = "i"<br />
else<br />
style = "code"<br />
end<br />
r:node( mw.html.create( "p" )<br />
:wikitext( "Format: " )<br />
:node( mw.html.create( style )<br />
:wikitext( s ) ) )<br />
end<br />
return r<br />
end -- format()<br />
<br />
<br />
<br />
local function free()<br />
-- Remove JSON comment lines<br />
Data.source:gsub( "([{,\"'])(%s*\n%s*//.*\n%s*)([},\"'])",<br />
"%1%3" )<br />
end -- free()<br />
<br />
<br />
<br />
local function full()<br />
-- Build HTML table for display from JSON data, and append an invisible<br />
-- <templatedata> block.<br />
Data.div = mw.html.create( "div" )<br />
:addClass( "mw-templatedata-doc-wrap" )<br />
focus()<br />
if Data.tag then<br />
if type( Data.got.params ) == "table" then<br />
for k, v in pairs( Data.got.params ) do<br />
focus( k )<br />
end -- for k, v<br />
if Data.heirs then<br />
fathers()<br />
end<br />
end<br />
end<br />
Data.div:node( format() )<br />
if not Data.lazy then<br />
Data.slim = flush()<br />
if TemplateData.frame then<br />
local div = mw.html.create( "div" )<br />
local tdata = { [ 1 ] = "templatedata",<br />
[ 2 ] = Data.slim }<br />
Data.strip = TemplateData.frame:callParserFunction( "#tag",<br />
tdata )<br />
div:wikitext( Data.strip )<br />
if Config.loudly then<br />
-- Display raw templatedata table all the time.<br />
Data.div:node( mw.html.create( "hr" ) )<br />
Data.div:node( div )<br />
else<br />
-- Creates an expand link to check raw templatedata table.<br />
local wrapper = mw.html.create( "div" )<br />
wrapper:addClass( "mw-collapsible" )<br />
wrapper:addClass( "mw-collapsed" )<br />
wrapper:css( "font-size", "85%" )<br />
div:addClass( "mw-collapsible-content" )<br />
wrapper:wikitext( "'''Test of raw TemplateData output''': " )<br />
wrapper:node( div )<br />
Data.div:node( wrapper )<br />
end<br />
end<br />
end<br />
end -- full()<br />
<br />
<br />
<br />
local function furnish( adapt, arglist )<br />
-- Called by f, this function is the first to do any real work when the<br />
-- module is invoked.<br />
-- Parameter:<br />
-- adapt -- table, #invoke parameters<br />
-- arglist -- table, template parameters<br />
-- Returns string<br />
--local spy=""<br />
local source<br />
for k, v in pairs( Config ) do<br />
if adapt[ k ] and adapt[ k ] ~= "" then<br />
Config[ v ] = adapt[ k ]<br />
end<br />
end -- for k, v<br />
Config.loudly = faculty( arglist.debug or adapt.debug )<br />
--if mw.site.server:find( "//de.wikipedia.beta.wmflabs.org", 1, true ) then<br />
-- Config.loudly = true<br />
--end<br />
Data.lazy = faculty( arglist.lazy ) and not Config.loudly<br />
Data.leading = faculty( arglist.TOC )<br />
if arglist.JSON then<br />
source = arglist.JSON<br />
elseif _ne(arglist.TNT) then<br />
local tnt = require("Module:TNT")<br />
source = tnt.getTemplateData("Templatedata/"<br />
.. mw.text.trim(arglist.TNT))<br />
elseif arglist[ 1 ] then<br />
local s = mw.text.trim( arglist[ 1 ] )<br />
local start = s:sub( 1, 1 )<br />
if start == "<" then<br />
Data.strip = s<br />
elseif start == "{" then<br />
source = s<br />
elseif mw.ustring.sub( s, 1, 8 ) ==<br />
mw.ustring.char( 127, 39, 34, 96, 85, 78, 73, 81 ) then -- <DEL> ' " ` U N I Q<br />
Data.strip = s<br />
end<br />
end<br />
if not source then<br />
Data.title = mw.title.getCurrentTitle()<br />
source = find()<br />
if not source and<br />
Config.subpage and Config.suffix and<br />
not Data.title.text:match( Config.subpage ) then<br />
local s = string.format( Config.suffix,<br />
Data.title.prefixedText )<br />
Data.title = mw.title.new( s )<br />
if Data.title.exists then<br />
source = find()<br />
end<br />
end<br />
--if source and<br />
-- ( source:find( "|", 1, true ) or<br />
-- source:find( "}}", 1, true ) ) then<br />
-- -- <ref<br />
--spy=string.format( "[[category:%s]]", Config.strange )<br />
--end<br />
end<br />
if not Data.lazy and Config.subpage then<br />
if not Data.title then<br />
Data.title = mw.title.getCurrentTitle()<br />
end<br />
Data.lazy = Data.title.text:match( Config.subpage )<br />
end<br />
TemplateData.getPlainJSON( source )<br />
return finalize()<br />
--return spy .. finalize()<br />
end -- furnish()<br />
<br />
<br />
<br />
TemplateData.failsafe = function ( assert )<br />
-- Checks the age of this implementation against some minimum ("assert").<br />
local r<br />
if not assert or assert <= TemplateData.serial then<br />
r = TemplateData.serial<br />
else<br />
r = false<br />
end<br />
return r<br />
end -- TemplateData.failsafe()<br />
<br />
<br />
<br />
TemplateData.getPlainJSON = function ( adapt )<br />
-- Reduce enhanced JSON data to plain text localized JSON<br />
-- Parameter:<br />
-- adapt -- string, with enhanced JSON<br />
-- Returns string, or not<br />
if type( adapt ) == "string" then<br />
Data.source = adapt<br />
free()<br />
Data.got = mw.text.jsonDecode( Data.source )<br />
if Data.got then<br />
full()<br />
if Data.lasting then<br />
Fault( "deprecated type syntax" )<br />
end<br />
if Data.less then<br />
Fault( Config.solo )<br />
end<br />
elseif not Data.strip then<br />
Fault( "fatal JSON error" )<br />
end<br />
end<br />
return Data.slim<br />
end -- TemplateData.getPlainJSON()<br />
<br />
<br />
<br />
TemplateData.test = function ( adapt, arglist )<br />
TemplateData.frame = mw.getCurrentFrame()<br />
return furnish( adapt, arglist )<br />
end -- TemplateData.test()<br />
<br />
<br />
<br />
-- Export<br />
local p = { }<br />
<br />
p.f = function ( frame )<br />
-- The entry point for templates invoking the module.<br />
-- Just wraps furnish in an exception handler.<br />
local lucky, result<br />
TemplateData.frame = frame<br />
lucky, result = pcall( furnish, frame.args, frame:getParent().args )<br />
if not lucky then<br />
Fault( "INTERNAL: " .. result )<br />
result = failures()<br />
end<br />
return result<br />
end -- p.f()<br />
<br />
p.failsafe = function ( frame )<br />
-- Versioning interface<br />
local s = type( frame )<br />
local since<br />
if s == "table" then<br />
since = frame.args[ 1 ]<br />
elseif s == "string" then<br />
since = frame<br />
end<br />
if since then<br />
since = mw.text.trim( since )<br />
if since == "" then<br />
since = false<br />
end<br />
end<br />
return TemplateData.failsafe( since ) or ""<br />
end -- p.failsafe()<br />
<br />
p.TemplateData = function ()<br />
-- Module interface<br />
return TemplateData<br />
end<br />
<br />
return p</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Yesno-yes&diff=3348
Template:Yesno-yes
2022-06-25T21:26:13Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>{{SAFESUBST:<noinclude />yesno|{{{1}}}|yes={{{yes|yes}}}|no={{{no|no}}}|blank={{{blank|yes}}}|¬={{{¬|yes}}}|def={{{def|yes}}}}}<noinclude><br />
{{Documentation|Template:Yesno/doc}}<br />
<!--Categories go in the doc page referenced above; interwikis go in Wikidata.--><br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Module_rating&diff=3346
Template:Module rating
2022-06-25T21:25:59Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div><includeonly>{{#ifeq:{{SUBPAGENAME}}|doc|<!--do not show protection level of the module on the doc page, use the second and optionally third parameter if the doc page is also protected -->{{#if:{{{2|}}}|{{Pp|{{{2}}}|action={{{3|}}}}}}}|{{Module other|{{ombox<br />
| type = notice<br />
| image = {{#switch: {{{1|}}}<br />
| pre-alpha | prealpha | pa = [[File:Ambox warning blue construction.svg|40x40px|link=|alt=Pre-alpha]]<br />
| alpha | a = [[File:Alpha lowercase.svg|26x26px|link=|alt=Alpha]]<br />
| beta | b = [[File:Greek lc beta.svg|40x40px|link=|alt=Beta]]<br />
| release | r | general | g = [[File:Green check.svg|40x40px|link=|alt=Ready for use]]<br />
| protected | protect | p = [[File:{{#switch:{{#invoke:Effective protection level|edit|{{#switch:{{SUBPAGENAME}}|doc|sandbox={{FULLBASEPAGENAME}}|{{FULLPAGENAME}}}}}}|autoconfirmed=Semi|extendedconfirmed=Extended|accountcreator|templateeditor=Template|#default=Full}}-protection-shackle.svg|40x40px|link=|alt=Protected]]<br />
| semiprotected | semiprotect | semi =[[File:Semi-protection-shackle.svg|40x40px|link=|alt=Semi-protected]]<br />
}}<br />
| style = <br />
| textstyle = <br />
| text = {{#switch: {{{1|}}}<br />
| pre-alpha | prealpha | pa = This module is rated as [[:Category:Modules in pre-alpha development|pre-alpha]]. It is unfinished, and may or may not be in active development. It should not be used from article namespace pages. Modules remain pre-alpha until the original editor (or someone who takes one over if it is abandoned for some time) is satisfied with the basic structure.<!--<br />
-->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --><br />
| {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Category:Modules in pre-alpha development|{{PAGENAME}}]] }}<br />
}}<br />
| alpha | a = This module is rated as [[:Category:Modules in alpha|alpha]]. It is ready for third-party input, and may be used on a few pages to see if problems arise, but should be watched. Suggestions for new features or changes in their input and output mechanisms are welcome.<!--<br />
-->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --><br />
| {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Category:Modules in alpha|{{PAGENAME}}]] }}<br />
}}<br />
| beta | b = This module is rated as [[:Category:Modules in beta|beta]], and is ready for widespread use. It is still new and should be used with some caution to ensure the results are as expected.<!--<br />
-->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --><br />
| {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Category:Modules in beta|{{PAGENAME}}]] }}<br />
}}<br />
| release | r | general | g = This module is rated as [[:Category:Modules for general use|ready for general use]]. It has reached a mature form and is thought to be relatively 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 [[Wikipedia:Template sandbox and test cases|sandbox testing]] rather than repeated trial-and-error editing.<!--<br />
-->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --><br />
| {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Category:Modules for general use|{{PAGENAME}}]] }}<br />
}}<br />
| protected | protect | p = This module is [[:Category:Modules subject to page protection|subject to page protection]]. It is a [[Wikipedia:High-risk templates|highly visible module]] in use by a very large number of pages, or is [[Wikipedia:Substitution|substituted]] very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is [[Wikipedia:Protection policy|protected]] from editing.<!--<br />
-->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --><br />
| {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Category:Modules subject to page protection|{{PAGENAME}}]] }}<br />
}}<br />
| semiprotected | semiprotect | semi = This module is [[:Category:Modules subject to page protection|subject to page protection]]. It is a [[Wikipedia:High-risk templates|highly visible module]] in use by a very large number of pages, or is [[Wikipedia:Substitution|substituted]] very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is [[WP:SEMI|semi-protected]] from editing.<!--<br />
-->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --><br />
| {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Category:Modules subject to page protection|{{PAGENAME}}]] }}<br />
}}<br />
| #default = {{error|Module rating is invalid or not specified.}}<br />
}}<br />
}}|{{error|Error: {{tl|Module rating}} must be placed in the Module namespace.}} [[Category:Pages with templates in the wrong namespace]]|demospace={{{demospace|<noinclude>module</noinclude>}}}}}}}</includeonly><noinclude><br />
{{module rating|release|nocat=true|demospace=module}}<br />
{{documentation}}<br />
<!-- Categories go on the /doc subpage, and interwikis go in Wikidata. --><br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Format_TemplateData&diff=3344
Template:Format TemplateData
2022-06-25T21:25:51Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div><includeonly>{{#ifeq:{{yesno-yes|{{{header}}}}}|yes|{{TemplateData header}}<br />
}}{{#invoke:Format TemplateData| f |classNoNumTOC=nonumtoc |cssParams=border:#B3B7FF 1px solid;|docpageCreate=%s/doc |docpageDetect=/doc$ |msgDescMiss=Missing description |cat=Templates with TemplateData errors}}</includeonly><noinclude><br />
{{Documentation}}<br />
</noinclude></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Module_rating/doc&diff=3342
Template:Module rating/doc
2022-06-25T21:25:50Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>{{Documentation subpage}}<br />
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. --><br />
<br />
This template is used to rate [[WP:LUA|Lua modules]] by quality. It is placed at the top of the module's /doc subpage. It produces a message informing users about the rating system, and it also places the module into a tracking category.<br />
<br />
== Usage ==<br />
<br />
Basic usage:<br />
<br />
{{pre|{{tlx|module rating|''rating''}}}}<br />
<br />
Without categories:<br />
<br />
{{pre|{{tlx|module rating|''rating''|3=nocat=true}}}}<br />
<br />
If {{tlx|Module rating}} is used outside the Module namespace, an error message is displayed instead and will be categorized under [[:Category:Pages with templates in the wrong namespace]].<br />
<br />
If the documentation subpage is also protected:<br />
<br />
{{pre|{{tlx|module rating|''rating''|3=reason for documentation protection|4=action for documentation protection}}}}<br />
The second and third unnamed arguments correspond to reason and action of {{tl|Pp}} which gets included on the documentation subpage if at least the second unnamed argument is present.<br />
<br />
== Ratings ==<br />
<br />
The rating should be placed in the first positional parameter. There are six different ratings: '''pre-alpha''', '''alpha''', '''beta''', '''release''', and '''protected''', and '''semiprotected'''. There are also short alias codes for each of the ratings.<br />
<br />
{| class="wikitable"<br />
!scope="col"| Rating<br />
!scope="col"| Aliases<br />
!scope="col"| Result<br />
|-<br />
!scope="row"| <code>pre-alpha</code><br />
| <code>prealpha</code><br/><code>pa</code><br />
| {{module rating|pre-alpha|nocat=true|demospace=Module}}<br />
|-<br />
!scope="row"| <code>alpha</code><br />
| <code>a</code><br />
| {{module rating|alpha|nocat=true|demospace=module}}<br />
|-<br />
!scope="row"| <code>beta</code><br />
| <code>b</code><br />
| {{module rating|beta|nocat=true|demospace=module}}<br />
|-<br />
!scope="row"| <code>release</code><br />
| <code>r</code><br/><code>general</code><br/><code>g</code><br />
| {{module rating|release|nocat=true|demospace=module}}<br />
|-<br />
!scope="row"| <code>protected</code><br />
| <code>protect</code><br/><code>p</code><br />
| {{module rating|protected|nocat=true|demospace=module}}<br />
|-<br />
!scope="row"| <code>semiprotected</code><br />
| <code>semiprotect</code><br/><code>semi</code><br />
| {{module rating|semi|nocat=true|demospace=module}}<br />
|-<br />
!scope="row"| ''Anything else or if missing''<br />
|<br />
| {{module rating|prdaskidkated|nocat=true|demospace=module}}<br />
|}<br />
<br />
== TemplateData ==<br />
{{Format TemplateData|<templatedata><br />
{<br />
"description": "This template is used to rate Lua modules by quality. It is placed at the top of the module's /doc subpage. It produces a message informing users about the rating system, and it also places the module into a tracking category.",<br />
"format": "inline",<br />
"params": {<br />
"1": {<br />
"label": "Rating",<br />
"description": "One of 'pre-alpha', 'alpha', 'beta', 'release', 'protected' or 'semiprotected', or an approved (see full docs) abbreviation for one of these. As quality ratings, 'protected' and 'semiprotected' can be considered equivalent to 'release', with editing restrictions.",<br />
"suggestedvalues": [<br />
"pre-alpha",<br />
"alpha",<br />
"beta",<br />
"release",<br />
"protected",<br />
"semiprotected"<br />
],<br />
"required": true,<br />
"type": "string"<br />
},<br />
"nocat": {<br />
"label": "Do not categorize",<br />
"description": "Set to true to disable categorization by rating. Normally leave blank.",<br />
"autovalue": "true",<br />
"type": "boolean"<br />
},<br />
"demospace": {<br />
"label": "Fake namespace",<br />
"description": "Set to module to force template to display outside that namespace. Demonstration purposes only.",<br />
"example": "module",<br />
"type": "string"<br />
}<br />
}<br />
}<br />
</templatedata>}}<br />
<br />
== Categories ==<br />
<br />
The template will put modules in one of the following categories, according to the rating specified:<br />
* [[:Category:Modules in pre-alpha development]]<br />
* [[:Category:Modules in alpha]]<br />
* [[:Category:Modules in beta]]<br />
* [[:Category:Modules for general use]]<br />
* [[:Category:Modules subject to page protection]]<br />
<br />
These categories are suppressed on pages ending with /doc. To suppress categories on all pages, you can use the code {{para|nocat|true}}.<br />
<br />
== See also ==<br />
<br />
* {{tl|module-rating categories}}<br />
* [[Wikipedia:Lua]]<br />
* [[Wikipedia:Lua requests]]<br />
* {{tl|Lua}}<br />
* {{tl|Template rating}}<br />
<br />
<includeonly>{{sandbox other||<br />
<!-- Categories go here, and interwikis go in Wikidata --><br />
[[Category:Template documentation]]<br />
<br />
}}</includeonly></div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Transclusion_count/data/P&diff=3336
Module:Transclusion count/data/P
2022-06-25T21:19:38Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>return {<br />
["P"] = 5900,<br />
["P-phrases"] = 3100,<br />
["P."] = 3500,<br />
["P1"] = 132000,<br />
["P2"] = 259000,<br />
["PAGENAMEBASE"] = 1420000,<br />
["PAGENAMEU"] = 86000,<br />
["PAK"] = 2800,<br />
["PD-US"] = 11000,<br />
["PD-US-1923"] = 2500,<br />
["PD-US-1923-abroad"] = 6000,<br />
["PD-US-expired"] = 4200,<br />
["PD-US-expired-abroad"] = 6800,<br />
["PD-art"] = 3400,<br />
["PD-ineligible-USonly"] = 4500,<br />
["PD-notice"] = 17000,<br />
["PD-old-100"] = 5500,<br />
["PD-self"] = 41000,<br />
["PD-textlogo"] = 5300,<br />
["PDB_Gallery"] = 2900,<br />
["PDanube"] = 3200,<br />
["PER"] = 2900,<br />
["PHI"] = 2300,<br />
["PHL"] = 3200,<br />
["PLANTS"] = 4000,<br />
["PM20"] = 3300,<br />
["PMID"] = 7100,<br />
["POL"] = 38000,<br />
["POR"] = 4800,<br />
["POTD_default"] = 11000,<br />
["POTD_image"] = 2400,<br />
["POTD_navigation"] = 6400,<br />
["POTDlink"] = 6900,<br />
["POV"] = 7500,<br />
["PR/header"] = 3100,<br />
["PR/heading"] = 7200,<br />
["PRT"] = 5500,<br />
["PR_link"] = 96000,<br />
["PS"] = 2500,<br />
["Pad"] = 51000,<br />
["Page"] = 4000,<br />
["Page_name_sub"] = 45000,<br />
["Page_needed"] = 16000,<br />
["Page_tabs"] = 3400,<br />
["Page_tabs/styles.css"] = 3400,<br />
["Pagelinks"] = 40000,<br />
["Pagelist"] = 5900,<br />
["Pagetype"] = 14400000,<br />
["Paid"] = 7300,<br />
["Para"] = 859000,<br />
["Parabr"] = 2300,<br />
["Paragraph_break"] = 1160000,<br />
["Parameter_names_example"] = 2300,<br />
["ParmPart"] = 13000,<br />
["Partial_minor_planet_designation"] = 5800,<br />
["Partly_done"] = 2100,<br />
["Party_color"] = 64000,<br />
["Party_color_cell"] = 3800,<br />
["Party_name_with_color"] = 4600,<br />
["Party_name_with_colour"] = 2600,<br />
["Party_shading/Democratic"] = 14000,<br />
["Party_shading/Independent"] = 2000,<br />
["Party_shading/Republican"] = 13000,<br />
["Party_stripe"] = 17000,<br />
["Pass"] = 2400,<br />
["Pb"] = 1140000,<br />
["Pbox"] = 3100,<br />
["Pbox/1"] = 3100,<br />
["Peacock"] = 3600,<br />
["Pedigree"] = 3700,<br />
["Peer_review/heading"] = 10000,<br />
["Peer_review_tools"] = 7800,<br />
["Pengoal"] = 8200,<br />
["Penmiss"] = 9400,<br />
["Percentage"] = 9000,<br />
["Performance_key"] = 2200,<br />
["Period_color"] = 22000,<br />
["Period_end"] = 20000,<br />
["Period_id"] = 22000,<br />
["Period_start"] = 22000,<br />
["PeruTasks"] = 14000,<br />
["Phab"] = 4400,<br />
["Phanerozoic_220px"] = 19000,<br />
["PharmNavFootnote"] = 5200,<br />
["Philippine_name"] = 2500,<br />
["Philosophy"] = 5200,<br />
["Photo_montage"] = 3800,<br />
["Photo_requested"] = 97000,<br />
["Photomontage"] = 3700,<br />
["Physics"] = 9600,<br />
["Picture_of_the_day"] = 6900,<br />
["Pie_chart"] = 4700,<br />
["Pie_chart/slice"] = 4700,<br />
["Ping"] = 203000,<br />
["Pipe"] = 132000,<br />
["Place_name_disambiguation"] = 39000,<br />
["Plain_link"] = 1240000,<br />
["Plain_list"] = 10000,<br />
["Plain_text"] = 16000,<br />
["Plainlink"] = 68000,<br />
["Plainlist"] = 281000,<br />
["Player"] = 3500,<br />
["Player2"] = 2400,<br />
["Please_check_ISSN"] = 14000,<br />
["Plural"] = 100000,<br />
["Pluralize_from_text"] = 1150000,<br />
["Poem_quote"] = 2400,<br />
["Poemquote"] = 2000,<br />
["Politician_icon"] = 31000,<br />
["Politician_icon2"] = 31000,<br />
["Politics_sidebar_below"] = 19000,<br />
["Politics_sidebar_title"] = 19000,<br />
["Poll_bottom"] = 2000,<br />
["Poll_top"] = 2000,<br />
["Polparty"] = 25000,<br />
["Pop_density"] = 9500,<br />
["Population_Germany"] = 14000,<br />
["Portal"] = 8750000,<br />
["Portal-Class"] = 7500,<br />
["Portal-inline"] = 206000,<br />
["Portal_bar"] = 103000,<br />
["Portal_box"] = 2700,<br />
["Portalbar"] = 10000,<br />
["Portuguese_name"] = 7800,<br />
["PosMapFS"] = 4200,<br />
["Possible"] = 3100,<br />
["Possibly_empty_category"] = 65000,<br />
["Post-nominals"] = 46000,<br />
["Post-nominals/AUS"] = 6800,<br />
["Post-nominals/CAN"] = 8300,<br />
["Post-nominals/GBR"] = 25000,<br />
["Post-nominals/NZL"] = 3700,<br />
["Postnominals"] = 8600,<br />
["Pp"] = 12000,<br />
["Pp-book-cover"] = 52000,<br />
["Pp-move"] = 7000,<br />
["Pp-move-indef"] = 4500,<br />
["Pp-pc"] = 3900,<br />
["Pp-pc1"] = 3100,<br />
["Pp-protected"] = 5900,<br />
["Pp-semi-indef"] = 4000,<br />
["Pp-template"] = 2400,<br />
["Pp-vandalism"] = 2400,<br />
["Precision"] = 254000,<br />
["PresFoot"] = 2800,<br />
["PresHead"] = 2800,<br />
["PresRow"] = 2800,<br />
["Press"] = 4400,<br />
["Preview_warning"] = 14000,<br />
["Primary_source_inline"] = 5100,<br />
["Primary_sources"] = 29000,<br />
["Principal_rank"] = 421000,<br />
["Prl"] = 96000,<br />
["Pro-wrestling"] = 4400,<br />
["ProCyclingStats"] = 2800,<br />
["ProQuest"] = 10000,<br />
["Procyclingstats"] = 2200,<br />
["Professional_wrestling_results_table"] = 2300,<br />
["Profit"] = 3400,<br />
["Progress_box"] = 15000,<br />
["Project-Class"] = 12000,<br />
["Project_Catholicism"] = 2100,<br />
["Project_other"] = 4200,<br />
["Prose"] = 3300,<br />
["Proxy_block"] = 2700,<br />
["Pso"] = 2800,<br />
["Purge"] = 141000,<br />
["Purge_button"] = 15000,<br />
["Module:Page"] = 223000,<br />
["Module:PageLinks"] = 40000,<br />
["Module:Page_tabs"] = 3400,<br />
["Module:Pagelist"] = 5900,<br />
["Module:Pagetype"] = 14500000,<br />
["Module:Pagetype/config"] = 14500000,<br />
["Module:ParameterCount"] = 103000,<br />
["Module:Parameter_names_example"] = 2300,<br />
["Module:Parameter_validation"] = 56000,<br />
["Module:Parameter_validation/default_config"] = 56000,<br />
["Module:Party_name_with_color"] = 4600,<br />
["Module:Percentage"] = 9000,<br />
["Module:Person_height"] = 246000,<br />
["Module:Person_length"] = 6800,<br />
["Module:Person_weight"] = 75000,<br />
["Module:Photo_montage"] = 3800,<br />
["Module:Plain_text"] = 1070000,<br />
["Module:Political_party"] = 100000,<br />
["Module:Political_party/A"] = 16000,<br />
["Module:Political_party/B"] = 13000,<br />
["Module:Political_party/C"] = 30000,<br />
["Module:Political_party/D"] = 43000,<br />
["Module:Political_party/E"] = 5000,<br />
["Module:Political_party/F"] = 8600,<br />
["Module:Political_party/G"] = 13000,<br />
["Module:Political_party/H"] = 3900,<br />
["Module:Political_party/I"] = 41000,<br />
["Module:Political_party/J"] = 5800,<br />
["Module:Political_party/K"] = 3100,<br />
["Module:Political_party/L"] = 31000,<br />
["Module:Political_party/M"] = 9300,<br />
["Module:Political_party/N"] = 24000,<br />
["Module:Political_party/O"] = 4400,<br />
["Module:Political_party/P"] = 22000,<br />
["Module:Political_party/R"] = 40000,<br />
["Module:Political_party/S"] = 23000,<br />
["Module:Political_party/T"] = 8600,<br />
["Module:Political_party/U"] = 15000,<br />
["Module:Political_party/V"] = 5700,<br />
["Module:Political_party/W"] = 8500,<br />
["Module:Pop_density"] = 9500,<br />
["Module:Portal"] = 9040000,<br />
["Module:Portal-inline"] = 206000,<br />
["Module:Portal/images/a"] = 1490000,<br />
["Module:Portal/images/aliases"] = 128000,<br />
["Module:Portal/images/b"] = 2560000,<br />
["Module:Portal/images/c"] = 1430000,<br />
["Module:Portal/images/d"] = 95000,<br />
["Module:Portal/images/e"] = 393000,<br />
["Module:Portal/images/f"] = 748000,<br />
["Module:Portal/images/g"] = 577000,<br />
["Module:Portal/images/h"] = 377000,<br />
["Module:Portal/images/i"] = 1010000,<br />
["Module:Portal/images/j"] = 242000,<br />
["Module:Portal/images/k"] = 63000,<br />
["Module:Portal/images/l"] = 365000,<br />
["Module:Portal/images/m"] = 562000,<br />
["Module:Portal/images/n"] = 676000,<br />
["Module:Portal/images/o"] = 386000,<br />
["Module:Portal/images/other"] = 114000,<br />
["Module:Portal/images/p"] = 772000,<br />
["Module:Portal/images/q"] = 2900,<br />
["Module:Portal/images/r"] = 344000,<br />
["Module:Portal/images/s"] = 1460000,<br />
["Module:Portal/images/t"] = 566000,<br />
["Module:Portal/images/u"] = 925000,<br />
["Module:Portal/images/v"] = 268000,<br />
["Module:Portal/images/w"] = 167000,<br />
["Module:Portal/images/y"] = 25000,<br />
["Module:Portal/images/z"] = 4900,<br />
["Module:Portal/styles.css"] = 8750000,<br />
["Module:Portal_bar"] = 121000,<br />
["Module:Portal_bar/styles.css"] = 121000,<br />
["Module:Progress_box"] = 15000,<br />
["Module:Progress_box/config"] = 15000,<br />
["Module:Protect"] = 225000,<br />
["Module:Protected_edit_request"] = 42000,<br />
["Module:Protection_banner"] = 50000,<br />
["Module:Protection_banner/config"] = 50000,<br />
["Module:Purge"] = 158000,<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Portal/styles.css&diff=3334
Module:Portal/styles.css
2022-06-25T21:19:34Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>/* {{pp-template}} */<br />
.portalbox {<br />
padding: 0; /* Timeless adds padding */<br />
}<br />
<br />
.portalborder {<br />
border: solid #aaa 1px;<br />
}<br />
<br />
.portalbox.tleft {<br />
margin: 0.5em 1em 0.5em 0<br />
}<br />
<br />
.portalbox.tright {<br />
margin: 0.5em 0 0.5em 1em<br />
}<br />
<br />
.portalbox > ul {<br />
display: table;<br />
box-sizing: border-box;<br />
max-width: 175px;<br />
font-size: 85%;<br />
line-height: 110%;<br />
font-style: italic;<br />
font-weight: bold;<br />
}<br />
<br />
.portalborder > ul {<br />
padding: 0.1em; <br />
background: #f9f9f9;<br />
}<br />
<br />
.portalbox > ul > li {<br />
display: table-row;<br />
}<br />
.portalbox > ul > li > span:first-child {<br />
display: table-cell;<br />
padding: 0.2em;<br />
vertical-align: middle;<br />
text-align: center;<br />
}<br />
<br />
.portalbox > ul > li > span:last-child {<br />
display: table-cell;<br />
padding: 0.2em 0.2em 0.2em 0.3em;<br />
vertical-align: middle;<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Portal/images/s&diff=3332
Module:Portal/images/s
2022-06-25T21:19:32Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>--[==[ This is the "S" list of portal image names. It contains a list of portal images for use with [[Module:Portal]]<br />
-- for portal names that start with the letter "S". For aliases to existing portal names, and for portal names that<br />
-- start with other letters, please use the appropriate page from the following list:<br />
<br />
-- [[Module:Portal/images/a]] - for portal names beginning with "A".<br />
-- [[Module:Portal/images/b]] - for portal names beginning with "B".<br />
-- [[Module:Portal/images/c]] - for portal names beginning with "C".<br />
-- [[Module:Portal/images/d]] - for portal names beginning with "D".<br />
-- [[Module:Portal/images/e]] - for portal names beginning with "E".<br />
-- [[Module:Portal/images/f]] - for portal names beginning with "F".<br />
-- [[Module:Portal/images/g]] - for portal names beginning with "G".<br />
-- [[Module:Portal/images/h]] - for portal names beginning with "H".<br />
-- [[Module:Portal/images/i]] - for portal names beginning with "I".<br />
-- [[Module:Portal/images/j]] - for portal names beginning with "J".<br />
-- [[Module:Portal/images/k]] - for portal names beginning with "K".<br />
-- [[Module:Portal/images/l]] - for portal names beginning with "L".<br />
-- [[Module:Portal/images/m]] - for portal names beginning with "M".<br />
-- [[Module:Portal/images/n]] - for portal names beginning with "N".<br />
-- [[Module:Portal/images/o]] - for portal names beginning with "O".<br />
-- [[Module:Portal/images/p]] - for portal names beginning with "P".<br />
-- [[Module:Portal/images/q]] - for portal names beginning with "Q".<br />
-- [[Module:Portal/images/r]] - for portal names beginning with "R".<br />
-- [[Module:Portal/images/t]] - for portal names beginning with "T".<br />
-- [[Module:Portal/images/u]] - for portal names beginning with "U".<br />
-- [[Module:Portal/images/v]] - for portal names beginning with "V".<br />
-- [[Module:Portal/images/w]] - for portal names beginning with "W".<br />
-- [[Module:Portal/images/x]] - for portal names beginning with "X".<br />
-- [[Module:Portal/images/y]] - for portal names beginning with "Y".<br />
-- [[Module:Portal/images/z]] - for portal names beginning with "Z".<br />
-- [[Module:Portal/images/other]] - for portal names beginning with any other letters. This includes numbers,<br />
-- letters with diacritics, and letters in non-Latin alphabets.<br />
-- [[Module:Portal/images/aliases]] - for adding aliases for existing portal names. Use this page for variations<br />
-- in spelling and diacritics, etc., no matter what letter the portal begins with.<br />
<br />
-- When adding entries, please use alphabetical order. The format of the images table entries is as follows:<br />
-- ["portal name"] = "image.svg",<br />
-- The portal name should be the name of your portal, in lower case. For example, the portal name for <br />
-- "Portal:United Kingdom" would be "united kingdom". The image name should be capitalised normally, and the "File:"<br />
-- namespace prefix should be omitted.<br />
]==]<br />
<br />
return {<br />
["saarc"] = "SAARC 1717549468.png|link=|alt=icon",<br />
["saarland"] = "Flag of Saarland.svg|border|link=|alt=flag",<br />
["saba"] = "Flag of Saba.svg|border|link=|alt=flag",<br />
["sabah"] = "Flag of Sabah.svg|border|link=|alt=flag",<br />
["sacred christian music"] = "Musical note nicu bucule 01.svg|link=|alt=icon",<br />
["saguenay–lac-saint-jean"] = "Flag of Saguenay-Lac-Saint-Jean.svg|border|link=|alt=flag",<br />
["sailing"] = "Sailing pictogram.svg|link=|alt=",<br />
["saint barthelemy"] = "Flag of Saint Barthelemy (local).svg|border|link=|alt=flag",<br />
["saint helena, ascension and tristan da cunha"] = "Flag of Saint Helena.svg|border|link=|alt=flag",<br />
["saint kitts and nevis"] = "Flag of Saint Kitts and Nevis.svg|border|link=|alt=flag",<br />
["saint lucia"] = "Flag of Saint Lucia.svg|border|link=|alt=flag",<br />
["saint martin"] = "Flag of Saint Martin.png|border|link=|alt=flag",<br />
["saint petersburg"] = "Flag of Saint Petersburg Russia.svg|alt=flag",<br />
["saint pierre and miquelon"] = "Flag of Saint-Pierre and Miquelon.svg|border|link=|alt=flag",<br />
["saint vincent and the grenadines"] = "Flag of Saint Vincent and the Grenadines.svg|border|link=|alt=flag",<br />
["saints"] = "Gloriole blur.svg|link=|alt=",<br />
["salad dressing"] = "Ranch dressing.jpg|link=|alt=",<br />
["salmon"] = "Alaska salmon.jpg|link=|alt=",<br />
["samoa"] = "Flag of Samoa.svg|border|link=|alt=flag",<br />
["san antonio"] = "Coat of arms of San Antonio.svg|link=|alt=arms",<br />
["san diego"] = "San Diego,California,USA. - panoramio (139).jpg|link=|alt=photo",<br />
["san diego county"] = "Seal of San Diego County, California.png|link=|alt=seal",<br />
["san diego–tijuana"] = "San Diego-Tijuana JPLLandsat.jpg|border|link=|alt=flag",<br />
["sandwich"] = "Sandwich (1).jpg|link=|alt=",<br />
["san francisco bay area"] = "SF From Marin Highlands3.jpg|border|link=|alt=",<br />
["san francisco neighborhoods"] = "Columbus and Broadway (8219737166).jpg|link=|alt=",<br />
["san luis potosí"] = "Flag of San Luis Potosi.svg|border|link=|alt=flag",<br />
["san marino"] = "Flag of San Marino.svg|border|link=|alt=flag",<br />
["santa barbara county"] = "Seal of Santa Barbara County, California.png|link=|alt=seal",<br />
["santana"] = "Carlos Santana 2005.jpg|link=|alt=",<br />
["santiago, chile"] = "Flag of Santiago de Chile.svg|alt=flag",<br />
["são tomé and príncipe"] = "Flag of Sao Tome and Principe.svg|border|link=|alt=flag",<br />
["são paulo"] = "Bandeira da cidade de São Paulo.svg|link=|alt=",<br />
["salad"] = "Composed salad.jpg|link=|alt=",<br />
["salads"] = "Composed salad.jpg|link=|alt=",<br />
["salt"] = "Keukenzout (NaCl), onder de microscoop.jpg|link=|alt=",<br />
["santiago"] = "Flag of Santiago de Chile.svg|alt=flag",<br />
["sarajevo"] = "Flag of Sarajevo.svg|alt=flag",<br />
["sarawak"] = "Flag of Sarawak.svg|border|link=|alt=flag",<br />
["sasanian empire"] = "Derafsh Kaviani flag of the late Sassanid Empire.svg|border|link=|alt=flag",<br />
["saskatchewan"] = "Flag of Saskatchewan.svg|border|link=|alt=flag",<br />
["saskatchewan communities and neighbourhoods"] = "Flag-map of Saskatchewan.svg|link=|alt=map",<br />
["saturn"] = "Saturn - April 25 2016 (24102807868).png|link=|alt=",<br />
["saudi arabia"] = "Flag of Saudi Arabia.svg|border|link=|alt=flag",<br />
["sausage"] = "Saucisses.svg|link=|alt=",<br />
["sausages"] = "Saucisses.svg|link=|alt=",<br />
["saxony"] = "Flag of Saxony.svg|border|link=|alt=flag",<br />
["saxony-anhalt"] = "Flag of Saxony-Anhalt (state).svg|border|link=|alt=flag",<br />
["schleswig-holstein"] = "Flag of Schleswig-Holstein (state).svg|border|link=|alt=flag",<br />
["schools"] = "School.svg|link=|alt=icon",<br />
["science"] = "Nuvola apps kalzium.svg|alt=icon",<br />
["science and academia"] = "Rachel Carson w (cropped).jpg|link=|alt=photo",<br />
["science fiction"] = "Sf-userbox.png|alt=icon",<br />
["scientology"] = "Scientology e meter blue.jpg|alt=icon",<br />
["scifi"] = "Sf-userbox.png|alt=icon",<br />
["scotland"] = "Flag of Scotland.svg|border|link=|alt=flag",<br />
["scottish islands"] = "ScottishIsles.jpg|link=|alt=map",<br />
["scouting"] = "WikiProject Scouting fleur-de-lis dark.svg|alt=icon",<br />
["sculpture"] = "Noun Project - Sculpture.svg|alt=",<br />
["seafood"] = "Crab-icon.png|link=|alt=",<br />
["seamounts"] = "Seamount.svg|link=|alt=",<br />
["seattle"] = "SpaceNeedleTopClose.jpg|alt=icon",<br />
["sega"] = "SEGA logo.svg|link=|alt=",<br />
["senegal"] = "Flag of Senegal.svg|border|link=|alt=flag",<br />
["selangor"] = "Flag of Selangor.svg|alt=flag",<br />
["seoul"] = "Seal of Seoul.svg|link=|alt=seal",<br />
["september 11 attacks"] = "Y24-Wtc-september-5.jpg|alt=icon",<br />
["serbia"] = "Flag of Serbia.svg|border|link=|alt=flag",<br />
["serbian cuisine"] = "Ćevapčići.jpg|link=|alt=",<br />
["serer people"] = "Serer Royal War Drum (Jung-Jung). 19th Century. Jung-Jung From The Kingdom of Sine (in modern day Senegal).jpg|alt=icon",<br />
["serer religion"] = "Five Pointed Star Lined.svg|link=|alt=",<br />
["set theory"] = "Venn0001.svg|link=|alt=",<br />
["seton hall university"] = "Shu logo.png|link=|alt=logo",<br />
["seventh-day adventist church"] = "James and Ellen White.jpg|link=|alt=",<br />
["severe weather"] = "Marquette, Kansas EF4 tornado on April 14, 2012.png|link=|alt=icon",<br />
["sexuality"] = "Bisexuality symbol (bold, color).svg|alt=icon",<br />
["sex work"] = "Umbrella-159361.svg|link=|alt=",<br />
["seychelles"] = "Flag of Seychelles.svg|border|link=|alt=flag",<br />
["sf"] = "Dragon-149393.svg|alt=icon",<br />
["sfpeople"] = "Dragon-149393.svg|alt=icon",<br />
["sfpubs"] = "Dragon-149393.svg|alt=icon",<br />
["shakespeare"] = "Shakespeare (oval-cropped).png|link=|alt=",<br />
["shakira"] = "S by shakira logo.png|alt=icon",<br />
["shanghai"] = "Shanghainame.png|link=|alt=",<br />
["shania twain"] = "Shania Twain Portrait.jpg|alt=icon",<br />
["sharjah"] = "Flag of Sharjah.svg|border|link=|alt=flag",<br />
["sharks"] = "Greyreefsharksmall2.jpg|alt=icon",<br />
["shenzhen"] = "Shenzhen in Chinese.png|alt=Shenzhen",<br />
["shia islam"] = "Ghadir logo.png|alt=icon",<br />
["shinto"] = "Shinto torii icon vermillion.svg|link=|alt=",<br />
["shreveport"] = "Shreveport-City-Flag.png|border|link=|alt=flag",<br />
["shreya ghoshal"] = "Shreya at concert.jpg|alt=icon",<br />
["shropshire"] = "Flag of Shropshire.svg|alt=flag|link=",<br />
["siberia"] = "Kuznetsk Alatau 3.jpg|border|link=|alt=",<br />
["sierra leone"] = "Flag of Sierra Leone.svg|border|link=|alt=flag",<br />
["sikhism"] = "Khanda emblem.svg|link=|alt=",<br />
["sikkim"] = "Seal of Sikkim color.png|link=|alt=seal",<br />
["silent film"] = "Video-x-generic.svg|link=|alt=",<br />
["silesia"] = "Silesia Inferior COA.svg|alt=icon",<br />
["sinaloa"] = "Flag of Sinaloa.svg|border|link=|alt=flag",<br />
["sindh"] = "Flag of Sindh.svg|border|link=|alt=flag",<br />
["singapore"] = "Flag of Singapore.svg|border|link=|alt=flag",<br />
["sint eustatius"] = "Flag of Sint Eustatius.svg|border|link=|alt=flag",<br />
["sint maarten"] = "Flag of Sint Maarten.svg|border|link=|alt=flag",<br />
["slavery"] = "IJzeren voetring voor gevangenen transparent background.png|border|link=|alt=icon",<br />
["slipknot"] = "SlipknotProject.png|alt=icon",<br />
["slovak republic"] = "Flag of Slovakia.svg|border|link=|alt=flag",<br />
["slovakia"] = "Flag of Slovakia.svg|border|link=|alt=flag",<br />
["slovenia"] = "Flag of Slovenia.svg|border|link=|alt=flag",<br />
["sm entertainment"] = "SM Entertainment Logo.svg|link=|alt=",<br />
["snakes"] = "Snake icon.svg|link=|alt=",<br />
["snk"] = "SNK Playmore logo and wordmark.png|link=|alt=",<br />
["snooker"] = "Snooker balls triangled.png|alt=icon",<br />
["soap operas and telenovelas"] = "Drama-icon.svg|alt=icon",<br />
["soccer in the united states"] = "Soccerball USA.png|link=|alt=",<br />
["social and political philosophy"] = "P derecho.svg|link=|alt=",<br />
["social movements"] = "Peace sign.svg|link=|alt=",<br />
["social science"] = "P social sciences-lightblue.png|link=|alt=icon",<br />
["social sciences"] = "DrustveneNauke.png|alt=icon",<br />
["social welfare and social work"] = "Vista Login Manager Cropped.svg|alt=icon",<br />
["socialism"] = "Red flag II.svg|alt=icon",<br />
["society"] = "Social sciences.svg|alt=icon",<br />
["sociology"] = "Logo sociology.svg|link=|alt=",<br />
["soft drinks"] = "Soft Drink.svg|link=|alt=",<br />
["software"] = "Crystal Clear device cdrom unmount.png|alt=icon",<br />
["software testing"] = "Green bug and broom.svg|alt=icon",<br />
["solar system"] = "Solar system.jpg|link=|alt=",<br />
["solomon islands"] = "Flag of Solomon Islands.svg|border|link=|alt=flag",<br />
["somalia"] = "Flag of Somalia.svg|border|link=|alt=flag",<br />
["somaliland"] = "Flag of Somaliland.svg|border|link=|alt=flag",<br />
["somerset"] = "Somerset shield.png|alt=icon",<br />
["sonic"] = "Chaos emeralds.svg|alt=icon",<br />
["sonora"] = "Flag of Sonora.svg|border|link=|alt=flag",<br />
["sony"] = "Sony logo.svg|link=|alt=",<br />
["sony playstation"] = "PS3-slim-console.png|link=|alt=",<br />
["soup"] = "Shrimp and corn chowder.jpg|link=|alt=",<br />
["soups"] = "Shrimp and corn chowder.jpg|link=|alt=",<br />
["south africa"] = "Flag of South Africa.svg|border|link=|alt=flag",<br />
["south america"] = "South America (orthographic projection).svg|link=|alt=map",<br />
["south asia"] = "India 78.40398E 20.74980N.jpg|link=|alt=",<br />
["south australia"] = "Flag of South Australia.svg|border|link=|alt=flag",<br />
["south carolina"] = "Flag of South Carolina.svg|border|link=|alt=flag",<br />
["south dakota"] = "Flag of South Dakota.svg|border|link=|alt=flag",<br />
["south east england"] = "EnglandSouthEast.png|alt=icon",<br />
["south georgia and the south sandwich islands"] = "Flag of South Georgia and the South Sandwich Islands.svg|border|link=|alt=flag",<br />
["south korea"] = "Flag of South Korea.svg|border|link=|alt=flag",<br />
["south park"] = "South Park sign logo.png|link=|alt=",<br />
["south sudan"] = "Flag of South Sudan.svg|border|link=|alt=flag",<br />
["southeast asia"] = "Location Southeast Asia.svg|link=|alt=",<br />
["southern california"] = "USA California Southern location map.svg|link=|alt=map",<br />
["southwest asia"] = "Southwest-Asia-map.PNG|link=|alt=",<br />
["soviet union"] = "Flag of the Soviet Union.svg|border|link=|alt=flag",<br />
["soy"] = "CSIRO ScienceImage 3273 Soybeans.jpg|link=|alt=",<br />
["space"] = "Earth-moon.jpg|link=|alt=",<br />
["spaceflight"] = "RocketSunIcon.svg|link=|alt=",<br />
["spain"] = "Flag of Spain.svg|border|link=|alt=flag",<br />
["spanish american wars of independence"] = "Red versus blue swords.svg|alt=icon",<br />
["special operations"] = "APP-6 Special Operations Forces.svg|link=|alt=",<br />
["speculative fiction"] = "Dragon-149393.svg|alt=icon",<br />
["speculative fiction/fantasy"] = "Masked man.svg|link=|alt=icon",<br />
["speculative fiction/horror"] = "Vampire Smiley.png|alt=icon",<br />
["speculative fiction/people"] = "Dragon-149393.svg|alt=icon",<br />
["speculative fiction/publications"] = "Dragon-149393.svg|alt=icon",<br />
["spices"] = "Thymus vulgaris.jpg|link=|alt=icon",<br />
["spirituality"] = "EndlessKnot03d.png|link=|alt=",<br />
["spongebob squarepants"] = "WikiProject SpongeBob logo - Logo.svg|alt=icon",<br />
["sports"] = "Sports icon.png|link=|alt=",<br />
["sports and games"] = "Sports and games.png|alt=icon",<br />
["sports in canada"] = "Flag shirt of Canada.png|alt=icon",<br />
["sport of athletics"] = "Roman bronze copy of Myron’s Discobolos, 2nd century CE (Glyptothek Munich).jpg|link=|alt=",<br />
["sri lanka"] = "Flag of Sri Lanka.svg|border|link=|alt=flag",<br />
["sri lankan cuisine"] = "Kiribath (milk rice).jpg|link=|alt=",<br />
["st. john's, newfoundland and labrador"] = "City of St. John's.jpg|link=|alt=",<br />
["st. louis"] = "Flag of St. Louis, Missouri.svg|border|link=|alt=flag",<br />
["staffordshire"] = "Staffordshire Flag.svg|border|link=|alt=flag",<br />
["stamford"] = "Stamford town crest.png|link=|alt=crest",<br />
["stanford university"] = "Stanford logo.png|link=|alt=logo",<br />
["star"] = "He1523a.jpg|alt=icon",<br />
["stars"] = "He1523a.jpg|alt=icon",<br />
["star trek"] = "Delta-shield.svg|link=|alt=",<br />
["star wars"] = "Lightsaber blue.svg|link=|alt=",<br />
["state of georgia"] = "Flag of Georgia (U.S. state).svg|border|link=|alt=flag",<br />
["state of mexico"] = "Flag of Mexico (state).png|border|link=|alt=flag",<br />
["state university of new york"] = "SUNY brandmark.svg|link=|alt=brandmark",<br />
["state university system of florida"] = "SUSF Locations.jpg|link=|alt=map",<br />
["statistics"] = "Fisher iris versicolor sepalwidth.svg|alt=icon",<br />
["statue of liberty"] = "FREEDOM FOR ALL!.jpg|alt=",<br />
["steampunk"] = "Steampunk-falksen.jpg|alt=icon",<br />
["stockholm"] = "Flag of Stockholm.svg|alt=flag",<br />
["strategy games"] = "Chess.svg|alt=icon",<br />
["strawberries"] = "FraiseFruitPhoto.jpg|link=|alt=",<br />
["strawberry"] = "FraiseFruitPhoto.jpg|link=|alt=",<br />
["street food"] = "Food Truck - The Noun Project.svg|link=|alt=",<br />
["street foods"] = "Food Truck - The Noun Project.svg|link=|alt=",<br />
["submarine"] = "Submarine.svg|alt=icon",<br />
["submarines"] = "Submarine.svg|alt=icon",<br />
["sudan"] = "Flag of Sudan.svg|border|link=|alt=flag",<br />
["sufism"] = "Soefi symbool.gif|link=|alt=",<br />
["super bowl"] = "Lombardi Trophy.png|link=|alt=",<br />
["superfunds"] = "Superfund sites.svg|link=|alt=map",<br />
["superhero fiction"] = "Question bubble thing.svg|link=|alt=",<br />
["supermarket"] = "ShoppingCart.svg|link=|alt=",<br />
["supermarkets"] = "ShoppingCart.svg|link=|alt=",<br />
["supreme court of the united states"] = "Supreme Court.jpg|link=|alt=",<br />
["surat"] = "Surat at night.JPG|link=|alt=photo",<br />
["surfing"] = "Pictograms-nps-water-surfing.svg|link=|alt=",<br />
["suriname"] = "Flag of Suriname.svg|border|link=|alt=flag",<br />
["surrey"] = "EnglandSurrey.png|alt=icon",<br />
["sushi"] = "Emojione 1F363.svg|border|link=|alt=",<br />
["sustainability"] = "Nested sustainability-v2.svg|border|link=|alt=",<br />
["sussex"] = "SussexBrit5.PNG|link=|alt=",<br />
["sustainable development"] = "Sustainable development.svg|alt=icon",<br />
["sweden"] = "Flag of Sweden.svg|border|link=|alt=flag",<br />
["swimming"] = "Swimming pictogram.svg|link=|alt=",<br />
["switzerland"] = "Flag of Switzerland.svg|border|link=|alt=flag",<br />
["sydney"] = "Sydney COA.gif|alt=icon",<br />
["syracuse, new york"] = "SyracuseSkyline01.JPG|link=|alt=",<br />
["syria"] = "Flag of Syria.svg|border|link=|alt=flag",<br />
["syriac christianity"] = "Bible and Pulpit, Mor Hananyo.jpg|alt=icon",<br />
["syriac"] = "Syriac Sertâ book script.jpg|link=|alt=",<br />
["syrian civil war"] = "Flag of Syria (2011 combined).svg|border|link=|alt=flag",<br />
["systems"] = "Complex-adaptive-system.jpg|link=|alt=diagram",<br />
["systems engineering initiative"] = "Systems Engineering Process II.gif|link=|alt=diagram",<br />
["systems science"] = "Complex-adaptive-system.jpg|link=|alt=diagram"<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Portal/images/h&diff=3330
Module:Portal/images/h
2022-06-25T21:19:31Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>--[==[ This is the "H" list of portal image names. It contains a list of portal images for use with [[Module:Portal]]<br />
-- for portal names that start with the letter "H". For aliases to existing portal names, and for portal names that<br />
-- start with other letters, please use the appropriate page from the following list:<br />
<br />
-- [[Module:Portal/images/a]] - for portal names beginning with "A".<br />
-- [[Module:Portal/images/b]] - for portal names beginning with "B".<br />
-- [[Module:Portal/images/c]] - for portal names beginning with "C".<br />
-- [[Module:Portal/images/d]] - for portal names beginning with "D".<br />
-- [[Module:Portal/images/e]] - for portal names beginning with "E".<br />
-- [[Module:Portal/images/f]] - for portal names beginning with "F".<br />
-- [[Module:Portal/images/g]] - for portal names beginning with "G".<br />
-- [[Module:Portal/images/i]] - for portal names beginning with "I".<br />
-- [[Module:Portal/images/j]] - for portal names beginning with "J".<br />
-- [[Module:Portal/images/k]] - for portal names beginning with "K".<br />
-- [[Module:Portal/images/l]] - for portal names beginning with "L".<br />
-- [[Module:Portal/images/m]] - for portal names beginning with "M".<br />
-- [[Module:Portal/images/n]] - for portal names beginning with "N".<br />
-- [[Module:Portal/images/o]] - for portal names beginning with "O".<br />
-- [[Module:Portal/images/p]] - for portal names beginning with "P".<br />
-- [[Module:Portal/images/q]] - for portal names beginning with "Q".<br />
-- [[Module:Portal/images/r]] - for portal names beginning with "R".<br />
-- [[Module:Portal/images/s]] - for portal names beginning with "S".<br />
-- [[Module:Portal/images/t]] - for portal names beginning with "T".<br />
-- [[Module:Portal/images/u]] - for portal names beginning with "U".<br />
-- [[Module:Portal/images/v]] - for portal names beginning with "V".<br />
-- [[Module:Portal/images/w]] - for portal names beginning with "W".<br />
-- [[Module:Portal/images/x]] - for portal names beginning with "X".<br />
-- [[Module:Portal/images/y]] - for portal names beginning with "Y".<br />
-- [[Module:Portal/images/z]] - for portal names beginning with "Z".<br />
-- [[Module:Portal/images/other]] - for portal names beginning with any other letters. This includes numbers,<br />
-- letters with diacritics, and letters in non-Latin alphabets.<br />
-- [[Module:Portal/images/aliases]] - for adding aliases for existing portal names. Use this page for variations<br />
-- in spelling and diacritics, etc., no matter what letter the portal begins with.<br />
<br />
-- When adding entries, please use alphabetical order. The format of the images table entries is as follows:<br />
-- ["portal name"] = "image.svg",<br />
-- The portal name should be the name of your portal, in lower case. For example, the portal name for <br />
-- "Portal:United Kingdom" would be "united kingdom". The image name should be capitalised normally, and the "File:"<br />
-- namespace prefix should be omitted.<br />
]==]<br />
<br />
return {<br />
["haiti"] = "Flag of Haiti.svg|border|link=|alt=flag",<br />
["halloween"] = "Emoji u1f383.svg|link=|alt=",<br />
["halo"] = "Wikihalo.svg|alt=icon",<br />
["ham"] = "Schinken.jpg|link=|alt=",<br />
["hamburg"] = "Flag of Hamburg.svg|border|link=|alt=flag",<br />
["hamburgers"] = "Cheeseburger.jpg|link=|alt=",<br />
["hamilton, ontario"] = "Flag of Hamilton.svg|border|link=|alt=flag",<br />
["hampshire"] = "EnglandHampshire.svg|link=|alt=",<br />
["handball"] = "Ballon de handball.svg|link=|alt=",<br />
["harare"] = "Flag of Harare.svg|border|link=|alt=flag",<br />
["harry potter"] = "HP - Harry Potter wordmark.svg|link=|alt=",<br />
["haryana"] = "YamunaRiver.jpg|alt=icon",<br />
["harz"] = "DennertFirTree.svg|alt=icon",<br />
["hats"] = "Melonĉapelo.svg|alt=icon",<br />
["hawaii"] = "Flag of Hawaii.svg|border|link=|alt=flag",<br />
["hazara people"] = "Hazara people portal logo.png|link=|alt=",<br />
["health and fitness"] = "Nuvola apps package favorite.svg|alt=icon",<br />
["heathenism"] = "Heathenism symbol.PNG|alt=icon",<br />
["heavy metal"] = "Audio a.svg|link=|alt=",<br />
["hellenismos"] = "Laurel wreath fa13.gif|link=|alt=",<br />
["help"] = "Wikipedia help.png|alt=icon",<br />
["helsinki"] = "Helsinki.vaakuna.svg|link=|alt=seal",<br />
["hemp"] = "Hanflabyrinth Berlin 2009 - 40.jpg|link=|alt=",<br />
["heraldry"] = "Azure, a bend Or.svg|link=|alt=",<br />
["heraldry and vexillology"] = "En-wikipedia arms 9.svg|alt=icon",<br />
["hertfordshire"] = "Hertsflag.jpg|link=|alt=",<br />
["hesse"] = "Flag of Hesse.svg|border|link=|alt=flag",<br />
["hidalgo"] = "Flag of Hidalgo.svg|border|link=|alt=flag",<br />
["himachal pradesh"] = "Kinnaur Kailash.jpg|link=|alt=",<br />
["himalayas"] = "Everest North Face toward Base Camp Tibet Luca Galuzzi 2006.jpg|alt=icon",<br />
["hillary clinton"] = "Hillary Rodham Clinton.jpg|link=|alt=",<br />
["hindi cinema"] = "Indiafilm.svg|alt=icon",<br />
["hindu mythology"] = "HinduSwastika.svg|link=|alt=",<br />
["hinduism"] = "Aum Om red.svg|link=|alt=",<br />
["hindustani"] = "Hindustani.svg|link=|alt=script",<br />
["hip hop"] = "Loudspeaker-crystal-theme.svg|alt=icon",<br />
["hisar"] = "Fort of Firoz Shah Tughlaq at Hisar.jpg|link=|alt=photo",<br />
["hispanic and latino americans"] = "Flag of the Hispanicity.svg|link=|alt=icon",<br />
["history"] = "P history.svg|link=|alt=",<br />
["history of biology"] = "Plato's Academy mosaic from Pompeii.jpg|link=|alt=mosaic",<br />
["history of canada"] = "Canadian Red Ensign (1957-1965).svg|link=|alt=",<br />
["history of europe"] = "Europa Prima Pars Terrae in Forma Virginis.jpg|link=|alt=",<br />
["history of imperial china"] = "明太宗.jpg|link=|alt=",<br />
["history of nuclear enterprise"] = "HD.6D.142 (10821940184).jpg|link=|alt=photo",<br />
["history of science"] = "Newton's reflecting telescope.jpg|link=|alt=image",<br />
["history of the latter day saint movement"] = "Joseph Smith receiving golden plates.jpg|border|link=|alt=",<br />
["hitchhiker's"] = "Answer to Life.png|link=|alt=icon",<br />
["hitchhiker's guide to the galaxy"] = "Answer to Life.png|link=|alt=icon",<br />
["holidays"] = "Calendar icon.svg|alt=icon",<br />
["holy roman empire"] = "Reichskrone.jpg|link=|alt=image",<br />
["holy see"] = "Flag of the Vatican City.svg|border|link=|alt=flag",<br />
["home improvement"] = "Preferences-system.svg|link=|alt=",<br />
["honduras"] = "Flag of Honduras.svg|border|link=|alt=flag",<br />
["hong kong"] = "Flag of Hong Kong.svg|border|link=|alt=flag",<br />
["horror fiction"] = "Vampire Smiley.png|alt=icon",<br />
["horse racing"] = "Flat racing clipart.svg|alt=icon",<br />
["horses"] = "Finnhorse stallion.jpg|alt=icon",<br />
["horticulture and gardening"] = "Pieskowa Skała ogród zamkowy.jpg|border|link=|alt=image",<br />
["hot dogs"] = "Hot Dog.jpg|link=|alt=",<br />
["hot sauce"] = "Drop of hot sauce.svg|link=|alt=",<br />
["hot sauces"] = "Drop of hot sauce.svg|link=|alt=",<br />
["house, m.d."] = "Television.svg|alt=icon",<br />
["housing"] = "Big single-family home 2.jpg|link=|alt=",<br />
["houston"] = "Flag of Houston, Texas.svg|border|link=|alt=flag",<br />
["hudson river"] = "Bear Mtn Bridge.jpg|link=|alt=",<br />
["hudson valley"] = "Hudson river from bear mountain bridge.jpg|alt=icon",<br />
["human body"] = "Human.png|link=|alt=",<br />
["human rights"] = "HumanRightsLogo.svg|link=|alt=",<br />
["human sexuality"] = "Bisexuality symbol (bold, color).svg|alt=icon",<br />
["human spaceflight"] = "STS-41-B MMU.jpg|link=|alt=",<br />
["hungary"] = "Flag of Hungary.svg|border|link=|alt=flag",<br />
["hunger relief"] = "Food Bank icon.svg|link=|alt=",<br />
["hyderabad"] = "Charminar Hyderabad 1.jpg|alt=icon",<br />
["h. p. lovecraft"] = "H. P. Lovecraft, June 1934.jpg|alt=H. P. Lovecraft"<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Portal/images/c&diff=3328
Module:Portal/images/c
2022-06-25T21:19:30Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>--[==[ This is the "C" list of portal image names. It contains a list of portal images for use with [[Module:Portal]]<br />
-- for portal names that start with the letter "C". For aliases to existing portal names, and for portal names that<br />
-- start with other letters, please use the appropriate page from the following list:<br />
<br />
-- [[Module:Portal/images/a]] - for portal names beginning with "A".<br />
-- [[Module:Portal/images/b]] - for portal names beginning with "B".<br />
-- [[Module:Portal/images/d]] - for portal names beginning with "D".<br />
-- [[Module:Portal/images/e]] - for portal names beginning with "E".<br />
-- [[Module:Portal/images/f]] - for portal names beginning with "F".<br />
-- [[Module:Portal/images/g]] - for portal names beginning with "G".<br />
-- [[Module:Portal/images/h]] - for portal names beginning with "H".<br />
-- [[Module:Portal/images/i]] - for portal names beginning with "I".<br />
-- [[Module:Portal/images/j]] - for portal names beginning with "J".<br />
-- [[Module:Portal/images/k]] - for portal names beginning with "K".<br />
-- [[Module:Portal/images/l]] - for portal names beginning with "L".<br />
-- [[Module:Portal/images/m]] - for portal names beginning with "M".<br />
-- [[Module:Portal/images/n]] - for portal names beginning with "N".<br />
-- [[Module:Portal/images/o]] - for portal names beginning with "O".<br />
-- [[Module:Portal/images/p]] - for portal names beginning with "P".<br />
-- [[Module:Portal/images/q]] - for portal names beginning with "Q".<br />
-- [[Module:Portal/images/r]] - for portal names beginning with "R".<br />
-- [[Module:Portal/images/s]] - for portal names beginning with "S".<br />
-- [[Module:Portal/images/t]] - for portal names beginning with "T".<br />
-- [[Module:Portal/images/u]] - for portal names beginning with "U".<br />
-- [[Module:Portal/images/v]] - for portal names beginning with "V".<br />
-- [[Module:Portal/images/w]] - for portal names beginning with "W".<br />
-- [[Module:Portal/images/x]] - for portal names beginning with "X".<br />
-- [[Module:Portal/images/y]] - for portal names beginning with "Y".<br />
-- [[Module:Portal/images/z]] - for portal names beginning with "Z".<br />
-- [[Module:Portal/images/other]] - for portal names beginning with any other letters. This includes numbers,<br />
-- letters with diacritics, and letters in non-Latin alphabets.<br />
-- [[Module:Portal/images/aliases]] - for adding aliases for existing portal names. Use this page for variations<br />
-- in spelling and diacritics, etc., no matter what letter the portal begins with.<br />
<br />
-- When adding entries, please use alphabetical order. The format of the images table entries is as follows:<br />
-- ["portal name"] = "image.svg",<br />
-- The portal name should be the name of your portal, in lower case. For example, the portal name for <br />
-- "Portal:United Kingdom" would be "united kingdom". The image name should be capitalised normally, and the "File:"<br />
-- namespace prefix should be<br />
-- omitted.<br />
]==]<br />
local ambox_globe = "Ambox globe.svg"<br />
local hour=tonumber(os.date("%k"))<br />
if hour >= 22 or hour < 6 then<br />
ambox_globe = "Ambox globe Asia Australia.svg"<br />
else<br />
if hour >= 14 and hour < 22 then<br />
ambox_globe = "Ambox globe Americas.svg"<br />
end<br />
end<br />
<br />
return {<br />
["cabo verde"] = "Flag of Cape Verde.svg|border|link=|alt=flag",<br />
["cake"] = "Emojione 1F370.svg|link=|alt=",<br />
["cakes"] = "Emojione 1F370.svg|link=|alt=",<br />
["cairo"] = "Flag of Cairo.svg|alt=icon",<br />
["cajun cuisine"] = "Crawfish dinner.jpg|link=|alt=",<br />
["calgary"] = "Flag of Calgary, Alberta.svg|border|link=|alt=flag",<br />
["california"] = "Flag of California.svg|border|link=|alt=flag",<br />
["california central valley"] = "California Central Valley county map.svg|link=|alt=map",<br />
["california delta"] = "California SD-03 (2011).svg|link=|alt=map",<br />
["california roads"] = "California 1.svg|link=|alt=sign",<br />
["california state highways"] = "California 1.svg|link=|alt=sign",<br />
["california state polytechnic university, pomona"] = "Cal Poly logo.svg|link=|alt=logo",<br />
["california state university"] = "Flag of California.svg|border|link=|alt=flag",<br />
["calvinism"] = "Kreuz-hugenotten.svg|alt=icon",<br />
["cambodia"] = "Flag of Cambodia.svg|border|link=|alt=flag",<br />
["cameroon"] = "Flag of Cameroon.svg|border|link=|alt=flag",<br />
["campeche"] = "Flag of Campeche.svg|border|link=|alt=flag",<br />
["canada"] = "Maple Leaf (from roundel).svg|link=|alt=flag",<br />
["canada/kawartha lakes"] = "Kawartha Lakes flag.svg|border|link=|alt=flag",<br />
["canadian armed forces"] = "Canadian Forces emblem.svg|alt=icon",<br />
["canadian communities"] = "Map Canada political-geo.png|link=|alt=",<br />
["canadian cuisine"] = "Maple syrup.jpg|link=|alt=",<br />
["canadian football"] = "Canadian football.png|alt=icon",<br />
["canadian law"] = "Supreme Court of Canada.jpg|link=|alt=",<br />
["canadian politics"] = "Can-vote-stub.svg|alt=icon",<br />
["canadian territories"] = "Northern Canada.svg|alt=icon",<br />
["canary islands"] = "Flag of the Canary Islands.svg|border|link=|alt=flag",<br />
["candy"] = "Twemoji 1f36d.svg|link=|alt=",<br />
["cannabis"] = "Cannabis leaf.svg|alt=icon",<br />
["cape cod and the islands"] = "Nobska Lighthouse 1.jpg|alt=icon",<br />
["cape verde"] = "Flag of Cape Verde.svg|border|link=|alt=flag",<br />
["capsicum"] = "Large Cayenne.jpg|link=|alt=",<br />
["capital district"] = "Empire State Plaza symbol 2.svg|link=|alt=",<br />
["capitalism"] = "Capitalismlogo.svg|alt=icon",<br />
["caracas"] = "Flag of Caracas.svg|alt=icon",<br />
["cardiff"] = "Flag of Cardiff.svg|alt=icon",<br />
["caribbean"] = "Relief Map of Caribbean.png|link=|alt=map",<br />
["caribbean community"] = "Flag of CARICOM.svg|border|link=|alt=flag",<br />
["carnivorous plants"] = "Digested fly.JPG|link=|alt=photo",<br />
["cars"] = "Sportcar sergio luiz ara 01.svg|link=|alt=",<br />
["cartoon network"] = "Cartoon Network.svg|border|link=|alt=",<br />
["cartoon"] = "Mad scientist.svg|alt=icon",<br />
["catalan-speaking countries"] = "Siñal d'Aragón.svg|border|alt=icon",<br />
["catholic church"] = "046CupolaSPietro.jpg|border|alt=icon",<br />
["catholicism"] = "046CupolaSPietro.jpg|border|alt=icon",<br />
["cats"] = "Cat03.jpg|alt=icon",<br />
["cayman islands"] = "Flag of the Cayman Islands.svg|border|link=|alt=flag",<br />
["celine dion"] = "Celine Dion Concert Singing 'Taking Chances' 2008.jpg|alt=icon",<br />
["celtic studies"] = "Celtic-knot-insquare-39crossings.svg|link=|alt=",<br />
["central african republic"] = "Flag of the Central African Republic.svg|border|link=|alt=flag",<br />
["central america"] = "Age of Consent - Central America.svg|alt=icon",<br />
["central asia"] = "Central Asian Games participating countries.PNG|alt=icon",<br />
["cerritos, california"] = "Cerritos City Seal (color).png|link=|alt=seal",<br />
["cetaceans"] = "Sperm whale fluke.jpg|link=|alt=",<br />
["chad"] = "Flag of Chad.svg|border|link=|alt=flag",<br />
["chandigarh"] = "Gandhi Bhawan at Punjab University.jpg|alt=icon",<br />
["channel islands"] = "Flag of Sark.svg|border|link=|alt=flag",<br />
["charles dickens"] = "Charles Dickens 3.jpg|link=|alt=",<br />
["charleston, west virginia"] = "CharlestonWVseal.gif|link=|alt=seal",<br />
["charlotte"] = "Dilworth, Charlotte, NC, USA - panoramio.jpg|link=|alt=photo",<br />
["charlottetown"] = "Flag of Charlottetown.svg|link=|alt=flag",<br />
["chattanooga"] = "Flag of Chattanooga.svg|link=|alt=flag",<br />
["chechnya"] = "Flag of the Chechen Republic.svg|border|link=|alt=flag",<br />
["cheese"] = "Noto Emoji Oreo 1f9c0.svg|link=|alt=",<br />
["cheese dishes"] = "NCI cream cheese bagel.jpg|link=|alt=",<br />
["cheesehead"] = "Cheesehead.png|alt=icon",<br />
["cheltenham township, montgomery county, pennsylvania"] = "Cheltenham PA township seal.svg|alt=seal|link=",<br />
["chemistry"] = "Papapishu-Lab-icon-6.svg|link=|alt=",<br />
["chennai"] = "Chennai High Court 1200x800.jpg|alt=icon",<br />
["cher"] = "Cher Assinatura.png|link=|alt=",<br />
["cherries"] = "Cherry Stella444.jpg|link=|alt=",<br />
["cheshire"] = "Cheshire Flag.svg|border|alt=icon",<br />
["chess"] = "Nuvola apps package games strategy.png|alt=icon",<br />
["chhattisgarh"] = "India Chhattisgarh locator map.svg|border|link=|alt=map",<br />
["chiapas"] = "Flag of Chiapas.svg|border|link=|alt=flag",<br />
["chicago"] = "Seal of Chicago, Illinois.svg|link=|alt=",<br />
["chicken"] = "Chicken icon 05.svg|link=|alt=",<br />
["chihuahua"] = "Flag of Chihuahua.svg|border|link=|alt=flag",<br />
["children's literature"] = "Tom Sawyer 1876 frontispiece.jpg|link=|alt=",<br />
["chile"] = "Flag of Chile.svg|border|link=|alt=flag",<br />
["chilean cuisine"] = "Curanto Chilote - Flickr - Renzo Disi.jpg|link=|alt=",<br />
["chili pepper"] = "Chilli pepper 1.svg|link=|alt=",<br />
["chili peppers"] = "Chilli pepper 1.svg|link=|alt=",<br />
["china"] = "Flag of the People's Republic of China.svg|border|link=|alt=flag",<br />
["chinese cuisine"] = "ChineseDishLogo.png|link=|alt=",<br />
["chinese folk religion"] = "禄_lù_or_子_zi_symbol---red.svg|link=|alt=icon",<br />
["chino, california"] = "Seal of Chino, California.png|link=|alt=seal",<br />
["chittagong"] = "Beach View of the Saint Martin's Island.jpg|alt=icon",<br />
["chocolate"] = "Chocolate02.jpg|link=|alt=",<br />
["christadelphian"] = "John Thomas.png|link=|alt=John Thomas",<br />
["christian democracy"] = "Orange flag waving.svg|alt=icon",<br />
["christian hardcore"] = "Guitar 1.svg|link=|alt=icon",<br />
["christian metal"] = "Guitar 1.svg|link=|alt=",<br />
["christian music"] = "Musical note nicu bucule 01.svg|link=|alt=",<br />
["christianity"] = "P christianity.svg|alt=icon",<br />
["christianity in china"] = "Blessing message.svg|link=|alt=",<br />
["christianity in india"] = "India with cross.svg|alt=icon",<br />
["christina aguilera"] = "Christina Aguilera (at premiere of \"To John With Love\", September 2010).jpg|alt=icon",<br />
["christmas"] = "Xmas tree.svg|link=|alt=",<br />
["christmas island"] = "Flag of Christmas Island.svg|link=|alt=flag",<br />
["chronology"] = "Crystal clock.svg|alt=",<br />
["civilizations"] = "Lascar Avenue of the Dead and the Pyramid of the Sun in the background (4566574277).jpg|border|link=|alt=",<br />
["civil rights movement"] = "Logo SNCC.svg|link=WP:ACRM|alt=",<br />
["cincinnati"] = "Cincinnati Dusk Light.JPG|link=|alt=",<br />
["cities"] = "COL-city icon.png|link=|alt=",<br />
["city of bradford"] = "Coat of arms of Bradford City Council.png|alt=icon",<br />
["city of port of spain"] = "POS Academy for the Performing Arts 03 2012 0960.JPG|alt=icon",<br />
["city of san fernando"] = "HilltopSandoview.jpg|link=|alt=",<br />
["clans of scotland"] = "Scottish clan map.png|link=|alt=map",<br />
["classical antiquity"] = "2006 01 21 Athènes Parthénon.JPG|alt=icon",<br />
["classical civilisation"] = "2006 01 21 Athènes Parthénon.JPG|alt=icon",<br />
["classical guitar"] = "Classical Guitar two views2.png|alt=icon",<br />
["classical music"] = "Audio a.svg|link=|alt=",<br />
["classical tamil"] = "Word_Tamil.svg|link=|alt=word",<br />
["cleveland"] = "Flag of Cleveland, Ohio.svg|border|link=|alt=flag",<br />
["climate"] = "The Earth seen from Apollo 17 with transparent background.png|link=|alt=icon",<br />
["climate change"] = "Climate change icon.png|link=|alt=icon",<br />
["climbing"] = "Pictograms-nps-land-technical_rock_climbing.svg|link=|alt=icon",<br />
["clothing"] = "Emojione 1F458.svg|alt=icon",<br />
["coahuila"] = "Flag of Coahuila.svg|border|link=|alt=flag",<br />
["cocktails"] = "Emojione BW 1F378.svg|link=|alt=",<br />
["coconuts"] = "Brokencoconut.jpg|link=|alt=",<br />
["cocos (keeling) islands"] = "Flag of the Cocos (Keeling) Islands.svg|border|link=|alt=flag",<br />
["coffee"] = "Emblem-relax.svg|alt=icon",<br />
["cognitive science"] = "Crystal mind.jpg|link=|alt=icon",<br />
["cold war"] = "Cold War Map 1959.svg|alt=icon",<br />
["colima"] = "Flag of Colima.svg|border|link=|alt=flag",<br />
["college basketball"] = "Basketball.png|link=|alt=",<br />
["college football"] = "NCAAFootball transparent.png|alt=icon",<br />
["colombia"] = "Flag of Colombia.svg|border|link=|alt=flag",<br />
["colonialism"] = "PithHelmetTruman.jpg|link=|alt=",<br />
["color"] = "Colouring pencils.jpg|alt=icon",<br />
["colorado"] = "Flag of Colorado.svg|border|link=|alt=flag",<br />
["colorado school of mines"] = "CSM Seal.JPG|link=|alt=seal",<br />
["colorado state university"] = "Colorado State University logo.png|link=|alt=logo",<br />
["columbia university"] = "Columbia University Shield.svg|link=|alt=shield",<br />
["columbia, missouri"] = "Greetings from Columbia, Missouri (73489).jpg|link=|alt=postcard",<br />
["comedy"] = "SMirC-laugh.svg|alt=icon",<br />
["comics"] = "Wikipetan-manga.png|alt=icon",<br />
["commonwealth games"] = "Commonwealth Games Federation seal.svg|alt=icon",<br />
["commonwealth realms"] = "Commonwealth Realms map2.png|alt=icon",<br />
["communism"] = "Symbol-hammer-and-sickle.svg|link=|alt=",<br />
["community"] = "P globe blue.png|alt=icon",<br />
["comoros"] = "Flag of the Comoros.svg|border|link=|alt=flag",<br />
["compact disc"] = "OD Compact disc.svg|link=|alt=CD",<br />
["companies"] = "Industry5.svg|link=|alt=",<br />
["complementary and alternative medicine"] = "Rod of Asclepius2.svg|alt=icon",<br />
["computer graphics"] = "5-cell.gif|link=|alt=",<br />
["computer networking"] = "Bus icon.svg|link=|alt=",<br />
["computer programming"] = "Octicons-terminal.svg|alt=icon",<br />
["computer science"] = "Internet map 1024.jpg|alt=icon",<br />
["computer security"] = "Monitor padlock.svg|alt=icon",<br />
["computer-generated imagery"] = "Gaussian.JPG|link=|alt=",<br />
["condiments"] = "Toicon-icon-avocado-spice.svg|link=|alt=",<br />
["confucianism"] = "木鐸 --- Confucian wooden-clapper bell.svg|link=|alt=icon",<br />
["connecticut"] = "Flag of Connecticut.svg|border|link=|alt=flag",<br />
["conservatism"] = "DodgerBlue flag waving.svg|link=|alt=",<br />
["constructed languages"] = "Design conlang.png|alt=icon",<br />
["contents"] = "Wikipedia's W.svg|link=|alt=",<br />
["contents/indexes"] = "Pointing-right.svg|link=|alt=icon",<br />
["contents/lists"] = "Liste.svg|link=|alt=icon",<br />
["contents/outlines"] = "Pointing-left.svg|link=|alt=icon",<br />
["continents"] = "Continents vide couleurs-automatedvector.svg|link=|alt=map",<br />
["cooking"] = "One chef's hat.png|link=|alt=",<br />
["cook islands"] = "Flag of the Cook Islands.svg|border|link=|alt=flag",<br />
["cooperatives"] = "Twinpines.svg|link=|alt=",<br />
["copenhagen"] = "Coat_of_arms_of_Copenhagen.svg|alt=icon",<br />
["córdoba"] = "Escudo ciudad de cordoba argentina.svg|link=|alt=",<br />
["cornell university"] = "Cornell University seal.svg|link=|alt=seal",<br />
["cornhusker"] = "Nebraska silhouette.png|alt=icon",<br />
["cornwall"] = "Flag of Cornwall.svg|border|link=|alt=flag",<br />
["coronavirus disease 2019"] = "SARS-CoV-2 (Wikimedia colors).svg|alt=virus icon",<br />
["cosmology"] = "Ilc 9yr moll4096.png|link=|alt=",<br />
["costa rica"] = "Flag of Costa Rica.svg|border|link=|alt=flag",<br />
["côte d'ivoire"] = "Flag of Côte d'Ivoire.svg|border|link=|alt=flag",<br />
["countries"] = "P countries-vector.svg|alt=icon",<br />
["country music"] = "Steel guitar-KayEss.1.jpeg|alt=icon",<br />
["county kilkenny"] = "County Kilkenny arms.svg|alt=coat of arms",<br />
["courtney love"] = "Noloveever.PNG|alt=icon",<br />
["covid-19"] = "SARS-CoV-2 (Wikimedia colors).svg|alt=virus icon",<br />
["crabapples"] = "Malus sylvestris 005.JPG|link=|alt=",<br />
["creationism"] = "Michelangelo, Creation of Adam 04.jpg|link=|alt=",<br />
["cricket"] = "Cricketball.png|link=|alt=",<br />
["crimea"] = "Flag of Crimea.svg|border|link=|alt=flag",<br />
["criminal justice"] = "Scale of justice 2.svg|link=|alt=",<br />
["croatia"] = "Flag of Croatia.svg|border|link=|alt=flag",<br />
["crusades"] = "Arms of the Kingdom of Jerusalem.svg|alt=icon",<br />
["crustaceans"] = "Charybdis japonica.jpg|alt=icon",<br />
["cryptography"] = "Crypto key.svg|alt=icon",<br />
["cryptozoology"] = "Okapi2.jpg|alt=icon",<br />
["crystallography"] = "Pyriteespagne.jpg|link=|alt=image",<br />
["cuba"] = "Flag of Cuba.svg|border|link=|alt=flag",<br />
["cuisine"] = "Toicon-icon-stone-serve.svg|link=|alt=",<br />
["cuisines"] = "Toicon-icon-stone-serve.svg|link=|alt=",<br />
["cultural heritage of serbia"] = "Spomenik Kulture.svg|link=|alt=",<br />
["culture"] = "P culture.svg|alt=icon",<br />
["cumbria"] = "Herdwick sheep crop.jpg|alt=icon",<br />
["curaçao"] = "Flag of Curaçao.svg|border|link=|alt=flag",<br />
["cucurbita"] = "Pumpkin 252 - Evan Swigart.jpg|link=|alt=",<br />
["cue sports"] = "Eight Ball Rack 2005 SeanMcClean.jpg|link=|alt=",<br />
["current events"] = ambox_globe .. "|link=|alt=",<br />
["current events/turkey"] = "Wikinews-logo.png|link=|alt=",<br />
["cycling"] = "Cycling (road) pictogram.svg|link=|alt=",<br />
["cyprus"] = "Flag of Cyprus.svg|border|link=|alt=flag",<br />
["czech republic"] = "Flag of the Czech Republic.svg|border|link=|alt=flag",<br />
["czechia"] = "Flag of the Czech Republic.svg|border|link=|alt=flag",<br />
["czechoslovakia"] = "Flag of the Czech Republic.svg|border|link=|alt=flag"<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Portal/images/b&diff=3326
Module:Portal/images/b
2022-06-25T21:19:29Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>--[==[ This is the "B" list of portal image names. It contains a list of portal images for use with [[Module:Portal]]<br />
-- for portal names that start with the letter "B". For aliases to existing portal names, and for portal names that<br />
-- start with other letters, please use the appropriate page from the following list:<br />
<br />
-- [[Module:Portal/images/a]] - for portal names beginning with "A".<br />
-- [[Module:Portal/images/c]] - for portal names beginning with "C".<br />
-- [[Module:Portal/images/d]] - for portal names beginning with "D".<br />
-- [[Module:Portal/images/e]] - for portal names beginning with "E".<br />
-- [[Module:Portal/images/f]] - for portal names beginning with "F".<br />
-- [[Module:Portal/images/g]] - for portal names beginning with "G".<br />
-- [[Module:Portal/images/h]] - for portal names beginning with "H".<br />
-- [[Module:Portal/images/i]] - for portal names beginning with "I".<br />
-- [[Module:Portal/images/j]] - for portal names beginning with "J".<br />
-- [[Module:Portal/images/k]] - for portal names beginning with "K".<br />
-- [[Module:Portal/images/l]] - for portal names beginning with "L".<br />
-- [[Module:Portal/images/m]] - for portal names beginning with "M".<br />
-- [[Module:Portal/images/n]] - for portal names beginning with "N".<br />
-- [[Module:Portal/images/o]] - for portal names beginning with "O".<br />
-- [[Module:Portal/images/p]] - for portal names beginning with "P".<br />
-- [[Module:Portal/images/q]] - for portal names beginning with "Q".<br />
-- [[Module:Portal/images/r]] - for portal names beginning with "R".<br />
-- [[Module:Portal/images/s]] - for portal names beginning with "S".<br />
-- [[Module:Portal/images/t]] - for portal names beginning with "T". <br />
-- [[Module:Portal/images/u]] - for portal names beginning with "U".<br />
-- [[Module:Portal/images/v]] - for portal names beginning with "V".<br />
-- [[Module:Portal/images/w]] - for portal names beginning with "W".<br />
-- [[Module:Portal/images/x]] - for portal names beginning with "X".<br />
-- [[Module:Portal/images/y]] - for portal names beginning with "Y".<br />
-- [[Module:Portal/images/z]] - for portal names beginning with "Z".<br />
-- [[Module:Portal/images/other]] - for portal names beginning with any other letters. This includes numbers,<br />
-- letters with diacritics, and letters in non-Latin alphabets.<br />
-- [[Module:Portal/images/aliases]] - for adding aliases for existing portal names. Use this page for variations<br />
-- in spelling and diacritics, etc., no matter what letter the portal begins with.<br />
<br />
-- When adding entries, please use alphabetical order. The format of the images table entries is as follows:<br />
-- ["portal name"] = "image.svg",<br />
-- The portal name should be the name of your portal, in lower case. For example, the portal name for <br />
-- "Portal:United Kingdom" would be "united kingdom". The image name should be capitalised normally, and the "File:"<br />
-- namespace prefix should be<br />
-- omitted.<br />
]==]<br />
<br />
return {<br />
["babism"] = "Haykal2.gif|link=|alt=",<br />
["bacon"] = "Bacon close-up.jpg|link=|alt=",<br />
["baden-württemberg"] = "Flag of Baden-Württemberg.svg|border|link=|alt=flag", ["badminton"] = "Badminton racquet.svg|link=|alt=",<br />
["bahá'í faith"] = "Bahai star.svg|link=|alt=",<br />
["bahrain"] = "Flag of Bahrain.svg|border|link=|alt=flag",<br />
["baja california"] = "Flag of Baja California.svg|border|link=|alt=flag",<br />
["baja california sur"] = "Flag of Baja California Sur.svg|border|link=|alt=flag",<br />
["ballet"] = "Ballerina-icon.jpg|alt=icon",<br />
["bailiwick of guernsey"] = "Flag of Guernsey.svg|border|link=|alt=flag",<br />
["bailiwick of jersey"] = "Flag of Jersey.svg|border|link=|alt=flag",<br />
["balochistan, pakistan"] = "Flag of Balochistan.svg|border|link=|alt=",<br />
["baltic sea"] = "Baltic Sea location map.svg|link=|alt=map",<br />
["baltic states"] = "Subdivisions of baltic states.svg|link=|alt=map",<br />
["baltimore"] = "Seal of Baltimore, Maryland.png|link=|alt=seal",<br />
["bananas"] = "Banana-Single.jpg|link=|alt=",<br />
["bangalore"] = "Bangalore Palace.jpg|alt=icon",<br />
["bangladesh premier league"] = "BPL.svg|link=|alt=",<br />
["bangladesh"] = "Flag of Bangladesh.svg|border|link=|alt=flag",<br />
["banks"] = "All-currency-symbol.svg|link=|alt=icon",<br />
["baptists"] = "Baptism logo.jpg|link=|alt=",<br />
["barack obama"] = "Obama.svg|link=|alt=",<br />
["barbados"] = "Flag of Barbados.svg|border|link=|alt=flag",<br />
["barbecue"] = "Grilling.jpg|link=|alt=",<br />
["barcelona"] = "Flag of Barcelona.svg|alt=flag",<br />
["barley"] = "2009-05-20-barnim-by-RalfR-23.jpg|link=|alt=",<br />
["baseball"] = "Baseball.svg|link=|alt=icon",<br />
["basketball"] = "Basketball Clipart.svg|link=|alt=icon",<br />
["basque"] = "Lauburu.svg|link=|alt=",<br />
["bates college"] = "1864 Bates Seal.jpg|link=|alt=seal",<br />
["battleships"] = "BS Bismarck.png|alt=icon",<br />
["battlestar galactica"] = "BattlestarMandala.svg|alt=icon",<br />
["bavaria"] = "Flag of Bavaria (lozengy).svg|border|link=|alt=flag",<br />
["bbc"] = "BBC Logo 2021.svg|link=|alt=",<br />
["beer"] = "Projet bière logo v2.png|alt=icon",<br />
["beef"] = "Standing-rib-roast.jpg|link=|alt=",<br />
["beijing"] = "Beijing-name.svg|alt=icon",<br />
["belarus"] = "Flag of Belarus.svg|border|link=|alt=flag",<br />
["belfast"] = "Flag of Belfast.svg|link=|alt=flag",<br />
["belgium"] = "Flag of Belgium.svg|border|link=|alt=flag",<br />
["belgrade"] = "Flag of Belgrade.svg|alt=flag",<br />
["belize"] = "Flag of Belize.svg|border|link=|alt=flag",<br />
["belo horizonte"] = "Brasão de Belo Horizonte.svg|alt=icon",<br />
["bengal"] = "BengaliScriptKo.svg|link=|alt=",<br />
["bengali"] = "Bangla Script.svg|alt=icon",<br />
["bengali cinema"] = "Emojione 1F3A5.svg|alt=icon",<br />
["bengali literature"] = "Bhasha Smritistambha Arnab Dutta 2011.jpg|alt=icon",<br />
["benin"] = "Flag of Benin.svg|border|link=|alt=flag",<br />
["berat"] = "Stema e Bashkisë Berat.svg|alt=icon",<br />
["berbers"] = "Berber flag.svg|border|link=|alt=flag",<br />
["bergamo"] = "BERGAMO.png|alt=icon",<br />
["berkshire"] = "Flag of Berkshire.svg|link=|alt=flag",<br />
["berlin"] = "Flag of Berlin (state).svg|border|link=|alt=flag",<br />
["bermuda"] = "Flag of Bermuda.svg|border|link=|alt=flag",<br />
["beyoncé knowles"] = "Beyonce cropped2.jpg|link=|alt=",<br />
["bhutan"] = "Flag of Bhutan.svg|border|link=|alt=flag",<br />
["bible"] = "Bible.malmesbury.arp.jpg|link=|alt=",<br />
["bibliographies/science task force"] = "Principia Page 1726.jpg|link=|alt=photo",<br />
["bicycles"] = "Mountainbike-zeichnung.png|alt=|link=",<br />
["bihar"] = "Seal of Bihar.jpg|link=|alt=",<br />
["biochemistry"] = "ATP-3D-vdW.png|link=|alt=icon",<br />
["biography"] = "P vip.svg|link=|alt=",<br />
["biological warfare"] = "Anthrax culture.jpg|link=|alt=",<br />
["biology"] = "Issoria lathonia.jpg|alt=icon",<br />
["biotechnology"] = "TRNA-Phe yeast 1ehz.png|alt=icon",<br />
["birds"] = "Eagle 01.svg|link=|alt=",<br />
["björk"] = "Björk signature.png|link=|alt=",<br />
["blackberries"] = "Blackberry fruit.jpg|link=|alt=",<br />
["blu-ray"] = "Blu-ray disc2.png|alt=icon",<br />
["blueberries"] = "Antioxidant-berries-bilberry-988870.jpg|link=|alt=",<br />
["blues"] = "Guit Blues.JPG|link=|alt=",<br />
["bob dylan"] = "Bob dylan.jpg|alt=icon",<br />
["bob weir"] = "Weir, Bob (2007) 3.jpg|link=|alt=",<br />
["boca raton, florida"] = "Seal of Boca Raton, Florida.gif|alt=seal",<br />
["bohemia"] = "Flag of Bohemia.svg|border|link=|alt=flag",<br />
["bohol"] = "Chocolate Hills.jpg|alt=icon",<br />
["bolivia"] = "Flag of Bolivia.svg|border|link=|alt=flag",<br />
["bollywood"] = "Indiafilm.svg|alt=icon",<br />
["bonaire"] = "Flag of Bonaire.svg|border|link=|alt=flag",<br />
["book of mormon"] = "Book of Mormon English Missionary Edition Soft Cover.jpg|link=|alt=",<br />
["books"] = "Nuvola apps bookcase.svg|alt=icon",<br />
["bosnia and herzegovina"] = "Flag of Bosnia and Herzegovina.svg|border|link=|alt=flag",<br />
["boston"] = "Flag of Boston.svg|border|link=|alt=flag",<br />
["botany"] = "Rosa villosa.jpg|alt=icon",<br />
["botswana"] = "Flag of Botswana.svg|border|link=|alt=flag",<br />
["bottled water"] = "1989 HK Sheung Wan Bonham Strand VITA Distilled Water.jpg|link=|alt=",<br />
["boxing"] = "Icon-boxing-gloves.jpg|alt=icon",<br />
["braga"] = "BRG.png|alt=icon",<br />
["brandenburg"] = "Flag of Brandenburg.svg|border|link=|alt=flag",<br />
["brandy norwood"] = "BrandyNorwoodJuly04.jpg|alt=icon",<br />
["brazil"] = "Flag of Brazil.svg|border|link=|alt=flag",<br />
["brazilian cuisine"] = "Brigadeiro.jpg|link=|alt=",<br />
["bread"] = "Emojione 1F35E.svg|link=|alt=",<br />
["breakfast"] = "Breakfast!.jpg|link=|alt=",<br />
["bremen"] = "Flag of Bremen.svg|border|link=|alt=flag",<br />
["briarcliff manor, new york"] = "BriarcliffOutlook4-crop.jpg|link=|alt=",<br />
["bridges"] = "Pont-type-4-haubans.svg|alt=icon",<br />
["bridges"] = "Pont-type-4-haubans.svg|alt=icon",<br />
["brigham young university"] = "Brigham Young University medallion.svg|link=|alt=seal",<br />
["brighton"] = "Brighton Royal Pavilion.jpg|alt=icon",<br />
["brisbane"] = "Brisbane COA.gif|link=|alt=",<br />
["bristol"] = "Bristol arms cropped.jpg|alt=icon",<br />
["british army"] = "Flag of the British Army.svg|border|link=|alt=flag",<br />
["british columbia"] = "Flag of British Columbia.svg|border|link=|alt=flag",<br />
["british crown dependencies"] = "Royal Coat of Arms of the United Kingdom.svg|link=|alt=icon",<br />
["british cuisine"] = "British Cuisine title.jpg|link=|alt=",<br />
["british empire"] = "British Empire 1897.jpg|link=|alt=",<br />
["british indian ocean territory"] = "Flag of the British Indian Ocean Territory.svg|border|link=|alt=flag",<br />
["british library"] = "British library london.jpg|link=|alt=",<br />
["british politics"] = "Royal Coat of Arms of the United Kingdom.svg|alt=icon",<br />
["british virgin islands"] = "Flag of the British Virgin Islands.svg|border|link=|alt=flag",<br />
["britney spears"] = "Baby One More Time 2009.jpg|alt=icon",<br />
["brittany"] = "Flag of Brittany.svg|border|link=|alt=flag",<br />
["brunei"] = "Flag of Brunei.svg|border|link=|alt=flag",<br />
["bruneian cuisine"] = "Ambuyat in Bandar Seri Begawan Brunei.jpg|link=|alt=",<br />
["brussels"] = "Flag Belgium brussels.svg|border|link=|alt=flag",<br />
["bryan adams"] = "Bryan Adams Hamburg MG 0631 flickr.jpg|alt=icon",<br />
["bucharest"] = "ROU Bucharest CoA.png|link=|alt=",<br />
["buckinghamshire"] = "EnglandBuckinghamshire.png|alt=icon",<br />
["budapest"] = "Coat of arms of Budapest.svg|link=|alt=",<br />
["buddhism"] = "Dharma Wheel.svg|alt=icon",<br />
["buenos aires"] = "Flag of Buenos Aires City.png|border|link=|alt=flag",<br />
["buffy the vampire slayer"] = "Buffya.jpg|link=|alt=",<br />
["bulgaria"] = "Flag of Bulgaria.svg|border|link=|alt=flag",<br />
["bulgarian cuisine"] = "Lukanka.jpg|link=|alt=",<br />
["bulgarian empire"] = "Coat of arms of the Second Bulgarian Empire.svg|alt=icon",<br />
["burkina faso"] = "Flag of Burkina Faso.svg|border|link=|alt=flag",<br />
["burmese cuisine"] = "IMG Mohinga.JPG|link=|alt=",<br />
["burundi"] = "Flag of Burundi.svg|border|link=|alt=flag",<br />
["busan"] = "Symbol of Busan.svg|alt=icon",<br />
["buses"] = "BSicon BUS.svg|link=|alt=",<br />
["business and economics"] = "Emblem-money.svg|alt=icon",<br />
["butter"] = "Melting butter.jpg|link=|alt=",<br />
["byzantine empire"] = "Flag of Palaeologus Dynasty.svg|border|link=|alt=flag"<br />
}</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Module:Portal&diff=3324
Module:Portal
2022-06-25T21:19:28Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>--[==[ This module is a Lua implementation of the old {{Portal}} template. As of February 2019 it is used on nearly 7,900,000 articles.<br />
-- Please take care when updating it! It outputs two functions: p.portal, which generates a list of portals, and p.image, which<br />
-- produces the image name for an individual portal.<br />
<br />
-- The portal image data is kept in submodules of [[Module:Portal/images]], listed below:<br />
-- [[Module:Portal/images/a]] - for portal names beginning with "A".<br />
-- [[Module:Portal/images/b]] - for portal names beginning with "B".<br />
-- [[Module:Portal/images/c]] - for portal names beginning with "C".<br />
-- [[Module:Portal/images/d]] - for portal names beginning with "D".<br />
-- [[Module:Portal/images/e]] - for portal names beginning with "E".<br />
-- [[Module:Portal/images/f]] - for portal names beginning with "F".<br />
-- [[Module:Portal/images/g]] - for portal names beginning with "G".<br />
-- [[Module:Portal/images/h]] - for portal names beginning with "H".<br />
-- [[Module:Portal/images/i]] - for portal names beginning with "I".<br />
-- [[Module:Portal/images/j]] - for portal names beginning with "J".<br />
-- [[Module:Portal/images/k]] - for portal names beginning with "K".<br />
-- [[Module:Portal/images/l]] - for portal names beginning with "L".<br />
-- [[Module:Portal/images/m]] - for portal names beginning with "M".<br />
-- [[Module:Portal/images/n]] - for portal names beginning with "N".<br />
-- [[Module:Portal/images/o]] - for portal names beginning with "O".<br />
-- [[Module:Portal/images/p]] - for portal names beginning with "P".<br />
-- [[Module:Portal/images/q]] - for portal names beginning with "Q".<br />
-- [[Module:Portal/images/r]] - for portal names beginning with "R".<br />
-- [[Module:Portal/images/s]] - for portal names beginning with "S".<br />
-- [[Module:Portal/images/t]] - for portal names beginning with "T".<br />
-- [[Module:Portal/images/u]] - for portal names beginning with "U".<br />
-- [[Module:Portal/images/v]] - for portal names beginning with "V".<br />
-- [[Module:Portal/images/w]] - for portal names beginning with "W".<br />
-- [[Module:Portal/images/x]] - for portal names beginning with "X".<br />
-- [[Module:Portal/images/y]] - for portal names beginning with "Y".<br />
-- [[Module:Portal/images/z]] - for portal names beginning with "Z".<br />
-- [[Module:Portal/images/other]] - for portal names beginning with any other letters. This includes numbers,<br />
-- letters with diacritics, and letters in non-Latin alphabets.<br />
-- [[Module:Portal/images/aliases]] - for adding aliases for existing portal names. Use this page for variations<br />
-- in spelling and diacritics, etc., no matter what letter the portal begins with.<br />
--<br />
-- The images data pages are separated by the first letter to reduce server load when images are added, changed, or removed.<br />
-- Previously all the images were on one data page at [[Module:Portal/images]], but this had the disadvantage that all<br />
-- 5,000,000 pages using this module needed to be refreshed every time an image was added or removed.<br />
]==]<br />
<br />
local p = {}<br />
<br />
-- determine whether we're being called from a sandbox<br />
local isSandbox = mw.getCurrentFrame():getTitle():find('sandbox', 1, true)<br />
local sandbox = isSandbox and '/sandbox' or ''<br />
<br />
local function sandboxVersion(s)<br />
return isSandbox and s..'-sand' or s<br />
end<br />
<br />
local templatestyles = 'Module:Portal'..sandbox..'/styles.css'<br />
<br />
local getArgs = require('Module:Arguments').getArgs<br />
local yesno = require('Module:Yesno')<br />
<br />
-- List of non-talk namespaces which should not be tracked (Talk pages are never tracked)<br />
local badNamespaces = {'user','template','draft','wikipedia'}<br />
<br />
-- Check whether to do tracking in this namespace<br />
-- Returns true unless the page is one of the banned namespaces<br />
local function checkTracking(title)<br />
local thisPage = title or mw.title.getCurrentTitle()<br />
if thisPage.isTalkPage then<br />
return false<br />
end<br />
local ns = thisPage.nsText:lower()<br />
for _, v in ipairs(badNamespaces) do<br />
if ns == v then<br />
return false<br />
end<br />
end<br />
return true<br />
end<br />
<br />
local function matchImagePage(s)<br />
-- Finds the appropriate image subpage given a lower-case<br />
-- portal name plus the first letter of that portal name.<br />
if type(s) ~= 'string' or #s < 1 then return end<br />
local firstLetter = mw.ustring.sub(s, 1, 1)<br />
local imagePage<br />
if mw.ustring.find(firstLetter, '^[a-z]') then<br />
imagePage = 'Module:Portal/images/' .. firstLetter .. sandbox<br />
else<br />
imagePage = 'Module:Portal/images/other' .. sandbox<br />
end<br />
return mw.loadData(imagePage)[s]<br />
end<br />
<br />
local function getAlias(s)<br />
-- Gets an alias from the image alias data page.<br />
local aliasData = mw.loadData('Module:Portal/images/aliases'..sandbox)<br />
for portal, aliases in pairs(aliasData) do<br />
for _, alias in ipairs(aliases) do<br />
if alias == s then<br />
return portal<br />
end<br />
end<br />
end<br />
end<br />
<br />
local function getImageName(s)<br />
-- Gets the image name for a given string.<br />
local default = 'Portal-puzzle.svg|link=|alt='<br />
if type(s) ~= 'string' or #s < 1 then<br />
return default<br />
end<br />
s = mw.ustring.lower(s)<br />
return matchImagePage(s) or matchImagePage(getAlias(s)) or default<br />
end<br />
<br />
-- Function to check argument portals for errors, generate tracking categories if needed<br />
-- Function first checks for too few/many portals provided<br />
-- Then checks the portal list to purge any portals that don't exist<br />
-- Arguments:<br />
-- portals: raw list of portals<br />
-- args.tracking: is tracking requested? (will not track on bad titles or namespaces)<br />
-- args.redlinks: should redlinks be displayed?<br />
-- args.minPortals: minimum number of portal arguments<br />
-- args.maxPortals: maximum number of portal arguments<br />
-- Returns:<br />
-- portals = list of portals, with redlinks purged (if args.redlinks=false)<br />
-- trackingCat = possible tracking category<br />
-- errorMsg = error message<br />
function p._checkPortals(portals, args)<br />
local trackingCat = ''<br />
local errMsg = nil<br />
<br />
-- Tracking is on by default.<br />
-- It is disabled if any of the following is true<br />
-- 1/ the parameter "tracking" is set to 'no, 'n', or 'false'<br />
-- 2/ the current page fails the namespace or pagename tests <br />
local trackingEnabled = args.tracking and checkTracking()<br />
<br />
args.minPortals = args.minPortals or 1<br />
args.maxPortals = args.maxPortals or -1<br />
-- check for too few portals<br />
if #portals < args.minPortals then<br />
errMsg = 'please specify at least '..args.minPortals..' portal'..(args.minPortals > 1 and 's' or '')<br />
trackingCat = (trackingEnabled and '[[Category:Portal templates with too few portals]]' or '')<br />
return portals, trackingCat, errMsg<br />
end<br />
-- check for too many portals<br />
if args.maxPortals >= 0 and #portals > args.maxPortals then<br />
errMsg = 'too many portals (maximum = '..args.maxPortals..')'<br />
trackingCat = (trackingEnabled and '[[Category:Portal templates with too many portals]]' or '')<br />
return portals, trackingCat, errMsg<br />
end<br />
if not args.redlinks or trackingEnabled then<br />
-- make new list of portals that exist<br />
local existingPortals = {}<br />
for _, portal in ipairs(portals) do<br />
local portalTitle = mw.title.new(portal,"Portal")<br />
-- if portal exists, put it into list<br />
if portalTitle and portalTitle.exists then<br />
table.insert(existingPortals,portal)<br />
-- otherwise set tracking cat<br />
elseif trackingEnabled then<br />
trackingCat = "[[Category:Portal templates with redlinked portals]]"<br />
end<br />
end<br />
-- If redlinks is off, use portal list purged of redlinks<br />
portals = args.redlinks and portals or existingPortals<br />
-- if nothing left after purge, set tracking cat<br />
if #portals == 0 and trackingEnabled then<br />
trackingCat = trackingCat.."[[Category:Pages with empty portal template]]" <br />
end<br />
end<br />
return portals, trackingCat, errMsg<br />
end<br />
<br />
function p._portal(portals, args)<br />
-- This function builds the portal box used by the {{portal}} template.<br />
<br />
-- Normalize all arguments<br />
if args.redlinks == 'include' then args.redlinks = true end<br />
args.addBreak = args['break']<br />
for key, default in pairs({left=false,tracking=true,nominimum=false,<br />
redlinks=false,addBreak=false,border=true}) do<br />
if args[key] == nil then args[key] = default end<br />
args[key] = yesno(args[key], default)<br />
end<br />
<br />
local root = mw.html.create('div')<br />
:attr('role', 'navigation')<br />
:attr('aria-label', 'Portals')<br />
:addClass('noprint plainlist')<br />
:addClass(sandboxVersion('portalbox'))<br />
:addClass(args.border and sandboxVersion('portalborder') or '')<br />
:addClass(args.left and 'tleft' or 'tright')<br />
:css('margin', args.margin or nil)<br />
:newline()<br />
<br />
local trackingCat = ''<br />
local errMsg = nil<br />
args.minPortals = args.nominimum and 0 or 1<br />
args.maxPortals = -1<br />
portals, trackingCat, errMsg = p._checkPortals(portals, args)<br />
root:wikitext(trackingCat)<br />
-- if error message, put it in the box and return<br />
if errMsg then<br />
if args.border then -- suppress error message when border=no<br />
local errTag = root:tag('strong')<br />
errTag:addClass('error')<br />
errTag:css('padding','0.2em')<br />
errTag:wikitext('Error: '..errMsg)<br />
end<br />
return tostring(root)<br />
end<br />
-- if no portals (and no error), just return tracking category<br />
if #portals == 0 then<br />
return trackingCat<br />
end<br />
<br />
-- Start the list. This corresponds to the start of the wikitext table in the old [[Template:Portal]].<br />
local listroot = root:tag('ul')<br />
:css('width', (tonumber(args.boxsize) or 0) > 0 and (args.boxsize .. 'px') or args.boxsize)<br />
<br />
-- Display the portals specified in the positional arguments.<br />
for _, portal in ipairs(portals) do<br />
local image = getImageName(portal)<br />
<br />
-- Generate the html for the image and the portal name.<br />
listroot<br />
:newline()<br />
:tag('li')<br />
:tag('span')<br />
:wikitext(string.format('[[File:%s|32x28px|class=noviewer]]', image))<br />
:done()<br />
:tag('span')<br />
:wikitext(string.format('[[Portal:%s|%s%sportal]]', portal, portal, args.addBreak and '<br />' or ' '))<br />
end<br />
return tostring(root)<br />
end<br />
<br />
function p._image(portal,nostrip)<br />
-- Wrapper function to allow getImageName() to be accessed through #invoke.<br />
-- backward compatibility: if table passed, take first element<br />
if type(portal) == 'table' then<br />
portal = portal[1]<br />
end<br />
local name = getImageName(portal)<br />
-- If nostrip is yes (or equivalent), then allow all metadata (like image borders) to be returned<br />
local strip = not yesno(nostrip)<br />
return strip and name:match('^(.-)|') or name -- FIXME: use a more elegant way to separate borders etc. from the image name<br />
end<br />
<br />
local function getAllImageTables()<br />
-- Returns an array containing all image subpages (minus aliases) as loaded by mw.loadData.<br />
local images = {}<br />
for i, subpage in ipairs{'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'other'} do<br />
images[i] = mw.loadData('Module:Portal/images/' .. subpage .. sandbox)<br />
end<br />
return images<br />
end<br />
<br />
function p._displayAll(portals, args)<br />
-- This function displays all portals that have portal images. This function is for maintenance purposes and should not be used in<br />
-- articles, for two reasons: 1) there are over 1500 portals with portal images, and 2) the module doesn't record how the portal<br />
-- names are capitalized, so the portal links may be broken.<br />
local lang = mw.language.getContentLanguage()<br />
local count = 1<br />
for _, imageTable in ipairs(getAllImageTables()) do<br />
for portal in pairs(imageTable) do<br />
portals[count] = lang:ucfirst(portal)<br />
count = count + 1<br />
end<br />
end<br />
return p._portal(portals, args)<br />
end<br />
<br />
function p._imageDupes()<br />
-- This function searches the image subpages to find duplicate images. If duplicate images exist, it is not necessarily a bad thing,<br />
-- as different portals might just happen to choose the same image. However, this function is helpful in identifying images that<br />
-- should be moved to a portal alias for ease of maintenance.<br />
local exists, dupes = {}, {}<br />
for _, imageTable in ipairs(getAllImageTables()) do<br />
for portal, image in pairs(imageTable) do<br />
if not exists[image] then<br />
exists[image] = portal<br />
else<br />
table.insert(dupes, string.format('The image "[[:File:%s|%s]]" is used for both portals "%s" and "%s".', image, image, exists[image], portal))<br />
end<br />
end<br />
end<br />
if #dupes < 1 then<br />
return 'No duplicate images found.'<br />
else<br />
return 'The following duplicate images were found:\n* ' .. table.concat(dupes, '\n* ')<br />
end<br />
end<br />
<br />
local function processPortalArgs(args)<br />
-- This function processes a table of arguments and returns two tables: an array of portal names for processing by ipairs, and a table of<br />
-- the named arguments that specify style options, etc. We need to use ipairs because we want to list all the portals in the order<br />
-- they were passed to the template, but we also want to be able to deal with positional arguments passed explicitly, for example<br />
-- {{portal|2=Politics}}. The behaviour of ipairs is undefined if nil values are present, so we need to make sure they are all removed.<br />
args = type(args) == 'table' and args or {}<br />
local portals = {}<br />
local namedArgs = {}<br />
for k, v in pairs(args) do<br />
if type(k) == 'number' and type(v) == 'string' then -- Make sure we have no non-string portal names.<br />
table.insert(portals, k)<br />
elseif type(k) ~= 'number' then<br />
namedArgs[k] = v<br />
end<br />
end<br />
table.sort(portals)<br />
for i, v in ipairs(portals) do<br />
portals[i] = args[v]<br />
end<br />
return portals, namedArgs<br />
end<br />
<br />
-- Entry point for sorting portals from other named arguments<br />
function p._processPortalArgs(args)<br />
return processPortalArgs(args)<br />
end<br />
<br />
function p.image(frame)<br />
local origArgs = getArgs(frame)<br />
local portals, args = processPortalArgs(origArgs)<br />
return p._image(portals[1],args.border)<br />
end<br />
<br />
local function makeWrapper(funcName)<br />
-- Processes external arguments and sends them to the other functions.<br />
return function (frame)<br />
-- If called via #invoke, use the args passed into the invoking<br />
-- template, or the args passed to #invoke if any exist. Otherwise<br />
-- assume args are being passed directly in from the debug console<br />
-- or from another Lua module. <br />
-- Also: trim whitespace and remove blank arguments<br />
local origArgs = getArgs(frame)<br />
-- create two tables to pass to func: an array of portal names, and a table of named arguments.<br />
local portals, args = processPortalArgs(origArgs)<br />
local results = ''<br />
if funcName == '_portal' or funcName == '_displayAll' then<br />
results = frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} }<br />
end<br />
return results .. p[funcName](portals, args) <br />
end<br />
end<br />
<br />
for _, funcName in ipairs{'portal', 'imageDupes', 'displayAll'} do<br />
p[funcName] = makeWrapper('_' .. funcName)<br />
end<br />
<br />
return p</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Quotation&diff=3322
Template:Quotation
2022-06-25T21:19:01Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div>#REDIRECT [[Template:Blockquote]]</div>
BruceBeachWikiSysop
https://wiki.brucebeach.ca/w/index.php?title=Template:Purge_page&diff=3320
Template:Purge page
2022-06-25T21:19:01Z
<p>BruceBeachWikiSysop: 1 revision imported</p>
<hr />
<div><i class="noprint">[[Special:Purge/{{FULLPAGENAME}}|<small {{#if:{{{color|}}}|style="color:{{{color}}}"}}>{{{1|Purge server cache}}}</small>]]</i><noinclude>{{Documentation}}</noinclude></div>
BruceBeachWikiSysop