Manage locale names like "es-MX"

Spanish has many variants (Spain uses Euros, Mexico (and many other Latin American countries) uses Pesos. So there's a need to support locale names like "es", "es-MX", "es-AR", etc.