Template:Lang2iso
From Wikipedia, the free encyclopedia
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 "en" is returned.
Examples:
- {{Lang2iso|German}} returns "de"
- {{Lang2iso|Greek}} returns "el"
- {{Lang2iso|Spanish}} 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:
- {{lang|de|Mädchen}}
one can transclude:
- {{lang|{{lang2iso|German}}|Mädchen}}
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)