Method to populate popup with country names?

There’s a trivial way in Cocoa to populate a popup menu with a list of all countries (see code, below).

Is there a Xojo-accessible method for doing the same? (I looked, but didn’t find one)

	NSMutableArray *countryNamesArray = [NSMutableArray array];
	NSLocale *current = [NSLocale currentLocale];
	for (NSString *countryCode in [NSLocale ISOCountryCodes])
	{
		[countryNamesArray addObject:[current displayNameForKey:NSLocaleCountryCode value:countryCode]];
	}
	
	[countryPopupButton addItemsWithTitles:countryNamesArray];

there are so much codes, it is better to have them in a pop up window with a search.

you could use
Add To … Event Handler

Function ConstructContextualMenu(base As DesktopMenuItem, x As Integer, y As Integer) Handles ConstructContextualMenu as Boolean
  
  'by sqlite database query?
  Var codes() As Pair = Array(New Pair("Germany","DE"),New Pair(" France","FR"))
  
  For Each c As Pair In codes
    Var menu As New DesktopMenuItem
    menu.Text = c.Left
    menu.Tag = c.Right
    'menu.Icon = ...
    base.AddMenu menu
  Next
  
End Function
Function ContextualMenuItemSelected(selectedItem As DesktopMenuItem) Handles ContextualMenuItemSelected as Boolean
  '...
End Function

i think xojo did not offer this kind of list. only a enum in Localization.
the list itself i saw in

1 Like

I need to get a Patreon going or something, I built a subclass that does just this a couple of weeks ago. It wasn’t particularly difficult. Find list of countries + codes online, store as constant, parse into menu on Open.

