This template allows parameters for country and top-level subdivision, returning the ISO 3166 code. It is a slightly more verbose and inefficient alternative to the writing:

  • {{ISO 3166 code <country> <province>}}

but it allows for more graceful error handling.


Usage

edit

Example:

  • {{ISO 3166 code|Afghanistan}} AF
  • {{ISO 3166 code|Afghanistan|Helmand}} Lua error in package.lua at line 80: module 'Module:ISO 3166/data/AF' not found.


Support for aliases:

Support for province aliases is built in to the collection of Category:ISO 3166 name from code templates for example:

The same is true for country aliases at the county level

The mechanism here is, however, redirection. This allows for more equivalent constructs such as

  1. {{ISO 3166 code|United Kingdom|Rutland}} Lua error in package.lua at line 80: module 'Module:ISO 3166/data/GB' not found. checkY checkY
  2. {{ISO 3166 code|UK|Rutland}} Lua error in package.lua at line 80: module 'Module:ISO 3166/data/GB' not found. checkY N
  3. {{ISO 3166 code United Kingdom|Rutland}} GB-RUT checkY checkY
  4. {{ISO 3166 code UK|Rutland}} GB-RUT checkY N
  5. {{ISO 3166 code United Kingdom Rutland}} GB-RUT checkY checkY
  6. {{ISO 3166 code UK Rutland}} GB-RUT checkY N
(The first mark is whether it is actually supported, the second whether all calls of that type should be expected to work.)

Here "United Kingdom" is the canonical country name, "UK" is an alias.

The plan is to support all reasonable constructs of the forms 1-5, and any common (and not counter-productive) constructs of the form 6.

See also

edit