# Module:ISO 639 name/doc



**Module:ISO 639 name** implements:  
- 
- 

## Data mapping
For code-to-name mapping, this module uses data from:  
- Module:Language/data/ISO 639-1 – from IANA language-subtag-registry file; this data used only for ISO 639-1 language codes / names listed there
- Module:Language/data/ISO 639-2 – from Codes for the Representation of Names of Languages
- Module:Language/data/ISO 639-2B – from Codes for the Representation of Names of Languages
- Module:Language/data/ISO 639-3 – from sil.org UTF-8 Complete Code Tables Set
- Module:Language/data/ISO 639-5 – from Codes for the Representation of Names of Languages Part 5
- Module:Language/data/ISO 639 deprecated – from ISO 639-2/RA Change Notice and ISO 639-5 Change Notice includes:
  - Module:Language/data/ISO 639-3 (dep) – from sil.org UTF-8 Complete Code Tables Set (Retirements)
- Module:Language/data/ISO 639 override – code to name mapping where the name is different from the name in the ISO 639 standard
For name-to-code mapping, this module uses data from:  
- Module:Language/data/ISO 639 name to code – names and codes extracted from the code-to-name data set above

## Testcases
- Module:ISO 639 name/testcases (run)
- code_to_name
  - Module:ISO 639 name/testcases/ISO 639-1 name from code (run)
  - Module:ISO 639 name/testcases/ISO 639-2 name from code (run)
  - Module:ISO 639 name/testcases/ISO 639-3-1 name from code (A–H) (run)
  - Module:ISO 639 name/testcases/ISO 639-3-2 name from code (I–N) (run)
  - Module:ISO 639 name/testcases/ISO 639-3-3 name from code (O–Z) (run)
  - Module:ISO 639 name/testcases/ISO 639-5 name from code (run)
  - Module:ISO 639 name/testcases/ISO 639 deprecated name from code (run)
- name_to_code
  - Module:ISO 639 name/testcases/ISO 639-1 code from name (run)
  - Module:ISO 639 name/testcases/ISO 639-2 code from name (run)
  - Module:ISO 639 name/testcases/ISO 639-3-1 code from name (A–H) (run)
  - Module:ISO 639 name/testcases/ISO 639-3-2 code from name (I–N) (run)
  - Module:ISO 639 name/testcases/ISO 639-3-3 code from name (O–Z) (run)
  - Module:ISO 639 name/testcases/ISO 639-5 code from name (run)
  - Module:ISO 639 name/testcases/ISO 639 deprecated code from name (run)

## Tracking categories
- 

## iso_639_code_exists
Returns <code>true</code> when <code>&lt;></code> is found in one of the ISO 639-1, -2, -3, -5, or override tables; returns nil else.  

Useage:  
:<code>&lt;>}}</code>  

Examples:  
:without required <code>&lt;></code>:  
::<code></code> →  
:with valid <code>&lt;></code>:  
::<code></code> →  
:with invalid <code>&lt;></code>:  
::<code></code> →  

## iso_639_code_to_name
Returns language name associated with <code>&lt;></code>. May return an error message with or without a language name.  

Optional parameters:  
:: suppresses error messages  
:: creates link to en.wiki article about the language  
:: – requires ; label for the language-name link: <code>&lt;> language|&lt;>]]</code>  
:: queries part tables only; returns language name as defined in the base data tables without the removal of disambiguation information  
Examples:  
:without required <code>&lt;></code>:  
::<code></code> →  
:with valid <code>&lt;></code>:  
::<code></code> →  
:with invalid <code>&lt;></code>:  
::<code></code> →  
:with invalid <code>&lt;></code> (IETF language tag):  
::<code></code> →  
:with invalid <code>&lt;></code>, error message suppressed:  
::<code></code> →  
:linked:  
::<code></code> →  
:linked with alternate spelling:  
::<code></code> →  
:ISO 639-1 code <code>el</code> is normally overridden by a setting in Module:Language/data/ISO_639_override:  
::<code></code> →  
:ISO 639-1 code <code>el</code> with override suppressed:  
::<code></code> →  
:ISO 639-3 code <code>ina</code> name has disambiguation that is normally suppressed:  
::<code></code> →  
:ISO 639-3 code <code>ina</code> with disambiguation:  
::<code></code> →  

