The ISO 639-1 is an international standard that defines the codes that uniquely represent the names of languages. It uses a two-letter code set and currently supports more than 180 languages. Although it was devised primarily for use in terminology, lexicography, and linguistics, later, it became widely used in computerized systems (software). Since the initial version, this standard has undergone several revisions and is still maintained.
Typical use cases for language codes are to organize data presentations, to choose the correct localizations and translations in software, and as a shorthand designation for longer forms of language names.
The ISO 639-1 language codes should be considered case-insensitive. However, there is an unwritten rule that they are usually used in lower case.
What are the differences between ISO 639-1 and ISO 639-2?
Both are part of the ISO 639 language code standard. The ISO 639-1 is the two-letter code set, whereas ISO 639-2 is the three-letter code set. Thus, the basic difference between these two code sets is in the scope. The scope of the ISO 639-1 is more restrictive and is focused on major languages of the world. On the other hand, ISO 639-2 covers a larger number of languages due to its less restrictive scope.
How does ISO 639-1 include language variation for a particular country?
The ISO 639-1 standard by itself does not support country-specific language variations. However, it allows combining the language code with a country code from ISO 3166 to denote the area in which a language is used.
Locale code en-US represents English spoken in the USA.
How does ISO 639-1 make distinctions between language scripts?
The ISO 639-1 standard by itself does not support script-specific language variations. However, it allows combining the language code with a script code from ISO 15924 to denote the script in which a language is used.
Locale code zh-Hans represents the simplified Chinese language. Locale code sr-Cyrl represents Serbian written in Cyrillic script.