ISO 639

Jump to navigation Jump to search

ISO 639 is a set of standards by the International Organization for Standardization that is concerned with representation of names for languages and language groups.

It was also the name of the original standard, approved in 1967 (as ISO 639/R)[1] and withdrawn in 2002.[2] The ISO 639 set consists of five parts.

Use of ISO 639 codes[edit]

The language codes defined in the several sections of ISO 639 are used for bibliographic purposes and, in computing and internet environments, as a key element of locale data. The codes also find use in various applications, such as Wikipedia URLs for its different language editions.

Delimiting languages[edit]

A multilingual page is contained by the CSS class "multilingual", with text in every language contained within the class "lang-xx", where xx is a lowercase ISO 639 two-letter or three-letter language code and the lang attribute. The lang attribute is contextually more correct, but the CSS required to hook into it is not supported by all browsers. If there is no two-letter code, the lowercase three-letter code is used. For text in an unknown language "und", (undetermined) is used.

Current and historical parts of the standard[edit]

Standard Name (Codes for the representation of names of languages – ...) Registration Authority First edition Current No. in list (as of 9 April 2019)
ISO 639-1 Part 1: Alpha-2 code Infoterm 1967 (as ISO 639) 2002 184
ISO 639-2 Part 2: Alpha-3 code Library of Congress 1998 1998 507[3][4]
ISO 639-3 Part 3: Alpha-3 code for comprehensive coverage of languages SIL International 2007 2007 7,863 + local range[5]
ISO 639-4 Part 4: Implementation guidelines and general principles for language coding ISO/TC 37/SC 2 2010-07-16 2010-07-16 (not a list)
ISO 639-5 Part 5: Alpha-3 code for language families and groups Library of Congress 2008-05-15 2013-02-11[6] 115[7]
ISO 639-6 (withdrawn) Part 6: Alpha-4 representation for comprehensive coverage of language variants Geolang 2009-11-17 withdrawn 21,000+

Each part of the standard is maintained by a maintenance agency, which adds codes and changes the status of codes when needed. ISO 639-6 was withdrawn in 2014.[8]

Characteristics of individual codes[edit]


  • Individual languages
  • Macrolanguages (part 3)
  • Collections of languages (part 1, 2, 5) (part 1 contains only 1 collection: bh; most collections are in part 2, and a few were added in part 5)
    • Group
    • Rest group
  • Dialects
  • Reserved for local use (part 2, 3)
  • Special situations (part 2, 3)

Types (for individual languages):

  • Living languages (part 2, 3) (all macrolanguages are living languages)[9]
  • Extinct languages (part 2, 3) (608,[10] five in part 2 chb, chg, cop, lui, sam; none in part 1)
  • Ancient languages (part 1, 2, 3) (124,[11] 19 are in part 2; and 5 of them, namely ave, chu, lat, pli and san, also have a code in part 1: ae, cu, la, pi, sa)
  • Historical languages (part 2, 3) (83,[12] 16 of them are in part 2, none has part 1 code)
  • Constructed languages (part 2, 3) (21,[13] 9 in part 2: epo, ina, ile, ido, vol, afh, jbo, tlh, zbl; five in part 1: eo, ia, ie, io, vo)

Bibliographic and terminology codes

  • Bibliographic (part 2)
  • Terminology (part 2)

Relations between the parts[edit]

The different parts of ISO 639 are designed to work together, in such a way that no code means one thing in one part and something else in another. However, not all languages are in all parts, and there is a variety of different ways that specific languages and other elements are treated in the different parts. This depends, for example, whether a language is listed in parts 1 or 2, whether it has separate B/T codes in part 2, or is classified as a macrolanguage in part 3, and so forth.

These various treatments are detailed in the following chart. The first four columns contain codes for a representative language that exemplifies a specific type of relation between the parts of ISO 639. The last column provides an explanation of the relationship, and the "#" column indicates the number of elements that have that type of relationship. For example, there are four elements that have a code in part 1, have a B/T code, and are classified as macrolanguages in part 3. One representative of these four elements is "Persian" [fas].

