I have googled (well, DuckDuckGo\'ed, actually) till I\'m blue in the face, but cannot find a list of language codes of the type en-GB or fr-CA any
en-GB
fr-CA
One solution would be to parse this list, it would give you all of the keys needed to create the list you are looking for.
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry