If the first subtag is:
Two characters long, it's a language code from the ISO 639[1]and 639-1 standards
[1] See ISO standard 639, "Codes for the representation of names of languages."
Three characters long, it's a language code listed in the ISO 639-2[2] standard
[2] See ISO 639-2, "Codes for the representation of names of languagesPart 2: Alpha-3 code."
The letter "i," the language tag is explicitly IANA-registered
The letter "x," the language tag is a private, nonstandard, extension subtag
The ISO 639 and 639-2 names are summarized in Table G-2.