(changed title so as not to confuse future readers)
Is this an authoritative list of languages I can use for my application?
From: http://en.wikipedia.org/wiki/ISO_639-1 --> http://www.infoterm.info/standardization/iso_639_1_2002.php
ISO Language Codes
ISO 639-1:2002
Codes for the representation of names of languages -- Part 1: Alpha-2 code
Infoterm has been designated the Registration Authority (ISO 639-1/RA) for the language alpha-2 language code contained in ISO 639-1:2002 "Codes for the representation of names of languages - Part 1: Alpha-2 code / Codes pour la représentation des noms de langue - Partie 1 : Code alpha-2".
-1 is old. -3 is newer and more complete.