## iso_639_code_1_to_name
Same as <code>iso_639_code_to_name</code> except that <code>&lt;></code> must be an ISO 639-1 code; search is constrained to Module:Language/data/ISO 639 override and Module:Language/data/ISO 639-1.  

Example:  
:with valid <code>&lt;></code>:  
::<code></code> →  
:with invalid <code>&lt;></code>:  
::<code></code> →  

## iso_639_code_2_to_name
Same as <code>iso_639_code_to_name</code> except that <code>&lt;></code> must be an ISO 639-2 code; search is constrained to Module:Language/data/ISO 639 override and Module:Language/data/ISO 639-2.  

Example:  
:with valid <code>&lt;></code>:  
::<code></code> →  
:with invalid <code>&lt;></code>:  
::<code></code> →  

## iso_639_code_2B_to_name
Same as <code>iso_639_code_to_name</code> except that <code>&lt;></code> must be an ISO 639-2B code; search is constrained to Module:Language/data/ISO 639 override and Module:Language/data/ISO 639-2B.  

Example:  
:with valid <code>&lt;></code>:  
::<code></code> →  
:with invalid <code>&lt;></code>:  
::<code></code> →  

## iso_639_code_3_to_name
Same as <code>iso_639_code_to_name</code> except that <code>&lt;></code> must be an ISO 639-3 code; search is constrained to Module:Language/data/ISO 639 override and Module:Language/data/ISO 639-3.  

Example:  
:with valid <code>&lt;></code>:  
::<code></code> →  
:with invalid <code>&lt;></code>:  
::<code></code> →  

## iso_639_code_5_to_name
Same as <code>iso_639_code_to_name</code> except that <code>&lt;></code> must be an ISO 639-5 code; search is constrained to Module:Language/data/ISO 639 override and Module:Language/data/ISO 639-5.  

Example:  
:with valid <code>&lt;></code>:  
::<code></code> →  
:with invalid <code>&lt;></code>:  
::<code></code> →  

## iso_639_name_exists
Returns <code>true</code> when <code>&lt;></code> is found in one of the ISO 639-1, -2, -3, -5, or override tables; returns nil else.  

Useage:  
:<code>&lt;>}}</code>  

Examples:  
:without required <code>&lt;></code>:  
::<code></code> →  
:with valid <code>&lt;></code>:  
::<code></code> →  
:with invalid <code>&lt;></code>:  
::<code></code> →  

## iso_639_name_to_code
Returns ISO 639 language code associated with <code>&lt;></code>. May return an error message with or without a language name.  

This function may not be particularly useful because, except for case, <code>&lt;></code> must exactly match the name in the data tables.  

Optional parameters:  
:<code>&lt;></code> (second positional parameter) – limits return to codes from the specified <code>&lt;></code> (<code>1</code>, <code>2</code>, <code>3</code>, <code>5</code>), override table first then the appropriate data table; when not supplied, this function searches in order part 1 to part 5. The search stops when a match is found.  
:: suppresses error messages  

Examples:  
:without <code>&lt;></code>, with ISO 639-5 name:  
::<code></code> →  
:with <code>&lt;></code>:  
::<code></code> →  

## iso_639
When given an ISO 639 language code, return the associated language name; when given a language name, returns the associated ISO 639 language code. May return an error message with or without a language code/name.  

This function may not be particularly useful because, except for case, a provided <code>&lt;></code> must exactly match the name in the data tables.  

Optional parameters:  
:<code>&lt;></code> (second positional parameter) – limits return to codes/names from the specified <code>&lt;></code> (<code>1</code>, <code>2</code>, <code>3</code>, <code>5</code>), override table first then the appropriate data table; when not supplied, this function searches in order part 1 to part 5. The search stops when a match is found.  
:: suppresses error messages  

Examples:  
:without <code>&lt;></code>, with ISO 639-5 code:  
::<code></code> →  
:without <code>&lt;></code>, with ISO 639-5 name:  
::<code></code> →  
:with <code>&lt;></code> and <code>&lt;></code>:  
::<code></code> →  
:with <code>&lt;></code> and <code>&lt;></code>:  
::<code></code> →  

<includeonly></includeonly>