ISO 639-1 ISO 639-2 ISO 639-3 ISO 639-5 # Description of example
en eng eng (-) 129 Languages with one code in each part. (There 184 in Part 1, subtract all special cases for Part 1 codes, 184-2-28-13-3-4-2-1-1-1=129)
nb nob nob (-) 2 An individual language that belongs to macrolanguage (nor), with same code in Part 2 and also has a code in Part 1. The two codes are: nob, non
ar ara ara (M) (-) 28 Part 3 macro, 62 macrolanguages total, subtract special cases, 62-25-4-1-1-3=28
de ger/deu (B/T) deu (-) 13 Elements that have separate B and T codes in part 2, but not in any of the special cases in succeeding lines. 22 total, subtract special cases, 22-3-4-2=13.
cs cze/ces (B/T) ces (-) 3 An element with separate B/T codes and the letters from the Part 1 code are not the first two letters of the Part 2 T code. The codes are cs/ces, mi/mri, sk/slk
fa per/fas (B/T) fas (M) (-) 4 Macrolanguages in part 3 with separate B/T codes in part 2; the four T codes are: fas, msa, sqi, zho
hr scr/hrv (B/T) hrv (-) 2 Languages with separate B/T codes in part 2, but the B code is deprecated. The two T codes are: hrv, srp. Deprecated 2008-06-28.
no ("M") nor ("M") nor (M) (-) 1 Macrolanguages in part 3 which contain languages that have codes in Part 1, nor: non, nob; no: nn, nb
bh bih (-) bih 1 Bihari (bih) is marked as collective despite having an ISO 639-1 code which should only be for individual languages. The reason is that some individual Bihari languages received an ISO 639-2 code, which makes Bihari a language family for the purposes of ISO 639-2, but a single language for the purposes of ISO 639-1. The individual languages include bho, mai, mag
sh (-) hbs (M) (-) 1 Macrolanguage in part 3, no part 2 code, part 1 code deprecated
(-) (-) bnc (M) (-) 3 Macrolanguage in part 3, no part 1 or part 2 codes. The codes are bnc, kln, luy
(bh) bho bho (-) 3 Classified as individual languages in parts 2 & 3, do not belong to a macrolanguage, but in part 1 are covered by a code whose equivalent in part 2 is a collective. The three codes are: bho, mai, mag
(bh) (bih) sck (-) An individual language in part 3, no code in Part 2, does not belong to a macrolanguage, but in Part 1 is covered by a code whose equivalent in Part 2 is a collective.
(-) ast ast (-) An individual language in parts 2 & 3, no code in Part 1.
(-) bal bal (M) (-) 25 An individual language in Part 2 and macrolanguage in Part 3, no code in Part 1.
(-) mis mis (-) 1 special code: available to be used in a context where a code is required, but the language has no code
(-) mul mul (-) 1 special code: multilingual content
(-) und und (-) 1 special code: undetermined
(-) zxx zxx (-) 1 special code: no linguistic information (added 2006-01-11)
(-) qaa qaa (-) 520 reserved for local use, range is qaa ... qtz
(-) aus (-) aus regular group in Part 2
(-) afa (-) afa In Part 2 a rest group, i.e. same code but different languages included. In Part 2 "afa" refers to an Afro-Asiatic language that does not have an individual-language identifier in Part 2, and that does not fall into the rest groups "ber - Berber (Other)", "cus - Cushitic (Other)", or "sem - Semitic (Other)", all of which are Afro-Asiatic language groups.
(ar) (ara "M") arb (-) An individual language, belongs to a macrolanguage (ara) in part 3, covered by the macrolanguage code in Part 2, also covered in Part 1.
(-) (nic "R") aaa (-) No code in part 1, in Part 2 best covered by a rest group, "Niger-Kodofanian (Other)"
(-) (-) (-) sqj Languages not coded in parts 1 & 2

