Template:ISO 3166 conversion template doc

{{documentation|1=Template:ISO 3166 conversion template doc|content=

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 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.




 * 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.