ISO 639-2:1998, Codes for the representation of names of languages â Part 2: Alpha-3 code, is the second part of the ISO 639 standard, which lists codes for the representation of the names of languages. The three-letter codes given for each language in this part of the standard are referred to as "Alpha-3" codes. There are 487 entries in the list of ISO 639-2 codes.
The US Library of Congress is the registration authority for ISO 639-2 (referred to as ISO 639-2/RA). As registration authority, the LOC receives and reviews proposed changes; they also have representation on the ISO 639-RA Joint Advisory Committee responsible for maintaining the ISO 639 code tables.
Work was begun on the ISO 639-2 standard in 1989, because the ISO 639-1 standard, which uses only two-letter codes for languages, is not able to accommodate a sufficient number of languages. The ISO 639-2 standard was first released in 1998.
In practice, ISO 639-2 has largely been superseded by ISO 639-3 (2007), which includes codes for all the individual languages in ISO 639-2 plus many more. It also includes the special and reserved codes, and is designed not to conflict with ISO 639-2. ISO 639-3, however, does not include any of the collective languages in ISO 639-2; most of these are included in ISO 639-5.
While most languages are given one code by the standard, twenty of the languages described have two three-letter codes, a "bibliographic" code (ISO 639-2/B), which is derived from the English name for the language and was a necessary legacy feature, and a "terminological" code (ISO 639-2/T), which is derived from the native name for the language and resembles the language's two-letter code in ISO 639-1. There were originally 22 B codes; and are deprecated.
In general the T codes are favored; ISO 639-3 uses ISO 639-2/T.
The codes in ISO 639-2 have a variety of "scopes of denotation", or types of meaning and use, some of which are described in more detail below.
Macrolanguages and collective languages are defined in ISO 639-3/RA: Scope of denotation for language identifiers.
Individual languages are further classified as to type:
Some ISO 639-2 codes that are commonly used for languages do not precisely represent a particular language or some related languages (as the above macrolanguages). They are regarded as collective language codes and are excluded from ISO 639-3.
The collective language codes in ISO 639-2 are listed below. Some language groups are noted to be remainder groups, that is excluding languages with their own codes, while other are not. Remainder groups are <code>afa</code>, <code>alg</code>, <code>art</code>, <code>ath</code>, <code>bat</code>, <code>ber</code>, <code>bnt</code>, <code>cai</code>, <code>cau</code>, <code>cel</code>, <code>crp</code>, <code>cus</code>, <code>dra</code>, <code>fiu</code>, <code>gem</code>, <code>inc</code>, <code>ine</code>, <code>ira</code>, <code>khi</code>, <code>kro</code>, <code>map</code>, <code>mis</code>, <code>mkh</code>, <code>mun</code>, <code>nai</code>, <code>nic</code>, <code>paa</code>, <code>roa</code>, <code>sai</code>, <code>sem</code>, <code>sio</code>, <code>sit</code>, <code>sla</code>, <code>ssa</code>, <code>tai</code> and <code>tut</code>, while inclusive groups are <code>apa</code>, <code>arn</code>, <code>arw</code>, <code>aus</code>, <code>bad</code>, <code>bai</code>, <code>bih</code>, <code>cad</code>, <code>car</code>, <code>chb</code>, <code>cmc</code>, <code>cpe</code>, <code>cpf</code>, <code>cpp</code>, <code>dua</code>, <code>hmn</code>, <code>iro</code>, <code>mno</code>, <code>mul</code>, <code>myn</code>, <code>nub</code>, <code>oto</code>, <code>phi</code>, <code>sgn</code>, <code>wak</code>, <code>wen</code>, <code>ypk</code> and <code>znd</code>.
The following code is identified as a collective code in ISO 639-2 but is (at present) missing from ISO 639-5:
Codes registered for 639-2 that are listed as collective codes in ISO 639-5 (and collective codes by name in ISO 639-2):
The interval from to is "reserved for local use" and is not used in ISO 639-2 nor in ISO 639-3. These codes are typically used privately for languages not (yet) in either standard. Microsoft Windows uses the language code for pseudo-locales generated automatically from English strings, designed for testing software localization.
There are four generic codes for special situations:
These four codes are also used in ISO 639-3.