Template:Lang2iso

This template, Lang2iso, takes an English-language language name (such as "Abkhazian" or "Sinhalese") and converts it into a two-letter ISO 639 language code. This table's values are based on List of ISO 639-1 codes. (Some additions to ISO 639-1 codes are identified below.) If the provided language name is not identified, then the default value of "  " is returned.

This template should be subst:ed, not transcluded. Editors can also consult List of ISO 639-1 codes and insert the code manually.

Examples:


 * returns "de"
 * returns "el"
 * returns "es"

Purpose:

Since most users will know a language's name but not its ISO code, this template/macro is meant to facilitate invocations of other templates such as Template:Lang. Thus, instead of recalling (or having to know) that the ISO code for German is "de" and transcluding:


 * Mädchen

one can transclude:



This also reduces the number of parameters that need to be passed to some language routines (such as those similar to Template:langWithName) since the ISO Language Code can now be derived from the ISO Language Name.

Additions to ISO 639-1 Alpha-2 codes:

Not all languages have ISO 639-1 codes. Thus, as time goes on, users are encouraged to add standard or ad hoc conversions to this table as needed. Thus far, the following additions to ISO 639-1 have been added:

ISO codes
 * "Devanāgarī", "Devanagari", "Devanagiri" and "Devangari" return "deva" (per ISO 15924)
 * "Klingon" and "Klingonese" return "tlh" (per ISO 639-2)
 * "Manipuri" returns "mni" (per ISO 639-2)
 * "Prakrit" returns "pra" (per ISO 639-2)
 * "Simplified Chinese" returns "hans" (per ISO 15924)
 * "Traditional Chinese" returns "hant" (per ISO 15924)

Ad hoc codings
 * "East Asian" returns "zh" (Chinese)