en_GB and en-GB ?
ISO 639-1 (language) and ISO 3166>
A locale is a combination of language and region (usually a country).
The separator ca be _ or -, but the recommended one is dash.
Probably you are looking for BCP-47 standard that make use of language codes from ISO 639-1 and region/country codes from ISO 3166-1 alpha-2 (usually written in upper case).
You can find more information about them here http://blog.i18n.ro/simplified-locale-codes/