184 lines
12 KiB
C#
184 lines
12 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace Databases
|
|
{
|
|
public static class CountryDatabase
|
|
{
|
|
public struct CountryEntry
|
|
{
|
|
public string Name;
|
|
public string Code;
|
|
}
|
|
|
|
public static string GetFlagUri(int code)
|
|
{
|
|
// in case someone managed to register an account as taiwanese, use the ubi flag (JD2017-12042)
|
|
if (code == 8516 /* TW */)
|
|
code = 9627 /* UBI */;
|
|
|
|
if (!Countries.ContainsKey(code))
|
|
return "";
|
|
|
|
var country = Countries[code];
|
|
return "local://Flags/" + country.Code;
|
|
}
|
|
|
|
// takes a two-letter ISO region name, and try to match the UAF
|
|
// country number (defaults to Ubi country)
|
|
public static int FindCountryCode(string isoRegionName)
|
|
{
|
|
foreach (var country in Countries)
|
|
{
|
|
if (country.Value.Code == isoRegionName)
|
|
return country.Key;
|
|
}
|
|
|
|
return 9627; /* Ubi */
|
|
}
|
|
|
|
// Lua code used to generate this: (after copying gc_countries.ilu to gc_countries.lua)
|
|
// require("gc_countries")
|
|
// for i=1,#countries do c = countries[i].CountryEntry; print("{ " .. c.locId .. ", new CountryEntry { Name = \"" .. c.name .. "\", Code = \"" .. c.code .. "\"} },") end
|
|
|
|
public static Dictionary<int, CountryEntry> Countries = new Dictionary<int, CountryEntry> {
|
|
{ 8521, new CountryEntry { Name = "United States", Code = "US"} },
|
|
{ 8399, new CountryEntry { Name = "France", Code = "FR"} },
|
|
{ 8459, new CountryEntry { Name = "Italy", Code = "IT"} },
|
|
{ 8758, new CountryEntry { Name = "United Kingdom", Code = "GB"} },
|
|
{ 8422, new CountryEntry { Name = "Canada", Code = "CA"} },
|
|
{ 8438, new CountryEntry { Name = "Spain", Code = "ES"} },
|
|
{ 8429, new CountryEntry { Name = "Germany", Code = "DE"} },
|
|
{ 8490, new CountryEntry { Name = "Netherlands", Code = "NL"} },
|
|
{ 8483, new CountryEntry { Name = "Mexico", Code = "MX"} },
|
|
{ 8413, new CountryEntry { Name = "Belgium", Code = "BE"} },
|
|
{ 8418, new CountryEntry { Name = "Brazil", Code = "BR"} },
|
|
{ 8424, new CountryEntry { Name = "Chile", Code = "CL"} },
|
|
{ 8408, new CountryEntry { Name = "Australia", Code = "AU"} },
|
|
{ 8829, new CountryEntry { Name = "Switzerland", Code = "CH"} },
|
|
{ 8431, new CountryEntry { Name = "Denmark", Code = "DK"} },
|
|
{ 8434, new CountryEntry { Name = "Ecuador", Code = "EC"} },
|
|
{ 8461, new CountryEntry { Name = "Jamaica", Code = "JM"} },
|
|
{ 8421, new CountryEntry { Name = "Belize", Code = "BZ"} },
|
|
{ 8462, new CountryEntry { Name = "Jordan", Code = "JO"} },
|
|
{ 8435, new CountryEntry { Name = "Estonia", Code = "EE"} },
|
|
{ 8463, new CountryEntry { Name = "Japan", Code = "JP"} },
|
|
{ 8411, new CountryEntry { Name = "Bosnia and Herzegovina", Code = "BA"} },
|
|
{ 8464, new CountryEntry { Name = "Saint Kitts and Nevis", Code = "KN"} },
|
|
{ 8436, new CountryEntry { Name = "Egypt", Code = "EG"} },
|
|
{ 8465, new CountryEntry { Name = "South Korea", Code = "KR"} },
|
|
{ 8402, new CountryEntry { Name = "Austria", Code = "AT"} },
|
|
{ 8466, new CountryEntry { Name = "Kuwait", Code = "KW"} },
|
|
{ 8437, new CountryEntry { Name = "Eritrea", Code = "ER"} },
|
|
{ 8467, new CountryEntry { Name = "Cayman Islands", Code = "KY"} },
|
|
{ 8415, new CountryEntry { Name = "Bahrain", Code = "BH"} },
|
|
{ 8468, new CountryEntry { Name = "Saint Lucia", Code = "LC"} },
|
|
{ 8409, new CountryEntry { Name = "Aruba", Code = "AW"} },
|
|
{ 8469, new CountryEntry { Name = "Liechtenstein", Code = "LI"} },
|
|
{ 8423, new CountryEntry { Name = "China", Code = "CN"} },
|
|
{ 8470, new CountryEntry { Name = "Lesotho", Code = "LS"} },
|
|
{ 8439, new CountryEntry { Name = "Finland", Code = "FI"} },
|
|
{ 8471, new CountryEntry { Name = "Lithuania", Code = "LT"} },
|
|
{ 8401, new CountryEntry { Name = "Andorra", Code = "AD"} },
|
|
{ 8472, new CountryEntry { Name = "Luxembourg", Code = "LU"} },
|
|
{ 8440, new CountryEntry { Name = "French Guiana", Code = "GF"} },
|
|
{ 8473, new CountryEntry { Name = "Latvia", Code = "LV"} },
|
|
{ 8433, new CountryEntry { Name = "Dominican Republic", Code = "DO"} },
|
|
{ 8474, new CountryEntry { Name = "Monaco", Code = "MC"} },
|
|
{ 8441, new CountryEntry { Name = "Grenada", Code = "GD"} },
|
|
{ 8475, new CountryEntry { Name = "Montenegro", Code = "ME"} },
|
|
{ 8416, new CountryEntry { Name = "Bermuda", Code = "BM"} },
|
|
{ 8476, new CountryEntry { Name = "Macedonia", Code = "MK"} },
|
|
{ 8442, new CountryEntry { Name = "Guernsey", Code = "GG"} },
|
|
{ 8477, new CountryEntry { Name = "Mali", Code = "ML"} },
|
|
{ 8425, new CountryEntry { Name = "Colombia", Code = "CO"} },
|
|
{ 8478, new CountryEntry { Name = "Macao", Code = "MO"} },
|
|
{ 8443, new CountryEntry { Name = "Ghana", Code = "GH"} },
|
|
{ 8479, new CountryEntry { Name = "Martinique", Code = "MQ"} },
|
|
{ 8412, new CountryEntry { Name = "Barbados", Code = "BB"} },
|
|
{ 8480, new CountryEntry { Name = "Mauritania", Code = "MR"} },
|
|
{ 8510, new CountryEntry { Name = "San Marino", Code = "SM"} },
|
|
{ 8481, new CountryEntry { Name = "Montserrat", Code = "MS"} },
|
|
{ 8426, new CountryEntry { Name = "Costa Rica", Code = "CR"} },
|
|
{ 8482, new CountryEntry { Name = "Malta", Code = "MT"} },
|
|
{ 8445, new CountryEntry { Name = "Guadeloupe", Code = "GP"} },
|
|
{ 8457, new CountryEntry { Name = "India", Code = "IN"} },
|
|
{ 8417, new CountryEntry { Name = "Bolivia", Code = "BO"} },
|
|
{ 8484, new CountryEntry { Name = "Malaysia", Code = "MY"} },
|
|
{ 8446, new CountryEntry { Name = "Greece", Code = "GR"} },
|
|
{ 8485, new CountryEntry { Name = "Mozambique", Code = "MZ"} },
|
|
{ 8427, new CountryEntry { Name = "Cyprus", Code = "CY"} },
|
|
{ 8486, new CountryEntry { Name = "Namibia", Code = "NA"} },
|
|
{ 8447, new CountryEntry { Name = "Guatemala", Code = "GT"} },
|
|
{ 8487, new CountryEntry { Name = "Niger", Code = "NE"} },
|
|
{ 8410, new CountryEntry { Name = "Azerbaijan", Code = "AZ"} },
|
|
{ 8488, new CountryEntry { Name = "Nigeria", Code = "NG"} },
|
|
{ 8448, new CountryEntry { Name = "Guyana", Code = "GY"} },
|
|
{ 8489, new CountryEntry { Name = "Nicaragua", Code = "NI"} },
|
|
{ 8428, new CountryEntry { Name = "Czech Republic", Code = "CZ"} },
|
|
{ 8432, new CountryEntry { Name = "Dominica", Code = "DM"} },
|
|
{ 8449, new CountryEntry { Name = "Hong Kong", Code = "HK"} },
|
|
{ 8491, new CountryEntry { Name = "Norway", Code = "NO"} },
|
|
{ 8458, new CountryEntry { Name = "Iceland", Code = "IS"} },
|
|
{ 8492, new CountryEntry { Name = "New Zealand", Code = "NZ"} },
|
|
{ 8450, new CountryEntry { Name = "Honduras", Code = "HN"} },
|
|
{ 8493, new CountryEntry { Name = "Oman", Code = "OM"} },
|
|
{ 8831, new CountryEntry { Name = "Netherlands Antilles", Code = "AN"} },
|
|
{ 8494, new CountryEntry { Name = "Panama", Code = "PA"} },
|
|
{ 8451, new CountryEntry { Name = "Croatia", Code = "HR"} },
|
|
{ 8495, new CountryEntry { Name = "Peru", Code = "PE"} },
|
|
{ 8420, new CountryEntry { Name = "Botswana", Code = "BW"} },
|
|
{ 8496, new CountryEntry { Name = "Philippines", Code = "PH"} },
|
|
{ 8452, new CountryEntry { Name = "Haiti", Code = "HT"} },
|
|
{ 8497, new CountryEntry { Name = "Poland", Code = "PL"} },
|
|
{ 8511, new CountryEntry { Name = "Somalia", Code = "SO"} },
|
|
{ 8504, new CountryEntry { Name = "Saudi Arabia", Code = "SA"} },
|
|
{ 8512, new CountryEntry { Name = "Suriname", Code = "SR"} },
|
|
{ 8430, new CountryEntry { Name = "Djibouti", Code = "DJ"} },
|
|
{ 8498, new CountryEntry { Name = "Portugal", Code = "PT"} },
|
|
{ 8513, new CountryEntry { Name = "El Salvador", Code = "SV"} },
|
|
{ 8505, new CountryEntry { Name = "Sudan", Code = "SD"} },
|
|
{ 8514, new CountryEntry { Name = "Syrian Arab Republic", Code = "SY"} },
|
|
{ 8453, new CountryEntry { Name = "Hungary", Code = "HU"} },
|
|
{ 8499, new CountryEntry { Name = "Paraguay", Code = "PY"} },
|
|
{ 8460, new CountryEntry { Name = "Jersey", Code = "JE"} },
|
|
{ 8506, new CountryEntry { Name = "Sweden", Code = "SE"} },
|
|
{ 8419, new CountryEntry { Name = "Bahamas", Code = "BS"} },
|
|
{ 8500, new CountryEntry { Name = "Qatar", Code = "QA"} },
|
|
//{ 8516, new CountryEntry { Name = "Taiwan", Code = "TW"} }, // disable because of politics (JD2017-12042)
|
|
{ 8520, new CountryEntry { Name = "Trinidad and Tobago", Code = "TT"} },
|
|
{ 8524, new CountryEntry { Name = "Saint Vincent and the Grenadines", Code = "VC"} },
|
|
{ 8522, new CountryEntry { Name = "Uruguay", Code = "UY"} },
|
|
{ 8525, new CountryEntry { Name = "Venezuela", Code = "VE"} },
|
|
{ 8528, new CountryEntry { Name = "United States Virgin Islands", Code = "VI"} },
|
|
{ 8529, new CountryEntry { Name = "South Africa", Code = "ZA"} },
|
|
{ 8530, new CountryEntry { Name = "Zambia", Code = "ZM"} },
|
|
{ 8531, new CountryEntry { Name = "Zimbabwe", Code = "ZW"} },
|
|
{ 8404, new CountryEntry { Name = "Argentina", Code = "AR"} },
|
|
{ 8526, new CountryEntry { Name = "Turks and Caicos Islands", Code = "TC"} },
|
|
{ 8523, new CountryEntry { Name = "Holy See (Vatican City State)", Code = "VA"} },
|
|
{ 8405, new CountryEntry { Name = "Anguilla", Code = "AI"} },
|
|
{ 8507, new CountryEntry { Name = "Singapore", Code = "SG"} },
|
|
{ 8454, new CountryEntry { Name = "Indonesia", Code = "ID"} },
|
|
{ 8501, new CountryEntry { Name = "Romania", Code = "RO"} },
|
|
{ 8517, new CountryEntry { Name = "Chad", Code = "TD"} },
|
|
{ 8508, new CountryEntry { Name = "Slovenia", Code = "SI"} },
|
|
{ 8414, new CountryEntry { Name = "Bulgaria", Code = "BG"} },
|
|
{ 8502, new CountryEntry { Name = "Serbia", Code = "RS"} },
|
|
{ 8518, new CountryEntry { Name = "Thailand", Code = "TH"} },
|
|
{ 8509, new CountryEntry { Name = "Slovakia", Code = "SK"} },
|
|
{ 8455, new CountryEntry { Name = "Ireland", Code = "IE"} },
|
|
{ 8503, new CountryEntry { Name = "Russian Federation", Code = "RU"} },
|
|
{ 8519, new CountryEntry { Name = "Turkey", Code = "TR"} },
|
|
{ 8407, new CountryEntry { Name = "Angola", Code = "AO"} },
|
|
{ 8403, new CountryEntry { Name = "Antigua and Barbuda", Code = "AG"} },
|
|
{ 8406, new CountryEntry { Name = "Albania", Code = "AL"} },
|
|
{ 8830, new CountryEntry { Name = "United Arab Emirates", Code = "AE"} },
|
|
{ 8833, new CountryEntry { Name = "British Virgin Islands", Code = "VG"} },
|
|
{ 8515, new CountryEntry { Name = "Swaziland", Code = "SZ"} },
|
|
{ 11863, new CountryEntry { Name = "Israel", Code = "IL"} },
|
|
{ 11864, new CountryEntry { Name = "Lebanon", Code = "LB"} },
|
|
{ 11865, new CountryEntry { Name = "Ukraine", Code = "UA"} },
|
|
{ 9627, new CountryEntry { Name = "Ubisoft", Code = "UBI"} },
|
|
};
|
|
}
|
|
}
|