The country-codes are copied from umpirsky/country-list. I've only added some code-locators and some translators and removed all those formats not suited for my needs.
$provider = new IcuCountryListProvider('en', 'GB');
print_r($provider->getCountries());
Array
(
[AF] => Afghanistan
[AX] => Åland Islands
[AL] => Albania
[DZ] => Algeria
[AS] => American Samoa
[AD] => Andorra
[AO] => Angola
[AI] => Anguilla
(248 more ...)
)
$provider = new IcuCountryNameLocator('en', 'GB');
echo $provider->getCountry('DE');
Germany
$provider = new EuCountryProvider('en', 'GB');
print_r($provider->getList());
Array
(
[BE] => Belgium
[BG] => Bulgaria
[CZ] => Czech Republic
[DK] => Denmark
[DE] => Germany
[EE] => Estonia
[IE] => Ireland
(22 more ...)
)