Templat:ISO 3166 conversion template doc

Wikipedia Minangkabau - Lubuak aka tapian ilimu
[buat] Ikon dokumentasi Dokumentasi templat
Ikon dokumentasi Dokumentasi templat

Usage

This Templat:Lcfist:Templat relates to a series of templates resolves the country and subdivision names to ISO 3166-1 and ISO 3166-2 codes, and vice versa.

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).
The alpha-3 code is obtained similarly (but not currently using the template name method except for conversion from known good Alpha-2).


The numeric code is obtained similarly (but not currently using the template name method except for conversion from known good Alpha-2).
Finding the name is obtained similarly (but not currently using the template name method except for conversion from known good Alpha-2).
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.
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.
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
Using a template name and a parameter template name needs to be a valid alpha-2 currently. (not yet implemented)
Using two parameters - can use implemented synonyms for the region and country - ISO 3166 entities are almost guaranteed to be implemented synonyms for countries.


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

  1. 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.
  2. Adding region synonyms: these can be a simple cut-and paste, but be sure to update any documentation variables.