I use one of the many available web APIs (such as https://restcountries.com/v2/all) and cache the result locally for 30-60 days before refreshing the data.

It seems as if there should be a Win32 function that lets one iterate through the numeric country codes and returns the alphabetic name as a string…

Like GetUserDefaultGeoName?
Takes a 2 character code input and returns the name in windows 10 onwards

There are 676 possible 2 letter combinations, you could run through them all , some will not exist of course.

No, there’s an actual integer numeric code (“ISO 3166-1 numeric codes”), which go from 004 (“Afghanistan”") to 894 (“Zambia”). United States is 840.

If a hardcoded list of countries is OK for you, here is my Method along with their dial codes. Plus a short-to-long country code to country name converter:

Protected Function getCountries(includephoneCode As Boolean = False, myBrackets As String = "", westernAtFront As Boolean = True) As String()
  Var allPhoneCodes(-1) As String
  Var myPhoneCodes(-1) As String
  Var tempString As String
  
  If westernAtFront Then
    allPhoneCodes.AddRow("61«T»Australia")
    allPhoneCodes.AddRow("1«T»Canada")
    allPhoneCodes.AddRow("64«T»New Zealand")
    allPhoneCodes.AddRow("44«T»United Kingdom")
    allPhoneCodes.AddRow("1«T»United States of America")
    allPhoneCodes.AddRow("-")
  End If
  
  allPhoneCodes.AddRow("99544«T»Abkhazia")
  allPhoneCodes.AddRow("93«T»Afghanistan")
  allPhoneCodes.AddRow("355«T»Albania")
  allPhoneCodes.AddRow("213«T»Algeria")
  allPhoneCodes.AddRow("1684«T»American Samoa")
  allPhoneCodes.AddRow("376«T»Andorra")
  allPhoneCodes.AddRow("244«T»Angola")
  allPhoneCodes.AddRow("1264«T»Anguilla")
  allPhoneCodes.AddRow("672«T»Antarctica")
  allPhoneCodes.AddRow("1268«T»Antigua and Barbuda")
  allPhoneCodes.AddRow("54«T»Argentina")
  allPhoneCodes.AddRow("374«T»Armenia")
  allPhoneCodes.AddRow("297«T»Aruba")
  allPhoneCodes.AddRow("247«T»Ascension Island")
  If Not westernAtFront Then allPhoneCodes.AddRow("61«T»Australia")
  allPhoneCodes.AddRow("43«T»Austria")
  allPhoneCodes.AddRow("994«T»Azerbaijan")
  allPhoneCodes.AddRow("1242«T»Bahamas")
  allPhoneCodes.AddRow("973«T»Bahrain")
  allPhoneCodes.AddRow("880«T»Bangladesh")
  allPhoneCodes.AddRow("1246«T»Barbados")
  allPhoneCodes.AddRow("375«T»Belarus")
  allPhoneCodes.AddRow("32«T»Belgium")
  allPhoneCodes.AddRow("501«T»Belize")
  allPhoneCodes.AddRow("229«T»Benin")
  allPhoneCodes.AddRow("1441«T»Bermuda")
  allPhoneCodes.AddRow("975«T»Bhutan")
  allPhoneCodes.AddRow("591«T»Bolivia")
  allPhoneCodes.AddRow("5997«T»Bonaire")
  allPhoneCodes.AddRow("387«T»Bosnia and Herzegovina")
  allPhoneCodes.AddRow("267«T»Botswana")
  allPhoneCodes.AddRow("47«T»Bouvet Island")
  allPhoneCodes.AddRow("55«T»Brazil")
  allPhoneCodes.AddRow("246«T»British Indian Ocean Territory")
  allPhoneCodes.AddRow("1284«T»British Virgin Islands")
  allPhoneCodes.AddRow("673«T»Brunei")
  allPhoneCodes.AddRow("359«T»Bulgaria")
  allPhoneCodes.AddRow("226«T»Burkina Faso")
  allPhoneCodes.AddRow("95«T»Burma")
  allPhoneCodes.AddRow("257«T»Burundi")
  allPhoneCodes.AddRow("855«T»Cambodia")
  allPhoneCodes.AddRow("237«T»Cameroon")
  If Not westernAtFront Then allPhoneCodes.AddRow("1«T»Canada")
  allPhoneCodes.AddRow("238«T»Cape Verde")
  allPhoneCodes.AddRow("1345«T»Cayman Islands")
  allPhoneCodes.AddRow("236«T»Central African Republic")
  allPhoneCodes.AddRow("235«T»Chad")
  allPhoneCodes.AddRow("56«T»Chile")
  allPhoneCodes.AddRow("86«T»China«T»Mainland)")
  allPhoneCodes.AddRow("6189164«T»Christmas Island")
  allPhoneCodes.AddRow("6189162«T»Cocos Islands")
  allPhoneCodes.AddRow("57«T»Colombia")
  allPhoneCodes.AddRow("269«T»Comoros")
  allPhoneCodes.AddRow("682«T»Cook Islands")
  allPhoneCodes.AddRow("506«T»Costa Rica")
  allPhoneCodes.AddRow("225«T»Côte d'Ivoire")
  allPhoneCodes.AddRow("385«T»Croatia")
  allPhoneCodes.AddRow("53«T»Cuba")
  allPhoneCodes.AddRow("5999«T»Curacao")
  allPhoneCodes.AddRow("357«T»Cyprus")
  allPhoneCodes.AddRow("420«T»Czech Republic")
  allPhoneCodes.AddRow("243«T»Democratic Republic of the Congo")
  allPhoneCodes.AddRow("45«T»Denmark")
  allPhoneCodes.AddRow("253«T»Djibouti")
  allPhoneCodes.AddRow("1767«T»Dominica")
  allPhoneCodes.AddRow("1809«T»Dominican Republic")
  allPhoneCodes.AddRow("1829«T»Dominican Republic")
  allPhoneCodes.AddRow("1849«T»Dominican Republic")
  allPhoneCodes.AddRow("670«T»East Timor")
  allPhoneCodes.AddRow("593«T»Ecuador")
  allPhoneCodes.AddRow("20«T»Egypt")
  allPhoneCodes.AddRow("503«T»El Salvador")
  allPhoneCodes.AddRow("44«T»England")
  allPhoneCodes.AddRow("240«T»Equatorial Guinea")
  allPhoneCodes.AddRow("291«T»Eritrea")
  allPhoneCodes.AddRow("372«T»Estonia")
  allPhoneCodes.AddRow("251«T»Ethiopia")
  allPhoneCodes.AddRow("500«T»Falkland Islands")
  allPhoneCodes.AddRow("298«T»Faroe Islands")
  allPhoneCodes.AddRow("691«T»Federated States of Micronesia")
  allPhoneCodes.AddRow("679«T»Fiji")
  allPhoneCodes.AddRow("358«T»Finland")
  allPhoneCodes.AddRow("33«T»France")
  allPhoneCodes.AddRow("594«T»French Guiana")
  allPhoneCodes.AddRow("689«T»French Polynesia")
  allPhoneCodes.AddRow("262«T»French Southern Territories")
  allPhoneCodes.AddRow("241«T»Gabon")
  allPhoneCodes.AddRow("220«T»Gambia")
  allPhoneCodes.AddRow("995«T»Georgia")
  allPhoneCodes.AddRow("49«T»Germany")
  allPhoneCodes.AddRow("233«T»Ghana")
  allPhoneCodes.AddRow("350«T»Gibraltar")
  allPhoneCodes.AddRow("30«T»Greece")
  allPhoneCodes.AddRow("299«T»Greenland")
  allPhoneCodes.AddRow("1473«T»Grenada")
  allPhoneCodes.AddRow("590«T»Guadeloupe)")
  allPhoneCodes.AddRow("1671«T»Guam")
  allPhoneCodes.AddRow("502«T»Guatemala")
  allPhoneCodes.AddRow("441481«T»Guernsey")
  allPhoneCodes.AddRow("224«T»Guinea")
  allPhoneCodes.AddRow("245«T»Guinea-Bissau")
  allPhoneCodes.AddRow("592«T»Guyana")
  allPhoneCodes.AddRow("509«T»Haiti")
  allPhoneCodes.AddRow("672«T»Heard and McDonald Islands")
  allPhoneCodes.AddRow("504«T»Honduras")
  allPhoneCodes.AddRow("852«T»Hong Kong")
  allPhoneCodes.AddRow("36«T»Hungary")
  allPhoneCodes.AddRow("354«T»Iceland")
  allPhoneCodes.AddRow("91«T»India")
  allPhoneCodes.AddRow("62«T»Indonesia")
  allPhoneCodes.AddRow("98«T»Iran")
  allPhoneCodes.AddRow("964«T»Iraq")
  allPhoneCodes.AddRow("353«T»Ireland")
  allPhoneCodes.AddRow("441624«T»Isle of Man")
  allPhoneCodes.AddRow("972«T»Israel")
  allPhoneCodes.AddRow("39«T»Italy")
  allPhoneCodes.AddRow("1876«T»Jamaica")
  allPhoneCodes.AddRow("81«T»Japan")
  allPhoneCodes.AddRow("441534«T»Jersey")
  allPhoneCodes.AddRow("962«T»Jordan")
  allPhoneCodes.AddRow("7«T»Kazakhstan")
  allPhoneCodes.AddRow("254«T»Kenya")
  allPhoneCodes.AddRow("686«T»Kiribati")
  allPhoneCodes.AddRow("965«T»Kuwait")
  allPhoneCodes.AddRow("996«T»Kyrgyzstan")
  allPhoneCodes.AddRow("856«T»Laos")
  allPhoneCodes.AddRow("371«T»Latvia")
  allPhoneCodes.AddRow("961«T»Lebanon")
  allPhoneCodes.AddRow("266«T»Lesotho")
  allPhoneCodes.AddRow("231«T»Liberia")
  allPhoneCodes.AddRow("218«T»Libya")
  allPhoneCodes.AddRow("423«T»Liechtenstein")
  allPhoneCodes.AddRow("370«T»Lithuania")
  allPhoneCodes.AddRow("352«T»Luxembourg")
  allPhoneCodes.AddRow("853«T»Macau")
  allPhoneCodes.AddRow("389«T»Macedonia")
  allPhoneCodes.AddRow("261«T»Madagascar")
  allPhoneCodes.AddRow("265«T»Malawi")
  allPhoneCodes.AddRow("60«T»Malaysia")
  allPhoneCodes.AddRow("960«T»Maldives")
  allPhoneCodes.AddRow("223«T»Mali")
  allPhoneCodes.AddRow("356«T»Malta")
  allPhoneCodes.AddRow("692«T»Marshall Islands")
  allPhoneCodes.AddRow("596«T»Martinique")
  allPhoneCodes.AddRow("222«T»Mauritania")
  allPhoneCodes.AddRow("230«T»Mauritius")
  allPhoneCodes.AddRow("262«T»Mayotte")
  allPhoneCodes.AddRow("52«T»Mexico")
  allPhoneCodes.AddRow("373«T»Moldova")
  allPhoneCodes.AddRow("377«T»Monaco")
  allPhoneCodes.AddRow("976«T»Mongolia")
  allPhoneCodes.AddRow("382«T»Montenegro")
  allPhoneCodes.AddRow("1664«T»Montserrat")
  allPhoneCodes.AddRow("212«T»Morocco")
  allPhoneCodes.AddRow("258«T»Mozambique")
  allPhoneCodes.AddRow("264«T»Namibia")
  allPhoneCodes.AddRow("674«T»Nauru")
  allPhoneCodes.AddRow("977«T»Nepal")
  allPhoneCodes.AddRow("31«T»Netherlands")
  allPhoneCodes.AddRow("599«T»Netherlands Antilles")
  allPhoneCodes.AddRow("687«T»New Caledonia")
  If Not westernAtFront Then allPhoneCodes.AddRow("64«T»New Zealand")
  allPhoneCodes.AddRow("505«T»Nicaragua")
  allPhoneCodes.AddRow("227«T»Niger")
  allPhoneCodes.AddRow("234«T»Nigeria")
  allPhoneCodes.AddRow("683«T»Niue")
  allPhoneCodes.AddRow("6723«T»Norfolk Island")
  allPhoneCodes.AddRow("850«T»North Korea")
  allPhoneCodes.AddRow("90392«T»Northern Cyprus")
  allPhoneCodes.AddRow("44«T»Northern Ireland")
  allPhoneCodes.AddRow("1670«T»Northern Mariana Islands")
  allPhoneCodes.AddRow("47«T»Norway")
  allPhoneCodes.AddRow("968«T»Oman")
  allPhoneCodes.AddRow("92«T»Pakistan")
  allPhoneCodes.AddRow("680«T»Palau")
  allPhoneCodes.AddRow("970«T»Palestinian territories")
  allPhoneCodes.AddRow("507«T»Panama")
  allPhoneCodes.AddRow("675«T»Papua New Guinea")
  allPhoneCodes.AddRow("595«T»Paraguay")
  allPhoneCodes.AddRow("51«T»Peru")
  allPhoneCodes.AddRow("63«T»Philippines")
  allPhoneCodes.AddRow("64«T»Pitcairn Island")
  allPhoneCodes.AddRow("48«T»Poland")
  allPhoneCodes.AddRow("351«T»Portugal")
  allPhoneCodes.AddRow("1787«T»Puerto Rico")
  allPhoneCodes.AddRow("1939«T»Puerto Rico")
  allPhoneCodes.AddRow("974«T»Qatar")
  allPhoneCodes.AddRow("242«T»Republic of the Congo")
  allPhoneCodes.AddRow("262«T»Réunion")
  allPhoneCodes.AddRow("40«T»Romania")
  allPhoneCodes.AddRow("7«T»Russia")
  allPhoneCodes.AddRow("250«T»Rwanda")
  allPhoneCodes.AddRow("5994«T»Saba")
  allPhoneCodes.AddRow("590«T»Saint Barthélemy")
  allPhoneCodes.AddRow("5993«T»Saint Eustatius")
  allPhoneCodes.AddRow("290«T»Saint Helena")
  allPhoneCodes.AddRow("1869«T»Saint Kitts and Nevis")
  allPhoneCodes.AddRow("1758«T»Saint Lucia")
  allPhoneCodes.AddRow("590«T»Saint Martin")
  allPhoneCodes.AddRow("1784«T»Saint Vincent and the Grenadines")
  allPhoneCodes.AddRow("508«T»Saint-Pierre and Miquelon")
  allPhoneCodes.AddRow("685«T»Samoa")
  allPhoneCodes.AddRow("378«T»San Marino")
  allPhoneCodes.AddRow("239«T»São Tomé and Príncipe")
  allPhoneCodes.AddRow("966«T»Saudi Arabia")
  allPhoneCodes.AddRow("44«T»Scotland")
  allPhoneCodes.AddRow("221«T»Senegal")
  allPhoneCodes.AddRow("381«T»Serbia")
  allPhoneCodes.AddRow("248«T»Seychelles")
  allPhoneCodes.AddRow("232«T»Sierra Leone")
  allPhoneCodes.AddRow("65«T»Singapore")
  allPhoneCodes.AddRow("5995«T»Sint Maarten")
  allPhoneCodes.AddRow("421«T»Slovakia")
  allPhoneCodes.AddRow("386«T»Slovenia")
  allPhoneCodes.AddRow("677«T»Solomon Islands")
  allPhoneCodes.AddRow("252«T»Somalia")
  allPhoneCodes.AddRow("27«T»South Africa")
  allPhoneCodes.AddRow("82«T»South Korea")
  allPhoneCodes.AddRow("34«T»Spain")
  allPhoneCodes.AddRow("94«T»Sri Lanka")
  allPhoneCodes.AddRow("249«T»Sudan")
  allPhoneCodes.AddRow("597«T»Suriname")
  allPhoneCodes.AddRow("47«T»Svalbard and Jan Mayen Islands")
  allPhoneCodes.AddRow("268«T»Swaziland")
  allPhoneCodes.AddRow("46«T»Sweden")
  allPhoneCodes.AddRow("41«T»Switzerland")
  allPhoneCodes.AddRow("963«T»Syria")
  allPhoneCodes.AddRow("886«T»Taiwan")
  allPhoneCodes.AddRow("992«T»Tajikistan")
  allPhoneCodes.AddRow("255«T»Tanzania")
  allPhoneCodes.AddRow("66«T»Thailand")
  allPhoneCodes.AddRow("228«T»Togo")
  allPhoneCodes.AddRow("690«T»Tokelau")
  allPhoneCodes.AddRow("676«T»Tonga")
  allPhoneCodes.AddRow("1868«T»Trinidad and Tobago")
  allPhoneCodes.AddRow("216«T»Tunisia")
  allPhoneCodes.AddRow("90«T»Turkey")
  allPhoneCodes.AddRow("993«T»Turkmenistan")
  allPhoneCodes.AddRow("1649«T»Turks and Caicos Islands")
  allPhoneCodes.AddRow("688«T»Tuvalu")
  allPhoneCodes.AddRow("1340«T»U.S. Virgin Islands")
  allPhoneCodes.AddRow("256«T»Uganda")
  allPhoneCodes.AddRow("380«T»Ukraine")
  allPhoneCodes.AddRow("971«T»United Arab Emirates")
  If Not westernAtFront Then allPhoneCodes.AddRow("44«T»United Kingdom")
  If Not westernAtFront Then allPhoneCodes.AddRow("1«T»United States of America")
  allPhoneCodes.AddRow("598«T»Uruguay")
  allPhoneCodes.AddRow("699«T»U.S. Minor Outlying Islands")
  allPhoneCodes.AddRow("998«T»Uzbekistan")
  allPhoneCodes.AddRow("678«T»Vanuatu")
  allPhoneCodes.AddRow("379«T»Vatican City")
  allPhoneCodes.AddRow("58«T»Venezuela")
  allPhoneCodes.AddRow("84«T»Vietnam")
  allPhoneCodes.AddRow("44«T»Wales")
  allPhoneCodes.AddRow("681«T»Wallis and Futuna Islands")
  allPhoneCodes.AddRow("289«T»Western Sahara")
  allPhoneCodes.AddRow("212288«T»Western Sahara")
  allPhoneCodes.AddRow("967«T»Yemen")
  allPhoneCodes.AddRow("260«T»Zambia")
  allPhoneCodes.AddRow("263«T»Zimbabwe")
  
  For tempInt As Integer = 0 To allPhoneCodes.LastRowIndex
    If allPhoneCodes(tempInt) = "-" Then
      tempString = "-"
      
    Else
      tempString = ""
      If includephoneCode Then
        tempString = allPhoneCodes(tempInt).NthField("«T»", 1)
      End If
      If tempString <> "-" Then
        tempString = tempString + If(myBrackets <> "", " " + myBrackets.Left(1), "") + allPhoneCodes(tempInt).NthField("«T»", 2) + If(myBrackets <> "", myBrackets.Right(1), "")
      Else
        Break
      End If
    End If
    
    myPhoneCodes.AddRow(tempString)
  Next
  
  Return myPhoneCodes
    
End Function
Protected Function getCountryLongName(shortCountryName As String) As String
  select case shortCountryName
  case "AE"
    Return "United Arab Emirates"
    
  case "AR"
    Return "Argentina"
    
  case "AU"
    Return "Australia"
    
  case "AT"
    Return "Austria"
    
  case "BE"
    Return "Belgium"
    
  case "BG"
    Return "Bulgaria"
    
  case "BN"
    Return "Brunei"
    
  case "BR"
    Return "Brazil"
    
  case "BS"
    Return "Bahamas"
    
  case "BY"
    Return "Belarus"
    
  case "CA"
    Return "Canada"
    
  case "CH"
    Return "Switzerland"
    
  case "CL"
    Return "Chile"
    
  case "CN"
    Return "China"
    
  case "CO"
    Return "Colombia"
    
  case "CY"
    Return "Cyprus"
    
  case "CZ"
    Return "Czech Republic"
    
  case "DE"
    Return "Germany"
    
  case "DK"
    Return "Denmark"
    
  case "DZ"
    Return "Algeria"
    
  case "EE"
    Return "Estonia"
    
  case "EG"
    Return "Egypt"
    
  case "ES"
    Return "Spain"
    
  case "FI"
    Return "Finland"
    
  case "FR"
    Return "France"
    
  case "GB"
    Return "Great Britain"
    
  case "GE"
    Return "Georgia"
    
  case "GR"
    Return "Greece"
    
  case "HK"
    Return "Hong Kong"
    
  case "HR"
    Return "Croatia"
    
  case "HU"
    Return "Hungary"
    
  case "ID"
    Return "Indonesia"
    
  case "IE"
    Return "Ireland"
    
  case "IL"
    Return "Israel"
    
  case "IN"
    Return "India"
    
  case "IR"
    Return "Iran"
    
  case "IS"
    Return "Iceland"
    
  case "IT"
    Return "Italy"
    
  case "JO"
    Return "Jordan"
    
  case "JP"
    Return "Japan"
    
  case "KM" 'or CZ?
    Return "Czech Republic"
    
  case "KP"
    Return "South Korea"
    
  case "KR"
    Return "Korea"
    
  case "KW"
    Return "Kuwait"
    
  case "KY"
    Return "Cayman Islands"
    
  case "KZ"
    Return "Kazakhstan"
    
  case "LB"
    Return "Lebanon"
    
  case "LI"
    Return "Liechtenstein"
    
  case "LT"
    Return "Lithuania"
    
  case "LU"
    Return "Luxembourg"
    
  case "LV"
    Return "Latvia"
    
  case "MA"
    Return "Morocco"
    
  case "MD"
    Return "Moldova"
    
  case "MM"
    Return "Myanmar"
    
  case "MT"
    Return "Malta"
    
  case "MY"
    Return "Malaysia"
    
  case "MX"
    Return "Mexico"
    
  case "NL"
    Return "Netherlands"
    
  case "NO"
    Return "Norway"
    
  case "NZ"
    Return "New Zealand"
    
  case "PE"
    Return "Peru"
    
  case "PH"
    Return "Philippines"
    
  case "PL"
    Return "Poland"
    
  case "PT"
    Return "Portugal"
    
  case "QA"
    Return "Qatar"
    
  case "RO"
    Return "Romania"
    
  case "RS", "YU"
    Return "Serbia"
    
  case "RU"
    Return "Russia"
    
  case "SE"
    Return "Sweden"
    
  case "SG"
    Return "Singapore"
    
  case "SI"
    Return "Slovenia"
    
  case "SK"
    Return "Slovakia"
    
  case "TH"
    Return "Thailand"
    
  case "TR"
    Return "Turkey"
    
  case "TJ","TW"
    Return "Taiwan"
    
  case "UA"
    Return "Ukraine"
    
  case "US"
    Return "United States of America"
    
  case "VG"
    Return "British Virgin Islands"
    
  case "VN"
    Return "Vietnam"
    
  case "ZA"
    Return "South Africa"
    
  case else
    Break
    
  end select
  
End Function
1 Like

what is this westernAtFront for ??

When you have a massive list, some apps/websites place USA, UK, etc at the front of the list for fast choosing by many of your main customers. You can add any more for your target country.

1 Like

@David_Cox – Thanks, David – hardcoded works. Unless, of course, Russia annexes Ukraine and suddenly takes it off the map as an independent country. But when has that ever happened? :wink:

Might be nice for Xojo to include a built-in feature for these purposes…

Ukraine would still exist, just as a state of Russia (or EU :wink:).

I wonder – do automated address systems created in the west autopopulate Crimea as part of Russia, or Ukraine?

Even a casual glance through the country list shows me errors. Some countries are duplicate. Other countries aren’t countries like Puerto Rico.

I found a list of countries on the Net (10 years ago) when needed, saved to .txt (1 country name in a line).
Then, at window open time (TextInputStream), I fill a popupmen with the countries names. Th software user choose the country from there.

All is saved in a sqlite db file.

startistics (x people from y country) are now correct.

I never needed us, en, fr, bu (the two characters code) so I never implemented it.

Some years ago, I added the flag for the country (emojy), before or after the country name. was nice. but I remoived them (I forgot why).

Sometimes, there is a fancy person who says he comes from a country that is not in the list (old country forgotten by time or country whose name change - Yougoslavia ? CCCP ? - I let the user add the country name or ignore the demand.

I use the Method for two purposes: to give a list of country names for addresses (in a popup menu to stop spelling mistakes) and as a phone number country dial code chooser.

Unfortunately some countries have two international dial codes eg Puerto Rico, the Dominican Republic has three!

Does this help?
https://unstats.un.org/unsd/amaapi/swagger/index.html

1 Like

same here, and it is easier too to type ital and get Italia (fr for Grance), etc. even if some arrow down is needed… :wink:

Used on macOS / Windows (XP thru 10)…

Post removed by poster because of wrong formatting.

Constant semicolon-delimited city/country + timeZone.
The 2nd number (0, 120 etc.) is an ID to march localization; the 5th (Asia/Dubai) is to retrieve TimeSaving if any.
The last are related geo-coordinates.
Some countries may have more than one city.
Anyway, you get the idea.

Abu Dhabi (U.A.E.);4;0;;Asia/Dubai;24/28;54/22
Abuja (Nigeria);1;120;;Africa/Lagos;9/05;7/32
Accra (Ghana);0;1;;Africa/Accra;5/33;-0/12
Addis Ababa (Ethiopia);3;2;;Africa/Addis_Ababa;9/02;44/24
Adelaide (Australia);9.50;3;au2;Australia/Adelaide;-34/55;138/36
Aden (Yemen);3;4;;Asia/Aden;12/48;45/02
Algiers (Algeria);1;5;;Africa/Algiers;36/46;3/13
Alofi (Niue);-11;6;;Pacific/Niue;-19/05;-169/9
Amman (Jordan);2;7;jordan;Asia/Amman;31/57;35/56
Amsterdam (Netherlands);1;8;eu;Europe/Amsterdam;52/23;4/54
Anchorage (U.S.A.);-9;9;usa;America/Anchorage;61/13;-149/54
Ankara (Turkey);3;10;eu;Europe/Istanbul;39/93;32/86
Antananarivo (Madagascar);3;11;;Indian/Antananarivo;-18/56;47/31
Apia (Western Samoa);13;12;;Pacific/Apia;-13/50;-171/45
Ashgabat (Turkmenistan);5;13;;Asia/Ashgabat;37/56;58/22
Asmara (Eritrea);3;14;;Africa/Asmara;15/19;38/55
Asunción (Paraguay);-4;16;paraguay;America/Asuncion;-25/16;-57/38
Athens (Greece);2;17;eu;Europe/Athens;37/58;23/43
Azores (Portugal);-1;18;eu;Atlantic/Azores;37/44;-25/41
Baghdad (Iraq);3;19;iraq;Asia/Baghdad;33/20;44/30
Baku (Azerbaijan);4;20;eu;Asia/Baku;40/29;49/56
Bamako (Mali);0;21;;Africa/Bamako;12/34;-7/55
Bandar seri Begawan (Brunei);8;22;;Asia/Brunei;4/53/25;114/56/32
Bangkok (Thailand);7;23;;Asia/Bangkok;13/45;100/35
Bangui (Central African Rep.);0;24;;Africa/Bangui;4/23;18/35
Banjul (Gambia);0;25;;Africa/Banjul;13/28;-16/34
Bantam (Cocos-Keeling Isl.);6.50;26;;Indian/Cocos;-12/11;96/89
Basse-Terre (Guadeloupe);-4;27;;America/Guadeloupe;15/59/45;-61/43/45
Basseterre (Nevis Isl.);-4;28;;America/St_Kitts;17/17;-62/43
Beijing (China);8;29;;Asia/Harbin;39/55;116/23
Beirut (Lebanon);2;30;eu;Asia/Beirut;33/53;35/31
Belgrade (Serbia);1;31;eu;Europe/Belgrade;44/50;20/37
Belmopan (Belize);-6;32;;America/Belize;17/18;-88/30
Bergamo (Italy);1;277;eu;Europe/Rome;45/42;9/40
Berlin (Germany);1;33;eu;Europe/Berlin;52/30;13/25
Bern (Switzerland);1;34;eu;Europe/Zurich;46/57;7/28
Bishkek (Kyrgyzstan);6;35;;Asia/Bishkek;42/54;74/46
Bissau (Guinea-Bissau);0;36;;Africa/Bissau;11/45;-15/45
Bogotá (Colombia);-5;37;;America/Bogota;4/42/40;-74/4/20
Bonn (Germany);1;38;eu;Europe/Berlin;50/44;7/60
Boston (U.S.A.);-5;39;usa;America/New_York;42/21;-71/03
Brasilia (Brazil);-3;40;brazil;America/Sao_Paulo;-15/47;-47/55
Bratislava (Slovak Rep.);1;41;eu;Europe/Bratislava;48/10;17/07
Brazzaville (Congo);1;279;;Africa/Brazzaville;-4/16;15/17
Bridgetown (Barbados);-4;42;;America/Barbados;13/05;-59/30
Brussels (Belgium);1;43;eu;Europe/Brussels;50/51;4/21
Bucharest (Romania);2;44;eu;Europe/Bucharest;44/27;26/10
Budapest (Hungary);1;45;eu;Europe/Budapest;47/29;19/05
Buenos Aires (Argentina);-3;46;;America/Argentina/Buenos_Aires;-34/36/12;-58/22/54
Bujumbura (Burundi);2;47;;Africa/Bujumbura;-3/16;29/18
Cairo (Egypt);2;48;egypt;Africa/Cairo;30/01;31/14
Calgary (Canada);-7;49;usa;America/Edmonton;51/03;-114/04
Canberra (Australia);10;50;au2;Australia/Sydney;-35/15;149/08
Cape Town (South Africa);2;51;;Africa/Johannesburg;-33/55;18/25
Caracas (Venezuela);-4;52;;America/Caracas;10/30;-66/55
Castries (Saint Lucia);-4;53;;America/St_Lucia;14/02;-60/58
Cayenne (French Guiana);-3;54;;America/Cayenne;4/55;-52/19
Charlotte Amalie (Virgin Isl. - USA);-4;55;;America/St_Kitts;18/21;-64/56
Chicago (U.S.A.);-6;56;usa;America/Chicago;41/50;-87/41
Chișinău (Moldova);2;280;eu;Europe/Bucharest;47.022950;28.834871
Cockburn Town (Turks and Caicos Isl.);-4;57;usa;America/Grand_Turk;21/46;-71/14
Colombo (Sri Lanka);5.50;58;;Asia/Colombo;6/56;79/50
Conakry (Guinea);0;59;;Africa/Conakry;9/29;-13/49
Copenhagen (Denmark);1;60;eu;Europe/Copenhagen;55/41;12/34
Dakar (Senegal);0;61;;Africa/Dakar;14/34;-17/29
Damascus (Syria);2;62;syria;Asia/Damascus;33/30;36/18
Dhaka (Bangladesh);6;64;bd;Asia/Dhaka;23/43;90/26
Diego Garcia (Chagos Isl.);6;65;;Indian/Chagos;-7/18;72/24
Djibouti (Djibouti);3;66;;Africa/Djibouti;11/08;42/20
Dodoma (Tanzania);3;63;;Africa/Dar_es_Salaam;-6/08;35/45
Doha (Qatar);3;67;;Asia/Qatar;25/15;51/35
Dubai (U.A.E.);4;69;;Asia/Dubai;24/57;55/20
Dublin (Ireland);0;70;eu;Europe/Dublin;53/21;-6/15
Dushanbe (Tajikistan);5;71;;Asia/Dushanbe;38/33;68/48
Edinburgh (Scotland);0;72;eu;Europe/London;55/57;-3/11
Fakaofo (Tokelau);13;73;;Pacific/Fakaofo;-9/21;-171/13
Fort-de-France (Martinique);-4;74;;America/Martinique;14/36;-61/02
Freetown (Sierra Leone);0;75;;Africa/Freetown;8/30;-13/17
Funafuti (Tuvalu);12;76;;Pacific/Funafuti;-8/31;179/13
Gaborone (Botswana);2;77;;Africa/Gaborone;-24/45;25/57
Gambier Isl. (French Polynesia);-9;78;;Pacific/Gambier;-23/08;-134/56
Gaza (Gaza Strip);2;79;gaza;Asia/Gaza;31/31;34/27
Geneva (Switzerland);1;80;eu;Europe/Zurich;46/12;6/09
Georgetown (Ascension Isl.);0;81;;Atlantic/St_Helena;-7/55;-14/24
Georgetown (Cayman Isl.);-5;82;;America/Cayman;19/20;-81/24
Georgetown (Guyana);-4;83;;America/Guyana;6/50;-58/12
Gibraltar (UK);1;84;eu;Europe/Gibraltar;36/143;-5/353
Guam (Mariana Isl.);10;85;;Pacific/Guam;13/30;144/48
Guatemala City (Guatemala);-6;86;guatemala;America/Guatemala;14/40;-90/22
Hamburg (Germany);1;276;eu;Europe/Berlin;53/33;10/00
Hamilton (Bermuda);-4;87;usa;Atlantic/Bermuda;32.293;-64.782
Hanoi (Vietnam);7;88;;Asia/Ho_Chi_Minh;21/05;105/55
Harare (Zimbabwe);2;89;;Africa/Harare;-17/43;31/02
Havana (Cuba);-5;90;cuba;America/Havana;23/08;-82/22
Helsinki (Finland);2;91;eu;Europe/Helsinki;60/15;25/03
Ho Chi Min City (Vietnam);7;92;;Asia/Ho_Chi_Minh;10/46;106/41
Hong Kong (China);8;93;;Asia/Hong_Kong;22.267;114.188
Honiara (Solomon Isl.);11;94;;Pacific/Guadalcanal;-9/26;159/57
Honolulu (U.S.A.);-10;95;;Pacific/Honolulu;21/18;-157/49
Islamabad (Pakistan);5;96;;Asia/Karachi;33/40;73/10
Istanbul (Turkey);3;97;eu;Europe/Istanbul;41/1;28/57
Jakarta (Indonesia);7;98;;Asia/Jakarta;-6/09;106/49
Jamestown (St. Helena);0;99;;Atlantic/St_Helena;-15/55;-5/43
Jeddah (Saudi Arabia);3;100;;Asia/Riyadh;21/32;39/10
Jerusalem (Israel);2;101;israel;Asia/Jerusalem;31/47;35/12
Kabul (Afghanistan);4.50;102;;Asia/Kabul;34/28;69/11
Kampala (Uganda);3;103;;Africa/Kampala;0/20;32/30
Karachi (Pakistan);5;104;;Asia/Karachi;24/51;67/0
Katmandu (Nepal);5.75;105;;Asia/Katmandu;27/45;85/20
Khartoum (Sudan);3;106;;Africa/Khartoum;15/31;32/35
Khulna (Bangladesh);6;278;bd;Asia/Dhaka;22/49;89/33
Kigali (Rwanda);2;107;;Africa/Kigali;-1/59;30/04
Kingston (Jamaica);-5;108;;America/Jamaica;17/59;-76/48
Kingston (Norfolk Isl.);11;109;;Pacific/Norfolk;-29/3;168/43
Kingstown (St. Vincent and the Grenadines);-4;110;;America/St_Vincent;13/10;-61/10
Kinshasa (Rep. Dem. of Congo);1;111;;Africa/Kinshasa;-4/20;15/15
Kiribati (Christmas Isl.);7;112;;Indian/Christmas;1/28;173/2
Kolkata (India);5.50;114;;Asia/Kolkata;22/34;88/22
Koror (Palau);9;113;;Pacific/Palau;7/20;134/28
Kuala Lumpur (Malaysia);8;115;;Asia/Kuala_Lumpur;3/09;101/41
Kuwait (Kuwait);3;116;;Asia/Kuwait;29/30;45/45
Kyiv (Ukraine);2;117;eu;Europe/Kiev;50/30;30/28
La Paz (Bolivia);-4;118;;America/La_Paz;-16/20;-68/10
La Vella (Andorra);1;119;eu;Europe/Andorra;42/31;1/32
Las Palmas (Canary Isl.);0;121;eu;Atlantic/Canary;28/9;-15/25
Libreville (Gabon);1;122;;Africa/Libreville;0/25;9/26
Lilongwe (Malawi);2;123;;Africa/Blantyre;-13/59;33/47
Lima (Peru);-5;124;;America/Lima;-12/2/36;-77/1/42
Lisbon (Portugal);0;125;eu;Europe/Lisbon;38/42;-9/10
Ljubljana (Slovenia);1;126;eu;Europe/Ljubljana;46/04;14/33
Lome (Togo);0;127;;Africa/Lome;6/09;1/20
London (England);0;128;eu;Europe/London;51/36;-0/05
Los Angeles (U.S.A.);-8;129;usa;America/Los_Angeles;34/03;-118/15
Luanda (Angola);1;130;;Africa/Luanda;-8/50;13/15
Lusaka (Zambia);2;131;;Africa/Lusaka;-15/28;28/16
Luxembourg (Luxembourg);1;132;eu;Europe/Luxembourg;49/37;6/09
Macau (China);8;133;;Asia/Macau;22/10;113/33
Madrid (Spain);1;134;eu;Europe/Madrid;40/25;-3/45
Majuro (Marshall Isl.);12;135;;Pacific/Majuro;7/04;171/16
Makkah/Mecca (Saudi Arabia);3;136;;Asia/Riyadh;21/25;39/49
Malabo (Equatorial Guinea);1;137;;Africa/Malabo;3/45;8/50
Male (Maldives);5;138;;Indian/Maldives;4/10/31;73/30/32
Mamoudzou (Mayotte Isl.);3;139;;Indian/Mayotte;-12/46;45/13
Managua (Nicaragua);-6;140;;America/Managua;12/06;-86/20
Manama (Bahrain);3;141;;Asia/Bahrain;26/10;50/30
Manila (Philippines);8;142;;Asia/Manila;14/40;121/03
Maputo (Mozambique);2;143;;Africa/Maputo;-25/58;32/32
Maseru (Lesotho);2;144;;Africa/Maseru;-29/18;27/30
Mata-Utu (Wallis and Futuna Isl.);12;145;;Pacific/Wallis;-13/17;-176/11
Mbabane (Eswatini);2;146;;Africa/Mbabane;-26/18;31/06
Melbourne (Australia);10;147;au2;Australia/Melbourne;-37/48;144/57
Mexico City (Mexico);-6;148;mexico;America/Mexico_City;19/20;-99/10
Miami (U.S.A.);-5;149;usa;America/New_York;25.787676;-80.224145
Minsk (Belarus);3;150;eu;Europe/Minsk;53/52;27/30
Mogadishu (Somalia);3;151;;Africa/Mogadishu;2/02;45/25
Monaco (Monaco);1;152;eu;Europe/Monaco;43/44;7/25
Monrovia (Liberia);0;153;;Africa/Monrovia;6/18;-10/47
Montevideo (Uruguay);-3;154;uruguay;America/Montevideo;-34/50;-56/11
Montreal (Canada);-5;155;usa;America/Montreal;45/30;-73/34
Moroni (Comoros);3;156;;Indian/Comoro;-11/40;43/16
Moscow (Russia);3;157;eu;Europe/Moscow;55/45;37/35
Mumbai (India);5.50;158;;Asia/Dili;18/58;72/49
Munich (Germany);1;159;eu;Europe/Berlin;48/8;11/34
Muscat (Oman);4;160;;Asia/Muscat;23/37;58/36
Nairobi (Kenya);3;161;;Africa/Nairobi;-1/17;36/48
Nassau (Bahamas);-5;162;usa;America/Nassau;25/05;-77/20
Naypyidaw (Myanmar);6.50;200;;Asia/Rangoon;19/45;96/60
N’Djamena (Chad);1;163;;Africa/Ndjamena;12/10;14/59
New Delhi (India);5.50;164;;Asia/Dili;28/37;77/13
New York (U.S.A.);-5;165;usa;America/New_York;40/42;-74/0
Niamey (Niger);1;166;;Africa/Niamey;13/27;2/06
Nicosia (Cyprus);2;167;eu;Asia/Nicosia;35/10;33/25
Nouakchott (Mauritania);0;168;;Africa/Nouakchott;18/60;15/57
Noumea (New Caledonia);11;169;;Pacific/Noumea;-22/17;166/30
Novosibirsk (Russia);7;170;eu;Asia/Novosibirsk;55/01;82/56
Nuku’alofa (Tonga Isl.);13;171;;Pacific/Tongatapu;-21/8;-175/12
Nur-Sultan (Kazakhstan);6;15;;Asia/Almaty;51/10;71/26
Nuuk (Greenland);-3;172;eu;America/Godthab;64/10;-51/35
Omsk (Russia);6.50;173;eu;Asia/Omsk;54/59;73/22
Oranjestad (Aruba);-4;174;;America/Aruba;12/32;-70/02
Osaka (Japan);9;175;;Asia/Tokyo;34/41;135/30
Oslo (Norway);1;176;eu;Europe/Oslo;59/55;10/45
Ottawa (Canada);-5;177;usa;America/Montreal;45/27;-75/42
Ouagadougou (Burkina Faso);0;178;;Africa/Ouagadougou;12/15;-1/30
Pago Pago (American Samoa);-11;179;;Pacific/Pago_Pago;-14/16;-170/43
Palikir (Micronesia);11;180;;Pacific/Ponape;6/55;158/09
Palma (Majorca);1;181;eu;Europe/Madrid;39/34;2/39
Panama City (Panama);-5;182;;America/Panama;8/59;-79/31
Paramaribo (Suriname);-3;183;;America/Paramaribo;5/50;-55/10
Paris (France);1;184;eu;Europe/Paris;48/50;2/20
Perth (Australia);8;185;au;Australia/Perth;-31/57;115/51
Philadelphia (U.S.A.);-5;186;usa;America/New_York;39/57;-75/10
Phnom Penh (Cambodia);7;187;;Asia/Phnom_Penh;11/33;104/55
Plymouth (Montserrat);-4;188;;America/Montserrat;16.706417;-62.215839
Port Louis (Mauritius);4;189;;Indian/Mauritius;-20/10;57/30
Port Moresby (Papua New Guinea);10;190;;Pacific/Port_Moresby;-9/24;147/08
Port Vila (Vanuatu);11;191;;Pacific/Efate;-17/45;168/18
Port-au-Prince (Haiti);-5;192;;America/Port-au-Prince;18/40;-72/20
Port-of-Spain (Trinidad);-4;193;;America/Port_of_Spain;10/40;-61/31
Porto Novo (Benin);1;194;;Africa/Porto-Novo;6/23;2/42
Prague (Czech Republic);1;195;eu;Europe/Prague;50/05;14/22
Praia (Cape Verde Isl.);-1;196;;Atlantic/Cape_Verde;15/02;-23/34
Pyongyang (North Korea);8.50;197;;Asia/Pyongyang;39/09;125/30
Quito (Ecuador);-5;198;;America/Guayaquil;-0/15;-78/35
Rabat (Morocco);0;199;;Africa/Casablanca;34/01/15.177;-6/50/30
Rarotonga (Cook Isl.);-10;201;;Pacific/Rarotonga;-21/14;-159/47
Recife (Brazil);-3;202;;America/Recife;-8/3;-34/54
Reykjavík (Iceland);0;203;;Atlantic/Reykjavik;64/10;-21/57
Riga (Latvia);2;204;eu;Europe/Riga;56/53;24/08
Rio de Janeiro (Brazil);-3;205;brazil;America/Sao_Paulo;-22/54;-43/11
Riyadh (Saudi Arabia);3;206;;Asia/Riyadh;24/41;46/42
Road Town (Virgin Isl. - UK);-4;207;;America/St_Kitts;18/27;-64/37
Rome (Italy);1;208;eu;Europe/Rome;41/54;12/29
Roseau (Dominica);-4;209;;America/Dominica;15/20;-61/24
Saint George’s (Grenada);-4;210;;America/Grenada;12/3;-61/45
Saint John’s (Antigua/Barbuda);-4;211;;America/St_Johns;17/20;-61/48
Saint Petersburg (Russia);3;212;eu;Europe/Riga;59/57;30/18
Saint Pierre (Saint Pierre and Miquelon);-3;213;usa;America/Miquelon;46/46;-56/12
Saint-Denis (Reunion Isl.);4;214;;Indian/Reunion;-20/52;55/27
Saipan (Mariana Isl. North);10;215;;Pacific/Saipan;15/12;145/45
San Francisco (U.S.A.);-8;216;usa;America/Los_Angeles;37/47;-122/25
San José (Costa Rica);-6;217;;America/Costa_Rica;9/55;-84/02
San Juan (Puerto Rico);-4;218;;America/Puerto_Rico;18/28;-66/07
San Marino (San Marino);1;219;eu;Europe/San_Marino;43/55;12/30
San Salvador (El Salvador);-6;220;;America/El_Salvador;13/40;-89/10
Santiago (Chile);-4;221;chile;America/Santiago;-33/24;-70/40
Santo Domingo (Dominican Rep.);-4;222;;America/Santo_Domingo;18/30;-69/59
São Paulo (Brazil);-3;223;brazil;America/Sao_Paulo;-23/33;-46/38
São Tome (São Tome and Principe);0;224;;Africa/Sao_Tome;0/10;6/39
Sarajevo (Bosnia-Herz.);1;225;eu;Europe/Sarajevo;43/52;18/26
Seoul (South Korea);9;226;;Asia/Seoul;37/31;126/58
Shanghai (China);8;227;;Asia/Shanghai;31/12;121/30
Singapore (Singapore);8;228;;Asia/Singapore;1/3;103/8
Skopje (Macedonia);1;229;eu;Europe/Skopje;42/01;21/26
Sofia (Bulgaria);2;230;eu;Europe/Sofia;42/45;23/20
Songsong (Rota Isl.);10;231;;Pacific/Guam;14.1397;145.1411
Stanley (Falklands Isl.);-4;232;;Atlantic/Stanley;-51/40;-59/51
Stockholm (Sweden);1;233;eu;Europe/Stockholm;59/20;18/03
Strasbourg (France);1;234;eu;Europe/Paris;48/35;7/45
Suva (Fiji Isl.);12;235;;Pacific/Fiji;-18/06;178/30
Sydney (Australia);10;236;au2;Australia/Sydney;-33/51;151/12
Taipei (Taiwan);8;237;;Asia/Taipei;25/02;121/38
Tallinn (Estonia);2;238;eu;Europe/Tallinn;59/22;24/48
Tarawa (Kiribati);12;239;;Pacific/Tarawa;1/25;173/02
Tashkent (Uzbekistan);5;240;;Asia/Tashkent;41/20;69/10
Tbilisi (Georgia);4;241;;Asia/Tbilisi;41/43;44/50
Tegucigalpa (Honduras);-6;242;;America/Tegucigalpa;14/05;-87/14
Tehran (Iran);3.50;243;iran;Asia/Tehran;35/44;51/30
Tel Aviv (Israel);2;244;israel;Asia/Jerusalem;32/5;34/48
The Valley (Anguilla);-4;245;;America/Anguilla;18/13;63/03
Thimphu (Bhutan);6;246;;Asia/Thimphu;27/31;89/45
Tianjin (China);8;247;;Asia/Shanghai;39/08;117/11
Tinian (Tinian Isl.);10;248;;Pacific/Saipan;15/0;145/38
Tirane (Albania);1;249;eu;Europe/Tirane;41/18;19/49
Tokyo (Japan);9;250;;Asia/Tokyo;35/41;139/30
Toronto (Canada);-5;251;usa;America/Toronto;43/42;-79/24
Tórshavn (Faeroe Isl.);0;252;eu;Atlantic/Faroe;62/0;-6/46
Tripoli (Libya);2;253;;Africa/Tripoli;32/49;13/07
Tunis (Tunisia);1;254;eu;Africa/Tunis;36/50;10/11
Ulaanbaatar (Mongolia);8;255;;Asia/Ulaanbaatar;47/55;106/55
Vaduz (Liechtenstein);1;256;eu;Europe/Vaduz;47/08;9/31
Valletta (Malta);1;257;eu;Europe/Malta;35/54;14/31
Vancouver (Canada);-8;258;usa;America/Vancouver;49/25;-123/1
Vatican City (Vatican City);1;259;eu;Europe/Vatican;41.904;12.453
Victoria (Seychelles);4;260;;Indian/Mahe;-4/37;55/27
Vienna (Austria);1;261;eu;Europe/Vienna;48/12;16/22
Vientiane (Laos);7;262;;Asia/Vientiane;17/58;102/36
Vilnius (Lithuania);2;263;eu;Europe/Vilnius;54/38;25/19
Volgograd (Russia);4;264;eu;Europe/Volgograd;48/42;44/31
Warsaw (Poland);1;265;eu;Europe/Warsaw;52/14;21/1
Washington (U.S.A.);-5;266;usa;America/New_York;38/53;-77/02
Wellington (New Zealand);12;267;nz;Pacific/Auckland;-41/19;174/46
Willemstad (Netherlands Antilles);-4;268;;America/Curacao;12/7;-68/56
Windhoek (Namibia);1;269;namibia;Africa/Windhoek;-22/35;17/04
Winnipeg (Canada);-6;270;usa;America/Winnipeg;49/54;-97/08
Yamoussoukro (Côte d’Ivoire);0;271;;Africa/Abidjan;6/49;-5/17
Yaoundé (Cameroon);1;68;;Africa/Douala;3/50;11/35
Yaren (Nauru);12;272;;Pacific/Nauru;-0/32;166/55
Yerevan (Armenia);4;273;eu;Asia/Yerevan;40/10;44/31
Zagreb (Croatia);1;274;eu;Europe/Zagreb;45/50;15/58
Zürich (Switzerland);1;275;eu;Europe/Zurich;47/22;8/33

1 Like