This is the documentation page for Module:ISO 3166
This Lua module is used on 1,010,000+ pages, or roughly 5454% of all pages. To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. |
This module returns a country's or subdivision's code (alpha-2, alpha-3, numeric) or name (ISO, non-ISO) from ISO 3166 from a variety of inputs (alpha-2, alpha-3, numeric, name, ISO-name, alternative names). The module also removes junk from the input.
Examples
Countries (ISO 3166-1)
All three types of ISO 3166-1 codes (alpha-2, alpha-3 and numeric) work as inputs to name
, as well as to code
(which can therefore also be used to convert between different code types). Use |codetype=
to output alpha-3 or numeric codes in code
instead of the default alpha-2 codes.
Name
To get the common name use the name function
{{#invoke:ISO 3166|name|GB}}
→ United Kingdom{{#invoke:ISO 3166|name|GBR}}
→ United Kingdom{{#invoke:ISO 3166|name|826}}
→ United Kingdom
ISO Name
To get the common name use the name function with isoname = yes
{{#invoke:ISO 3166|name|GB|isoname=yes}}
→ United Kingdom of Great Britain and Northern Ireland{{#invoke:ISO 3166|name|GBR|isoname=yes}}
→ United Kingdom of Great Britain and Northern Ireland{{#invoke:ISO 3166|name|826|isoname=yes}}
→ United Kingdom of Great Britain and Northern Ireland
Alpha-2
To get the alpha 2 code use the code function
{{#invoke:ISO 3166|code|826}}
→ GB{{#invoke:ISO 3166|code|United Kingdom}}
→ GB{{#invoke:ISO 3166|code|UK}}
→ GB
Alpha-3
To get the alpha 3 code use the code function with codetype = 3
{{#invoke:ISO 3166|code|United Kingdom|codetype=alpha3}}
→ GBR{{#invoke:ISO 3166|name|GB}}
→ United Kingdom{{#invoke:ISO 3166|name|GBR}}
→ United Kingdom{{#invoke:ISO 3166|name|826}}
→ United Kingdom{{#invoke:ISO 3166|code|UK|codetype=alpha3}}
→ GBR
Numeric
To get the numeric code use the code function with codetype = numeric or use the numeric function
{{#invoke:ISO 3166|numeric|GB}}
→ 826{{#invoke:ISO 3166|code|GB|codetype=numeric}}
→ 826
Subdivisions (ISO 3166-2)
Inputs to name
must be valid ISO 3166-2 codes, i.e. the country's alpha-2 code for the first part, and up to three alphanumeric characters for the second part. They may be given normally (with a hyphen between the parts), or split between two unnamed parameters. For code
, the first parameter is the country name (or any of its three codes, like above), and the second the subdivision name.
Code (alpha-2)
To get the alpha-2 code of a subdivision use the code function with parameter 1 being the country and parameter 2 being the subdivision
{{#invoke:ISO 3166|code|United Kingdom|England}}
→ Lua error in package.lua at line 80: module 'Module:ISO 3166/data/GB' not found.{{#invoke:ISO 3166|code|GBR|England}}
→ Lua error in package.lua at line 80: module 'Module:ISO 3166/data/GB' not found.{{#invoke:ISO 3166|code|GB|England}}
→ Lua error in package.lua at line 80: module 'Module:ISO 3166/data/GB' not found.
Name
To get the name of a subdivision use the name function with parameter 1 being the country and parameter 2 being the subdivsion or parameter 1 being the subdivsion code
{{#invoke:ISO 3166|name|GB-ENG}}
→ Lua error in package.lua at line 80: module 'Module:ISO 3166/data/GB' not found.{{#invoke:ISO 3166|name|GB|ENG}}
→ Lua error in package.lua at line 80: module 'Module:ISO 3166/data/GB' not found.
|isoname=
works for subnational entities as well; keep in mind that ISO 3166-2 uses (transliterations of) local names that may differ from English ones. Set |lang=
to a language code to switch between different languages for entities that have multiple ISO names. The default language for multilingual entities can be set on the country's data page.
{{#invoke:ISO 3166|name|BE|BRU}}
→ Lua error in package.lua at line 80: module 'Module:ISO 3166/data/BE' not found.{{#invoke:ISO 3166|name|BE|BRU|isoname=yes}}
→ Lua error in package.lua at line 80: module 'Module:ISO 3166/data/BE' not found.{{#invoke:ISO 3166|name|BE|BRU|lang=fr}}
→ Lua error in package.lua at line 80: module 'Module:ISO 3166/data/BE' not found.{{#invoke:ISO 3166|name|BE|BRU|lang=nl}}
→ Lua error in package.lua at line 80: module 'Module:ISO 3166/data/BE' not found.
Tracking categories
- Category:OODA WIKI page with obscure country (0)
- Category:OODA WIKI page with obscure country or subdivision (0)
- Category:OODA WIKI page with obscure subdivision (0)
See also
- OODA WIKI:Templates for discussion/Log/2015 November 12#Template:ISO 3166 name DE-HB – discussion of replacement of template-based system with Lua
- OODA WIKI:Templates_for_discussion/Log/2018_September_10#Template:ISO_3166_code-3_AD – discussion of full removal of template-based system
- {{ISO 3166 name}} – (ISO name)
- {{Country name}} – (Standard name)
- {{ISO 3166 code}} – (Code)
- {{ISO 3166 code-3}} – (3 letter code)
- {{ISO 3166 numeric}} – (numeric code)
- Module:ISO 3166/data – the data subpages used by this module
Subpages