Template:ISO 3166 numeric
Usage
This template is part of a series that resolves the country and subdivision names to ISO 3166-1 and ISO 3166-2 codes, and vice versa.
In particular {{ISO 3166 numeric}} returns .
ISO 3166
ISO 3166 defines names, two and three letter codes and code numbers for all countries and six character codes (the two letter country code followed by a dash and a two or three character subdivision code) for all top level subdivisions.
Using the family of templates
We wish to convert between various identifiers that may loosely be defined as user input and ISO 3166 entities, there may be more than one way to do each conversion. For our examples we use Pakistan as the country and Balochistan (Pakistan) as the subdivision.
The ISO-3166 identifiers for Pakistan are:
- Name: Pakistan
- Alpha-2 code:PK
- Alpha-3 code:PAK
- Numeric code:586
The ISO-3166 identifiers for Balochistan (Pakistan) is:
- Subdivision code:PK-BK
Now Pakistan also has a number of synonyms: for example Pakistán and پاکستان.
Similarly Baluchistan is known, for example as Balochistan (on Wikipedia) and Bagh Sanjari .
- To get the Alpha-2 code we can use
{{ISO 3166 code}}
with any of the country identifiers ,or use the identifier as a part of the template name (faster).
{{ISO 3166 code|Pakistan}}
PK{{ISO 3166 code|PK}}
PK{{ISO 3166 code|PAK}}
PK{{ISO 3166 code|586}}
PK{{ISO 3166 code|Pakistán}}
PK{{ISO 3166 code|پاکستان}}
{{ISO 3166 code Pakistan}}
PK{{ISO 3166 code PK}}
PK{{ISO 3166 code PAK}}
PK{{ISO 3166 code 586}}
PK{{ISO 3166 code Pakistán}}
PK{{ISO 3166 code پاکستان}}
PK
- The alpha-3 code is obtained similarly (but not currently using the template name method except for conversion from known good Alpha-2).
{{ISO 3166 code-3|Pakistan}}
PAK{{ISO 3166 code-3|PK}}
PAK{{ISO 3166 code-3|PAK}}
PAK{{ISO 3166 code-3|586}}
PAK{{ISO 3166 code-3|Pakistán}}
PAK{{ISO 3166 code-3|پاکستان}}
PAK
{{ISO 3166 code-3 PK}}
PAK
- The numeric code is obtained similarly (but not currently using the template name method except for conversion from known good Alpha-2).
{{ISO 3166 numeric|Pakistan}}
586{{ISO 3166 numeric|PK}}
586{{ISO 3166 numeric|PAK}}
586{{ISO 3166 numeric|586}}
586{{ISO 3166 numeric|Pakistán}}
586{{ISO 3166 numeric|پاکستان}}
586
{{ISO 3166 numeric PK}}
586
- Finding the name is obtained similarly (but not currently using the template name method except for conversion from known good Alpha-2).
{{ISO 3166 name|Pakistan}}
Pakistan{{ISO 3166 name|PK}}
Pakistan{{ISO 3166 name|PAK}}
Pakistan{{ISO 3166 name|586}}
Pakistan{{ISO 3166 name|Pakistán}}
Pakistan{{ISO 3166 name|پاکستان}}
Pakistan
{{ISO 3166 name PK}}
Pakistan
- The subdivision code can be obtained in many ways
- Using a template name - this currently must use the canonical (usually ISO 3166) name for the country but can use implemented synonyms for the region.
{{ISO 3166 code Pakistan Baluchistan}}
PK-BA{{ISO 3166 code Pakistan Balochistan}}
PK-BA{{ISO 3166 code Pakistan Bagh Sanjari}}
PK-BA
- Using a template name and a parameter - can use implemented synonyms for the region and country - ISO 3166 entities are almost guaranteed to be implemented synonyms for countries.
{{ISO 3166 code Pakistan|Baluchistan}}
PK-BA{{ISO 3166 code Pakistan|Balochistan}}
PK-BA{{ISO 3166 code Pakistan|Bagh Sanjari}}
PK-BA{{ISO 3166 code Pakistán|Baluchistan}}
PK-BA{{ISO 3166 code Paquistán|Balochistan}}
PK-BA{{ISO 3166 code PK|Baluchistan}}
PK-BA
- Using two parameters - can use implemented synonyms for the region and country - ISO 3166 entities are almost guaranteed to be implemented synonyms for countries.
{{ISO 3166 code|Pakistan|Baluchistan}}
Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.{{ISO 3166 code|Pakistan|Balochistan}}
Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.{{ISO 3166 code|Pakistan|Bagh Sanjari}}
Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.{{ISO 3166 code|Pakistán|Baluchistan}}
Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.{{ISO 3166 code|Paquistán|Balochistan}}
{{ISO 3166 code|PK|Baluchistan}}
Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.
- The subdivision name can be obtained similarly
{{ISO 3166 name PK-BA}}
Baluchistan, Pakistan
- Using a template name and a parameter template name needs to be a valid alpha-2 currently. (not yet implemented)
{{ISO 3166 name PK|BA}}
Pakistan{{ISO 3166 name PK|Balochistan}}
Pakistan{{ISO 3166 name PK|Bagh Sanjari}}
Pakistan{{ISO 3166 name PK|Baluchistan}}
Pakistan
- Using two parameters - can use implemented synonyms for the region and country - ISO 3166 entities are almost guaranteed to be implemented synonyms for countries.
{{ISO 3166 name|PK|BA}}
{{ISO 3166 name Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.}}{{ISO 3166 name|Pakistan|BA}}
{{ISO 3166 name Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.}}{{ISO 3166 name|PK|Bagh Sanjari}}
{{ISO 3166 name Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.}}{{ISO 3166 name|Pakistán|Baluchistan}}
{{ISO 3166 name Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.}}{{ISO 3166 name|Paquistán|Balochistan}}
Template loop detected: Template:ISO 3166 name{{ISO 3166 name|PK|Baluchistan}}
{{ISO 3166 name Lua error in package.lua at line 80: module 'Module:ISO 3166/data/PK' not found.}}
Cases where the non-ISO3166 name might be returned
- Taiwan - ISO name is...
- Venezuela - ISO name is...
- Bolivia - ISO name is....
- ...
- Cases where the name is comma mangled - "Congo, The People's Democratic Republic of"
- Macedonia - ISO name is Macedonia, the former Yugoslav Republic of
Enhancing the system
- Adding country synonyms: these should redirect to the canonical template: the redirect should be categorised the same as the target, and sort-keyed as per the notes in the categories.
- Adding region synonyms: these can be a simple cut-and paste, but be sure to update any documentation variables.
[[Category:ISO 3166 code from name country templates|]]