These differences are due to the following factors:

  • In ISO 639-2, two alternate codes are assigned to 22 languages, namely a bibliographic and a terminology code (B/T codes).[14] B codes were included for historical reasons because previous widely used bibliographic systems used language codes based on the English name for the language. In contrast, the ISO 639-1 codes were based on the native name for the language, and there was also a strong desire to have 639-2 codes (T codes) for these languages which were similar to the corresponding 2-character code in ISO 639-1.
    • For instance, the German language (Part 1: de) has two codes in Part 2: ger (B code) and deu (T code), whereas there is only one code in Part 2, eng, for the English language.
  • Parts 2 and 3 have a reserved range and four special codes:
    • Codes qaa through qtz are reserved for local use.
    • There are four special codes: mis for languages that have no code yet assigned, mul for "multiple languages", und for "undefined", and zxx for "no linguistic content, not applicable".
  • Individual languages in Part 2 always have a code in Part 3 but may or may not have a code in Part 1, as illustrated by the following examples:
    • Part 3 eng corresponds to Part 2 eng and Part 1 en
    • Part 3 ast corresponds to Part 2 ast but lacks a code in Part 1.
  • Collective codes in Part 2 have a code in Part 5, e.g. aus in Part 2 and Part 5, which stands for Australian languages.
  • one collective code in Part 2 has a code in Part 1
    • bih -> bh
  • some codes in Part 5 have no code in Part 2
    • sqj
  • some codes (#62) in Part 3 are macrolanguages, they may have
    • a Part 2 code and a Part 1 code(#1), while their containing languages also have codes in Part 1 and Part 2: nor -> nor -> no ; non, nob -> non, nob -> nn, nb
    • no Part 1 code (#28):
    • two Part 2 codes (B/T) (#4): fas, msa, sqi, zho -> per/fas, may/msa, alb/sqi, chi/zho

Code space[edit]

Alpha-2 code space[edit]

"Alpha-2" codes (for codes composed of 2 letters of the ISO basic Latin alphabet) are used in ISO 639-1. When codes for a wider range of languages were desired, more than 2 letter combinations could cover (a maximum of 262 = 676), ISO 639-2 was developed using Alpha-3 codes. (However, the latter was formally published first[15][16].)

Alpha-3 code space[edit]

"Alpha-3" codes (for codes composed of 3 letters of the ISO basic Latin alphabet) are used in ISO 639-2, ISO 639-3, and ISO 639-5. The number of languages and language groups that can be so represented is 263 = 17,576.

The common use of Alpha-3 codes by three parts of ISO 639 requires some coordination within a larger system.

Part 2 defines four special codes mis, mul, und, zxx, a reserved range qaa-qtz (20 × 26 = 520 codes) and has 22 double entries (the B/T codes). This sums up to 520 + 22 + 4 = 546 codes that cannot be used in part 3 to represent languages or in part 5 to represent language families or groups. The remainder is 17,576 – 546 = 17,030.

There are somewhere around six or seven thousand languages on Earth today.[17] So those 17,030 codes are adequate to assign a unique code to each language, although some languages may end up with arbitrary codes that sound nothing like the traditional name(s) of that language.

Alpha-4 code space[edit]

"Alpha-4" codes (for codes composed of 4 letters of the ISO basic Latin alphabet) were proposed to be used in ISO 639-6, which has been withdrawn. The upper limit for the number of languages and dialects that can be represented is 264 = 456,976.

See also[edit]

Notes and references[edit]

  1. ^ "ISO/R 639:1967". 1988-03-01. Retrieved 2012-08-05.
  2. ^ "ISO 639:1988". Retrieved 2012-08-05.
  3. ^ "Codes arranged alphabetically by alpha-3/ISO 639-2 Code". Library of Congress. 2013-07-25. Retrieved 2019-01-10.
  4. ^ "ISO-639-2 Codes". Library of Congress. Retrieved 2019-01-10.
  5. ^ "ISO 639 code tables". Retrieved 2019-01-25.
  6. ^ "ISO 639-5 Change Notice". Network Development & MARC Standards Office. Library of Congress. Retrieved December 12, 2018.
  7. ^ "ISO 639-5 codes ordered by Identifier". Network Development & MARC Standards Office. Library of Congress. Retrieved December 12, 2018.
  8. ^ ISO 639-6:2009, ISO.
  9. ^ "ISO 639 code tables: macrolanguages". Retrieved 2012-08-05.
  10. ^ "ISO 639 code tables: extinct". Retrieved 2012-08-05.
  11. ^ "ISO 639 code tables: ancient". Retrieved 2019-01-10.
  12. ^ "ISO 639 code tables: historical". Retrieved 2012-08-05.
  13. ^ "ISO 639 code tables: constructed". Retrieved 2019-02-03.
  14. ^ "ISO 639-2 – Frequently Asked Questions". 2014-05-05. Retrieved 2014-12-12.
  15. ^ "Codes for the representation of names of languages -- Part 2: Alpha-3 code". International Organization for Standards. ISO. Retrieved 10 January 2019. Publication date : 1998-10
  16. ^ "Codes for the representation of names of languages -- Part 1: Alpha-2 code". International Organization for Standards. ISO. Retrieved 15 February 2018. Publication date : 2002-07
  17. ^ "Statistical Summaries". Ethnologue. Retrieved 2012-08-05.

External links[edit]