Template:ISO 3166 code/doc

From Roses, Tulips, & Liberty

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

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 data templates‎.

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}} GB-RUT Template:Tick Template:Tick
  2. {{ISO 3166 code|UK|Rutland}} GB-RUT Template:Tick Template:Cross
  3. {{ISO 3166 code United Kingdom|Rutland}} GB-RUT Template:Tick Template:Tick
  4. {{ISO 3166 code UK|Rutland}} GB-RUT Template:Tick Template:Cross
  5. {{ISO 3166 code United Kingdom Rutland}} GB-RUT Template:Tick Template:Tick
  6. {{ISO 3166 code UK Rutland}} GB-RUT Template:Tick Template:Cross
(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

  • {{Country abbreviation}} a wrapper for this template that can handle a variety of noise, for example wiki-linked entities, and some common flag templates.