iso.org sells them, but it's $140 USD for just the ISO 639-1 codes. That's just absurd. Also, wikipedia says that the ISO 639-1 code for brazilian portugues is 'pt-BR', yet ISO 693-1 standard use just 2 letters. Can anyone explain the reason behind that?
You can get a full list of ISO639-1 codes as a SKOS concept (rdf) in various formats from the Library of Congress website: http://id.loc.gov/vocabulary/iso639-1.html ISO639-2 is a more complete list of 3 letter country codes (over 500 vs 180 for iso639-1) is also available on the website.
The "pt-BR" code for Brazilian Portuguese you mention is not actually the ISO639-1 code, but a composite code made up of the ISO639-1 code for portuguese "pt" and the ISO3166-1 country code for Brazil "BR". These are combined following best practice defined in RFC5646: https://www.rfc-editor.org/rfc/rfc5646 .
The good news is, as you see in RFC5646, there is a standard for saying "Portuguese as spoken in Brazil": "pt-BR", so anyone wanting to tag something as Brazilian Portuguese would construct the tag this way. The bad news is that, as of yet, i cannot find an authoritative list of these defined as resources :( Hope this helps!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With