There are many standardized code sets—R’s countrycode package lists around 30—but only two are commonly used: 2 and 3 letter ISO codes. Of these, you should always use the 3 letter codes (technically ISO 3166-1 alpha-3). Why # There are only 26 English letters, so the space of 2 letter combinations has only 26 × 26 ≈ 600 codes. The ISO 3166-1 official site is probably the most updated source for the two-letter codes. Unfortunately, they don't have the alpha-3 online, quoting their site: Where can I find the ISO 3166-1 alpha-3 country code for free download on the ISO 3166/MA Website? In my previous PR Support ISO 3166-1 Alpha-3 country codes I added support not only for alpha-3 country codes, but also extended the Languages class to support ISO 639-2 three-letter language codes. My focus was on the country codes, and with the country codes it was easy to get it right because all countries have one alpha2 code and one alpha3 Simply map the 2-letter ISO-639-1 codes to 3-letter ISO 639-* codes. >>> import pycountry >>> lang = pycountry.languages.get (alpha2='aa') >>> lang.terminology u'aar'. where the terminology form is the preferred 3-letter code; there is also a bibliography form which differs only for 22 entries. See ISO 639-2 B and T codes. ISO 4217 code is used for national currency, in this case the Serbian dinar. This three-letter code is composed of, by rule, first two letters of the ISO 3166-1 alpha-2 and a third letter is initial of the currency itself: RSD. Exceptions from the rule are made only in the third letter, if that suits the country better, that is however not the Returns an array of ISO-defined language codes. Discussion. The returned array contains two-letter codes defined by ISO 639, as well as three-letter codes without a two-letter equivalent. ISO-3166 Country Codes and ISO-639 Language Codes This chapter contains the tables which provide the list of ISO Codes. Table 20-1 provides the list of the ISO-3166 Country Codes and Table 20-2 lists the ISO-639 Language Codes In the past, the language tag values were defined by RFC 3066 Tags for the Identification of Languages (and its predecessor RFC 1766) and they began with either a ISO 639-1 two-letter language code or ISO 639-2 three-letter code. For some languages there were both two-letter and three-letter alternatives in the ISO codes. (And for some 1 Control-C has typically been used as a "break" or "interrupt" key. 2 Control-D has been used to signal "end of file" for text typed in at the terminal on Unix / Linux systems. Windows, DOS, and older minicomputers used Control-Z for this purpose. 3 Control-G is an artifact of the days when teletypes were in use. Google Translate Languages. This is a list of languages and their ISO languages Codes that are currently supported by Google Translate. When sending the translation request to the Language Translation API, as in the case of translating RSS Feeds, always make sure that the two language codes are different. Language Name. Language Code. Afrikaans. cDetBd.