The {{ISO 639 name}} template is used to resolve ISO 639-1, ISO 639-2, ISO 639-3 and ISO 639-5 codes to language names. It will trim extraneous IETF language tags to just the ISO 639 code. E.g.:
Sanskrit in Latin script, which IETF language tag is sa-Latn, renders as:
{{ISO 639 name|sa-Latn}} → Script error: No such module "ISO 639 name".
The error message can be suppressed with |hide-err=yes:
{{ISO 639 name|sa-Latn|hide-err=yes}} → Script error: No such module "ISO 639 name".
The rendered language name can be linked to the appropriate language article with |link=yes:
{{ISO 639 name|sa-Latn|hide-err=yes|link=yes}} → Script error: No such module "ISO 639 name".
When linking, an alternate link label can be provided with |label=<label text>:
{{ISO 639 name|sa-Latn|hide-err=yes|link=yes|label=sa-Latn}} → Script error: No such module "ISO 639 name".
The {{ISO 639 name link}} template is the same as {{ISO 639 name}} except that it presets |link=yes.
Both of these templates can be safely substituted.
This template can be used to execute any of the functions exported by Module:ISO 639 name. These function are:
iso_639_code_exists – returns true if <code> is found in any of the ISO 639 data tables
iso_639_code_to_name – (default) as described above
iso_639_code_1_to_name – same as iso_639_code_to_name except constrained to the ISO 639-1 data table
iso_639_code_2_to_name – same as iso_639_code_to_name except constrained to the ISO 639-2 data table
iso_639_code_2B_to_name – same as iso_639_code_to_name except constrained to the ISO 639-2B data table
iso_639_code_3_to_name – same as iso_639_code_to_name except constrained to the ISO 639-3 data table
iso_639_code_5_to_name – same as iso_639_code_to_name except constrained to the ISO 639-5 data table
iso_639_name_exists – returns true if <name> is found in any of the ISO 639 data tables
iso_639_name_to_code – returns language code associated with <name>; may be constrained to a particular ISO 639 data table
iso_639 – returns language name when given a valid language code; returns a language code when given a valid language name; may be constrained to a particular ISO 639 data table
To use these functions set |fn= to the appropriate function name.
This template produces error messages. These messages are:
Tɛmplet:Error-small – IETF language tags are not ISO 639 language codes. When these tags are encountered, the template attempts to render the correct language and also emits this error message
Tɛmplet:Error-small – where <part> is 1, 2, 3, 5; template was called without the required language code
Tɛmplet:Error-small – <code> fails simple length validation; 639 part 1, language codes are two characters, for 639 parts 2, 3, and 5, language codes are three characters
The module that does the work for this template has other functionality not supported by this template. See Module:ISO 639 name. Error messages related to that other functionality are:
Tɛmplet:Error-small – module function iso_639_name_to_code() only – this message emitted when a language name is not provided in the {{#invoke:}}
Tɛmplet:Error-small – module functions iso_639_name_to_code() and iso_639() only – this message emitted when <part> is not one of 1, 2, 3, or 5
Tɛmplet:Error-small – module function iso_639() only – this message emitted when a language name or a language code is not provided in the {{#invoke:}}