From 2612655d587baa64de1185ddaa01694795642ced Mon Sep 17 00:00:00 2001 From: Nikolay Selyutin Date: Fri, 12 Dec 2025 16:51:28 +0100 Subject: [PATCH 1/7] chore: Add init projects and solutions --- .gitignore | 15 ++ cliff.toml | 56 ++++ src/Country.Reference.Iso3166.Solution.sln | 60 +++++ .../Class1.cs | 9 + .../Content/UNSD\342\200\224Methodology.csv" | 249 ++++++++++++++++++ ...ountry.Reference.Iso3166.Generators.csproj | 53 ++++ .../README.md | 18 ++ .../Country.Reference.Iso3166/Class1.cs | 5 + .../Country.Reference.Iso3166.csproj | 48 ++++ .../Country.Reference.Iso3166.Console.csproj | 23 ++ .../Program.cs | 3 + .../Country.Reference.Iso3166.WebApi.csproj | 16 ++ .../Country.Reference.Iso3166.WebApi.http | 6 + .../Program.cs | 44 ++++ .../Properties/launchSettings.json | 25 ++ .../appsettings.Development.json | 8 + .../appsettings.json | 9 + ....Reference.Iso3166.Generators.Tests.csproj | 29 ++ .../UnitTest1.cs | 9 + .../Country.Reference.Iso3166.Tests.csproj | 21 ++ .../UnitTest1.cs | 9 + 21 files changed, 715 insertions(+) create mode 100644 .gitignore create mode 100644 cliff.toml create mode 100644 src/Country.Reference.Iso3166.Solution.sln create mode 100644 src/packages/Country.Reference.Iso3166.Generators/Class1.cs create mode 100644 "src/packages/Country.Reference.Iso3166.Generators/Content/UNSD\342\200\224Methodology.csv" create mode 100644 src/packages/Country.Reference.Iso3166.Generators/Country.Reference.Iso3166.Generators.csproj create mode 100644 src/packages/Country.Reference.Iso3166.Generators/README.md create mode 100644 src/packages/Country.Reference.Iso3166/Class1.cs create mode 100644 src/packages/Country.Reference.Iso3166/Country.Reference.Iso3166.csproj create mode 100644 src/samples/Country.Reference.Iso3166.Console/Country.Reference.Iso3166.Console.csproj create mode 100644 src/samples/Country.Reference.Iso3166.Console/Program.cs create mode 100644 src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.csproj create mode 100644 src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.http create mode 100644 src/samples/Country.Reference.Iso3166.WebApi/Program.cs create mode 100644 src/samples/Country.Reference.Iso3166.WebApi/Properties/launchSettings.json create mode 100644 src/samples/Country.Reference.Iso3166.WebApi/appsettings.Development.json create mode 100644 src/samples/Country.Reference.Iso3166.WebApi/appsettings.json create mode 100644 src/tests/Country.Reference.Iso3166.Generators.Tests/Country.Reference.Iso3166.Generators.Tests.csproj create mode 100644 src/tests/Country.Reference.Iso3166.Generators.Tests/UnitTest1.cs create mode 100644 src/tests/Country.Reference.Iso3166.Tests/Country.Reference.Iso3166.Tests.csproj create mode 100644 src/tests/Country.Reference.Iso3166.Tests/UnitTest1.cs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6d85117 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +**/.idea/* +src/packages/Country.Reference.Iso3166/obj/** +src/packages/Country.Reference.Iso3166/bin/** +src/packages/Country.Reference.Iso3166.Generators/obj/** +src/packages/Country.Reference.Iso3166.Generators/bin/** +src/tests/Country.Reference.Iso3166.Tests/obj/** +src/tests/Country.Reference.Iso3166.Tests/bin/** +src/tests/Country.Reference.Iso3166.Generators.Tests/obj/** +src/tests/Country.Reference.Iso3166.Generators.Tests/bin/** +src/samples/Country.Reference.Iso3166.Console/obj/** +src/samples/Country.Reference.Iso3166.Console/bin/** +src/samples/Country.Reference.Iso3166.WebApi/obj/** +src/samples/Country.Reference.Iso3166.WebApi/bin/** +src/NuGetPackages/** +**/*.user \ No newline at end of file diff --git a/cliff.toml b/cliff.toml new file mode 100644 index 0000000..e7a16eb --- /dev/null +++ b/cliff.toml @@ -0,0 +1,56 @@ +# git-cliff configuration for HawkN.Country.Reference.Iso3166 +# Documentation: https://git-cliff.org/docs/configuration +[changelog] +body = """ +{% if version %} ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} +[Compare changes](https://github.com/HawkN113/Country.Reference.Iso3166/compare/{{ previous_version }}...{{ version }}){% else %}\ +## [Unreleased] +{% endif %} {% for group, commits in commits | group_by(attribute="group") %} +### {{ group | striptags | trim }} +{% for commit in commits %} +- {% if commit.scope %}**{{ commit.scope }}:** {% endif %}{% if commit.breaking %}[**BREAKING**] {% endif %}{{ commit.message | upper_first | trim }} ({{ commit.id | truncate(length=7, end="") }}){% endfor %} +{% endfor %} +""" +trim = true +render_always = true +postprocessors = [ + { pattern = "", replace = "https://github.com/HawkN113/Country.Reference.Iso3166" }, + { pattern = "#(\\d+)", replace = "[#$1](https://github.com/HawkN113/Country.Reference.Iso3166/issues/$1)" }, +] +[git] +conventional_commits = true +filter_unconventional = true +require_conventional = false +split_commits = false +commit_preprocessors = [ + # Link PR numbers (PR rgba(57, 81, 105, 1) โ†’ clickable) + { pattern = "PR #(\\d+)", replace = "PR [#$1](https://github.com/HawkN113/Country.Reference.Iso3166/pull/$1)" }, +] +protect_breaking_commits = true +commit_parsers = [ + { message = "^feat", group = "๐Ÿš€ Features" }, + { message = "^fix", group = "๐Ÿ› Bug Fixes" }, + { message = "^perf", group = "โšก Performance" }, + { message = "^refactor", group = "๐Ÿ”ง Refactoring" }, + { message = "^style", group = "๐ŸŽจ Code Style" }, + { message = "^docs", group = "๐Ÿ“š Documentation" }, + { message = "^test", group = "๐Ÿงช Tests" }, + { message = "^build|^ci", group = "๐Ÿ”„ CI / Build" }, + + # Skip some: dependency update, auto-release commits + { message = "^chore\\(release\\)", skip = true }, + { message = "^chore\\(deps", skip = true }, + + { body = "^security", group = "๐Ÿ›ก๏ธ Security" }, + { message = "^revert", group = "โช Revert" }, + + # Catch-all fallback group + { message = ".*", group = "๐Ÿ’ผ Other" }, +] +filter_commits = false +link_parsers = [] +use_branch_tags = true +topo_order = false +topo_order_commits = true +sort_commits = "oldest" +recurse_submodules = false diff --git a/src/Country.Reference.Iso3166.Solution.sln b/src/Country.Reference.Iso3166.Solution.sln new file mode 100644 index 0000000..cdf1671 --- /dev/null +++ b/src/Country.Reference.Iso3166.Solution.sln @@ -0,0 +1,60 @@ +๏ปฟ +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "packages", "packages", "{B2038C6B-5338-4A76-AF4F-2A4E8692BF6E}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{6602CF55-B7B8-4466-81CB-1A600068CC3F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{04424310-F4C5-420F-AFFA-B929A8D07DC4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Country.Reference.Iso3166", "packages\Country.Reference.Iso3166\Country.Reference.Iso3166.csproj", "{B8C15C2C-5F8A-4C9C-927B-AE9946534E9C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Country.Reference.Iso3166.Generators", "packages\Country.Reference.Iso3166.Generators\Country.Reference.Iso3166.Generators.csproj", "{00814B44-43C4-4230-8A5D-15730E0EA738}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Country.Reference.Iso3166.Tests", "tests\Country.Reference.Iso3166.Tests\Country.Reference.Iso3166.Tests.csproj", "{9CD71F43-4E0D-4EE1-B02E-623F15AA01EB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Country.Reference.Iso3166.Generators.Tests", "tests\Country.Reference.Iso3166.Generators.Tests\Country.Reference.Iso3166.Generators.Tests.csproj", "{58ED09AB-F167-4532-B809-F53B8F8CF7CC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Country.Reference.Iso3166.WebApi", "samples\Country.Reference.Iso3166.WebApi\Country.Reference.Iso3166.WebApi.csproj", "{6321C47D-C275-424C-ACD7-390367A9968E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Country.Reference.Iso3166.Console", "samples\Country.Reference.Iso3166.Console\Country.Reference.Iso3166.Console.csproj", "{6364342A-33F1-46FF-9DAB-DF3B24113905}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {B8C15C2C-5F8A-4C9C-927B-AE9946534E9C} = {B2038C6B-5338-4A76-AF4F-2A4E8692BF6E} + {00814B44-43C4-4230-8A5D-15730E0EA738} = {B2038C6B-5338-4A76-AF4F-2A4E8692BF6E} + {9CD71F43-4E0D-4EE1-B02E-623F15AA01EB} = {04424310-F4C5-420F-AFFA-B929A8D07DC4} + {58ED09AB-F167-4532-B809-F53B8F8CF7CC} = {04424310-F4C5-420F-AFFA-B929A8D07DC4} + {6321C47D-C275-424C-ACD7-390367A9968E} = {6602CF55-B7B8-4466-81CB-1A600068CC3F} + {6364342A-33F1-46FF-9DAB-DF3B24113905} = {6602CF55-B7B8-4466-81CB-1A600068CC3F} + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B8C15C2C-5F8A-4C9C-927B-AE9946534E9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B8C15C2C-5F8A-4C9C-927B-AE9946534E9C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B8C15C2C-5F8A-4C9C-927B-AE9946534E9C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B8C15C2C-5F8A-4C9C-927B-AE9946534E9C}.Release|Any CPU.Build.0 = Release|Any CPU + {00814B44-43C4-4230-8A5D-15730E0EA738}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {00814B44-43C4-4230-8A5D-15730E0EA738}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00814B44-43C4-4230-8A5D-15730E0EA738}.Release|Any CPU.ActiveCfg = Release|Any CPU + {00814B44-43C4-4230-8A5D-15730E0EA738}.Release|Any CPU.Build.0 = Release|Any CPU + {9CD71F43-4E0D-4EE1-B02E-623F15AA01EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9CD71F43-4E0D-4EE1-B02E-623F15AA01EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9CD71F43-4E0D-4EE1-B02E-623F15AA01EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9CD71F43-4E0D-4EE1-B02E-623F15AA01EB}.Release|Any CPU.Build.0 = Release|Any CPU + {58ED09AB-F167-4532-B809-F53B8F8CF7CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58ED09AB-F167-4532-B809-F53B8F8CF7CC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58ED09AB-F167-4532-B809-F53B8F8CF7CC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58ED09AB-F167-4532-B809-F53B8F8CF7CC}.Release|Any CPU.Build.0 = Release|Any CPU + {6321C47D-C275-424C-ACD7-390367A9968E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6321C47D-C275-424C-ACD7-390367A9968E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6321C47D-C275-424C-ACD7-390367A9968E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6321C47D-C275-424C-ACD7-390367A9968E}.Release|Any CPU.Build.0 = Release|Any CPU + {6364342A-33F1-46FF-9DAB-DF3B24113905}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6364342A-33F1-46FF-9DAB-DF3B24113905}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6364342A-33F1-46FF-9DAB-DF3B24113905}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6364342A-33F1-46FF-9DAB-DF3B24113905}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/src/packages/Country.Reference.Iso3166.Generators/Class1.cs b/src/packages/Country.Reference.Iso3166.Generators/Class1.cs new file mode 100644 index 0000000..ec0cb55 --- /dev/null +++ b/src/packages/Country.Reference.Iso3166.Generators/Class1.cs @@ -0,0 +1,9 @@ +๏ปฟusing System; + +namespace Country.Reference.Iso3166.Generators +{ + public class Class1 + { + + } +} \ No newline at end of file diff --git "a/src/packages/Country.Reference.Iso3166.Generators/Content/UNSD\342\200\224Methodology.csv" "b/src/packages/Country.Reference.Iso3166.Generators/Content/UNSD\342\200\224Methodology.csv" new file mode 100644 index 0000000..ffbf083 --- /dev/null +++ "b/src/packages/Country.Reference.Iso3166.Generators/Content/UNSD\342\200\224Methodology.csv" @@ -0,0 +1,249 @@ +๏ปฟGlobal Code;Global Name;Region Code;Region Name;Sub-region Code;Sub-region Name;Intermediate Region Code;Intermediate Region Name;Country or Area;M49 Code;ISO-alpha2 Code;ISO-alpha3 Code;Least Developed Countries (LDC);Land Locked Developing Countries (LLDC);Small Island Developing States (SIDS) +001;World;002;Africa;015;Northern Africa;;;Algeria;012;DZ;DZA;;; +001;World;002;Africa;015;Northern Africa;;;Egypt;818;EG;EGY;;; +001;World;002;Africa;015;Northern Africa;;;Libya;434;LY;LBY;;; +001;World;002;Africa;015;Northern Africa;;;Morocco;504;MA;MAR;;; +001;World;002;Africa;015;Northern Africa;;;Sudan;729;SD;SDN;x;; +001;World;002;Africa;015;Northern Africa;;;Tunisia;788;TN;TUN;;; +001;World;002;Africa;015;Northern Africa;;;Western Sahara;732;EH;ESH;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;British Indian Ocean Territory;086;IO;IOT;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Burundi;108;BI;BDI;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Comoros;174;KM;COM;x;;x +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Djibouti;262;DJ;DJI;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Eritrea;232;ER;ERI;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Ethiopia;231;ET;ETH;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;French Southern Territories;260;TF;ATF;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Kenya;404;KE;KEN;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Madagascar;450;MG;MDG;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Malawi;454;MW;MWI;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Mauritius;480;MU;MUS;;;x +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Mayotte;175;YT;MYT;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Mozambique;508;MZ;MOZ;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Rรฉunion;638;RE;REU;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Rwanda;646;RW;RWA;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Seychelles;690;SC;SYC;;;x +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Somalia;706;SO;SOM;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;South Sudan;728;SS;SSD;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Uganda;800;UG;UGA;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;United Republic of Tanzania;834;TZ;TZA;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Zambia;894;ZM;ZMB;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Zimbabwe;716;ZW;ZWE;;x; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Angola;024;AO;AGO;x;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Cameroon;120;CM;CMR;;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Central African Republic;140;CF;CAF;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Chad;148;TD;TCD;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Congo;178;CG;COG;;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Democratic Republic of the Congo;180;CD;COD;x;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Equatorial Guinea;226;GQ;GNQ;;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Gabon;266;GA;GAB;;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Sao Tome and Principe;678;ST;STP;;;x +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;Botswana;072;BW;BWA;;x; +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;Eswatini;748;SZ;SWZ;;x; +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;Lesotho;426;LS;LSO;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;Namibia;516;NA;NAM;;; +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;South Africa;710;ZA;ZAF;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Benin;204;BJ;BEN;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Burkina Faso;854;BF;BFA;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Cabo Verde;132;CV;CPV;;;x +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Cรดte dโ€™Ivoire;384;CI;CIV;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Gambia;270;GM;GMB;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Ghana;288;GH;GHA;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Guinea;324;GN;GIN;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Guinea-Bissau;624;GW;GNB;x;;x +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Liberia;430;LR;LBR;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Mali;466;ML;MLI;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Mauritania;478;MR;MRT;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Niger;562;NE;NER;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Nigeria;566;NG;NGA;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Saint Helena;654;SH;SHN;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Senegal;686;SN;SEN;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Sierra Leone;694;SL;SLE;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Togo;768;TG;TGO;x;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Anguilla;660;AI;AIA;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Antigua and Barbuda;028;AG;ATG;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Aruba;533;AW;ABW;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Bahamas;044;BS;BHS;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Barbados;052;BB;BRB;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Bonaire, Sint Eustatius and Saba;535;BQ;BES;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;British Virgin Islands;092;VG;VGB;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Cayman Islands;136;KY;CYM;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Cuba;192;CU;CUB;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Curaรงao;531;CW;CUW;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Dominica;212;DM;DMA;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Dominican Republic;214;DO;DOM;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Grenada;308;GD;GRD;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Guadeloupe;312;GP;GLP;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Haiti;332;HT;HTI;x;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Jamaica;388;JM;JAM;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Martinique;474;MQ;MTQ;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Montserrat;500;MS;MSR;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Puerto Rico;630;PR;PRI;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Barthรฉlemy;652;BL;BLM;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Kitts and Nevis;659;KN;KNA;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Lucia;662;LC;LCA;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Martin (French Part);663;MF;MAF;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Vincent and the Grenadines;670;VC;VCT;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Sint Maarten (Dutch part);534;SX;SXM;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Trinidad and Tobago;780;TT;TTO;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Turks and Caicos Islands;796;TC;TCA;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;United States Virgin Islands;850;VI;VIR;;;x +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Belize;084;BZ;BLZ;;;x +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Costa Rica;188;CR;CRI;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;El Salvador;222;SV;SLV;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Guatemala;320;GT;GTM;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Honduras;340;HN;HND;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Mexico;484;MX;MEX;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Nicaragua;558;NI;NIC;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Panama;591;PA;PAN;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Argentina;032;AR;ARG;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Bolivia (Plurinational State of);068;BO;BOL;;x; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Bouvet Island;074;BV;BVT;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Brazil;076;BR;BRA;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Chile;152;CL;CHL;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Colombia;170;CO;COL;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Ecuador;218;EC;ECU;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Falkland Islands (Malvinas);238;FK;FLK;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;French Guiana;254;GF;GUF;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Guyana;328;GY;GUY;;;x +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Paraguay;600;PY;PRY;;x; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Peru;604;PE;PER;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;South Georgia and the South Sandwich Islands;239;GS;SGS;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Suriname;740;SR;SUR;;;x +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Uruguay;858;UY;URY;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Venezuela (Bolivarian Republic of);862;VE;VEN;;; +001;World;019;Americas;021;Northern America;;;Bermuda;060;BM;BMU;;; +001;World;019;Americas;021;Northern America;;;Canada;124;CA;CAN;;; +001;World;019;Americas;021;Northern America;;;Greenland;304;GL;GRL;;; +001;World;019;Americas;021;Northern America;;;Saint Pierre and Miquelon;666;PM;SPM;;; +001;World;019;Americas;021;Northern America;;;United States of America;840;US;USA;;; +001;World;;;;;;;Antarctica;010;AQ;ATA;;; +001;World;142;Asia;143;Central Asia;;;Kazakhstan;398;KZ;KAZ;;x; +001;World;142;Asia;143;Central Asia;;;Kyrgyzstan;417;KG;KGZ;;x; +001;World;142;Asia;143;Central Asia;;;Tajikistan;762;TJ;TJK;;x; +001;World;142;Asia;143;Central Asia;;;Turkmenistan;795;TM;TKM;;x; +001;World;142;Asia;143;Central Asia;;;Uzbekistan;860;UZ;UZB;;x; +001;World;142;Asia;030;Eastern Asia;;;China;156;CN;CHN;;; +001;World;142;Asia;030;Eastern Asia;;;China, Hong Kong Special Administrative Region;344;HK;HKG;;; +001;World;142;Asia;030;Eastern Asia;;;China, Macao Special Administrative Region;446;MO;MAC;;; +001;World;142;Asia;030;Eastern Asia;;;Democratic People's Republic of Korea;408;KP;PRK;;; +001;World;142;Asia;030;Eastern Asia;;;Japan;392;JP;JPN;;; +001;World;142;Asia;030;Eastern Asia;;;Mongolia;496;MN;MNG;;x; +001;World;142;Asia;030;Eastern Asia;;;Republic of Korea;410;KR;KOR;;; +001;World;142;Asia;035;South-eastern Asia;;;Brunei Darussalam;096;BN;BRN;;; +001;World;142;Asia;035;South-eastern Asia;;;Cambodia;116;KH;KHM;x;; +001;World;142;Asia;035;South-eastern Asia;;;Indonesia;360;ID;IDN;;; +001;World;142;Asia;035;South-eastern Asia;;;Lao People's Democratic Republic;418;LA;LAO;x;x; +001;World;142;Asia;035;South-eastern Asia;;;Malaysia;458;MY;MYS;;; +001;World;142;Asia;035;South-eastern Asia;;;Myanmar;104;MM;MMR;x;; +001;World;142;Asia;035;South-eastern Asia;;;Philippines;608;PH;PHL;;; +001;World;142;Asia;035;South-eastern Asia;;;Singapore;702;SG;SGP;;;x +001;World;142;Asia;035;South-eastern Asia;;;Thailand;764;TH;THA;;; +001;World;142;Asia;035;South-eastern Asia;;;Timor-Leste;626;TL;TLS;x;;x +001;World;142;Asia;035;South-eastern Asia;;;Viet Nam;704;VN;VNM;;; +001;World;142;Asia;034;Southern Asia;;;Afghanistan;004;AF;AFG;x;x; +001;World;142;Asia;034;Southern Asia;;;Bangladesh;050;BD;BGD;x;; +001;World;142;Asia;034;Southern Asia;;;Bhutan;064;BT;BTN;;x; +001;World;142;Asia;034;Southern Asia;;;India;356;IN;IND;;; +001;World;142;Asia;034;Southern Asia;;;Iran (Islamic Republic of);364;IR;IRN;;; +001;World;142;Asia;034;Southern Asia;;;Maldives;462;MV;MDV;;;x +001;World;142;Asia;034;Southern Asia;;;Nepal;524;NP;NPL;x;x; +001;World;142;Asia;034;Southern Asia;;;Pakistan;586;PK;PAK;;; +001;World;142;Asia;034;Southern Asia;;;Sri Lanka;144;LK;LKA;;; +001;World;142;Asia;145;Western Asia;;;Armenia;051;AM;ARM;;x; +001;World;142;Asia;145;Western Asia;;;Azerbaijan;031;AZ;AZE;;x; +001;World;142;Asia;145;Western Asia;;;Bahrain;048;BH;BHR;;; +001;World;142;Asia;145;Western Asia;;;Cyprus;196;CY;CYP;;; +001;World;142;Asia;145;Western Asia;;;Georgia;268;GE;GEO;;; +001;World;142;Asia;145;Western Asia;;;Iraq;368;IQ;IRQ;;; +001;World;142;Asia;145;Western Asia;;;Israel;376;IL;ISR;;; +001;World;142;Asia;145;Western Asia;;;Jordan;400;JO;JOR;;; +001;World;142;Asia;145;Western Asia;;;Kuwait;414;KW;KWT;;; +001;World;142;Asia;145;Western Asia;;;Lebanon;422;LB;LBN;;; +001;World;142;Asia;145;Western Asia;;;Oman;512;OM;OMN;;; +001;World;142;Asia;145;Western Asia;;;Qatar;634;QA;QAT;;; +001;World;142;Asia;145;Western Asia;;;Saudi Arabia;682;SA;SAU;;; +001;World;142;Asia;145;Western Asia;;;State of Palestine;275;PS;PSE;;; +001;World;142;Asia;145;Western Asia;;;Syrian Arab Republic;760;SY;SYR;;; +001;World;142;Asia;145;Western Asia;;;Tรผrkiye;792;TR;TUR;;; +001;World;142;Asia;145;Western Asia;;;United Arab Emirates;784;AE;ARE;;; +001;World;142;Asia;145;Western Asia;;;Yemen;887;YE;YEM;x;; +001;World;150;Europe;151;Eastern Europe;;;Belarus;112;BY;BLR;;; +001;World;150;Europe;151;Eastern Europe;;;Bulgaria;100;BG;BGR;;; +001;World;150;Europe;151;Eastern Europe;;;Czechia;203;CZ;CZE;;; +001;World;150;Europe;151;Eastern Europe;;;Hungary;348;HU;HUN;;; +001;World;150;Europe;151;Eastern Europe;;;Poland;616;PL;POL;;; +001;World;150;Europe;151;Eastern Europe;;;Republic of Moldova;498;MD;MDA;;x; +001;World;150;Europe;151;Eastern Europe;;;Romania;642;RO;ROU;;; +001;World;150;Europe;151;Eastern Europe;;;Russian Federation;643;RU;RUS;;; +001;World;150;Europe;151;Eastern Europe;;;Slovakia;703;SK;SVK;;; +001;World;150;Europe;151;Eastern Europe;;;Ukraine;804;UA;UKR;;; +001;World;150;Europe;154;Northern Europe;;;ร…land Islands;248;AX;ALA;;; +001;World;150;Europe;154;Northern Europe;;;Denmark;208;DK;DNK;;; +001;World;150;Europe;154;Northern Europe;;;Estonia;233;EE;EST;;; +001;World;150;Europe;154;Northern Europe;;;Faroe Islands;234;FO;FRO;;; +001;World;150;Europe;154;Northern Europe;;;Finland;246;FI;FIN;;; +001;World;150;Europe;154;Northern Europe;;;Guernsey;831;GG;GGY;;; +001;World;150;Europe;154;Northern Europe;;;Iceland;352;IS;ISL;;; +001;World;150;Europe;154;Northern Europe;;;Ireland;372;IE;IRL;;; +001;World;150;Europe;154;Northern Europe;;;Isle of Man;833;IM;IMN;;; +001;World;150;Europe;154;Northern Europe;;;Jersey;832;JE;JEY;;; +001;World;150;Europe;154;Northern Europe;;;Latvia;428;LV;LVA;;; +001;World;150;Europe;154;Northern Europe;;;Lithuania;440;LT;LTU;;; +001;World;150;Europe;154;Northern Europe;;;Norway;578;NO;NOR;;; +001;World;150;Europe;154;Northern Europe;;;Svalbard and Jan Mayen Islands;744;SJ;SJM;;; +001;World;150;Europe;154;Northern Europe;;;Sweden;752;SE;SWE;;; +001;World;150;Europe;154;Northern Europe;;;United Kingdom of Great Britain and Northern Ireland;826;GB;GBR;;; +001;World;150;Europe;039;Southern Europe;;;Albania;008;AL;ALB;;; +001;World;150;Europe;039;Southern Europe;;;Andorra;020;AD;AND;;; +001;World;150;Europe;039;Southern Europe;;;Bosnia and Herzegovina;070;BA;BIH;;; +001;World;150;Europe;039;Southern Europe;;;Croatia;191;HR;HRV;;; +001;World;150;Europe;039;Southern Europe;;;Gibraltar;292;GI;GIB;;; +001;World;150;Europe;039;Southern Europe;;;Greece;300;GR;GRC;;; +001;World;150;Europe;039;Southern Europe;;;Holy See;336;VA;VAT;;; +001;World;150;Europe;039;Southern Europe;;;Italy;380;IT;ITA;;; +001;World;150;Europe;039;Southern Europe;;;Malta;470;MT;MLT;;; +001;World;150;Europe;039;Southern Europe;;;Montenegro;499;ME;MNE;;; +001;World;150;Europe;039;Southern Europe;;;North Macedonia;807;MK;MKD;;x; +001;World;150;Europe;039;Southern Europe;;;Portugal;620;PT;PRT;;; +001;World;150;Europe;039;Southern Europe;;;San Marino;674;SM;SMR;;; +001;World;150;Europe;039;Southern Europe;;;Serbia;688;RS;SRB;;; +001;World;150;Europe;039;Southern Europe;;;Slovenia;705;SI;SVN;;; +001;World;150;Europe;039;Southern Europe;;;Spain;724;ES;ESP;;; +001;World;150;Europe;155;Western Europe;;;Austria;040;AT;AUT;;; +001;World;150;Europe;155;Western Europe;;;Belgium;056;BE;BEL;;; +001;World;150;Europe;155;Western Europe;;;France;250;FR;FRA;;; +001;World;150;Europe;155;Western Europe;;;Germany;276;DE;DEU;;; +001;World;150;Europe;155;Western Europe;;;Liechtenstein;438;LI;LIE;;; +001;World;150;Europe;155;Western Europe;;;Luxembourg;442;LU;LUX;;; +001;World;150;Europe;155;Western Europe;;;Monaco;492;MC;MCO;;; +001;World;150;Europe;155;Western Europe;;;Netherlands (Kingdom of the);528;NL;NLD;;; +001;World;150;Europe;155;Western Europe;;;Switzerland;756;CH;CHE;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Australia;036;AU;AUS;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Christmas Island;162;CX;CXR;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Cocos (Keeling) Islands;166;CC;CCK;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Heard Island and McDonald Islands;334;HM;HMD;;; +001;World;009;Oceania;053;Australia and New Zealand;;;New Zealand;554;NZ;NZL;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Norfolk Island;574;NF;NFK;;; +001;World;009;Oceania;054;Melanesia;;;Fiji;242;FJ;FJI;;;x +001;World;009;Oceania;054;Melanesia;;;New Caledonia;540;NC;NCL;;;x +001;World;009;Oceania;054;Melanesia;;;Papua New Guinea;598;PG;PNG;;;x +001;World;009;Oceania;054;Melanesia;;;Solomon Islands;090;SB;SLB;x;;x +001;World;009;Oceania;054;Melanesia;;;Vanuatu;548;VU;VUT;;;x +001;World;009;Oceania;057;Micronesia;;;Guam;316;GU;GUM;;;x +001;World;009;Oceania;057;Micronesia;;;Kiribati;296;KI;KIR;x;;x +001;World;009;Oceania;057;Micronesia;;;Marshall Islands;584;MH;MHL;;;x +001;World;009;Oceania;057;Micronesia;;;Micronesia (Federated States of);583;FM;FSM;;;x +001;World;009;Oceania;057;Micronesia;;;Nauru;520;NR;NRU;;;x +001;World;009;Oceania;057;Micronesia;;;Northern Mariana Islands;580;MP;MNP;;;x +001;World;009;Oceania;057;Micronesia;;;Palau;585;PW;PLW;;;x +001;World;009;Oceania;057;Micronesia;;;United States Minor Outlying Islands;581;UM;UMI;;; +001;World;009;Oceania;061;Polynesia;;;American Samoa;016;AS;ASM;;;x +001;World;009;Oceania;061;Polynesia;;;Cook Islands;184;CK;COK;;;x +001;World;009;Oceania;061;Polynesia;;;French Polynesia;258;PF;PYF;;;x +001;World;009;Oceania;061;Polynesia;;;Niue;570;NU;NIU;;;x +001;World;009;Oceania;061;Polynesia;;;Pitcairn;612;PN;PCN;;; +001;World;009;Oceania;061;Polynesia;;;Samoa;882;WS;WSM;;;x +001;World;009;Oceania;061;Polynesia;;;Tokelau;772;TK;TKL;;; +001;World;009;Oceania;061;Polynesia;;;Tonga;776;TO;TON;;;x +001;World;009;Oceania;061;Polynesia;;;Tuvalu;798;TV;TUV;x;;x +001;World;009;Oceania;061;Polynesia;;;Wallis and Futuna Islands;876;WF;WLF;;; \ No newline at end of file diff --git a/src/packages/Country.Reference.Iso3166.Generators/Country.Reference.Iso3166.Generators.csproj b/src/packages/Country.Reference.Iso3166.Generators/Country.Reference.Iso3166.Generators.csproj new file mode 100644 index 0000000..c905d9f --- /dev/null +++ b/src/packages/Country.Reference.Iso3166.Generators/Country.Reference.Iso3166.Generators.csproj @@ -0,0 +1,53 @@ +๏ปฟ + + + netstandard2.0 + latest + true + true + enable + enable + Analyzer + true + true + true + false + 8.0.0.0 + Copyright ยฉ 2025 Nikolay Selyutin (HawkN113) + true + false + true + false + true + false + false + + + + + + + + + + Always + + + + + + + + + + embedded + + + embedded + + + + + + + diff --git a/src/packages/Country.Reference.Iso3166.Generators/README.md b/src/packages/Country.Reference.Iso3166.Generators/README.md new file mode 100644 index 0000000..4be5e4c --- /dev/null +++ b/src/packages/Country.Reference.Iso3166.Generators/README.md @@ -0,0 +1,18 @@ +### [How to use source generator](#how-use-sourceGenerator) + +- In the project __Country.Reference.Iso3166__ use the parameter setting ``GenerateCountryFiles`` in the project. Set `true` value: +```json lines + true +``` +- Save changes; +- Rebuild the solution; +- Review changes in ``CurrencyCode.cs`` and ``LocalDatabase.cs``files; +- The parameter setting ``GenerateCurrencyFiles`` set `false` value; +- Save changes again; +- Rebuild the solution again. + +### How to update countries +- Open https://unstats.un.org/unsd/methodology/m49/overview/ +- Download a CSV file +- Save data in the file ``Content\UNSDโ€”Methodology.csv`` +- Use command from section How to use source generator \ No newline at end of file diff --git a/src/packages/Country.Reference.Iso3166/Class1.cs b/src/packages/Country.Reference.Iso3166/Class1.cs new file mode 100644 index 0000000..5dffc6a --- /dev/null +++ b/src/packages/Country.Reference.Iso3166/Class1.cs @@ -0,0 +1,5 @@ +๏ปฟnamespace Country.Reference.Iso3166; + +public class Class1 +{ +} \ No newline at end of file diff --git a/src/packages/Country.Reference.Iso3166/Country.Reference.Iso3166.csproj b/src/packages/Country.Reference.Iso3166/Country.Reference.Iso3166.csproj new file mode 100644 index 0000000..58c3c21 --- /dev/null +++ b/src/packages/Country.Reference.Iso3166/Country.Reference.Iso3166.csproj @@ -0,0 +1,48 @@ +๏ปฟ + + + net8.0 + enable + enable + 8.0.0.0 + Library + Copyright ยฉ 2025 Nikolay Selyutin (HawkN113) + true + false + true + false + true + false + false + false + true + 8.0.0 + + false + true + $(BaseIntermediateOutputPath)\Generated + + + + embedded + bin\Debug\Country.Reference.Iso3166.xml + ;NU1605 + + + + embedded + bin\Release\Country.Reference.Iso3166.xml + ;NU1605 + + + + + + + + + + + + + diff --git a/src/samples/Country.Reference.Iso3166.Console/Country.Reference.Iso3166.Console.csproj b/src/samples/Country.Reference.Iso3166.Console/Country.Reference.Iso3166.Console.csproj new file mode 100644 index 0000000..2f140f0 --- /dev/null +++ b/src/samples/Country.Reference.Iso3166.Console/Country.Reference.Iso3166.Console.csproj @@ -0,0 +1,23 @@ +๏ปฟ + + + Exe + net8.0 + enable + enable + true + true + + + + + + + + + + + DEBUG;TRACE + + + \ No newline at end of file diff --git a/src/samples/Country.Reference.Iso3166.Console/Program.cs b/src/samples/Country.Reference.Iso3166.Console/Program.cs new file mode 100644 index 0000000..e5dff12 --- /dev/null +++ b/src/samples/Country.Reference.Iso3166.Console/Program.cs @@ -0,0 +1,3 @@ +๏ปฟ// See https://aka.ms/new-console-template for more information + +Console.WriteLine("Hello, World!"); \ No newline at end of file diff --git a/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.csproj b/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.csproj new file mode 100644 index 0000000..bafafb8 --- /dev/null +++ b/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.csproj @@ -0,0 +1,16 @@ + + + + net8.0 + enable + enable + + + + + + + + + + diff --git a/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.http b/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.http new file mode 100644 index 0000000..dc4f98f --- /dev/null +++ b/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.http @@ -0,0 +1,6 @@ +@Country.Reference.Iso3166.WebApi_HostAddress = http://localhost:5252 + +GET {{Country.Reference.Iso3166.WebApi_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/src/samples/Country.Reference.Iso3166.WebApi/Program.cs b/src/samples/Country.Reference.Iso3166.WebApi/Program.cs new file mode 100644 index 0000000..161f695 --- /dev/null +++ b/src/samples/Country.Reference.Iso3166.WebApi/Program.cs @@ -0,0 +1,44 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +var summaries = new[] +{ + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" +}; + +app.MapGet("/weatherforecast", () => + { + var forecast = Enumerable.Range(1, 5).Select(index => + new WeatherForecast + ( + DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + Random.Shared.Next(-20, 55), + summaries[Random.Shared.Next(summaries.Length)] + )) + .ToArray(); + return forecast; + }) + .WithName("GetWeatherForecast") + .WithOpenApi(); + +app.Run(); + +record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary) +{ + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); +} \ No newline at end of file diff --git a/src/samples/Country.Reference.Iso3166.WebApi/Properties/launchSettings.json b/src/samples/Country.Reference.Iso3166.WebApi/Properties/launchSettings.json new file mode 100644 index 0000000..b8d18d9 --- /dev/null +++ b/src/samples/Country.Reference.Iso3166.WebApi/Properties/launchSettings.json @@ -0,0 +1,25 @@ +๏ปฟ{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:7111", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7110", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} \ No newline at end of file diff --git a/src/samples/Country.Reference.Iso3166.WebApi/appsettings.Development.json b/src/samples/Country.Reference.Iso3166.WebApi/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/src/samples/Country.Reference.Iso3166.WebApi/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/src/samples/Country.Reference.Iso3166.WebApi/appsettings.json b/src/samples/Country.Reference.Iso3166.WebApi/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/src/samples/Country.Reference.Iso3166.WebApi/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/src/tests/Country.Reference.Iso3166.Generators.Tests/Country.Reference.Iso3166.Generators.Tests.csproj b/src/tests/Country.Reference.Iso3166.Generators.Tests/Country.Reference.Iso3166.Generators.Tests.csproj new file mode 100644 index 0000000..2dd6387 --- /dev/null +++ b/src/tests/Country.Reference.Iso3166.Generators.Tests/Country.Reference.Iso3166.Generators.Tests.csproj @@ -0,0 +1,29 @@ + + + net8.0 + enable + enable + false + true + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + diff --git a/src/tests/Country.Reference.Iso3166.Generators.Tests/UnitTest1.cs b/src/tests/Country.Reference.Iso3166.Generators.Tests/UnitTest1.cs new file mode 100644 index 0000000..0078c55 --- /dev/null +++ b/src/tests/Country.Reference.Iso3166.Generators.Tests/UnitTest1.cs @@ -0,0 +1,9 @@ +namespace Country.Reference.Iso3166.Generators.Tests; + +public class UnitTest1 +{ + [Fact] + public void Test1() + { + } +} \ No newline at end of file diff --git a/src/tests/Country.Reference.Iso3166.Tests/Country.Reference.Iso3166.Tests.csproj b/src/tests/Country.Reference.Iso3166.Tests/Country.Reference.Iso3166.Tests.csproj new file mode 100644 index 0000000..7257313 --- /dev/null +++ b/src/tests/Country.Reference.Iso3166.Tests/Country.Reference.Iso3166.Tests.csproj @@ -0,0 +1,21 @@ + + + net8.0 + enable + enable + false + true + + + + + + + + + + + + + + diff --git a/src/tests/Country.Reference.Iso3166.Tests/UnitTest1.cs b/src/tests/Country.Reference.Iso3166.Tests/UnitTest1.cs new file mode 100644 index 0000000..c9658c7 --- /dev/null +++ b/src/tests/Country.Reference.Iso3166.Tests/UnitTest1.cs @@ -0,0 +1,9 @@ +namespace Country.Reference.Iso3166.Tests; + +public class UnitTest1 +{ + [Fact] + public void Test1() + { + } +} \ No newline at end of file From 4925204df6e0ea06f53913c8c890da961384eb09 Mon Sep 17 00:00:00 2001 From: Nikolay Selyutin <81760946+HawkN113@users.noreply.github.com> Date: Wed, 24 Dec 2025 03:37:24 +0100 Subject: [PATCH 2/7] feat: Add projects and solution (#2) * feat: Init solution * feat: Added country code service * ci: add CI, CD, security check pipeline * style: Update formating * style: Update project references * update country service * chore: Update format code * docs: Update samples for console app and web api * docs: Update samples * docs: Updated samples * feat: Use Debian iso-codes, update license * feat: Add Licenses (MIT and LGPL 2.1) * feat: Add emoji flag extension * chore: Removed unused references * feat: Remove unused references * test: Add country.reference.iso3166 tests * chore: update format * ci: Add ci, cd pipelines * chore: Remove unused XML summary * feat: Update namespaces to 'HawkN.Iso.Countries' * chore: Rename xml project reference * chore: Update nuspec file * docs: Update LICENSE file * docs: Update README.md * chore: Remove txt extension for LICENSE file * tests: Add tests for generators * test: Update xunit tests * test: Disable Analyzer Release Tracking for test projects * feat: Add automatic download ISO file * ci: Update CI, CD, CodeQL pipelines * ci: Add caching for pipelines * ci: Add restore dependencies for CodeQL pipeline * ci: Add `read` permission for Actions * feat: Add ImmutableArray for local country database * style: Update formatting for handlers --- .github/workflows/cd.yml | 106 + .github/workflows/ci.yml | 104 + .github/workflows/codeql-analysis.yml | 73 + .gitignore | 24 +- DATA-LICENSE.txt | 515 +++++ LICENSE | 11 + README.md | 458 +++- docs/img/HawkN.Iso.Countries.png | Bin 0 -> 1423021 bytes ...n.sln => HawkN.Iso.Countries.Solution.sln} | 12 +- .../Class1.cs | 9 - .../Content/UNSD\342\200\224Methodology.csv" | 249 -- .../README.md | 18 - .../Country.Reference.Iso3166/Class1.cs | 5 - .../Country.Reference.Iso3166.csproj | 48 - .../BaseIncrementalGenerator.cs | 74 + .../Constants.cs | 15 + .../Content/iso_3166-1.json | 1931 ++++++++++++++++ .../CountryCodeEnumsGenerator.cs | 182 ++ .../Factories/ErrorFactory.cs | 38 + .../Handlers/JsonCountryHandler.cs | 41 + .../Handlers/JsonCountryLoader.cs | 18 + .../HawkN.Iso.Countries.Generators.csproj} | 32 +- .../LocalCountryDatabaseGenerator.cs | 152 ++ .../Models/Country.cs | 29 + .../Models/DebianCountryEntry.cs | 19 + .../Models/DebianIsoJson.cs | 7 + .../Models/DiagnosticDescriptors.cs | 7 + .../Models/ErrorDescription.cs | 11 + .../Models/GeneratorType.cs | 8 + .../HawkN.Iso.Countries.Generators/README.md | 31 + .../Abstractions/ICountryCodeService.cs | 83 + .../HawkN.Iso.Countries/CountryCode.cs | 2022 +++++++++++++++++ .../Extensions/CountryStringExtensions.cs | 55 + .../Extensions/ServiceCollectionExtensions.cs | 23 + .../HawkN.Iso.Countries.csproj | 83 + .../HawkN.Iso.Countries.nuspec | 38 + .../LocalCountryDatabase.cs | 272 +++ .../HawkN.Iso.Countries/Models/Country.cs | 16 + .../Models/ValidationResult.cs | 59 + .../Content/HawkN.Iso.Countries.ico.png | Bin 0 -> 57886 bytes .../Package/Content/README.md | 174 ++ .../Services/CountryCodeService.cs | 88 + .../Program.cs | 3 - .../Country.Reference.Iso3166.WebApi.http | 6 - .../Program.cs | 44 - ...awkN.Iso.Countries.Samples.Console.csproj} | 4 +- .../Program.cs | 116 + .../Endpoints/CountryEndpoint.cs | 66 + .../Handlers/CountryHandler.cs | 84 + ...HawkN.Iso.Countries.Samples.WebApi.csproj} | 4 +- .../HawkN.Iso.Countries.Samples.WebApi.http | 49 + .../Program.cs | 39 + .../Properties/launchSettings.json | 0 .../appsettings.Development.json | 0 .../appsettings.json | 0 src/tests/.editorconfig | 4 + .../UnitTest1.cs | 9 - .../UnitTest1.cs | 9 - .../CountryCodeEnumsGeneratorTests.cs | 47 + .../Factories/ErrorFactoryTests.cs | 109 + .../Handlers/JsonCountryHandlerTests.cs | 61 + .../Handlers/JsonCountryLoaderTests.cs | 63 + ...wkN.Iso.Countries.Generators.Tests.csproj} | 4 +- .../Helpers/GeneratorTestHelper.cs | 35 + .../LocalCountryDatabaseGeneratorTests.cs | 45 + .../CountryStringExtensionsTests.cs | 135 ++ .../ServiceCollectionExtensionsTests.cs | 57 + .../HawkN.Iso.Countries.Tests.csproj} | 3 +- .../Services/CountryCodeServiceTests.cs | 106 + 69 files changed, 7802 insertions(+), 440 deletions(-) create mode 100644 .github/workflows/cd.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 DATA-LICENSE.txt create mode 100644 docs/img/HawkN.Iso.Countries.png rename src/{Country.Reference.Iso3166.Solution.sln => HawkN.Iso.Countries.Solution.sln} (71%) delete mode 100644 src/packages/Country.Reference.Iso3166.Generators/Class1.cs delete mode 100644 "src/packages/Country.Reference.Iso3166.Generators/Content/UNSD\342\200\224Methodology.csv" delete mode 100644 src/packages/Country.Reference.Iso3166.Generators/README.md delete mode 100644 src/packages/Country.Reference.Iso3166/Class1.cs delete mode 100644 src/packages/Country.Reference.Iso3166/Country.Reference.Iso3166.csproj create mode 100644 src/packages/HawkN.Iso.Countries.Generators/BaseIncrementalGenerator.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Constants.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json create mode 100644 src/packages/HawkN.Iso.Countries.Generators/CountryCodeEnumsGenerator.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Factories/ErrorFactory.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs rename src/packages/{Country.Reference.Iso3166.Generators/Country.Reference.Iso3166.Generators.csproj => HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj} (64%) create mode 100644 src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/Country.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/DiagnosticDescriptors.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/ErrorDescription.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/GeneratorType.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/README.md create mode 100644 src/packages/HawkN.Iso.Countries/Abstractions/ICountryCodeService.cs create mode 100644 src/packages/HawkN.Iso.Countries/CountryCode.cs create mode 100644 src/packages/HawkN.Iso.Countries/Extensions/CountryStringExtensions.cs create mode 100644 src/packages/HawkN.Iso.Countries/Extensions/ServiceCollectionExtensions.cs create mode 100644 src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj create mode 100644 src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec create mode 100644 src/packages/HawkN.Iso.Countries/LocalCountryDatabase.cs create mode 100644 src/packages/HawkN.Iso.Countries/Models/Country.cs create mode 100644 src/packages/HawkN.Iso.Countries/Models/ValidationResult.cs create mode 100644 src/packages/HawkN.Iso.Countries/Package/Content/HawkN.Iso.Countries.ico.png create mode 100644 src/packages/HawkN.Iso.Countries/Package/Content/README.md create mode 100644 src/packages/HawkN.Iso.Countries/Services/CountryCodeService.cs delete mode 100644 src/samples/Country.Reference.Iso3166.Console/Program.cs delete mode 100644 src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.http delete mode 100644 src/samples/Country.Reference.Iso3166.WebApi/Program.cs rename src/samples/{Country.Reference.Iso3166.Console/Country.Reference.Iso3166.Console.csproj => HawkN.Iso.Countries.Samples.Console/HawkN.Iso.Countries.Samples.Console.csproj} (87%) create mode 100644 src/samples/HawkN.Iso.Countries.Samples.Console/Program.cs create mode 100644 src/samples/HawkN.Iso.Countries.Samples.WebApi/Endpoints/CountryEndpoint.cs create mode 100644 src/samples/HawkN.Iso.Countries.Samples.WebApi/Handlers/CountryHandler.cs rename src/samples/{Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.csproj => HawkN.Iso.Countries.Samples.WebApi/HawkN.Iso.Countries.Samples.WebApi.csproj} (79%) create mode 100644 src/samples/HawkN.Iso.Countries.Samples.WebApi/HawkN.Iso.Countries.Samples.WebApi.http create mode 100644 src/samples/HawkN.Iso.Countries.Samples.WebApi/Program.cs rename src/samples/{Country.Reference.Iso3166.WebApi => HawkN.Iso.Countries.Samples.WebApi}/Properties/launchSettings.json (100%) rename src/samples/{Country.Reference.Iso3166.WebApi => HawkN.Iso.Countries.Samples.WebApi}/appsettings.Development.json (100%) rename src/samples/{Country.Reference.Iso3166.WebApi => HawkN.Iso.Countries.Samples.WebApi}/appsettings.json (100%) create mode 100644 src/tests/.editorconfig delete mode 100644 src/tests/Country.Reference.Iso3166.Generators.Tests/UnitTest1.cs delete mode 100644 src/tests/Country.Reference.Iso3166.Tests/UnitTest1.cs create mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/CountryCodeEnumsGeneratorTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Factories/ErrorFactoryTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs rename src/tests/{Country.Reference.Iso3166.Generators.Tests/Country.Reference.Iso3166.Generators.Tests.csproj => HawkN.Iso.Countries.Generators.Tests/HawkN.Iso.Countries.Generators.Tests.csproj} (80%) create mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Helpers/GeneratorTestHelper.cs create mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/LocalCountryDatabaseGeneratorTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Tests/Extensions/CountryStringExtensionsTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Tests/Extensions/ServiceCollectionExtensionsTests.cs rename src/tests/{Country.Reference.Iso3166.Tests/Country.Reference.Iso3166.Tests.csproj => HawkN.Iso.Countries.Tests/HawkN.Iso.Countries.Tests.csproj} (81%) create mode 100644 src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 0000000..52a5a02 --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,106 @@ +name: "CD - Publish NuGet Package" + +on: + push: + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + +jobs: + publish: + name: Publish to NuGet + runs-on: ubuntu-latest + permissions: + actions: read + contents: write + env: + SOLUTION_NAME: src/HawkN.Iso.Countries.Solution.sln + PACKAGE_PROJECT_PATH: src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj + PACKAGE_NUSPEC_FILE_PATH: HawkN.Iso.Countries.nuspec + PACKAGE_ID: HawkN.Iso.Countries + OUTPUT_NUGET_DIR: nuget-packages + NUGET_SOURCE_URL: https://api.nuget.org/v3/index.json + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + DOTNET_CLI_TELEMETRY_OPTOUT: true + + steps: + - name: Checkout repository (full history) + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + cache: true + cache-dependency-path: ${{ env.SOLUTION_NAME }} + + - name: Extract version from tag + id: get_version + run: | + TAG_NAME=${{ github.ref_name }} + VERSION=${TAG_NAME#v} + echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV + shell: bash + + - name: Check if package version already exists on NuGet.org + id: check_nuget + run: | + PACKAGE_ID_LOWER=$(echo "${{ env.PACKAGE_ID }}" | tr '[:upper:]' '[:lower:]') + STATUS_CODE=$(curl -s -o /dev/null -I -w "%{http_code}" "https://api.nuget.org/v3-flatcontainer/${PACKAGE_ID_LOWER}/${{ env.CURRENT_VERSION }}/index.json") + if [ "$STATUS_CODE" -eq 200 ]; then + echo "Error: Version ${{ env.CURRENT_VERSION }} already exists on NuGet.org!" + exit 1 + fi + shell: bash + + - name: Restore dependencies + run: dotnet restore ${{ env.SOLUTION_NAME }} + + - name: Perform build + run: dotnet build ${{ env.SOLUTION_NAME }} --no-restore --configuration Release + + - name: Build and Pack + run: | + dotnet pack ${{ env.PACKAGE_PROJECT_PATH }} --configuration Release /p:NuspecFile=${{ env.PACKAGE_NUSPEC_FILE_PATH }} /p:Version=${{ env.CURRENT_VERSION }} /p:ContinuousIntegrationBuild=true --output ${{ env.OUTPUT_NUGET_DIR }} + + - name: Generate Changelog + uses: orhun/git-cliff-action@v4 + with: + config: cliff.toml + args: --latest + env: + OUTPUT: CHANGELOG_RELEASE.md + + - name: Update Main CHANGELOG.md + run: | + git config user.name github-actions + git config user.email github-actions@github.com + git pull origin ${{ github.event.repository.default_branch }} --rebase + git-cliff > CHANGELOG.md + if ! git diff --exit-code CHANGELOG.md; then + git add CHANGELOG.md + git commit -m "docs(changelog): update for version ${{ env.CURRENT_VERSION }}" + git push origin HEAD:${{ github.event.repository.default_branch }} + else + echo "No changes in CHANGELOG.md" + fi + shell: bash + + - name: Create GitHub Release for (HawkN.Iso.Countries) + uses: softprops/action-gh-release@v2 + with: + body_path: CHANGELOG_RELEASE.md + files: ${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_ID }}.${{ env.CURRENT_VERSION }}.nupkg + fail_on_unmatched_files: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish package (HawkN.Iso.Countries) to NuGet.org + run: | + dotnet nuget push "${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_ID }}.${{ env.CURRENT_VERSION }}.nupkg" \ + --api-key ${{ secrets.NUGET_API_KEY }} \ + --source ${{ env.NUGET_SOURCE_URL }} \ + --skip-duplicate + shell: bash \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..3098f01 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,104 @@ +name: "CI - Build, Tests & Code Quality" + +on: + push: + branches: + - '**' + pull_request: + branches: + - main + - dev + + workflow_dispatch: + inputs: + branch: + description: 'Branch to run CI manually' + required: false + default: "dev" + +jobs: + build-and-test: + name: Build, test and code quality + runs-on: ubuntu-latest + + permissions: + actions: read + contents: read + packages: read + + env: + SOLUTION_NAME: src/HawkN.Iso.Countries.Solution.sln + PACKAGE_COUNTRY_PROJECT_PATH: src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj + PACKAGE_COUNTRY_NUSPEC_FILE_PATH: HawkN.Iso.Countries.nuspec + OUTPUT_NUGET_DIR: nuget-packages + ARTIFACTS_DIR: artifacts + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + DOTNET_CLI_TELEMETRY_OPTOUT: true + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.branch || github.ref }} + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + cache: true + cache-dependency-path: ${{ env.SOLUTION_NAME }} + + - name: Cache NuGet packages + uses: actions/cache@v4 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }} + restore-keys: | + ${{ runner.os }}-nuget- + + - name: Restore dependencies + run: dotnet restore ${{ env.SOLUTION_NAME }} + + - name: Perform build + run: dotnet build ${{ env.SOLUTION_NAME }} --no-restore --configuration Release + + - name: Run Unit Tests + run: dotnet test ${{ env.SOLUTION_NAME }} --configuration Release --no-build --verbosity normal + + - name: Check code formatting + run: dotnet format ${{ env.SOLUTION_NAME }} --no-restore --verify-no-changes --verbosity detailed + + - name: Extract project version (HawkN.Iso.Countries) + id: get_version + run: | + VERSION=$(sed -n 's/.*<\(VersionPrefix\|Version\)>\([^<]*\)<\/\1>.*/\2/p' ${{ env.PACKAGE_COUNTRY_PROJECT_PATH }} | head -n 1) + if [ -z "$VERSION" ]; then + VERSION=$(date +%Y%m%d) + fi + echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV + echo "Detected Version: $VERSION" + shell: bash + + - name: Validate package creation (HawkN.Iso.Countries) + run: dotnet pack ${{ env.PACKAGE_COUNTRY_PROJECT_PATH }} /p:NuspecFile=${{ env.PACKAGE_COUNTRY_NUSPEC_FILE_PATH }} /p:ContinuousIntegrationBuild=true --configuration Release --no-build --output ${{ env.OUTPUT_NUGET_DIR }} + + - name: Generate CHANGELOG.md + uses: orhun/git-cliff-action@v4 + with: + config: cliff.toml + args: --verbose + env: + OUTPUT: CHANGELOG.md + + - name: Prepare artifacts folder + run: | + mkdir -p ${{ env.ARTIFACTS_DIR }} + cp ${{ env.OUTPUT_NUGET_DIR }}/*.nupkg ${{ env.ARTIFACTS_DIR }}/ + cp CHANGELOG.md ${{ env.ARTIFACTS_DIR }}/ || echo "Changelog not found" + + - name: Upload all artifacts + uses: actions/upload-artifact@v4 + with: + name: artifacts-${{ env.CURRENT_VERSION }} + path: ${{ env.ARTIFACTS_DIR }} \ No newline at end of file diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..b56b961 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,73 @@ +name: "CI โ€“ CodeQL security analysis" + +on: + push: + branches: + - main + - dev + pull_request: + types: [opened,synchronize,reopened] + branches: + - main + - dev + + workflow_dispatch: + inputs: + branch: + description: 'Branch to run the security scan on' + required: false + default: "dev" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + security-events: write + actions: read + contents: read + packages: read + + env: + SOLUTION_NAME: src/HawkN.Iso.Countries.Solution.sln + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + DOTNET_CLI_TELEMETRY_OPTOUT: true + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.branch || github.ref }} + + - name: Initialize CodeQL + uses: github/codeql-action/init@v4 + with: + languages: csharp + queries: security-extended,security-and-quality + config: | + paths-ignore: + - '**/Tests/**' + - '**/*.Tests.cs' + - '**/*Tests.cs' + - '**/tests/**' + - '**/samples/**' + - '**/bin/**' + - '**/obj/**' + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + cache: true + cache-dependency-path: ${{ env.SOLUTION_NAME }} + + - name: Restore dependencies + run: dotnet restore ${{ env.SOLUTION_NAME }} + + - name: Perform build for CodeQL + run: dotnet build ${{ env.SOLUTION_NAME }} --configuration Release --no-restore -p:UseSharedCompilation=false + + - name: Perform CodeQL analysis + uses: github/codeql-action/analyze@v4 + with: + category: "/language:csharp" diff --git a/.gitignore b/.gitignore index 6d85117..9464f01 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,15 @@ **/.idea/* -src/packages/Country.Reference.Iso3166/obj/** -src/packages/Country.Reference.Iso3166/bin/** -src/packages/Country.Reference.Iso3166.Generators/obj/** -src/packages/Country.Reference.Iso3166.Generators/bin/** -src/tests/Country.Reference.Iso3166.Tests/obj/** -src/tests/Country.Reference.Iso3166.Tests/bin/** -src/tests/Country.Reference.Iso3166.Generators.Tests/obj/** -src/tests/Country.Reference.Iso3166.Generators.Tests/bin/** -src/samples/Country.Reference.Iso3166.Console/obj/** -src/samples/Country.Reference.Iso3166.Console/bin/** -src/samples/Country.Reference.Iso3166.WebApi/obj/** -src/samples/Country.Reference.Iso3166.WebApi/bin/** +src/packages/HawkN.Iso.Countries/obj/** +src/packages/HawkN.Iso.Countries/bin/** +src/packages/HawkN.Iso.Countries.Generators/obj/** +src/packages/HawkN.Iso.Countries.Generators/bin/** +src/tests/HawkN.Iso.Countries.Tests/obj/** +src/tests/HawkN.Iso.Countries.Tests/bin/** +src/tests/HawkN.Iso.Countries.Generators.Tests/obj/** +src/tests/HawkN.Iso.Countries.Generators.Tests/bin/** +src/samples/HawkN.Iso.Countries.Samples.Console/obj/** +src/samples/HawkN.Iso.Countries.Samples.Console/bin/** +src/samples/HawkN.Iso.Countries.Samples.WebApi/obj/** +src/samples/HawkN.Iso.Countries.Samples.WebApi/bin/** src/NuGetPackages/** **/*.user \ No newline at end of file diff --git a/DATA-LICENSE.txt b/DATA-LICENSE.txt new file mode 100644 index 0000000..7489381 --- /dev/null +++ b/DATA-LICENSE.txt @@ -0,0 +1,515 @@ +---------------------------------------------------------------------- +DATA LICENSE NOTICE +---------------------------------------------------------------------- +This library includes country and region data sourced from the +Debian iso-codes project (https://salsa.debian.org/iso-codes-team/iso-codes). + +The geographic data (JSON/XML source files and the resulting generated +data structures) is distributed under the terms of the GNU Lesser +General Public License (LGPL) version 2.1, which follows below. + +The programmatic wrapper code and library logic are separately licensed +under the MIT License (see LICENSE file). +---------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, see . + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Moe Ghoul, President of Vice + +That's all there is to it! \ No newline at end of file diff --git a/LICENSE b/LICENSE index 7126546..dcdcdb1 100644 --- a/LICENSE +++ b/LICENSE @@ -19,3 +19,14 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------- +DATA SOURCE ACKNOWLEDGMENT +------------------------------------------------------------------------------- +This library includes ISO 3166-1 and ISO 3166-2 geographic data derived from +the "iso-codes" project (https://salsa.debian.org/iso-codes-team/iso-codes). + +The data provided within this library is distributed under the terms of the +GNU Lesser General Public License v2.1 (LGPL). + +The software (code) itself remains under the MIT License. +------------------------------------------------------------------------------- diff --git a/README.md b/README.md index 815fa99..23cc4f1 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,456 @@ -# Country.Reference.Iso3166 -Country.Reference.Iso3166 provides ISO 3166 country codes, strongly-typed, and up-to-date access to official ISO 3166-1 country codes (Alpha-2, Alpha-3, and Numeric) and their associated UN M49 regional data +# HawkN.Iso.Countries + +[![Build Status](https://img.shields.io/github/actions/workflow/status/HawkN113/Country.Reference.Iso3166/ci.yml?label=Build&style=flat-square)](https://github.com/HawkN113/Country.Reference.Iso3166/actions/workflows/ci.yml) +[![CodeQL Security](https://img.shields.io/github/actions/workflow/status/HawkN113/Country.Reference.Iso3166/codeql-analysis.yml?label=CodeQL%20Security&style=flat-square)](https://github.com/HawkN113/Country.Reference.Iso3166/actions/workflows/codeql-analysis.yml) +[![NuGet](https://img.shields.io/nuget/v/HawkN.Iso.Countries?label=HawkN.Iso.Countries&color=blue&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries/) +[![Downloads](https://img.shields.io/nuget/dt/HawkN.Iso.Countries?label=Downloads&color=brightgreen&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries/) +[![GitHub license](https://img.shields.io/github/license/HawkN113/Country.Reference.Iso3166?label=License&color=blue&style=flat-square)](https://github.com/HawkN113/Country.Reference.Iso3166/blob/main/LICENSE) +[![Data License: LGPL v2.1](https://img.shields.io/badge/Data%20License-LGPL%20v2.1-blue.svg?style=flat-square)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) + +| ![HawkN.Iso.Countries](docs/img/HawkN.Iso.Countries.png) | **HawkN.Iso.Countries** provides ISO 3166-1 country codes (Alpha-2, Alpha-3), official names, and validation services. | +|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +--- + +## Features +- **Comprehensive Country List** โ€“ Provides an up-to-date set of country data according to the `ISO 3166-1` standard. +- **Strongly Typed Codes** โ€“ `TwoLetterCode` and `ThreeLetterCode` enums are generated at compile-time. +- **Multiple Search Methods** โ€“ Lookup by Alpha-2, Alpha-3, Numeric code, or Official Name. +- **Advanced Validation** โ€“ Built-in `ValidationResult` providing detailed feedback for code and name verification. +- **Ultra-Fast Performance** โ€“ O(1) lookups via pre-indexed static dictionaries. +- **Lightweight & Dependency-Free** โ€“ Compatible with .NET 8 and above. + +--- + +## Packages + +| Package | Description | +|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------| +| [HawkN.Iso.Countries](https://www.nuget.org/packages/HawkN.Iso.Countries) | Main library with country models, validation services, and generated ISO enums (Alpha-2, Alpha-3). | + +--- + +## Getting Started + +### Install via NuGet + +```bash +dotnet add package HawkN.Iso.Countries +```` + +### Required Namespaces +```csharp +using HawkN.Iso.Countries; +using HawkN.Iso.Countries.Abstractions; +using HawkN.Iso.Countries.Models; +using HawkN.Iso.Countries.Extensions; +``` +--- + +### Usage Example + +#### Registration +Register the service in your DI container: +```csharp +using var host = Host.CreateDefaultBuilder(args) + .ConfigureServices(services => + { + services.AddCountryCodeService(); + }) + .Build(); +``` +#### Retrieval & Search +The service provides O(1) lookups via pre-indexed dictionaries and efficient partial searching. +```csharp +var service = scope.ServiceProvider.GetRequiredService(); + +// Get all countries sorted by name +var countries = service.GetAll(); + +// Lookup by string (Supports Alpha-2, Alpha-3, or Numeric) +var germany = service.FindByCode("DE"); +var austria = service.FindByCode("040"); + +// Lookup by Name +var france = service.FindByName("France"); + +// Strongly typed lookup +var uk = service.Get(CountryCode.TwoLetterCode.GB); + +// Scenario: User types "Republic" in a search box +var searchResults = service.SearchByName("Republic"); + +foreach (var country in searchResults) +{ + // Will return: + // 1. Republic of Korea + // 2. Czech Republic + // 3. Lao People's Democratic Republic... + Console.WriteLine($"{country.Name} ({country.OfficialName})"); +} + +// Pro Tip: Use for suggestion lists +var suggestions = service.SearchByName("United") + .Select(c => c.Name) + .Take(5); +// Returns: ["United Arab Emirates", "United Kingdom", "United States", ...] +``` + +#### Validation +Check if a code or name is valid and retrieve the model simultaneously: +```csharp +// Validate by Code +var result = service.ValidateByCode("US", out var country); +if (result.IsValid) +{ + Console.WriteLine($"Found: {country.Name}"); +} + +// Validate by Name +var nameResult = service.ValidateByName("Unknown Land", out _); +if (!nameResult.IsValid) +{ + Console.WriteLine($"Error: {nameResult.Reason}"); +} +``` +#### Fluent String Extensions +```csharp +string input = "FRA"; + +// Direct conversion +var country = input.ToCountry(service); + +// Quick check +if ("US".IsCountryCode(service)) +{ + // ... +} + +// Quick validation +var validationResult = "US".ValidateAsCountryCode(countryCodeService, out var _); +if (validationResult.IsValid) +{ + // ... +} +``` + +#### Emoji Flags Support +The library provides an easy way to display country flags using standard Unicode Emoji. This works without any external image assets and is perfect for lightweight UI components. + +```csharp +var country = service.Get(CountryCode.TwoLetterCode.FI); + +// Get the emoji flag using the extension method +string flag = country.GetEmojiFlag(); + +Console.WriteLine($"{flag} {country.Name}"); +// Output: ๐Ÿ‡ซ๐Ÿ‡ฎ Finland +``` + +--- + +### Supported countries +
+Click to view the full list of supported countries + +| Alpha-2 | Alpha-3 | Numeric | Country Name | Official Name | +|:-------:|:-------:|:-------:|:--------------------------------------------:|:----------------------------------------------------:| +| AF | AFG | 004 | Afghanistan | Islamic Republic of Afghanistan | +| AL | ALB | 008 | Albania | Republic of Albania | +| DZ | DZA | 012 | Algeria | People's Democratic Republic of Algeria | +| AS | ASM | 016 | American Samoa | | +| AD | AND | 020 | Andorra | Principality of Andorra | +| AO | AGO | 024 | Angola | Republic of Angola | +| AI | AIA | 660 | Anguilla | | +| AQ | ATA | 010 | Antarctica | | +| AG | ATG | 028 | Antigua and Barbuda | | +| AR | ARG | 032 | Argentina | Argentine Republic | +| AM | ARM | 051 | Armenia | Republic of Armenia | +| AW | ABW | 533 | Aruba | | +| AU | AUS | 036 | Australia | | +| AT | AUT | 040 | Austria | Republic of Austria | +| AZ | AZE | 031 | Azerbaijan | Republic of Azerbaijan | +| BS | BHS | 044 | Bahamas | Commonwealth of the Bahamas | +| BH | BHR | 048 | Bahrain | Kingdom of Bahrain | +| BD | BGD | 050 | Bangladesh | People's Republic of Bangladesh | +| BB | BRB | 052 | Barbados | | +| BY | BLR | 112 | Belarus | Republic of Belarus | +| BE | BEL | 056 | Belgium | Kingdom of Belgium | +| BZ | BLZ | 084 | Belize | | +| BJ | BEN | 204 | Benin | Republic of Benin | +| BM | BMU | 060 | Bermuda | | +| BT | BTN | 064 | Bhutan | Kingdom of Bhutan | +| BO | BOL | 068 | Bolivia, Plurinational State of | Plurinational State of Bolivia | +| BQ | BES | 535 | Bonaire, Sint Eustatius and Saba | Bonaire, Sint Eustatius and Saba | +| BA | BIH | 070 | Bosnia and Herzegovina | Republic of Bosnia and Herzegovina | +| BW | BWA | 072 | Botswana | Republic of Botswana | +| BV | BVT | 074 | Bouvet Island | | +| BR | BRA | 076 | Brazil | Federative Republic of Brazil | +| IO | IOT | 086 | British Indian Ocean Territory | | +| BN | BRN | 096 | Brunei Darussalam | | +| BG | BGR | 100 | Bulgaria | Republic of Bulgaria | +| BF | BFA | 854 | Burkina Faso | | +| BI | BDI | 108 | Burundi | Republic of Burundi | +| CV | CPV | 132 | Cabo Verde | Republic of Cabo Verde | +| KH | KHM | 116 | Cambodia | Kingdom of Cambodia | +| CM | CMR | 120 | Cameroon | Republic of Cameroon | +| CA | CAN | 124 | Canada | | +| KY | CYM | 136 | Cayman Islands | | +| CF | CAF | 140 | Central African Republic | | +| TD | TCD | 148 | Chad | Republic of Chad | +| CL | CHL | 152 | Chile | Republic of Chile | +| CN | CHN | 156 | China | People's Republic of China | +| CX | CXR | 162 | Christmas Island | | +| CC | CCK | 166 | Cocos (Keeling) Islands | | +| CO | COL | 170 | Colombia | Republic of Colombia | +| KM | COM | 174 | Comoros | Union of the Comoros | +| CG | COG | 178 | Congo | Republic of the Congo | +| CD | COD | 180 | Congo, The Democratic Republic of the | | +| CK | COK | 184 | Cook Islands | | +| CR | CRI | 188 | Costa Rica | Republic of Costa Rica | +| HR | HRV | 191 | Croatia | Republic of Croatia | +| CU | CUB | 192 | Cuba | Republic of Cuba | +| CW | CUW | 531 | Curaรงao | Curaรงao | +| CY | CYP | 196 | Cyprus | Republic of Cyprus | +| CZ | CZE | 203 | Czechia | Czech Republic | +| CI | CIV | 384 | Cรดte d'Ivoire | Republic of Cรดte d'Ivoire | +| DK | DNK | 208 | Denmark | Kingdom of Denmark | +| DJ | DJI | 262 | Djibouti | Republic of Djibouti | +| DM | DMA | 212 | Dominica | Commonwealth of Dominica | +| DO | DOM | 214 | Dominican Republic | | +| EC | ECU | 218 | Ecuador | Republic of Ecuador | +| EG | EGY | 818 | Egypt | Arab Republic of Egypt | +| SV | SLV | 222 | El Salvador | Republic of El Salvador | +| GQ | GNQ | 226 | Equatorial Guinea | Republic of Equatorial Guinea | +| ER | ERI | 232 | Eritrea | the State of Eritrea | +| EE | EST | 233 | Estonia | Republic of Estonia | +| SZ | SWZ | 748 | Eswatini | Kingdom of Eswatini | +| ET | ETH | 231 | Ethiopia | Federal Democratic Republic of Ethiopia | +| FK | FLK | 238 | Falkland Islands (Malvinas) | | +| FO | FRO | 234 | Faroe Islands | | +| FJ | FJI | 242 | Fiji | Republic of Fiji | +| FI | FIN | 246 | Finland | Republic of Finland | +| FR | FRA | 250 | France | French Republic | +| GF | GUF | 254 | French Guiana | | +| PF | PYF | 258 | French Polynesia | | +| TF | ATF | 260 | French Southern Territories | | +| GA | GAB | 266 | Gabon | Gabonese Republic | +| GM | GMB | 270 | Gambia | Republic of the Gambia | +| GE | GEO | 268 | Georgia | | +| DE | DEU | 276 | Germany | Federal Republic of Germany | +| GH | GHA | 288 | Ghana | Republic of Ghana | +| GI | GIB | 292 | Gibraltar | | +| GR | GRC | 300 | Greece | Hellenic Republic | +| GL | GRL | 304 | Greenland | | +| GD | GRD | 308 | Grenada | | +| GP | GLP | 312 | Guadeloupe | | +| GU | GUM | 316 | Guam | | +| GT | GTM | 320 | Guatemala | Republic of Guatemala | +| GG | GGY | 831 | Guernsey | | +| GN | GIN | 324 | Guinea | Republic of Guinea | +| GW | GNB | 624 | Guinea-Bissau | Republic of Guinea-Bissau | +| GY | GUY | 328 | Guyana | Republic of Guyana | +| HT | HTI | 332 | Haiti | Republic of Haiti | +| HM | HMD | 334 | Heard Island and McDonald Islands | | +| VA | VAT | 336 | Holy See (Vatican City State) | | +| HN | HND | 340 | Honduras | Republic of Honduras | +| HK | HKG | 344 | Hong Kong | Hong Kong Special Administrative Region of China | +| HU | HUN | 348 | Hungary | Hungary | +| IS | ISL | 352 | Iceland | Republic of Iceland | +| IN | IND | 356 | India | Republic of India | +| ID | IDN | 360 | Indonesia | Republic of Indonesia | +| IR | IRN | 364 | Iran, Islamic Republic of | Islamic Republic of Iran | +| IQ | IRQ | 368 | Iraq | Republic of Iraq | +| IE | IRL | 372 | Ireland | | +| IM | IMN | 833 | Isle of Man | | +| IL | ISR | 376 | Israel | State of Israel | +| IT | ITA | 380 | Italy | Italian Republic | +| JM | JAM | 388 | Jamaica | | +| JP | JPN | 392 | Japan | | +| JE | JEY | 832 | Jersey | | +| JO | JOR | 400 | Jordan | Hashemite Kingdom of Jordan | +| KZ | KAZ | 398 | Kazakhstan | Republic of Kazakhstan | +| KE | KEN | 404 | Kenya | Republic of Kenya | +| KI | KIR | 296 | Kiribati | Republic of Kiribati | +| KP | PRK | 408 | Korea, Democratic People's Republic of | Democratic People's Republic of Korea | +| KR | KOR | 410 | Korea, Republic of | | +| KW | KWT | 414 | Kuwait | State of Kuwait | +| KG | KGZ | 417 | Kyrgyzstan | Kyrgyz Republic | +| LA | LAO | 418 | Lao People's Democratic Republic | | +| LV | LVA | 428 | Latvia | Republic of Latvia | +| LB | LBN | 422 | Lebanon | Lebanese Republic | +| LS | LSO | 426 | Lesotho | Kingdom of Lesotho | +| LR | LBR | 430 | Liberia | Republic of Liberia | +| LY | LBY | 434 | Libya | Libya | +| LI | LIE | 438 | Liechtenstein | Principality of Liechtenstein | +| LT | LTU | 440 | Lithuania | Republic of Lithuania | +| LU | LUX | 442 | Luxembourg | Grand Duchy of Luxembourg | +| MO | MAC | 446 | Macao | Macao Special Administrative Region of China | +| MG | MDG | 450 | Madagascar | Republic of Madagascar | +| MW | MWI | 454 | Malawi | Republic of Malawi | +| MY | MYS | 458 | Malaysia | | +| MV | MDV | 462 | Maldives | Republic of Maldives | +| ML | MLI | 466 | Mali | Republic of Mali | +| MT | MLT | 470 | Malta | Republic of Malta | +| MH | MHL | 584 | Marshall Islands | Republic of the Marshall Islands | +| MQ | MTQ | 474 | Martinique | | +| MR | MRT | 478 | Mauritania | Islamic Republic of Mauritania | +| MU | MUS | 480 | Mauritius | Republic of Mauritius | +| YT | MYT | 175 | Mayotte | | +| MX | MEX | 484 | Mexico | United Mexican States | +| FM | FSM | 583 | Micronesia, Federated States of | Federated States of Micronesia | +| MD | MDA | 498 | Moldova, Republic of | Republic of Moldova | +| MC | MCO | 492 | Monaco | Principality of Monaco | +| MN | MNG | 496 | Mongolia | | +| ME | MNE | 499 | Montenegro | Montenegro | +| MS | MSR | 500 | Montserrat | | +| MA | MAR | 504 | Morocco | Kingdom of Morocco | +| MZ | MOZ | 508 | Mozambique | Republic of Mozambique | +| MM | MMR | 104 | Myanmar | Republic of Myanmar | +| NA | NAM | 516 | Namibia | Republic of Namibia | +| NR | NRU | 520 | Nauru | Republic of Nauru | +| NP | NPL | 524 | Nepal | Federal Democratic Republic of Nepal | +| NL | NLD | 528 | Netherlands | Kingdom of the Netherlands | +| NC | NCL | 540 | New Caledonia | | +| NZ | NZL | 554 | New Zealand | | +| NI | NIC | 558 | Nicaragua | Republic of Nicaragua | +| NE | NER | 562 | Niger | Republic of the Niger | +| NG | NGA | 566 | Nigeria | Federal Republic of Nigeria | +| NU | NIU | 570 | Niue | Niue | +| NF | NFK | 574 | Norfolk Island | | +| MK | MKD | 807 | North Macedonia | Republic of North Macedonia | +| MP | MNP | 580 | Northern Mariana Islands | Commonwealth of the Northern Mariana Islands | +| NO | NOR | 578 | Norway | Kingdom of Norway | +| OM | OMN | 512 | Oman | Sultanate of Oman | +| PK | PAK | 586 | Pakistan | Islamic Republic of Pakistan | +| PW | PLW | 585 | Palau | Republic of Palau | +| PS | PSE | 275 | Palestine, State of | the State of Palestine | +| PA | PAN | 591 | Panama | Republic of Panama | +| PG | PNG | 598 | Papua New Guinea | Independent State of Papua New Guinea | +| PY | PRY | 600 | Paraguay | Republic of Paraguay | +| PE | PER | 604 | Peru | Republic of Peru | +| PH | PHL | 608 | Philippines | Republic of the Philippines | +| PN | PCN | 612 | Pitcairn | | +| PL | POL | 616 | Poland | Republic of Poland | +| PT | PRT | 620 | Portugal | Portuguese Republic | +| PR | PRI | 630 | Puerto Rico | | +| QA | QAT | 634 | Qatar | State of Qatar | +| RO | ROU | 642 | Romania | | +| RU | RUS | 643 | Russian Federation | | +| RW | RWA | 646 | Rwanda | Rwandese Republic | +| RE | REU | 638 | Rรฉunion | | +| BL | BLM | 652 | Saint Barthรฉlemy | | +| SH | SHN | 654 | Saint Helena, Ascension and Tristan da Cunha | | +| KN | KNA | 659 | Saint Kitts and Nevis | | +| LC | LCA | 662 | Saint Lucia | | +| MF | MAF | 663 | Saint Martin (French part) | | +| PM | SPM | 666 | Saint Pierre and Miquelon | | +| VC | VCT | 670 | Saint Vincent and the Grenadines | | +| WS | WSM | 882 | Samoa | Independent State of Samoa | +| SM | SMR | 674 | San Marino | Republic of San Marino | +| ST | STP | 678 | Sao Tome and Principe | Democratic Republic of Sao Tome and Principe | +| SA | SAU | 682 | Saudi Arabia | Kingdom of Saudi Arabia | +| SN | SEN | 686 | Senegal | Republic of Senegal | +| RS | SRB | 688 | Serbia | Republic of Serbia | +| SC | SYC | 690 | Seychelles | Republic of Seychelles | +| SL | SLE | 694 | Sierra Leone | Republic of Sierra Leone | +| SG | SGP | 702 | Singapore | Republic of Singapore | +| SX | SXM | 534 | Sint Maarten (Dutch part) | Sint Maarten (Dutch part) | +| SK | SVK | 703 | Slovakia | Slovak Republic | +| SI | SVN | 705 | Slovenia | Republic of Slovenia | +| SB | SLB | 090 | Solomon Islands | | +| SO | SOM | 706 | Somalia | Federal Republic of Somalia | +| ZA | ZAF | 710 | South Africa | Republic of South Africa | +| GS | SGS | 239 | South Georgia and the South Sandwich Islands | | +| SS | SSD | 728 | South Sudan | Republic of South Sudan | +| ES | ESP | 724 | Spain | Kingdom of Spain | +| LK | LKA | 144 | Sri Lanka | Democratic Socialist Republic of Sri Lanka | +| SD | SDN | 729 | Sudan | Republic of the Sudan | +| SR | SUR | 740 | Suriname | Republic of Suriname | +| SJ | SJM | 744 | Svalbard and Jan Mayen | | +| SE | SWE | 752 | Sweden | Kingdom of Sweden | +| CH | CHE | 756 | Switzerland | Swiss Confederation | +| SY | SYR | 760 | Syrian Arab Republic | | +| TW | TWN | 158 | Taiwan, Province of China | Taiwan, Province of China | +| TJ | TJK | 762 | Tajikistan | Republic of Tajikistan | +| TZ | TZA | 834 | Tanzania, United Republic of | United Republic of Tanzania | +| TH | THA | 764 | Thailand | Kingdom of Thailand | +| TL | TLS | 626 | Timor-Leste | Democratic Republic of Timor-Leste | +| TG | TGO | 768 | Togo | Togolese Republic | +| TK | TKL | 772 | Tokelau | | +| TO | TON | 776 | Tonga | Kingdom of Tonga | +| TT | TTO | 780 | Trinidad and Tobago | Republic of Trinidad and Tobago | +| TN | TUN | 788 | Tunisia | Republic of Tunisia | +| TM | TKM | 795 | Turkmenistan | | +| TC | TCA | 796 | Turks and Caicos Islands | | +| TV | TUV | 798 | Tuvalu | | +| TR | TUR | 792 | Tรผrkiye | Republic of Tรผrkiye | +| UG | UGA | 800 | Uganda | Republic of Uganda | +| UA | UKR | 804 | Ukraine | | +| AE | ARE | 784 | United Arab Emirates | | +| GB | GBR | 826 | United Kingdom | United Kingdom of Great Britain and Northern Ireland | +| US | USA | 840 | United States | United States of America | +| UM | UMI | 581 | United States Minor Outlying Islands | | +| UY | URY | 858 | Uruguay | Eastern Republic of Uruguay | +| UZ | UZB | 860 | Uzbekistan | Republic of Uzbekistan | +| VU | VUT | 548 | Vanuatu | Republic of Vanuatu | +| VE | VEN | 862 | Venezuela, Bolivarian Republic of | Bolivarian Republic of Venezuela | +| VN | VNM | 704 | Viet Nam | Socialist Republic of Viet Nam | +| VG | VGB | 092 | Virgin Islands, British | British Virgin Islands | +| VI | VIR | 850 | Virgin Islands, U.S. | Virgin Islands of the United States | +| WF | WLF | 876 | Wallis and Futuna | | +| EH | ESH | 732 | Western Sahara | | +| YE | YEM | 887 | Yemen | Republic of Yemen | +| ZM | ZMB | 894 | Zambia | Republic of Zambia | +| ZW | ZWE | 716 | Zimbabwe | Republic of Zimbabwe | +| AX | ALA | 248 | ร…land Islands | | + +Last updated at `01.12.2025`. + +
+ +--- + +### Generated Types +- `CountryCode.TwoLetterCode` โ€“ Enum for Alpha-2 codes (e.g., `US`, `GB`). +- `CountryCode.ThreeLetterCode` โ€“ Enum for Alpha-3 codes (e.g., `USA`, `GBR`). +- `Country` โ€“ Model containing `Name`, enums, string codes, and `NumericCode`. + +--- + +## License + +### Code License +The source code of **HawkN.Iso.Countries** is licensed under the [MIT License](LICENSE). +You are free to use, modify, and distribute it in both open-source and commercial projects. + +### Data License +The country data used in this library is sourced from the [Debian iso-codes project](https://salsa.debian.org/iso-codes-team/iso-codes). +The data itself is licensed under **GNU LGPL v2.1**. See [DATA-LICENSE.txt](DATA-LICENSE.txt) for more details. + +--- + +### Troubleshooting: Emoji Display +If you see `??` instead of flags in your console: +1. Ensure your console output encoding is set to UTF-8: + `Console.OutputEncoding = System.Text.Encoding.UTF8;` +2. Use a modern terminal like **Windows Terminal** or **VS Code Terminal**. +3. Use a font that supports Emojis (e.g., *Segoe UI Emoji* or *Cascadia Code*). + +--- + +## Contributing +Contributions are welcome! If you find a bug or have a feature request, please [open an issue](https://github.com/HawkN113/HawkN.Iso.Countries/issues). +If you want to contribute code, feel free to submit a Pull Request. + +1. Fork the repository. +2. Create a new branch (`git checkout -b feature/awesome-feature`). +3. Commit your changes. +4. Push to the branch. +5. Open a Pull Request. + +--- + +### References +- [ISO 3166 Standard](https://www.iso.org/iso-3166-country-codes.html) +- [Debian Iso-Codes Team](https://salsa.debian.org/iso-codes-team/iso-codes/-/tree/main) +- [GitHub Repository](https://github.com/HawkN113/HawkN.Iso.Countries) diff --git a/docs/img/HawkN.Iso.Countries.png b/docs/img/HawkN.Iso.Countries.png new file mode 100644 index 0000000000000000000000000000000000000000..a498328ebeaadad85b24587475e9b557c83c68a2 GIT binary patch literal 1423021 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

B!pDVZGKzO8r~gTl1H; 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⪙fu){ojapg6S))IEVucKI> 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�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

n0OLW9NGF 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

cLhP+6P-xWCEMFo*MB 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�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

fe6V4~wjW%Lmz@?{ZGdB8g2)*peG9 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≷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 z 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%0AIj1EB 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℘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

<(RiO;o9UurS)IEuf8??Ztab; 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

+ /// Country codes ISO3166 (M49) + /// + public static class CountryCode + { + /// + /// Represents the ISO 3166-1 Alpha-2 two-letter country codes (e.g., "US", "DE"). + /// + public enum TwoLetterCode + { + /// + /// Unknown country code + /// + Undefined, + } + /// + /// Represents the ISO 3166-1 Alpha-3 three-letter country codes (e.g., "USA", "DEU"). + /// + public enum ThreeLetterCode + { + /// + /// Unknown country code + /// + Undefined, + } + } + } + """; + + public override void Initialize(IncrementalGeneratorInitializationContext context) + { + ErrorFactory.Clear(); + var csvContentProvider = context.CompilationProvider.Select(ReadIsoResource); + context.RegisterSourceOutput(csvContentProvider, (spc, content) => GenerateSourceOutput(content, spc)); + } + + static string ReadIsoResource(Compilation compilation, CancellationToken ct) + { + try + { + return LoadResources(Assembly.GetExecutingAssembly()); + } + catch (InvalidOperationException ex) + { + var errorMsg = $"{Constants.ErrorMark}:{ex.Message}"; + return errorMsg; + } + } + + private new void GenerateSourceOutput(string originalIsoData, SourceProductionContext spc) + { + try + { + if (HasResourceErrors(originalIsoData, out var errorMessages)) + { + foreach (var msg in errorMessages) + ReportResourceError(msg); + + AddStubIfErrors(spc, HintName, StubSource, GeneratorType.Database); + return; + } + + var loader = new JsonCountryLoader(originalIsoData); + var sb = CreateSourceBuilder( + Constants.GeneratorName, + Constants.DefaultNamespace, + Constants.ExtendedSourceData, + [ + "System.Collections.Generic" + ]); + + sb.AppendLine(" /// ") + .AppendLine(" /// Country codes ISO3166") + .AppendLine(" /// ") + .AppendLine(" public static class CountryCode") + .AppendLine(" {"); + + GenerateCountryEnumSection(sb, "TwoLetterCode", loader.ActualCountries, "Represents the ISO 3166-1 Alpha-2 two-letter country codes (e.g., \"US\", \"DE\").", false); + GenerateCountryEnumSection(sb, "ThreeLetterCode", loader.ActualCountries, "Represents the ISO 3166-1 Alpha-3 three-letter country codes (e.g., \"USA\", \"DEU\").", true); + + sb.AppendLine(" }") + .AppendLine("}"); + spc.AddSource(HintName, SourceText.From(sb.ToString(), Encoding.UTF8)); + } + catch (Exception ex) when (ex is not OperationCanceledException) + { + ErrorFactory.Create(new ErrorDescription + { + DiagnosticDescriptor = new DiagnosticDescriptor( + DiagnosticDescriptors.UnexpectedErrorId, + Constants.DiagnosticsTitle, + $"Unexpected exception: {ex.Message}", + string.Empty, + DiagnosticSeverity.Error, + true), + GeneratorType = GeneratorType.Database + }); + AddStubIfErrors(spc, HintName, StubSource, GeneratorType.Database); + throw; + } + } + + private static bool HasResourceErrors(string originalCsv, out List messages) + { + messages = []; + if (originalCsv.StartsWith(Constants.ErrorMark)) messages.Add("original:" + originalCsv); + return messages.Count > 0; + } + + private static void GenerateCountryEnumSection( + StringBuilder sb, + string propertyName, + List countryList, + string summary, + bool isThreeLetterCode) + { + sb.AppendLine( + " /// ") + .AppendLine( + $" /// {summary}") + .AppendLine( + " /// "); + sb.AppendLine( + $" public enum {propertyName}") + .AppendLine(" {"); + foreach (var c in countryList) + { + var title = !string.IsNullOrEmpty(c.OfficialName) ? $"{c.Name} ({c.OfficialName})" : c.Name; + sb.AppendLine( + " /// ") + .AppendLine( + $" /// {title}") + .AppendLine( + " /// "); + sb.AppendLine( + !isThreeLetterCode ? $" {c.CodeAlpha2}," : $" {c.CodeAlpha3},"); + } + + sb.AppendLine(" }"); + } + + private void ReportResourceError(string msg) + { + var parts = msg.Split([':'], 2); + var name = parts[0]; + var text = parts.Length > 1 ? parts[1] : "Unknown error"; + + ErrorFactory.Create(new ErrorDescription + { + DiagnosticDescriptor = new DiagnosticDescriptor( + DiagnosticDescriptors.ResourceLoadErrorId, + Constants.DiagnosticsTitle, + $"Failed to load {name} resource: {text}", + string.Empty, + DiagnosticSeverity.Error, + true), + GeneratorType = GeneratorType.Database + }); + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Factories/ErrorFactory.cs b/src/packages/HawkN.Iso.Countries.Generators/Factories/ErrorFactory.cs new file mode 100644 index 0000000..ffc3b04 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Factories/ErrorFactory.cs @@ -0,0 +1,38 @@ +๏ปฟusing HawkN.Iso.Countries.Generators.Models; +using Microsoft.CodeAnalysis; +namespace HawkN.Iso.Countries.Generators.Factories; + +public class ErrorFactory +{ + private readonly List _errorDescriptors = []; + public void Create(ErrorDescription descriptor) + { + if (!_errorDescriptors.Exists(q => + q.DiagnosticDescriptor.Id.Equals(descriptor.DiagnosticDescriptor.Id, StringComparison.OrdinalIgnoreCase) && + q.GeneratorType == descriptor.GeneratorType)) + { + _errorDescriptors.Add(descriptor); + } + } + + public bool IsExists() + { + return _errorDescriptors.Any(); + } + + public void Clear() + { + _errorDescriptors.Clear(); + } + + public void ShowDiagnostics(SourceProductionContext context, GeneratorType type) + { + var descriptors = _errorDescriptors.FindAll(q => q.GeneratorType == type); + if (!IsExists()) return; + var list = descriptors.Select(descriptor => + Diagnostic.Create(descriptor.DiagnosticDescriptor, descriptor.Location, descriptor.MessageArgs)) + .ToList(); + foreach (var item in list) + context.ReportDiagnostic(item); + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs b/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs new file mode 100644 index 0000000..c072310 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs @@ -0,0 +1,41 @@ +๏ปฟusing System.Text.Json; +using HawkN.Iso.Countries.Generators.Models; +namespace HawkN.Iso.Countries.Generators.Handlers; + +internal sealed class JsonCountryHandler(string jsonContent) +{ + public List LoadActualCountries() + { + var result = new List(); + + if (string.IsNullOrWhiteSpace(jsonContent)) + return result; + + try + { + var data = JsonSerializer.Deserialize(jsonContent); + + if (data?.Countries == null) + return result; + + result.AddRange(from entry in data.Countries + where IsValidEntry(entry) + select new Country(entry.Name.Trim(), entry.Alpha2.Trim().ToUpperInvariant(), + entry.Alpha3.Trim().ToUpperInvariant(), entry.Numeric.Trim(), entry.OfficialName?.Trim())); + } + catch (JsonException ex) + { + throw new InvalidDataException("Failed to parse ISO-3166 JSON data.", ex); + } + + return result; + } + + private static bool IsValidEntry(DebianCountryEntry entry) + { + return !string.IsNullOrWhiteSpace(entry.Name) && + !string.IsNullOrWhiteSpace(entry.Alpha2) && entry.Alpha2.Length == 2 && + !string.IsNullOrWhiteSpace(entry.Alpha3) && entry.Alpha3.Length == 3 && + !string.IsNullOrWhiteSpace(entry.Numeric); + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs b/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs new file mode 100644 index 0000000..dcceeb3 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs @@ -0,0 +1,18 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators.Handlers; + +internal sealed class JsonCountryLoader +{ + private readonly List _actualCountries = []; + + public List ActualCountries => _actualCountries; + + public JsonCountryLoader(string actualJson) + { + var actual = new JsonCountryHandler(actualJson) + .LoadActualCountries() + .OrderBy(c => c.Name) + .ToList(); + + _actualCountries.AddRange(actual); + } +} \ No newline at end of file diff --git a/src/packages/Country.Reference.Iso3166.Generators/Country.Reference.Iso3166.Generators.csproj b/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj similarity index 64% rename from src/packages/Country.Reference.Iso3166.Generators/Country.Reference.Iso3166.Generators.csproj rename to src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj index c905d9f..886ae34 100644 --- a/src/packages/Country.Reference.Iso3166.Generators/Country.Reference.Iso3166.Generators.csproj +++ b/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj @@ -1,5 +1,4 @@ ๏ปฟ - netstandard2.0 latest @@ -21,33 +20,42 @@ true false false + + https://salsa.debian.org/iso-codes-team/iso-codes/-/raw/main/data/iso_3166-1.json + + $(ProjectDir)Content\iso_3166-1.json - + - - Always - - - - - + - embedded embedded - - + + + + Always + + + + + + + + + + diff --git a/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs b/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs new file mode 100644 index 0000000..99bcadf --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs @@ -0,0 +1,152 @@ +๏ปฟusing System.Reflection; +using System.Text; +using HawkN.Iso.Countries.Generators.Handlers; +using HawkN.Iso.Countries.Generators.Models; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Text; +namespace HawkN.Iso.Countries.Generators; + +[Generator] +public class LocalCountryDatabaseGenerator : BaseIncrementalGenerator +{ + protected override string HintName => "LocalCountryDatabase.g.cs"; + + private const string StubSource = """ + // + // This file was generated by HawkN.Iso.Countries.Generators source generator. + // Do not modify this file manually. + // + #nullable enable + using System.Collections.Generic; + using System.Collections.Generic; + using HawkN.Iso.Countries.Models; + namespace HawkN.Iso.Countries + { + /// + /// Country information ISO3166 (M49) + /// + internal static class LocalCountryDatabase + { + public static readonly ImmutableArray ActualCountries =ImmutableArray.Create(new Models.Country[] + {}); + } + } + """; + + public override void Initialize(IncrementalGeneratorInitializationContext context) + { + ErrorFactory.Clear(); + + var csvContentProvider = context.CompilationProvider.Select(ReadIsoResource); + + context.RegisterSourceOutput(csvContentProvider, (spc, content) => GenerateSourceOutput(content, spc)); + } + + static string ReadIsoResource(Compilation compilation, CancellationToken ct) + { + try + { + return LoadResources(Assembly.GetExecutingAssembly()); + } + catch (InvalidOperationException ex) + { + var errorMsg = $"{Constants.ErrorMark}:{ex.Message}"; + return errorMsg; + } + } + + private new void GenerateSourceOutput(string originalIsoData, SourceProductionContext spc) + { + try + { + if (HasResourceErrors(originalIsoData, out var errorMessages)) + { + foreach (var msg in errorMessages) + ReportResourceError(msg); + + AddStubIfErrors(spc, HintName, StubSource, GeneratorType.Database); + return; + } + + var loader = new JsonCountryLoader(originalIsoData); + var sb = CreateSourceBuilder( + Constants.GeneratorName, + Constants.DefaultNamespace, + Constants.ExtendedSourceData, + [ + "System.Collections.Generic", + "System.Collections.Immutable", + "HawkN.Iso.Countries.Models" + ]); + + sb.AppendLine(" /// ") + .AppendLine(" /// Country information ISO3166") + .AppendLine(" /// ") + .AppendLine(" internal static class LocalCountryDatabase") + .AppendLine(" {"); + + GenerateCountrySection(sb, "ActualCountries", loader.ActualCountries); + + sb.AppendLine(" }") + .AppendLine("}"); + spc.AddSource(HintName, SourceText.From(sb.ToString(), Encoding.UTF8)); + } + catch (Exception ex) when (ex is not OperationCanceledException) + { + ErrorFactory.Create(new ErrorDescription + { + DiagnosticDescriptor = new DiagnosticDescriptor( + DiagnosticDescriptors.UnexpectedErrorId, + Constants.DiagnosticsTitle, + $"Unexpected exception: {ex.Message}", + string.Empty, + DiagnosticSeverity.Error, + true), + GeneratorType = GeneratorType.Database + }); + AddStubIfErrors(spc, HintName, StubSource, GeneratorType.Database); + } + } + + private static bool HasResourceErrors(string originalCsv, out List messages) + { + messages = []; + if (originalCsv.StartsWith(Constants.ErrorMark)) messages.Add("original:" + originalCsv); + return messages.Count > 0; + } + + private static void GenerateCountrySection(StringBuilder sb, string propertyName, List countryList) + { + sb.AppendLine( + $" public static readonly ImmutableArray {propertyName} = ImmutableArray.Create(new Models.Country[]") + .AppendLine(" {"); + foreach (var c in countryList) + { + sb.AppendLine( + !string.IsNullOrEmpty(c.OfficialName) + ? $" new(\"{c.Name}\", CountryCode.TwoLetterCode.{c.CodeAlpha2}, CountryCode.ThreeLetterCode.{c.CodeAlpha3}, \"{c.NumericCode}\",\"{c.OfficialName}\")," + : $" new(\"{c.Name}\", CountryCode.TwoLetterCode.{c.CodeAlpha2}, CountryCode.ThreeLetterCode.{c.CodeAlpha3}, \"{c.NumericCode}\", string.Empty),"); + } + + sb.AppendLine(" });"); + } + + private void ReportResourceError(string msg) + { + var parts = msg.Split([':'], 2); + var name = parts[0]; + var text = parts.Length > 1 ? parts[1] : "Unknown error"; + + ErrorFactory.Create(new ErrorDescription + { + DiagnosticDescriptor = new DiagnosticDescriptor( + DiagnosticDescriptors.ResourceLoadErrorId, + Constants.DiagnosticsTitle, + $"Failed to load {name} resource: {text}", + string.Empty, + DiagnosticSeverity.Error, + true), + GeneratorType = GeneratorType.Database + }); + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/Country.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/Country.cs new file mode 100644 index 0000000..0632ad9 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Models/Country.cs @@ -0,0 +1,29 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; + +internal class Country(string name, string codeAlpha2, string codeAlpha3, string numericCode, string? officialName) +{ + /// + /// Country name (English) + /// + public string Name { get; } = name; + + /// + /// Country name (English) + /// + public string? OfficialName { get; } = officialName; + + /// + /// ISO 3166-1 Alpha-2 + /// + public string CodeAlpha2 { get; } = codeAlpha2; + + /// + /// 3166-1 Alpha-3 + /// + public string CodeAlpha3 { get; } = codeAlpha3; + + /// + /// ISO 3166-1 Numeric + /// + public string NumericCode { get; } = numericCode; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs new file mode 100644 index 0000000..b81794a --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs @@ -0,0 +1,19 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; + +internal class DebianCountryEntry +{ + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + [System.Text.Json.Serialization.JsonPropertyName("official_name")] + public string? OfficialName { get; set; } + + [System.Text.Json.Serialization.JsonPropertyName("alpha_2")] + public string Alpha2 { get; set; } = string.Empty; + + [System.Text.Json.Serialization.JsonPropertyName("alpha_3")] + public string Alpha3 { get; set; } = string.Empty; + + [System.Text.Json.Serialization.JsonPropertyName("numeric")] + public string Numeric { get; set; } = string.Empty; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs new file mode 100644 index 0000000..ca71983 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs @@ -0,0 +1,7 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; + +internal class DebianIsoJson +{ + [System.Text.Json.Serialization.JsonPropertyName("3166-1")] + public List Countries { get; set; } = []; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/DiagnosticDescriptors.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/DiagnosticDescriptors.cs new file mode 100644 index 0000000..efb7da7 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Models/DiagnosticDescriptors.cs @@ -0,0 +1,7 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; + +internal static class DiagnosticDescriptors +{ + public const string UnexpectedErrorId = "COUNTRY000"; + public const string ResourceLoadErrorId = "COUNTRY001"; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/ErrorDescription.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/ErrorDescription.cs new file mode 100644 index 0000000..6af1f26 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Models/ErrorDescription.cs @@ -0,0 +1,11 @@ +๏ปฟusing Microsoft.CodeAnalysis; + +namespace HawkN.Iso.Countries.Generators.Models; + +public class ErrorDescription +{ + public DiagnosticDescriptor DiagnosticDescriptor { get; set; } = null!; + public object?[]? MessageArgs { get; set; } + public Location? Location { get; set; } = Location.None; + public GeneratorType GeneratorType { get; set; } = GeneratorType.Factory; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/GeneratorType.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/GeneratorType.cs new file mode 100644 index 0000000..bf636e7 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Models/GeneratorType.cs @@ -0,0 +1,8 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; + +public enum GeneratorType +{ + Factory = 0, + Country = 1, + Database = 2 +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/README.md b/src/packages/HawkN.Iso.Countries.Generators/README.md new file mode 100644 index 0000000..076fafb --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/README.md @@ -0,0 +1,31 @@ +### Summary of Data Acquisition + +The library automates the retrieval of standardized country data to ensure accuracy and compliance with the ISO 3166-1 standard. + +* **Source URL**: Official Debian Salsa repository +* **Target Path**: Local project directory `Content\iso_3166-1.json` +* **Mechanism**: Integrated MSBuild task that executes before the build process to synchronize data + +--- + +### How to use source generator + +The project uses `Incremental Source Generators` to maintain country codes and the local database. The process is now fully automated during the build. + +- **Automatic Generation**: The files `CountryCode.g.cs` and `LocalCountryDatabase.g.cs` are generated automatically during the project build. +- **Viewing Generated Files**: + 1. Open the solution in your IDE (Visual Studio / Rider). + 2. Navigate to `HawkN.Iso.Countries` -> `Dependencies` -> `Analyzers` -> `HawkN.Iso.Countries.Generators`. + 3. Here you can review the generated source code. + +### How to update countries + +You no longer need to download the JSON file manually. The build system is configured to sync with the official source. + +- **Data Source**: The library uses the official ISO 3166-1 data from the Debian iso-codes repository. +- **Update Process**: + 1. During the build process, a pre-build task checks for the latest `iso_3166-1.json` from [Debian Salsa](https://salsa.debian.org/iso-codes-team/iso-codes/-/raw/main/data/iso_3166-1.json). + 2. If the file is missing or updated, it is automatically downloaded to the `Content/` folder in the Generators project. +- **Manual Trigger**: + - If you want to force a fresh update, delete the file `src/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json` and rebuild the solution. + - The build script will detect the missing file and download the latest version from the repository. \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/Abstractions/ICountryCodeService.cs b/src/packages/HawkN.Iso.Countries/Abstractions/ICountryCodeService.cs new file mode 100644 index 0000000..c4cf7da --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/Abstractions/ICountryCodeService.cs @@ -0,0 +1,83 @@ +๏ปฟusing System.Diagnostics.CodeAnalysis; +using HawkN.Iso.Countries.Models; + +namespace HawkN.Iso.Countries.Abstractions; +/// +/// Provides a unified service for validating, retrieving, and searching ISO 3166-1 country data. +/// Supports Alpha-2, Alpha-3 codes, common names, and official names. +/// +public interface ICountryCodeService +{ + /// + /// Retrieves a country by any valid ISO 3166-1 code (Alpha-2, Alpha-3 string). + /// + /// The code string (e.g., "US", "USA", or "840"). Case-insensitive. + /// A instance if found; otherwise, . + HawkN.Iso.Countries.Models.Country? FindByCode(string code); + + /// + /// Retrieves a country by its common name or official ISO 3166-1 name. + /// + /// The common or official name (e.g., "South Korea" or "Republic of Korea"). Case-insensitive. + /// A instance if found; otherwise, . + HawkN.Iso.Countries.Models.Country? FindByName(string name); + + /// + /// Performs a partial match search across common and official country names. + /// Useful for autocomplete or filtering UI components. + /// + /// The search term (e.g., "United" or "Republic"). + /// A collection of countries sorted by relevance (starts-with matches first). + IEnumerable SearchByName(string query); + + /// + /// Gets a country using its strictly typed Alpha-2 enum. + /// + /// The enum value. + /// The corresponding instance. + HawkN.Iso.Countries.Models.Country Get(CountryCode.TwoLetterCode code); + + /// + /// Gets a country using its strictly typed Alpha-3 enum. + /// + /// The enum value. + /// The corresponding instance. + HawkN.Iso.Countries.Models.Country Get(CountryCode.ThreeLetterCode code); + + /// + /// Gets a country using its Numeric integer code. + /// + /// The numeric code (e.g., 840 for USA). + /// A instance if found; otherwise, . + HawkN.Iso.Countries.Models.Country? Get(int numericCode); + + /// + /// Safely attempts to retrieve a country by any ISO code. + /// + /// The Alpha-2, Alpha-3, or Numeric code. + /// When this method returns, contains the country data if the code exists; otherwise, null. + /// if the country was found; otherwise, . + bool TryGet(string code, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country); + + /// + /// Validates a country code and returns a detailed result with the associated country data. + /// + /// The code to validate. + /// Contains the if validation succeeds. + /// A indicating success or failure reasons. + ValidationResult ValidateByCode(string code, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country); + + /// + /// Validates a country name (common or official) and returns a detailed result. + /// + /// The name to validate. + /// Contains the if validation succeeds. + /// A indicating success or failure reasons. + ValidationResult ValidateByName(string name, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country); + + /// + /// Returns all officially assigned ISO 3166-1 countries. + /// + /// A read-only list of all active countries. + IReadOnlyList GetAll(); +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/CountryCode.cs b/src/packages/HawkN.Iso.Countries/CountryCode.cs new file mode 100644 index 0000000..930f78b --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/CountryCode.cs @@ -0,0 +1,2022 @@ +๏ปฟ// +// This file was generated by HawkN.Iso.Countries.Generators source generator +// Data Source: iso-codes project (Debian Salsa) +// License: GNU Lesser General Public License v2.1 +// Source URL: https://salsa.debian.org/iso-codes-team/iso-codes +// Do not modify this file manually. +// +#nullable enable +using System.Collections.Generic; +namespace HawkN.Iso.Countries +{ + /// + /// Country codes ISO3166 + /// + public static class CountryCode + { + /// + /// Represents the ISO 3166-1 Alpha-2 two-letter country codes (e.g., "US", "DE"). + /// + public enum TwoLetterCode + { + /// + /// Afghanistan (Islamic Republic of Afghanistan) + /// + AF, + /// + /// ร…land Islands + /// + AX, + /// + /// Albania (Republic of Albania) + /// + AL, + /// + /// Algeria (People's Democratic Republic of Algeria) + /// + DZ, + /// + /// American Samoa + /// + AS, + /// + /// Andorra (Principality of Andorra) + /// + AD, + /// + /// Angola (Republic of Angola) + /// + AO, + /// + /// Anguilla + /// + AI, + /// + /// Antarctica + /// + AQ, + /// + /// Antigua and Barbuda + /// + AG, + /// + /// Argentina (Argentine Republic) + /// + AR, + /// + /// Armenia (Republic of Armenia) + /// + AM, + /// + /// Aruba + /// + AW, + /// + /// Australia + /// + AU, + /// + /// Austria (Republic of Austria) + /// + AT, + /// + /// Azerbaijan (Republic of Azerbaijan) + /// + AZ, + /// + /// Bahamas (Commonwealth of the Bahamas) + /// + BS, + /// + /// Bahrain (Kingdom of Bahrain) + /// + BH, + /// + /// Bangladesh (People's Republic of Bangladesh) + /// + BD, + /// + /// Barbados + /// + BB, + /// + /// Belarus (Republic of Belarus) + /// + BY, + /// + /// Belgium (Kingdom of Belgium) + /// + BE, + /// + /// Belize + /// + BZ, + /// + /// Benin (Republic of Benin) + /// + BJ, + /// + /// Bermuda + /// + BM, + /// + /// Bhutan (Kingdom of Bhutan) + /// + BT, + /// + /// Bolivia, Plurinational State of (Plurinational State of Bolivia) + /// + BO, + /// + /// Bonaire, Sint Eustatius and Saba (Bonaire, Sint Eustatius and Saba) + /// + BQ, + /// + /// Bosnia and Herzegovina (Republic of Bosnia and Herzegovina) + /// + BA, + /// + /// Botswana (Republic of Botswana) + /// + BW, + /// + /// Bouvet Island + /// + BV, + /// + /// Brazil (Federative Republic of Brazil) + /// + BR, + /// + /// British Indian Ocean Territory + /// + IO, + /// + /// Brunei Darussalam + /// + BN, + /// + /// Bulgaria (Republic of Bulgaria) + /// + BG, + /// + /// Burkina Faso + /// + BF, + /// + /// Burundi (Republic of Burundi) + /// + BI, + /// + /// Cabo Verde (Republic of Cabo Verde) + /// + CV, + /// + /// Cambodia (Kingdom of Cambodia) + /// + KH, + /// + /// Cameroon (Republic of Cameroon) + /// + CM, + /// + /// Canada + /// + CA, + /// + /// Cayman Islands + /// + KY, + /// + /// Central African Republic + /// + CF, + /// + /// Chad (Republic of Chad) + /// + TD, + /// + /// Chile (Republic of Chile) + /// + CL, + /// + /// China (People's Republic of China) + /// + CN, + /// + /// Christmas Island + /// + CX, + /// + /// Cocos (Keeling) Islands + /// + CC, + /// + /// Colombia (Republic of Colombia) + /// + CO, + /// + /// Comoros (Union of the Comoros) + /// + KM, + /// + /// Congo (Republic of the Congo) + /// + CG, + /// + /// Congo, The Democratic Republic of the + /// + CD, + /// + /// Cook Islands + /// + CK, + /// + /// Costa Rica (Republic of Costa Rica) + /// + CR, + /// + /// Cรดte d'Ivoire (Republic of Cรดte d'Ivoire) + /// + CI, + /// + /// Croatia (Republic of Croatia) + /// + HR, + /// + /// Cuba (Republic of Cuba) + /// + CU, + /// + /// Curaรงao (Curaรงao) + /// + CW, + /// + /// Cyprus (Republic of Cyprus) + /// + CY, + /// + /// Czechia (Czech Republic) + /// + CZ, + /// + /// Denmark (Kingdom of Denmark) + /// + DK, + /// + /// Djibouti (Republic of Djibouti) + /// + DJ, + /// + /// Dominica (Commonwealth of Dominica) + /// + DM, + /// + /// Dominican Republic + /// + DO, + /// + /// Ecuador (Republic of Ecuador) + /// + EC, + /// + /// Egypt (Arab Republic of Egypt) + /// + EG, + /// + /// El Salvador (Republic of El Salvador) + /// + SV, + /// + /// Equatorial Guinea (Republic of Equatorial Guinea) + /// + GQ, + /// + /// Eritrea (the State of Eritrea) + /// + ER, + /// + /// Estonia (Republic of Estonia) + /// + EE, + /// + /// Eswatini (Kingdom of Eswatini) + /// + SZ, + /// + /// Ethiopia (Federal Democratic Republic of Ethiopia) + /// + ET, + /// + /// Falkland Islands (Malvinas) + /// + FK, + /// + /// Faroe Islands + /// + FO, + /// + /// Fiji (Republic of Fiji) + /// + FJ, + /// + /// Finland (Republic of Finland) + /// + FI, + /// + /// France (French Republic) + /// + FR, + /// + /// French Guiana + /// + GF, + /// + /// French Polynesia + /// + PF, + /// + /// French Southern Territories + /// + TF, + /// + /// Gabon (Gabonese Republic) + /// + GA, + /// + /// Gambia (Republic of the Gambia) + /// + GM, + /// + /// Georgia + /// + GE, + /// + /// Germany (Federal Republic of Germany) + /// + DE, + /// + /// Ghana (Republic of Ghana) + /// + GH, + /// + /// Gibraltar + /// + GI, + /// + /// Greece (Hellenic Republic) + /// + GR, + /// + /// Greenland + /// + GL, + /// + /// Grenada + /// + GD, + /// + /// Guadeloupe + /// + GP, + /// + /// Guam + /// + GU, + /// + /// Guatemala (Republic of Guatemala) + /// + GT, + /// + /// Guernsey + /// + GG, + /// + /// Guinea (Republic of Guinea) + /// + GN, + /// + /// Guinea-Bissau (Republic of Guinea-Bissau) + /// + GW, + /// + /// Guyana (Republic of Guyana) + /// + GY, + /// + /// Haiti (Republic of Haiti) + /// + HT, + /// + /// Heard Island and McDonald Islands + /// + HM, + /// + /// Holy See (Vatican City State) + /// + VA, + /// + /// Honduras (Republic of Honduras) + /// + HN, + /// + /// Hong Kong (Hong Kong Special Administrative Region of China) + /// + HK, + /// + /// Hungary (Hungary) + /// + HU, + /// + /// Iceland (Republic of Iceland) + /// + IS, + /// + /// India (Republic of India) + /// + IN, + /// + /// Indonesia (Republic of Indonesia) + /// + ID, + /// + /// Iran, Islamic Republic of (Islamic Republic of Iran) + /// + IR, + /// + /// Iraq (Republic of Iraq) + /// + IQ, + /// + /// Ireland + /// + IE, + /// + /// Isle of Man + /// + IM, + /// + /// Israel (State of Israel) + /// + IL, + /// + /// Italy (Italian Republic) + /// + IT, + /// + /// Jamaica + /// + JM, + /// + /// Japan + /// + JP, + /// + /// Jersey + /// + JE, + /// + /// Jordan (Hashemite Kingdom of Jordan) + /// + JO, + /// + /// Kazakhstan (Republic of Kazakhstan) + /// + KZ, + /// + /// Kenya (Republic of Kenya) + /// + KE, + /// + /// Kiribati (Republic of Kiribati) + /// + KI, + /// + /// Korea, Democratic People's Republic of (Democratic People's Republic of Korea) + /// + KP, + /// + /// Korea, Republic of + /// + KR, + /// + /// Kuwait (State of Kuwait) + /// + KW, + /// + /// Kyrgyzstan (Kyrgyz Republic) + /// + KG, + /// + /// Lao People's Democratic Republic + /// + LA, + /// + /// Latvia (Republic of Latvia) + /// + LV, + /// + /// Lebanon (Lebanese Republic) + /// + LB, + /// + /// Lesotho (Kingdom of Lesotho) + /// + LS, + /// + /// Liberia (Republic of Liberia) + /// + LR, + /// + /// Libya (Libya) + /// + LY, + /// + /// Liechtenstein (Principality of Liechtenstein) + /// + LI, + /// + /// Lithuania (Republic of Lithuania) + /// + LT, + /// + /// Luxembourg (Grand Duchy of Luxembourg) + /// + LU, + /// + /// Macao (Macao Special Administrative Region of China) + /// + MO, + /// + /// Madagascar (Republic of Madagascar) + /// + MG, + /// + /// Malawi (Republic of Malawi) + /// + MW, + /// + /// Malaysia + /// + MY, + /// + /// Maldives (Republic of Maldives) + /// + MV, + /// + /// Mali (Republic of Mali) + /// + ML, + /// + /// Malta (Republic of Malta) + /// + MT, + /// + /// Marshall Islands (Republic of the Marshall Islands) + /// + MH, + /// + /// Martinique + /// + MQ, + /// + /// Mauritania (Islamic Republic of Mauritania) + /// + MR, + /// + /// Mauritius (Republic of Mauritius) + /// + MU, + /// + /// Mayotte + /// + YT, + /// + /// Mexico (United Mexican States) + /// + MX, + /// + /// Micronesia, Federated States of (Federated States of Micronesia) + /// + FM, + /// + /// Moldova, Republic of (Republic of Moldova) + /// + MD, + /// + /// Monaco (Principality of Monaco) + /// + MC, + /// + /// Mongolia + /// + MN, + /// + /// Montenegro (Montenegro) + /// + ME, + /// + /// Montserrat + /// + MS, + /// + /// Morocco (Kingdom of Morocco) + /// + MA, + /// + /// Mozambique (Republic of Mozambique) + /// + MZ, + /// + /// Myanmar (Republic of Myanmar) + /// + MM, + /// + /// Namibia (Republic of Namibia) + /// + NA, + /// + /// Nauru (Republic of Nauru) + /// + NR, + /// + /// Nepal (Federal Democratic Republic of Nepal) + /// + NP, + /// + /// Netherlands (Kingdom of the Netherlands) + /// + NL, + /// + /// New Caledonia + /// + NC, + /// + /// New Zealand + /// + NZ, + /// + /// Nicaragua (Republic of Nicaragua) + /// + NI, + /// + /// Niger (Republic of the Niger) + /// + NE, + /// + /// Nigeria (Federal Republic of Nigeria) + /// + NG, + /// + /// Niue (Niue) + /// + NU, + /// + /// Norfolk Island + /// + NF, + /// + /// North Macedonia (Republic of North Macedonia) + /// + MK, + /// + /// Northern Mariana Islands (Commonwealth of the Northern Mariana Islands) + /// + MP, + /// + /// Norway (Kingdom of Norway) + /// + NO, + /// + /// Oman (Sultanate of Oman) + /// + OM, + /// + /// Pakistan (Islamic Republic of Pakistan) + /// + PK, + /// + /// Palau (Republic of Palau) + /// + PW, + /// + /// Palestine, State of (the State of Palestine) + /// + PS, + /// + /// Panama (Republic of Panama) + /// + PA, + /// + /// Papua New Guinea (Independent State of Papua New Guinea) + /// + PG, + /// + /// Paraguay (Republic of Paraguay) + /// + PY, + /// + /// Peru (Republic of Peru) + /// + PE, + /// + /// Philippines (Republic of the Philippines) + /// + PH, + /// + /// Pitcairn + /// + PN, + /// + /// Poland (Republic of Poland) + /// + PL, + /// + /// Portugal (Portuguese Republic) + /// + PT, + /// + /// Puerto Rico + /// + PR, + /// + /// Qatar (State of Qatar) + /// + QA, + /// + /// Rรฉunion + /// + RE, + /// + /// Romania + /// + RO, + /// + /// Russian Federation + /// + RU, + /// + /// Rwanda (Rwandese Republic) + /// + RW, + /// + /// Saint Barthรฉlemy + /// + BL, + /// + /// Saint Helena, Ascension and Tristan da Cunha + /// + SH, + /// + /// Saint Kitts and Nevis + /// + KN, + /// + /// Saint Lucia + /// + LC, + /// + /// Saint Martin (French part) + /// + MF, + /// + /// Saint Pierre and Miquelon + /// + PM, + /// + /// Saint Vincent and the Grenadines + /// + VC, + /// + /// Samoa (Independent State of Samoa) + /// + WS, + /// + /// San Marino (Republic of San Marino) + /// + SM, + /// + /// Sao Tome and Principe (Democratic Republic of Sao Tome and Principe) + /// + ST, + /// + /// Saudi Arabia (Kingdom of Saudi Arabia) + /// + SA, + /// + /// Senegal (Republic of Senegal) + /// + SN, + /// + /// Serbia (Republic of Serbia) + /// + RS, + /// + /// Seychelles (Republic of Seychelles) + /// + SC, + /// + /// Sierra Leone (Republic of Sierra Leone) + /// + SL, + /// + /// Singapore (Republic of Singapore) + /// + SG, + /// + /// Sint Maarten (Dutch part) (Sint Maarten (Dutch part)) + /// + SX, + /// + /// Slovakia (Slovak Republic) + /// + SK, + /// + /// Slovenia (Republic of Slovenia) + /// + SI, + /// + /// Solomon Islands + /// + SB, + /// + /// Somalia (Federal Republic of Somalia) + /// + SO, + /// + /// South Africa (Republic of South Africa) + /// + ZA, + /// + /// South Georgia and the South Sandwich Islands + /// + GS, + /// + /// South Sudan (Republic of South Sudan) + /// + SS, + /// + /// Spain (Kingdom of Spain) + /// + ES, + /// + /// Sri Lanka (Democratic Socialist Republic of Sri Lanka) + /// + LK, + /// + /// Sudan (Republic of the Sudan) + /// + SD, + /// + /// Suriname (Republic of Suriname) + /// + SR, + /// + /// Svalbard and Jan Mayen + /// + SJ, + /// + /// Sweden (Kingdom of Sweden) + /// + SE, + /// + /// Switzerland (Swiss Confederation) + /// + CH, + /// + /// Syrian Arab Republic + /// + SY, + /// + /// Taiwan, Province of China (Taiwan, Province of China) + /// + TW, + /// + /// Tajikistan (Republic of Tajikistan) + /// + TJ, + /// + /// Tanzania, United Republic of (United Republic of Tanzania) + /// + TZ, + /// + /// Thailand (Kingdom of Thailand) + /// + TH, + /// + /// Timor-Leste (Democratic Republic of Timor-Leste) + /// + TL, + /// + /// Togo (Togolese Republic) + /// + TG, + /// + /// Tokelau + /// + TK, + /// + /// Tonga (Kingdom of Tonga) + /// + TO, + /// + /// Trinidad and Tobago (Republic of Trinidad and Tobago) + /// + TT, + /// + /// Tunisia (Republic of Tunisia) + /// + TN, + /// + /// Tรผrkiye (Republic of Tรผrkiye) + /// + TR, + /// + /// Turkmenistan + /// + TM, + /// + /// Turks and Caicos Islands + /// + TC, + /// + /// Tuvalu + /// + TV, + /// + /// Uganda (Republic of Uganda) + /// + UG, + /// + /// Ukraine + /// + UA, + /// + /// United Arab Emirates + /// + AE, + /// + /// United Kingdom (United Kingdom of Great Britain and Northern Ireland) + /// + GB, + /// + /// United States (United States of America) + /// + US, + /// + /// United States Minor Outlying Islands + /// + UM, + /// + /// Uruguay (Eastern Republic of Uruguay) + /// + UY, + /// + /// Uzbekistan (Republic of Uzbekistan) + /// + UZ, + /// + /// Vanuatu (Republic of Vanuatu) + /// + VU, + /// + /// Venezuela, Bolivarian Republic of (Bolivarian Republic of Venezuela) + /// + VE, + /// + /// Viet Nam (Socialist Republic of Viet Nam) + /// + VN, + /// + /// Virgin Islands, British (British Virgin Islands) + /// + VG, + /// + /// Virgin Islands, U.S. (Virgin Islands of the United States) + /// + VI, + /// + /// Wallis and Futuna + /// + WF, + /// + /// Western Sahara + /// + EH, + /// + /// Yemen (Republic of Yemen) + /// + YE, + /// + /// Zambia (Republic of Zambia) + /// + ZM, + /// + /// Zimbabwe (Republic of Zimbabwe) + /// + ZW, + } + /// + /// Represents the ISO 3166-1 Alpha-3 three-letter country codes (e.g., "USA", "DEU"). + /// + public enum ThreeLetterCode + { + /// + /// Afghanistan (Islamic Republic of Afghanistan) + /// + AFG, + /// + /// ร…land Islands + /// + ALA, + /// + /// Albania (Republic of Albania) + /// + ALB, + /// + /// Algeria (People's Democratic Republic of Algeria) + /// + DZA, + /// + /// American Samoa + /// + ASM, + /// + /// Andorra (Principality of Andorra) + /// + AND, + /// + /// Angola (Republic of Angola) + /// + AGO, + /// + /// Anguilla + /// + AIA, + /// + /// Antarctica + /// + ATA, + /// + /// Antigua and Barbuda + /// + ATG, + /// + /// Argentina (Argentine Republic) + /// + ARG, + /// + /// Armenia (Republic of Armenia) + /// + ARM, + /// + /// Aruba + /// + ABW, + /// + /// Australia + /// + AUS, + /// + /// Austria (Republic of Austria) + /// + AUT, + /// + /// Azerbaijan (Republic of Azerbaijan) + /// + AZE, + /// + /// Bahamas (Commonwealth of the Bahamas) + /// + BHS, + /// + /// Bahrain (Kingdom of Bahrain) + /// + BHR, + /// + /// Bangladesh (People's Republic of Bangladesh) + /// + BGD, + /// + /// Barbados + /// + BRB, + /// + /// Belarus (Republic of Belarus) + /// + BLR, + /// + /// Belgium (Kingdom of Belgium) + /// + BEL, + /// + /// Belize + /// + BLZ, + /// + /// Benin (Republic of Benin) + /// + BEN, + /// + /// Bermuda + /// + BMU, + /// + /// Bhutan (Kingdom of Bhutan) + /// + BTN, + /// + /// Bolivia, Plurinational State of (Plurinational State of Bolivia) + /// + BOL, + /// + /// Bonaire, Sint Eustatius and Saba (Bonaire, Sint Eustatius and Saba) + /// + BES, + /// + /// Bosnia and Herzegovina (Republic of Bosnia and Herzegovina) + /// + BIH, + /// + /// Botswana (Republic of Botswana) + /// + BWA, + /// + /// Bouvet Island + /// + BVT, + /// + /// Brazil (Federative Republic of Brazil) + /// + BRA, + /// + /// British Indian Ocean Territory + /// + IOT, + /// + /// Brunei Darussalam + /// + BRN, + /// + /// Bulgaria (Republic of Bulgaria) + /// + BGR, + /// + /// Burkina Faso + /// + BFA, + /// + /// Burundi (Republic of Burundi) + /// + BDI, + /// + /// Cabo Verde (Republic of Cabo Verde) + /// + CPV, + /// + /// Cambodia (Kingdom of Cambodia) + /// + KHM, + /// + /// Cameroon (Republic of Cameroon) + /// + CMR, + /// + /// Canada + /// + CAN, + /// + /// Cayman Islands + /// + CYM, + /// + /// Central African Republic + /// + CAF, + /// + /// Chad (Republic of Chad) + /// + TCD, + /// + /// Chile (Republic of Chile) + /// + CHL, + /// + /// China (People's Republic of China) + /// + CHN, + /// + /// Christmas Island + /// + CXR, + /// + /// Cocos (Keeling) Islands + /// + CCK, + /// + /// Colombia (Republic of Colombia) + /// + COL, + /// + /// Comoros (Union of the Comoros) + /// + COM, + /// + /// Congo (Republic of the Congo) + /// + COG, + /// + /// Congo, The Democratic Republic of the + /// + COD, + /// + /// Cook Islands + /// + COK, + /// + /// Costa Rica (Republic of Costa Rica) + /// + CRI, + /// + /// Cรดte d'Ivoire (Republic of Cรดte d'Ivoire) + /// + CIV, + /// + /// Croatia (Republic of Croatia) + /// + HRV, + /// + /// Cuba (Republic of Cuba) + /// + CUB, + /// + /// Curaรงao (Curaรงao) + /// + CUW, + /// + /// Cyprus (Republic of Cyprus) + /// + CYP, + /// + /// Czechia (Czech Republic) + /// + CZE, + /// + /// Denmark (Kingdom of Denmark) + /// + DNK, + /// + /// Djibouti (Republic of Djibouti) + /// + DJI, + /// + /// Dominica (Commonwealth of Dominica) + /// + DMA, + /// + /// Dominican Republic + /// + DOM, + /// + /// Ecuador (Republic of Ecuador) + /// + ECU, + /// + /// Egypt (Arab Republic of Egypt) + /// + EGY, + /// + /// El Salvador (Republic of El Salvador) + /// + SLV, + /// + /// Equatorial Guinea (Republic of Equatorial Guinea) + /// + GNQ, + /// + /// Eritrea (the State of Eritrea) + /// + ERI, + /// + /// Estonia (Republic of Estonia) + /// + EST, + /// + /// Eswatini (Kingdom of Eswatini) + /// + SWZ, + /// + /// Ethiopia (Federal Democratic Republic of Ethiopia) + /// + ETH, + /// + /// Falkland Islands (Malvinas) + /// + FLK, + /// + /// Faroe Islands + /// + FRO, + /// + /// Fiji (Republic of Fiji) + /// + FJI, + /// + /// Finland (Republic of Finland) + /// + FIN, + /// + /// France (French Republic) + /// + FRA, + /// + /// French Guiana + /// + GUF, + /// + /// French Polynesia + /// + PYF, + /// + /// French Southern Territories + /// + ATF, + /// + /// Gabon (Gabonese Republic) + /// + GAB, + /// + /// Gambia (Republic of the Gambia) + /// + GMB, + /// + /// Georgia + /// + GEO, + /// + /// Germany (Federal Republic of Germany) + /// + DEU, + /// + /// Ghana (Republic of Ghana) + /// + GHA, + /// + /// Gibraltar + /// + GIB, + /// + /// Greece (Hellenic Republic) + /// + GRC, + /// + /// Greenland + /// + GRL, + /// + /// Grenada + /// + GRD, + /// + /// Guadeloupe + /// + GLP, + /// + /// Guam + /// + GUM, + /// + /// Guatemala (Republic of Guatemala) + /// + GTM, + /// + /// Guernsey + /// + GGY, + /// + /// Guinea (Republic of Guinea) + /// + GIN, + /// + /// Guinea-Bissau (Republic of Guinea-Bissau) + /// + GNB, + /// + /// Guyana (Republic of Guyana) + /// + GUY, + /// + /// Haiti (Republic of Haiti) + /// + HTI, + /// + /// Heard Island and McDonald Islands + /// + HMD, + /// + /// Holy See (Vatican City State) + /// + VAT, + /// + /// Honduras (Republic of Honduras) + /// + HND, + /// + /// Hong Kong (Hong Kong Special Administrative Region of China) + /// + HKG, + /// + /// Hungary (Hungary) + /// + HUN, + /// + /// Iceland (Republic of Iceland) + /// + ISL, + /// + /// India (Republic of India) + /// + IND, + /// + /// Indonesia (Republic of Indonesia) + /// + IDN, + /// + /// Iran, Islamic Republic of (Islamic Republic of Iran) + /// + IRN, + /// + /// Iraq (Republic of Iraq) + /// + IRQ, + /// + /// Ireland + /// + IRL, + /// + /// Isle of Man + /// + IMN, + /// + /// Israel (State of Israel) + /// + ISR, + /// + /// Italy (Italian Republic) + /// + ITA, + /// + /// Jamaica + /// + JAM, + /// + /// Japan + /// + JPN, + /// + /// Jersey + /// + JEY, + /// + /// Jordan (Hashemite Kingdom of Jordan) + /// + JOR, + /// + /// Kazakhstan (Republic of Kazakhstan) + /// + KAZ, + /// + /// Kenya (Republic of Kenya) + /// + KEN, + /// + /// Kiribati (Republic of Kiribati) + /// + KIR, + /// + /// Korea, Democratic People's Republic of (Democratic People's Republic of Korea) + /// + PRK, + /// + /// Korea, Republic of + /// + KOR, + /// + /// Kuwait (State of Kuwait) + /// + KWT, + /// + /// Kyrgyzstan (Kyrgyz Republic) + /// + KGZ, + /// + /// Lao People's Democratic Republic + /// + LAO, + /// + /// Latvia (Republic of Latvia) + /// + LVA, + /// + /// Lebanon (Lebanese Republic) + /// + LBN, + /// + /// Lesotho (Kingdom of Lesotho) + /// + LSO, + /// + /// Liberia (Republic of Liberia) + /// + LBR, + /// + /// Libya (Libya) + /// + LBY, + /// + /// Liechtenstein (Principality of Liechtenstein) + /// + LIE, + /// + /// Lithuania (Republic of Lithuania) + /// + LTU, + /// + /// Luxembourg (Grand Duchy of Luxembourg) + /// + LUX, + /// + /// Macao (Macao Special Administrative Region of China) + /// + MAC, + /// + /// Madagascar (Republic of Madagascar) + /// + MDG, + /// + /// Malawi (Republic of Malawi) + /// + MWI, + /// + /// Malaysia + /// + MYS, + /// + /// Maldives (Republic of Maldives) + /// + MDV, + /// + /// Mali (Republic of Mali) + /// + MLI, + /// + /// Malta (Republic of Malta) + /// + MLT, + /// + /// Marshall Islands (Republic of the Marshall Islands) + /// + MHL, + /// + /// Martinique + /// + MTQ, + /// + /// Mauritania (Islamic Republic of Mauritania) + /// + MRT, + /// + /// Mauritius (Republic of Mauritius) + /// + MUS, + /// + /// Mayotte + /// + MYT, + /// + /// Mexico (United Mexican States) + /// + MEX, + /// + /// Micronesia, Federated States of (Federated States of Micronesia) + /// + FSM, + /// + /// Moldova, Republic of (Republic of Moldova) + /// + MDA, + /// + /// Monaco (Principality of Monaco) + /// + MCO, + /// + /// Mongolia + /// + MNG, + /// + /// Montenegro (Montenegro) + /// + MNE, + /// + /// Montserrat + /// + MSR, + /// + /// Morocco (Kingdom of Morocco) + /// + MAR, + /// + /// Mozambique (Republic of Mozambique) + /// + MOZ, + /// + /// Myanmar (Republic of Myanmar) + /// + MMR, + /// + /// Namibia (Republic of Namibia) + /// + NAM, + /// + /// Nauru (Republic of Nauru) + /// + NRU, + /// + /// Nepal (Federal Democratic Republic of Nepal) + /// + NPL, + /// + /// Netherlands (Kingdom of the Netherlands) + /// + NLD, + /// + /// New Caledonia + /// + NCL, + /// + /// New Zealand + /// + NZL, + /// + /// Nicaragua (Republic of Nicaragua) + /// + NIC, + /// + /// Niger (Republic of the Niger) + /// + NER, + /// + /// Nigeria (Federal Republic of Nigeria) + /// + NGA, + /// + /// Niue (Niue) + /// + NIU, + /// + /// Norfolk Island + /// + NFK, + /// + /// North Macedonia (Republic of North Macedonia) + /// + MKD, + /// + /// Northern Mariana Islands (Commonwealth of the Northern Mariana Islands) + /// + MNP, + /// + /// Norway (Kingdom of Norway) + /// + NOR, + /// + /// Oman (Sultanate of Oman) + /// + OMN, + /// + /// Pakistan (Islamic Republic of Pakistan) + /// + PAK, + /// + /// Palau (Republic of Palau) + /// + PLW, + /// + /// Palestine, State of (the State of Palestine) + /// + PSE, + /// + /// Panama (Republic of Panama) + /// + PAN, + /// + /// Papua New Guinea (Independent State of Papua New Guinea) + /// + PNG, + /// + /// Paraguay (Republic of Paraguay) + /// + PRY, + /// + /// Peru (Republic of Peru) + /// + PER, + /// + /// Philippines (Republic of the Philippines) + /// + PHL, + /// + /// Pitcairn + /// + PCN, + /// + /// Poland (Republic of Poland) + /// + POL, + /// + /// Portugal (Portuguese Republic) + /// + PRT, + /// + /// Puerto Rico + /// + PRI, + /// + /// Qatar (State of Qatar) + /// + QAT, + /// + /// Rรฉunion + /// + REU, + /// + /// Romania + /// + ROU, + /// + /// Russian Federation + /// + RUS, + /// + /// Rwanda (Rwandese Republic) + /// + RWA, + /// + /// Saint Barthรฉlemy + /// + BLM, + /// + /// Saint Helena, Ascension and Tristan da Cunha + /// + SHN, + /// + /// Saint Kitts and Nevis + /// + KNA, + /// + /// Saint Lucia + /// + LCA, + /// + /// Saint Martin (French part) + /// + MAF, + /// + /// Saint Pierre and Miquelon + /// + SPM, + /// + /// Saint Vincent and the Grenadines + /// + VCT, + /// + /// Samoa (Independent State of Samoa) + /// + WSM, + /// + /// San Marino (Republic of San Marino) + /// + SMR, + /// + /// Sao Tome and Principe (Democratic Republic of Sao Tome and Principe) + /// + STP, + /// + /// Saudi Arabia (Kingdom of Saudi Arabia) + /// + SAU, + /// + /// Senegal (Republic of Senegal) + /// + SEN, + /// + /// Serbia (Republic of Serbia) + /// + SRB, + /// + /// Seychelles (Republic of Seychelles) + /// + SYC, + /// + /// Sierra Leone (Republic of Sierra Leone) + /// + SLE, + /// + /// Singapore (Republic of Singapore) + /// + SGP, + /// + /// Sint Maarten (Dutch part) (Sint Maarten (Dutch part)) + /// + SXM, + /// + /// Slovakia (Slovak Republic) + /// + SVK, + /// + /// Slovenia (Republic of Slovenia) + /// + SVN, + /// + /// Solomon Islands + /// + SLB, + /// + /// Somalia (Federal Republic of Somalia) + /// + SOM, + /// + /// South Africa (Republic of South Africa) + /// + ZAF, + /// + /// South Georgia and the South Sandwich Islands + /// + SGS, + /// + /// South Sudan (Republic of South Sudan) + /// + SSD, + /// + /// Spain (Kingdom of Spain) + /// + ESP, + /// + /// Sri Lanka (Democratic Socialist Republic of Sri Lanka) + /// + LKA, + /// + /// Sudan (Republic of the Sudan) + /// + SDN, + /// + /// Suriname (Republic of Suriname) + /// + SUR, + /// + /// Svalbard and Jan Mayen + /// + SJM, + /// + /// Sweden (Kingdom of Sweden) + /// + SWE, + /// + /// Switzerland (Swiss Confederation) + /// + CHE, + /// + /// Syrian Arab Republic + /// + SYR, + /// + /// Taiwan, Province of China (Taiwan, Province of China) + /// + TWN, + /// + /// Tajikistan (Republic of Tajikistan) + /// + TJK, + /// + /// Tanzania, United Republic of (United Republic of Tanzania) + /// + TZA, + /// + /// Thailand (Kingdom of Thailand) + /// + THA, + /// + /// Timor-Leste (Democratic Republic of Timor-Leste) + /// + TLS, + /// + /// Togo (Togolese Republic) + /// + TGO, + /// + /// Tokelau + /// + TKL, + /// + /// Tonga (Kingdom of Tonga) + /// + TON, + /// + /// Trinidad and Tobago (Republic of Trinidad and Tobago) + /// + TTO, + /// + /// Tunisia (Republic of Tunisia) + /// + TUN, + /// + /// Tรผrkiye (Republic of Tรผrkiye) + /// + TUR, + /// + /// Turkmenistan + /// + TKM, + /// + /// Turks and Caicos Islands + /// + TCA, + /// + /// Tuvalu + /// + TUV, + /// + /// Uganda (Republic of Uganda) + /// + UGA, + /// + /// Ukraine + /// + UKR, + /// + /// United Arab Emirates + /// + ARE, + /// + /// United Kingdom (United Kingdom of Great Britain and Northern Ireland) + /// + GBR, + /// + /// United States (United States of America) + /// + USA, + /// + /// United States Minor Outlying Islands + /// + UMI, + /// + /// Uruguay (Eastern Republic of Uruguay) + /// + URY, + /// + /// Uzbekistan (Republic of Uzbekistan) + /// + UZB, + /// + /// Vanuatu (Republic of Vanuatu) + /// + VUT, + /// + /// Venezuela, Bolivarian Republic of (Bolivarian Republic of Venezuela) + /// + VEN, + /// + /// Viet Nam (Socialist Republic of Viet Nam) + /// + VNM, + /// + /// Virgin Islands, British (British Virgin Islands) + /// + VGB, + /// + /// Virgin Islands, U.S. (Virgin Islands of the United States) + /// + VIR, + /// + /// Wallis and Futuna + /// + WLF, + /// + /// Western Sahara + /// + ESH, + /// + /// Yemen (Republic of Yemen) + /// + YEM, + /// + /// Zambia (Republic of Zambia) + /// + ZMB, + /// + /// Zimbabwe (Republic of Zimbabwe) + /// + ZWE, + } + } +} diff --git a/src/packages/HawkN.Iso.Countries/Extensions/CountryStringExtensions.cs b/src/packages/HawkN.Iso.Countries/Extensions/CountryStringExtensions.cs new file mode 100644 index 0000000..b3e3ce6 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/Extensions/CountryStringExtensions.cs @@ -0,0 +1,55 @@ +๏ปฟusing HawkN.Iso.Countries.Abstractions; +using HawkN.Iso.Countries.Models; +namespace HawkN.Iso.Countries.Extensions; + +/// +/// Provides fluent extension methods for string objects and Country models to facilitate ISO 3166-1 lookups and formatting. +/// +public static class CountryStringExtensions +{ + /// + /// Converts a string code (Alpha-2, Alpha-3, or Numeric) to a Country model using the provided service. + /// + /// A or null if the code is invalid. + public static HawkN.Iso.Countries.Models.Country? ToCountry(this string? code, ICountryCodeService service) + { + return string.IsNullOrWhiteSpace(code) ? null : service.FindByCode(code); + } + + /// + /// Validates a string as a country code and returns the result. + /// + public static ValidationResult ValidateAsCountryCode(this string? code, ICountryCodeService service, out HawkN.Iso.Countries.Models.Country? country) + { + if (!string.IsNullOrWhiteSpace(code)) return service.ValidateByCode(code, out country); + country = null; + return ValidationResult.Failure("Code is required.", ValidationType.Code); + } + + /// + /// Checks if the string is a valid ISO 3166-1 country code. + /// + public static bool IsCountryCode(this string? code, ICountryCodeService service) + { + return service.TryGet(code ?? string.Empty, out _); + } + + /// + /// Converts the ISO 3166-1 Alpha-2 country code into a corresponding Unicode Emoji flag. + /// + /// The country model containing the Alpha-2 code. + /// + /// A string representing the Emoji flag (e.g., "๐Ÿ‡บ๐Ÿ‡ธ" for US). + /// Returns an empty string if the code is invalid or undefined. + /// + public static string GetEmojiFlag(this HawkN.Iso.Countries.Models.Country country) + { + var code = country.TwoLetterCode.ToString(); + + if (string.IsNullOrEmpty(code) || code.Length != 2) + return string.Empty; + + return string.Concat(code.ToUpperInvariant().Select(c => + char.ConvertFromUtf32(c + 0x1F1A5))); + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/Extensions/ServiceCollectionExtensions.cs b/src/packages/HawkN.Iso.Countries/Extensions/ServiceCollectionExtensions.cs new file mode 100644 index 0000000..cf5d128 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/Extensions/ServiceCollectionExtensions.cs @@ -0,0 +1,23 @@ +๏ปฟusing HawkN.Iso.Countries.Abstractions; +using HawkN.Iso.Countries.Services; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; +namespace HawkN.Iso.Countries.Extensions; + +/// +/// Extension methods for registering country-code-related services into an . +/// +public static class ServiceCollectionExtensions +{ + /// + /// Registers with its implementation + /// as a singleton in the dependency injection container. + /// + /// The to add the service to. + /// The updated . + public static IServiceCollection AddCountryCodeService(this IServiceCollection services) + { + services.TryAddSingleton(); + return services; + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj new file mode 100644 index 0000000..7e954b2 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj @@ -0,0 +1,83 @@ +๏ปฟ + + net8.0 + enable + enable + 8.0.0.0 + Library + Copyright ยฉ 2025 Nikolay Selyutin (HawkN113) + true + false + true + false + true + false + false + false + true + 8.0.0 + + false + $(MSBuildProjectDirectory)\CountryCode.cs + $(MSBuildProjectDirectory)\LocalCountryDatabase.cs + $(GenerateCountryFiles) + $(BaseIntermediateOutputPath)\Generated + + + embedded + bin\Debug\HawkN.Iso.Countries.xml + ;NU1605 + + + embedded + bin\Release\HawkN.Iso.Countries.xml + ;NU1605 + + + + + + + + + + + + Always + + + Always + + + + + + + + + + + + + + + + + + + <_GeneratedFiles Include="$(CompilerGeneratedFilesOutputPath)\**\*.g.cs" /> + + + + + + + + + + + + + diff --git a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec new file mode 100644 index 0000000..fb89e44 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec @@ -0,0 +1,38 @@ + + + + HawkN.Iso.Countries + 8.0.0 + HawkN.Iso.Countries + Nikolay Selyutin (HawkN113) + false + Provides strongly typed ISO 3166-1 country and region codes (Alpha-2, Alpha-3) generated at compile time from Debian-iso codes data. Includes lookup service (ICountryCodeService). Lightweight and optimized for .NET 8 applications. Data is sourced from the Debian iso-codes project (LGPL v2.1) + ISO 3166-1 country code reference library with strongly typed enums and code generation. + iso3166 debian-iso-codes country countries region codes .net8 dotnet-core source-generator csharp nuget-package + + https://github.com/HawkN113/HawkN.Iso.Countries + MIT + content\HawkN.Iso.Countries.ico.png + content\README.md + en-GB + + - Added support for .NET 8.0 + - Strongly typed CountryCode enums (Alpha-2, Alpha-3) generated at compile time + - Data sourced from Debian iso-codes (LGPL v2.1) + - Includes ICountryCodeService for lookups + - Lightweight & dependency-free + + Copyright ยฉ 2025 Nikolay Selyutin (HawkN113) + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/LocalCountryDatabase.cs b/src/packages/HawkN.Iso.Countries/LocalCountryDatabase.cs new file mode 100644 index 0000000..08fc6a4 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/LocalCountryDatabase.cs @@ -0,0 +1,272 @@ +๏ปฟ// +// This file was generated by HawkN.Iso.Countries.Generators source generator +// Data Source: iso-codes project (Debian Salsa) +// License: GNU Lesser General Public License v2.1 +// Source URL: https://salsa.debian.org/iso-codes-team/iso-codes +// Do not modify this file manually. +// +#nullable enable +using System.Collections.Generic; +using System.Collections.Immutable; +using HawkN.Iso.Countries.Models; +namespace HawkN.Iso.Countries +{ + /// + /// Country information ISO3166 + /// + internal static class LocalCountryDatabase + { + public static readonly ImmutableArray ActualCountries = ImmutableArray.Create(new Models.Country[] + { + new("Afghanistan", CountryCode.TwoLetterCode.AF, CountryCode.ThreeLetterCode.AFG, "004","Islamic Republic of Afghanistan"), + new("ร…land Islands", CountryCode.TwoLetterCode.AX, CountryCode.ThreeLetterCode.ALA, "248", string.Empty), + new("Albania", CountryCode.TwoLetterCode.AL, CountryCode.ThreeLetterCode.ALB, "008","Republic of Albania"), + new("Algeria", CountryCode.TwoLetterCode.DZ, CountryCode.ThreeLetterCode.DZA, "012","People's Democratic Republic of Algeria"), + new("American Samoa", CountryCode.TwoLetterCode.AS, CountryCode.ThreeLetterCode.ASM, "016", string.Empty), + new("Andorra", CountryCode.TwoLetterCode.AD, CountryCode.ThreeLetterCode.AND, "020","Principality of Andorra"), + new("Angola", CountryCode.TwoLetterCode.AO, CountryCode.ThreeLetterCode.AGO, "024","Republic of Angola"), + new("Anguilla", CountryCode.TwoLetterCode.AI, CountryCode.ThreeLetterCode.AIA, "660", string.Empty), + new("Antarctica", CountryCode.TwoLetterCode.AQ, CountryCode.ThreeLetterCode.ATA, "010", string.Empty), + new("Antigua and Barbuda", CountryCode.TwoLetterCode.AG, CountryCode.ThreeLetterCode.ATG, "028", string.Empty), + new("Argentina", CountryCode.TwoLetterCode.AR, CountryCode.ThreeLetterCode.ARG, "032","Argentine Republic"), + new("Armenia", CountryCode.TwoLetterCode.AM, CountryCode.ThreeLetterCode.ARM, "051","Republic of Armenia"), + new("Aruba", CountryCode.TwoLetterCode.AW, CountryCode.ThreeLetterCode.ABW, "533", string.Empty), + new("Australia", CountryCode.TwoLetterCode.AU, CountryCode.ThreeLetterCode.AUS, "036", string.Empty), + new("Austria", CountryCode.TwoLetterCode.AT, CountryCode.ThreeLetterCode.AUT, "040","Republic of Austria"), + new("Azerbaijan", CountryCode.TwoLetterCode.AZ, CountryCode.ThreeLetterCode.AZE, "031","Republic of Azerbaijan"), + new("Bahamas", CountryCode.TwoLetterCode.BS, CountryCode.ThreeLetterCode.BHS, "044","Commonwealth of the Bahamas"), + new("Bahrain", CountryCode.TwoLetterCode.BH, CountryCode.ThreeLetterCode.BHR, "048","Kingdom of Bahrain"), + new("Bangladesh", CountryCode.TwoLetterCode.BD, CountryCode.ThreeLetterCode.BGD, "050","People's Republic of Bangladesh"), + new("Barbados", CountryCode.TwoLetterCode.BB, CountryCode.ThreeLetterCode.BRB, "052", string.Empty), + new("Belarus", CountryCode.TwoLetterCode.BY, CountryCode.ThreeLetterCode.BLR, "112","Republic of Belarus"), + new("Belgium", CountryCode.TwoLetterCode.BE, CountryCode.ThreeLetterCode.BEL, "056","Kingdom of Belgium"), + new("Belize", CountryCode.TwoLetterCode.BZ, CountryCode.ThreeLetterCode.BLZ, "084", string.Empty), + new("Benin", CountryCode.TwoLetterCode.BJ, CountryCode.ThreeLetterCode.BEN, "204","Republic of Benin"), + new("Bermuda", CountryCode.TwoLetterCode.BM, CountryCode.ThreeLetterCode.BMU, "060", string.Empty), + new("Bhutan", CountryCode.TwoLetterCode.BT, CountryCode.ThreeLetterCode.BTN, "064","Kingdom of Bhutan"), + new("Bolivia, Plurinational State of", CountryCode.TwoLetterCode.BO, CountryCode.ThreeLetterCode.BOL, "068","Plurinational State of Bolivia"), + new("Bonaire, Sint Eustatius and Saba", CountryCode.TwoLetterCode.BQ, CountryCode.ThreeLetterCode.BES, "535","Bonaire, Sint Eustatius and Saba"), + new("Bosnia and Herzegovina", CountryCode.TwoLetterCode.BA, CountryCode.ThreeLetterCode.BIH, "070","Republic of Bosnia and Herzegovina"), + new("Botswana", CountryCode.TwoLetterCode.BW, CountryCode.ThreeLetterCode.BWA, "072","Republic of Botswana"), + new("Bouvet Island", CountryCode.TwoLetterCode.BV, CountryCode.ThreeLetterCode.BVT, "074", string.Empty), + new("Brazil", CountryCode.TwoLetterCode.BR, CountryCode.ThreeLetterCode.BRA, "076","Federative Republic of Brazil"), + new("British Indian Ocean Territory", CountryCode.TwoLetterCode.IO, CountryCode.ThreeLetterCode.IOT, "086", string.Empty), + new("Brunei Darussalam", CountryCode.TwoLetterCode.BN, CountryCode.ThreeLetterCode.BRN, "096", string.Empty), + new("Bulgaria", CountryCode.TwoLetterCode.BG, CountryCode.ThreeLetterCode.BGR, "100","Republic of Bulgaria"), + new("Burkina Faso", CountryCode.TwoLetterCode.BF, CountryCode.ThreeLetterCode.BFA, "854", string.Empty), + new("Burundi", CountryCode.TwoLetterCode.BI, CountryCode.ThreeLetterCode.BDI, "108","Republic of Burundi"), + new("Cabo Verde", CountryCode.TwoLetterCode.CV, CountryCode.ThreeLetterCode.CPV, "132","Republic of Cabo Verde"), + new("Cambodia", CountryCode.TwoLetterCode.KH, CountryCode.ThreeLetterCode.KHM, "116","Kingdom of Cambodia"), + new("Cameroon", CountryCode.TwoLetterCode.CM, CountryCode.ThreeLetterCode.CMR, "120","Republic of Cameroon"), + new("Canada", CountryCode.TwoLetterCode.CA, CountryCode.ThreeLetterCode.CAN, "124", string.Empty), + new("Cayman Islands", CountryCode.TwoLetterCode.KY, CountryCode.ThreeLetterCode.CYM, "136", string.Empty), + new("Central African Republic", CountryCode.TwoLetterCode.CF, CountryCode.ThreeLetterCode.CAF, "140", string.Empty), + new("Chad", CountryCode.TwoLetterCode.TD, CountryCode.ThreeLetterCode.TCD, "148","Republic of Chad"), + new("Chile", CountryCode.TwoLetterCode.CL, CountryCode.ThreeLetterCode.CHL, "152","Republic of Chile"), + new("China", CountryCode.TwoLetterCode.CN, CountryCode.ThreeLetterCode.CHN, "156","People's Republic of China"), + new("Christmas Island", CountryCode.TwoLetterCode.CX, CountryCode.ThreeLetterCode.CXR, "162", string.Empty), + new("Cocos (Keeling) Islands", CountryCode.TwoLetterCode.CC, CountryCode.ThreeLetterCode.CCK, "166", string.Empty), + new("Colombia", CountryCode.TwoLetterCode.CO, CountryCode.ThreeLetterCode.COL, "170","Republic of Colombia"), + new("Comoros", CountryCode.TwoLetterCode.KM, CountryCode.ThreeLetterCode.COM, "174","Union of the Comoros"), + new("Congo", CountryCode.TwoLetterCode.CG, CountryCode.ThreeLetterCode.COG, "178","Republic of the Congo"), + new("Congo, The Democratic Republic of the", CountryCode.TwoLetterCode.CD, CountryCode.ThreeLetterCode.COD, "180", string.Empty), + new("Cook Islands", CountryCode.TwoLetterCode.CK, CountryCode.ThreeLetterCode.COK, "184", string.Empty), + new("Costa Rica", CountryCode.TwoLetterCode.CR, CountryCode.ThreeLetterCode.CRI, "188","Republic of Costa Rica"), + new("Cรดte d'Ivoire", CountryCode.TwoLetterCode.CI, CountryCode.ThreeLetterCode.CIV, "384","Republic of Cรดte d'Ivoire"), + new("Croatia", CountryCode.TwoLetterCode.HR, CountryCode.ThreeLetterCode.HRV, "191","Republic of Croatia"), + new("Cuba", CountryCode.TwoLetterCode.CU, CountryCode.ThreeLetterCode.CUB, "192","Republic of Cuba"), + new("Curaรงao", CountryCode.TwoLetterCode.CW, CountryCode.ThreeLetterCode.CUW, "531","Curaรงao"), + new("Cyprus", CountryCode.TwoLetterCode.CY, CountryCode.ThreeLetterCode.CYP, "196","Republic of Cyprus"), + new("Czechia", CountryCode.TwoLetterCode.CZ, CountryCode.ThreeLetterCode.CZE, "203","Czech Republic"), + new("Denmark", CountryCode.TwoLetterCode.DK, CountryCode.ThreeLetterCode.DNK, "208","Kingdom of Denmark"), + new("Djibouti", CountryCode.TwoLetterCode.DJ, CountryCode.ThreeLetterCode.DJI, "262","Republic of Djibouti"), + new("Dominica", CountryCode.TwoLetterCode.DM, CountryCode.ThreeLetterCode.DMA, "212","Commonwealth of Dominica"), + new("Dominican Republic", CountryCode.TwoLetterCode.DO, CountryCode.ThreeLetterCode.DOM, "214", string.Empty), + new("Ecuador", CountryCode.TwoLetterCode.EC, CountryCode.ThreeLetterCode.ECU, "218","Republic of Ecuador"), + new("Egypt", CountryCode.TwoLetterCode.EG, CountryCode.ThreeLetterCode.EGY, "818","Arab Republic of Egypt"), + new("El Salvador", CountryCode.TwoLetterCode.SV, CountryCode.ThreeLetterCode.SLV, "222","Republic of El Salvador"), + new("Equatorial Guinea", CountryCode.TwoLetterCode.GQ, CountryCode.ThreeLetterCode.GNQ, "226","Republic of Equatorial Guinea"), + new("Eritrea", CountryCode.TwoLetterCode.ER, CountryCode.ThreeLetterCode.ERI, "232","the State of Eritrea"), + new("Estonia", CountryCode.TwoLetterCode.EE, CountryCode.ThreeLetterCode.EST, "233","Republic of Estonia"), + new("Eswatini", CountryCode.TwoLetterCode.SZ, CountryCode.ThreeLetterCode.SWZ, "748","Kingdom of Eswatini"), + new("Ethiopia", CountryCode.TwoLetterCode.ET, CountryCode.ThreeLetterCode.ETH, "231","Federal Democratic Republic of Ethiopia"), + new("Falkland Islands (Malvinas)", CountryCode.TwoLetterCode.FK, CountryCode.ThreeLetterCode.FLK, "238", string.Empty), + new("Faroe Islands", CountryCode.TwoLetterCode.FO, CountryCode.ThreeLetterCode.FRO, "234", string.Empty), + new("Fiji", CountryCode.TwoLetterCode.FJ, CountryCode.ThreeLetterCode.FJI, "242","Republic of Fiji"), + new("Finland", CountryCode.TwoLetterCode.FI, CountryCode.ThreeLetterCode.FIN, "246","Republic of Finland"), + new("France", CountryCode.TwoLetterCode.FR, CountryCode.ThreeLetterCode.FRA, "250","French Republic"), + new("French Guiana", CountryCode.TwoLetterCode.GF, CountryCode.ThreeLetterCode.GUF, "254", string.Empty), + new("French Polynesia", CountryCode.TwoLetterCode.PF, CountryCode.ThreeLetterCode.PYF, "258", string.Empty), + new("French Southern Territories", CountryCode.TwoLetterCode.TF, CountryCode.ThreeLetterCode.ATF, "260", string.Empty), + new("Gabon", CountryCode.TwoLetterCode.GA, CountryCode.ThreeLetterCode.GAB, "266","Gabonese Republic"), + new("Gambia", CountryCode.TwoLetterCode.GM, CountryCode.ThreeLetterCode.GMB, "270","Republic of the Gambia"), + new("Georgia", CountryCode.TwoLetterCode.GE, CountryCode.ThreeLetterCode.GEO, "268", string.Empty), + new("Germany", CountryCode.TwoLetterCode.DE, CountryCode.ThreeLetterCode.DEU, "276","Federal Republic of Germany"), + new("Ghana", CountryCode.TwoLetterCode.GH, CountryCode.ThreeLetterCode.GHA, "288","Republic of Ghana"), + new("Gibraltar", CountryCode.TwoLetterCode.GI, CountryCode.ThreeLetterCode.GIB, "292", string.Empty), + new("Greece", CountryCode.TwoLetterCode.GR, CountryCode.ThreeLetterCode.GRC, "300","Hellenic Republic"), + new("Greenland", CountryCode.TwoLetterCode.GL, CountryCode.ThreeLetterCode.GRL, "304", string.Empty), + new("Grenada", CountryCode.TwoLetterCode.GD, CountryCode.ThreeLetterCode.GRD, "308", string.Empty), + new("Guadeloupe", CountryCode.TwoLetterCode.GP, CountryCode.ThreeLetterCode.GLP, "312", string.Empty), + new("Guam", CountryCode.TwoLetterCode.GU, CountryCode.ThreeLetterCode.GUM, "316", string.Empty), + new("Guatemala", CountryCode.TwoLetterCode.GT, CountryCode.ThreeLetterCode.GTM, "320","Republic of Guatemala"), + new("Guernsey", CountryCode.TwoLetterCode.GG, CountryCode.ThreeLetterCode.GGY, "831", string.Empty), + new("Guinea", CountryCode.TwoLetterCode.GN, CountryCode.ThreeLetterCode.GIN, "324","Republic of Guinea"), + new("Guinea-Bissau", CountryCode.TwoLetterCode.GW, CountryCode.ThreeLetterCode.GNB, "624","Republic of Guinea-Bissau"), + new("Guyana", CountryCode.TwoLetterCode.GY, CountryCode.ThreeLetterCode.GUY, "328","Republic of Guyana"), + new("Haiti", CountryCode.TwoLetterCode.HT, CountryCode.ThreeLetterCode.HTI, "332","Republic of Haiti"), + new("Heard Island and McDonald Islands", CountryCode.TwoLetterCode.HM, CountryCode.ThreeLetterCode.HMD, "334", string.Empty), + new("Holy See (Vatican City State)", CountryCode.TwoLetterCode.VA, CountryCode.ThreeLetterCode.VAT, "336", string.Empty), + new("Honduras", CountryCode.TwoLetterCode.HN, CountryCode.ThreeLetterCode.HND, "340","Republic of Honduras"), + new("Hong Kong", CountryCode.TwoLetterCode.HK, CountryCode.ThreeLetterCode.HKG, "344","Hong Kong Special Administrative Region of China"), + new("Hungary", CountryCode.TwoLetterCode.HU, CountryCode.ThreeLetterCode.HUN, "348","Hungary"), + new("Iceland", CountryCode.TwoLetterCode.IS, CountryCode.ThreeLetterCode.ISL, "352","Republic of Iceland"), + new("India", CountryCode.TwoLetterCode.IN, CountryCode.ThreeLetterCode.IND, "356","Republic of India"), + new("Indonesia", CountryCode.TwoLetterCode.ID, CountryCode.ThreeLetterCode.IDN, "360","Republic of Indonesia"), + new("Iran, Islamic Republic of", CountryCode.TwoLetterCode.IR, CountryCode.ThreeLetterCode.IRN, "364","Islamic Republic of Iran"), + new("Iraq", CountryCode.TwoLetterCode.IQ, CountryCode.ThreeLetterCode.IRQ, "368","Republic of Iraq"), + new("Ireland", CountryCode.TwoLetterCode.IE, CountryCode.ThreeLetterCode.IRL, "372", string.Empty), + new("Isle of Man", CountryCode.TwoLetterCode.IM, CountryCode.ThreeLetterCode.IMN, "833", string.Empty), + new("Israel", CountryCode.TwoLetterCode.IL, CountryCode.ThreeLetterCode.ISR, "376","State of Israel"), + new("Italy", CountryCode.TwoLetterCode.IT, CountryCode.ThreeLetterCode.ITA, "380","Italian Republic"), + new("Jamaica", CountryCode.TwoLetterCode.JM, CountryCode.ThreeLetterCode.JAM, "388", string.Empty), + new("Japan", CountryCode.TwoLetterCode.JP, CountryCode.ThreeLetterCode.JPN, "392", string.Empty), + new("Jersey", CountryCode.TwoLetterCode.JE, CountryCode.ThreeLetterCode.JEY, "832", string.Empty), + new("Jordan", CountryCode.TwoLetterCode.JO, CountryCode.ThreeLetterCode.JOR, "400","Hashemite Kingdom of Jordan"), + new("Kazakhstan", CountryCode.TwoLetterCode.KZ, CountryCode.ThreeLetterCode.KAZ, "398","Republic of Kazakhstan"), + new("Kenya", CountryCode.TwoLetterCode.KE, CountryCode.ThreeLetterCode.KEN, "404","Republic of Kenya"), + new("Kiribati", CountryCode.TwoLetterCode.KI, CountryCode.ThreeLetterCode.KIR, "296","Republic of Kiribati"), + new("Korea, Democratic People's Republic of", CountryCode.TwoLetterCode.KP, CountryCode.ThreeLetterCode.PRK, "408","Democratic People's Republic of Korea"), + new("Korea, Republic of", CountryCode.TwoLetterCode.KR, CountryCode.ThreeLetterCode.KOR, "410", string.Empty), + new("Kuwait", CountryCode.TwoLetterCode.KW, CountryCode.ThreeLetterCode.KWT, "414","State of Kuwait"), + new("Kyrgyzstan", CountryCode.TwoLetterCode.KG, CountryCode.ThreeLetterCode.KGZ, "417","Kyrgyz Republic"), + new("Lao People's Democratic Republic", CountryCode.TwoLetterCode.LA, CountryCode.ThreeLetterCode.LAO, "418", string.Empty), + new("Latvia", CountryCode.TwoLetterCode.LV, CountryCode.ThreeLetterCode.LVA, "428","Republic of Latvia"), + new("Lebanon", CountryCode.TwoLetterCode.LB, CountryCode.ThreeLetterCode.LBN, "422","Lebanese Republic"), + new("Lesotho", CountryCode.TwoLetterCode.LS, CountryCode.ThreeLetterCode.LSO, "426","Kingdom of Lesotho"), + new("Liberia", CountryCode.TwoLetterCode.LR, CountryCode.ThreeLetterCode.LBR, "430","Republic of Liberia"), + new("Libya", CountryCode.TwoLetterCode.LY, CountryCode.ThreeLetterCode.LBY, "434","Libya"), + new("Liechtenstein", CountryCode.TwoLetterCode.LI, CountryCode.ThreeLetterCode.LIE, "438","Principality of Liechtenstein"), + new("Lithuania", CountryCode.TwoLetterCode.LT, CountryCode.ThreeLetterCode.LTU, "440","Republic of Lithuania"), + new("Luxembourg", CountryCode.TwoLetterCode.LU, CountryCode.ThreeLetterCode.LUX, "442","Grand Duchy of Luxembourg"), + new("Macao", CountryCode.TwoLetterCode.MO, CountryCode.ThreeLetterCode.MAC, "446","Macao Special Administrative Region of China"), + new("Madagascar", CountryCode.TwoLetterCode.MG, CountryCode.ThreeLetterCode.MDG, "450","Republic of Madagascar"), + new("Malawi", CountryCode.TwoLetterCode.MW, CountryCode.ThreeLetterCode.MWI, "454","Republic of Malawi"), + new("Malaysia", CountryCode.TwoLetterCode.MY, CountryCode.ThreeLetterCode.MYS, "458", string.Empty), + new("Maldives", CountryCode.TwoLetterCode.MV, CountryCode.ThreeLetterCode.MDV, "462","Republic of Maldives"), + new("Mali", CountryCode.TwoLetterCode.ML, CountryCode.ThreeLetterCode.MLI, "466","Republic of Mali"), + new("Malta", CountryCode.TwoLetterCode.MT, CountryCode.ThreeLetterCode.MLT, "470","Republic of Malta"), + new("Marshall Islands", CountryCode.TwoLetterCode.MH, CountryCode.ThreeLetterCode.MHL, "584","Republic of the Marshall Islands"), + new("Martinique", CountryCode.TwoLetterCode.MQ, CountryCode.ThreeLetterCode.MTQ, "474", string.Empty), + new("Mauritania", CountryCode.TwoLetterCode.MR, CountryCode.ThreeLetterCode.MRT, "478","Islamic Republic of Mauritania"), + new("Mauritius", CountryCode.TwoLetterCode.MU, CountryCode.ThreeLetterCode.MUS, "480","Republic of Mauritius"), + new("Mayotte", CountryCode.TwoLetterCode.YT, CountryCode.ThreeLetterCode.MYT, "175", string.Empty), + new("Mexico", CountryCode.TwoLetterCode.MX, CountryCode.ThreeLetterCode.MEX, "484","United Mexican States"), + new("Micronesia, Federated States of", CountryCode.TwoLetterCode.FM, CountryCode.ThreeLetterCode.FSM, "583","Federated States of Micronesia"), + new("Moldova, Republic of", CountryCode.TwoLetterCode.MD, CountryCode.ThreeLetterCode.MDA, "498","Republic of Moldova"), + new("Monaco", CountryCode.TwoLetterCode.MC, CountryCode.ThreeLetterCode.MCO, "492","Principality of Monaco"), + new("Mongolia", CountryCode.TwoLetterCode.MN, CountryCode.ThreeLetterCode.MNG, "496", string.Empty), + new("Montenegro", CountryCode.TwoLetterCode.ME, CountryCode.ThreeLetterCode.MNE, "499","Montenegro"), + new("Montserrat", CountryCode.TwoLetterCode.MS, CountryCode.ThreeLetterCode.MSR, "500", string.Empty), + new("Morocco", CountryCode.TwoLetterCode.MA, CountryCode.ThreeLetterCode.MAR, "504","Kingdom of Morocco"), + new("Mozambique", CountryCode.TwoLetterCode.MZ, CountryCode.ThreeLetterCode.MOZ, "508","Republic of Mozambique"), + new("Myanmar", CountryCode.TwoLetterCode.MM, CountryCode.ThreeLetterCode.MMR, "104","Republic of Myanmar"), + new("Namibia", CountryCode.TwoLetterCode.NA, CountryCode.ThreeLetterCode.NAM, "516","Republic of Namibia"), + new("Nauru", CountryCode.TwoLetterCode.NR, CountryCode.ThreeLetterCode.NRU, "520","Republic of Nauru"), + new("Nepal", CountryCode.TwoLetterCode.NP, CountryCode.ThreeLetterCode.NPL, "524","Federal Democratic Republic of Nepal"), + new("Netherlands", CountryCode.TwoLetterCode.NL, CountryCode.ThreeLetterCode.NLD, "528","Kingdom of the Netherlands"), + new("New Caledonia", CountryCode.TwoLetterCode.NC, CountryCode.ThreeLetterCode.NCL, "540", string.Empty), + new("New Zealand", CountryCode.TwoLetterCode.NZ, CountryCode.ThreeLetterCode.NZL, "554", string.Empty), + new("Nicaragua", CountryCode.TwoLetterCode.NI, CountryCode.ThreeLetterCode.NIC, "558","Republic of Nicaragua"), + new("Niger", CountryCode.TwoLetterCode.NE, CountryCode.ThreeLetterCode.NER, "562","Republic of the Niger"), + new("Nigeria", CountryCode.TwoLetterCode.NG, CountryCode.ThreeLetterCode.NGA, "566","Federal Republic of Nigeria"), + new("Niue", CountryCode.TwoLetterCode.NU, CountryCode.ThreeLetterCode.NIU, "570","Niue"), + new("Norfolk Island", CountryCode.TwoLetterCode.NF, CountryCode.ThreeLetterCode.NFK, "574", string.Empty), + new("North Macedonia", CountryCode.TwoLetterCode.MK, CountryCode.ThreeLetterCode.MKD, "807","Republic of North Macedonia"), + new("Northern Mariana Islands", CountryCode.TwoLetterCode.MP, CountryCode.ThreeLetterCode.MNP, "580","Commonwealth of the Northern Mariana Islands"), + new("Norway", CountryCode.TwoLetterCode.NO, CountryCode.ThreeLetterCode.NOR, "578","Kingdom of Norway"), + new("Oman", CountryCode.TwoLetterCode.OM, CountryCode.ThreeLetterCode.OMN, "512","Sultanate of Oman"), + new("Pakistan", CountryCode.TwoLetterCode.PK, CountryCode.ThreeLetterCode.PAK, "586","Islamic Republic of Pakistan"), + new("Palau", CountryCode.TwoLetterCode.PW, CountryCode.ThreeLetterCode.PLW, "585","Republic of Palau"), + new("Palestine, State of", CountryCode.TwoLetterCode.PS, CountryCode.ThreeLetterCode.PSE, "275","the State of Palestine"), + new("Panama", CountryCode.TwoLetterCode.PA, CountryCode.ThreeLetterCode.PAN, "591","Republic of Panama"), + new("Papua New Guinea", CountryCode.TwoLetterCode.PG, CountryCode.ThreeLetterCode.PNG, "598","Independent State of Papua New Guinea"), + new("Paraguay", CountryCode.TwoLetterCode.PY, CountryCode.ThreeLetterCode.PRY, "600","Republic of Paraguay"), + new("Peru", CountryCode.TwoLetterCode.PE, CountryCode.ThreeLetterCode.PER, "604","Republic of Peru"), + new("Philippines", CountryCode.TwoLetterCode.PH, CountryCode.ThreeLetterCode.PHL, "608","Republic of the Philippines"), + new("Pitcairn", CountryCode.TwoLetterCode.PN, CountryCode.ThreeLetterCode.PCN, "612", string.Empty), + new("Poland", CountryCode.TwoLetterCode.PL, CountryCode.ThreeLetterCode.POL, "616","Republic of Poland"), + new("Portugal", CountryCode.TwoLetterCode.PT, CountryCode.ThreeLetterCode.PRT, "620","Portuguese Republic"), + new("Puerto Rico", CountryCode.TwoLetterCode.PR, CountryCode.ThreeLetterCode.PRI, "630", string.Empty), + new("Qatar", CountryCode.TwoLetterCode.QA, CountryCode.ThreeLetterCode.QAT, "634","State of Qatar"), + new("Rรฉunion", CountryCode.TwoLetterCode.RE, CountryCode.ThreeLetterCode.REU, "638", string.Empty), + new("Romania", CountryCode.TwoLetterCode.RO, CountryCode.ThreeLetterCode.ROU, "642", string.Empty), + new("Russian Federation", CountryCode.TwoLetterCode.RU, CountryCode.ThreeLetterCode.RUS, "643", string.Empty), + new("Rwanda", CountryCode.TwoLetterCode.RW, CountryCode.ThreeLetterCode.RWA, "646","Rwandese Republic"), + new("Saint Barthรฉlemy", CountryCode.TwoLetterCode.BL, CountryCode.ThreeLetterCode.BLM, "652", string.Empty), + new("Saint Helena, Ascension and Tristan da Cunha", CountryCode.TwoLetterCode.SH, CountryCode.ThreeLetterCode.SHN, "654", string.Empty), + new("Saint Kitts and Nevis", CountryCode.TwoLetterCode.KN, CountryCode.ThreeLetterCode.KNA, "659", string.Empty), + new("Saint Lucia", CountryCode.TwoLetterCode.LC, CountryCode.ThreeLetterCode.LCA, "662", string.Empty), + new("Saint Martin (French part)", CountryCode.TwoLetterCode.MF, CountryCode.ThreeLetterCode.MAF, "663", string.Empty), + new("Saint Pierre and Miquelon", CountryCode.TwoLetterCode.PM, CountryCode.ThreeLetterCode.SPM, "666", string.Empty), + new("Saint Vincent and the Grenadines", CountryCode.TwoLetterCode.VC, CountryCode.ThreeLetterCode.VCT, "670", string.Empty), + new("Samoa", CountryCode.TwoLetterCode.WS, CountryCode.ThreeLetterCode.WSM, "882","Independent State of Samoa"), + new("San Marino", CountryCode.TwoLetterCode.SM, CountryCode.ThreeLetterCode.SMR, "674","Republic of San Marino"), + new("Sao Tome and Principe", CountryCode.TwoLetterCode.ST, CountryCode.ThreeLetterCode.STP, "678","Democratic Republic of Sao Tome and Principe"), + new("Saudi Arabia", CountryCode.TwoLetterCode.SA, CountryCode.ThreeLetterCode.SAU, "682","Kingdom of Saudi Arabia"), + new("Senegal", CountryCode.TwoLetterCode.SN, CountryCode.ThreeLetterCode.SEN, "686","Republic of Senegal"), + new("Serbia", CountryCode.TwoLetterCode.RS, CountryCode.ThreeLetterCode.SRB, "688","Republic of Serbia"), + new("Seychelles", CountryCode.TwoLetterCode.SC, CountryCode.ThreeLetterCode.SYC, "690","Republic of Seychelles"), + new("Sierra Leone", CountryCode.TwoLetterCode.SL, CountryCode.ThreeLetterCode.SLE, "694","Republic of Sierra Leone"), + new("Singapore", CountryCode.TwoLetterCode.SG, CountryCode.ThreeLetterCode.SGP, "702","Republic of Singapore"), + new("Sint Maarten (Dutch part)", CountryCode.TwoLetterCode.SX, CountryCode.ThreeLetterCode.SXM, "534","Sint Maarten (Dutch part)"), + new("Slovakia", CountryCode.TwoLetterCode.SK, CountryCode.ThreeLetterCode.SVK, "703","Slovak Republic"), + new("Slovenia", CountryCode.TwoLetterCode.SI, CountryCode.ThreeLetterCode.SVN, "705","Republic of Slovenia"), + new("Solomon Islands", CountryCode.TwoLetterCode.SB, CountryCode.ThreeLetterCode.SLB, "090", string.Empty), + new("Somalia", CountryCode.TwoLetterCode.SO, CountryCode.ThreeLetterCode.SOM, "706","Federal Republic of Somalia"), + new("South Africa", CountryCode.TwoLetterCode.ZA, CountryCode.ThreeLetterCode.ZAF, "710","Republic of South Africa"), + new("South Georgia and the South Sandwich Islands", CountryCode.TwoLetterCode.GS, CountryCode.ThreeLetterCode.SGS, "239", string.Empty), + new("South Sudan", CountryCode.TwoLetterCode.SS, CountryCode.ThreeLetterCode.SSD, "728","Republic of South Sudan"), + new("Spain", CountryCode.TwoLetterCode.ES, CountryCode.ThreeLetterCode.ESP, "724","Kingdom of Spain"), + new("Sri Lanka", CountryCode.TwoLetterCode.LK, CountryCode.ThreeLetterCode.LKA, "144","Democratic Socialist Republic of Sri Lanka"), + new("Sudan", CountryCode.TwoLetterCode.SD, CountryCode.ThreeLetterCode.SDN, "729","Republic of the Sudan"), + new("Suriname", CountryCode.TwoLetterCode.SR, CountryCode.ThreeLetterCode.SUR, "740","Republic of Suriname"), + new("Svalbard and Jan Mayen", CountryCode.TwoLetterCode.SJ, CountryCode.ThreeLetterCode.SJM, "744", string.Empty), + new("Sweden", CountryCode.TwoLetterCode.SE, CountryCode.ThreeLetterCode.SWE, "752","Kingdom of Sweden"), + new("Switzerland", CountryCode.TwoLetterCode.CH, CountryCode.ThreeLetterCode.CHE, "756","Swiss Confederation"), + new("Syrian Arab Republic", CountryCode.TwoLetterCode.SY, CountryCode.ThreeLetterCode.SYR, "760", string.Empty), + new("Taiwan, Province of China", CountryCode.TwoLetterCode.TW, CountryCode.ThreeLetterCode.TWN, "158","Taiwan, Province of China"), + new("Tajikistan", CountryCode.TwoLetterCode.TJ, CountryCode.ThreeLetterCode.TJK, "762","Republic of Tajikistan"), + new("Tanzania, United Republic of", CountryCode.TwoLetterCode.TZ, CountryCode.ThreeLetterCode.TZA, "834","United Republic of Tanzania"), + new("Thailand", CountryCode.TwoLetterCode.TH, CountryCode.ThreeLetterCode.THA, "764","Kingdom of Thailand"), + new("Timor-Leste", CountryCode.TwoLetterCode.TL, CountryCode.ThreeLetterCode.TLS, "626","Democratic Republic of Timor-Leste"), + new("Togo", CountryCode.TwoLetterCode.TG, CountryCode.ThreeLetterCode.TGO, "768","Togolese Republic"), + new("Tokelau", CountryCode.TwoLetterCode.TK, CountryCode.ThreeLetterCode.TKL, "772", string.Empty), + new("Tonga", CountryCode.TwoLetterCode.TO, CountryCode.ThreeLetterCode.TON, "776","Kingdom of Tonga"), + new("Trinidad and Tobago", CountryCode.TwoLetterCode.TT, CountryCode.ThreeLetterCode.TTO, "780","Republic of Trinidad and Tobago"), + new("Tunisia", CountryCode.TwoLetterCode.TN, CountryCode.ThreeLetterCode.TUN, "788","Republic of Tunisia"), + new("Tรผrkiye", CountryCode.TwoLetterCode.TR, CountryCode.ThreeLetterCode.TUR, "792","Republic of Tรผrkiye"), + new("Turkmenistan", CountryCode.TwoLetterCode.TM, CountryCode.ThreeLetterCode.TKM, "795", string.Empty), + new("Turks and Caicos Islands", CountryCode.TwoLetterCode.TC, CountryCode.ThreeLetterCode.TCA, "796", string.Empty), + new("Tuvalu", CountryCode.TwoLetterCode.TV, CountryCode.ThreeLetterCode.TUV, "798", string.Empty), + new("Uganda", CountryCode.TwoLetterCode.UG, CountryCode.ThreeLetterCode.UGA, "800","Republic of Uganda"), + new("Ukraine", CountryCode.TwoLetterCode.UA, CountryCode.ThreeLetterCode.UKR, "804", string.Empty), + new("United Arab Emirates", CountryCode.TwoLetterCode.AE, CountryCode.ThreeLetterCode.ARE, "784", string.Empty), + new("United Kingdom", CountryCode.TwoLetterCode.GB, CountryCode.ThreeLetterCode.GBR, "826","United Kingdom of Great Britain and Northern Ireland"), + new("United States", CountryCode.TwoLetterCode.US, CountryCode.ThreeLetterCode.USA, "840","United States of America"), + new("United States Minor Outlying Islands", CountryCode.TwoLetterCode.UM, CountryCode.ThreeLetterCode.UMI, "581", string.Empty), + new("Uruguay", CountryCode.TwoLetterCode.UY, CountryCode.ThreeLetterCode.URY, "858","Eastern Republic of Uruguay"), + new("Uzbekistan", CountryCode.TwoLetterCode.UZ, CountryCode.ThreeLetterCode.UZB, "860","Republic of Uzbekistan"), + new("Vanuatu", CountryCode.TwoLetterCode.VU, CountryCode.ThreeLetterCode.VUT, "548","Republic of Vanuatu"), + new("Venezuela, Bolivarian Republic of", CountryCode.TwoLetterCode.VE, CountryCode.ThreeLetterCode.VEN, "862","Bolivarian Republic of Venezuela"), + new("Viet Nam", CountryCode.TwoLetterCode.VN, CountryCode.ThreeLetterCode.VNM, "704","Socialist Republic of Viet Nam"), + new("Virgin Islands, British", CountryCode.TwoLetterCode.VG, CountryCode.ThreeLetterCode.VGB, "092","British Virgin Islands"), + new("Virgin Islands, U.S.", CountryCode.TwoLetterCode.VI, CountryCode.ThreeLetterCode.VIR, "850","Virgin Islands of the United States"), + new("Wallis and Futuna", CountryCode.TwoLetterCode.WF, CountryCode.ThreeLetterCode.WLF, "876", string.Empty), + new("Western Sahara", CountryCode.TwoLetterCode.EH, CountryCode.ThreeLetterCode.ESH, "732", string.Empty), + new("Yemen", CountryCode.TwoLetterCode.YE, CountryCode.ThreeLetterCode.YEM, "887","Republic of Yemen"), + new("Zambia", CountryCode.TwoLetterCode.ZM, CountryCode.ThreeLetterCode.ZMB, "894","Republic of Zambia"), + new("Zimbabwe", CountryCode.TwoLetterCode.ZW, CountryCode.ThreeLetterCode.ZWE, "716","Republic of Zimbabwe"), + }); + } +} diff --git a/src/packages/HawkN.Iso.Countries/Models/Country.cs b/src/packages/HawkN.Iso.Countries/Models/Country.cs new file mode 100644 index 0000000..9818ddb --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/Models/Country.cs @@ -0,0 +1,16 @@ +๏ปฟnamespace HawkN.Iso.Countries.Models; + +/// +/// +/// +/// Country name (English) +/// ISO 3166-1 Alpha-2 (e.g., "AT") +/// ISO 3166-1 Alpha-3 (e.g., "AUT") +/// ISO 3166-1 Numeric (e.g., "840") +/// ISO 3166-1 Official name (e.g., "Republic of Austria") +public sealed record Country( + string Name, + CountryCode.TwoLetterCode TwoLetterCode, + CountryCode.ThreeLetterCode ThreeLetterCode, + string NumericCode, + string? OfficialName); diff --git a/src/packages/HawkN.Iso.Countries/Models/ValidationResult.cs b/src/packages/HawkN.Iso.Countries/Models/ValidationResult.cs new file mode 100644 index 0000000..f6f5f07 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/Models/ValidationResult.cs @@ -0,0 +1,59 @@ +๏ปฟnamespace HawkN.Iso.Countries.Models; + +/// +/// Represents the result of a country or code validation operation. +/// +public sealed class ValidationResult +{ + private ValidationResult() { } + + /// + /// Creates a successful validation result. + /// + public static ValidationResult Success() => + new() + { + Reason = null, + ValidationType = ValidationType.None, + IsValid = true + }; + + /// + /// Creates a failed validation result with a reason and validation type. + /// + /// The reason why the validation failed. + /// The type of validation that failed. + public static ValidationResult Failure(string reason, ValidationType type = ValidationType.None) => + new() + { + Reason = reason, + ValidationType = type, + IsValid = false + }; + + /// + /// Indicates whether the validation succeeded. + /// + public bool IsValid { get; init; } + + /// + /// Provides the reason why validation failed, if applicable. + /// + public string? Reason { get; init; } + + /// + /// The type of validation performed. + /// + public ValidationType ValidationType { get; init; } +} + +/// +/// Defines the category of the validated data. +/// +public enum ValidationType +{ + /// No validation type specified. + None = 0, + /// Validation performed on a country code (Alpha-2, Alpha-3, or Numeric). + Code = 1 +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/Package/Content/HawkN.Iso.Countries.ico.png b/src/packages/HawkN.Iso.Countries/Package/Content/HawkN.Iso.Countries.ico.png new file mode 100644 index 0000000000000000000000000000000000000000..93eaf0b951c971e3963a954aaeedbb532e6570d5 GIT binary patch literal 57886 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 #F;@f;AGt8{jn-bam0Vkp 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[+M2D**VTL&~))PLgRiUSwT7sm&gW6{O^DLAAp&HfG`hUoB#j- M07*qoM6N<$f;(L0VgLXD literal 0 HcmV?d00001 diff --git a/src/packages/HawkN.Iso.Countries/Package/Content/README.md b/src/packages/HawkN.Iso.Countries/Package/Content/README.md new file mode 100644 index 0000000..ec31983 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/Package/Content/README.md @@ -0,0 +1,174 @@ +# HawkN.Iso.Countries + +**HawkN.Iso.Countries** provides ISO 3166-1 country codes (Alpha-2, Alpha-3), official names, and validation services. + +## Features +- **Comprehensive Country List** โ€“ Provides an up-to-date set of country data according to the `ISO 3166-1` standard. +- **Strongly Typed Codes** โ€“ `TwoLetterCode` and `ThreeLetterCode` enums are generated at compile-time. +- **Multiple Search Methods** โ€“ Lookup by Alpha-2, Alpha-3, Numeric code, or Official Name. +- **Advanced Validation** โ€“ Built-in `ValidationResult` providing detailed feedback for code and name verification. +- **Ultra-Fast Performance** โ€“ O(1) lookups via pre-indexed static dictionaries. +- **Lightweight & Dependency-Free** โ€“ Compatible with .NET 8 and above. + +--- + +## Getting Started + +### Install via NuGet + +```bash +dotnet add package HawkN.Iso.Countries +```` + +### Required Namespaces +```csharp +using HawkN.Iso.Countries; +using HawkN.Iso.Countries.Abstractions; +using HawkN.Iso.Countries.Models; +using HawkN.Iso.Countries.Extensions; +``` +--- + +### Usage Example + +#### Registration +Register the service in your DI container: +```csharp +using var host = Host.CreateDefaultBuilder(args) + .ConfigureServices(services => + { + services.AddCountryCodeService(); + }) + .Build(); +``` +#### Retrieval & Search +The service provides O(1) lookups via pre-indexed dictionaries and efficient partial searching. +```csharp +var service = scope.ServiceProvider.GetRequiredService(); + +// Get all countries sorted by name +var countries = service.GetAll(); + +// Lookup by string (Supports Alpha-2, Alpha-3, or Numeric) +var germany = service.FindByCode("DE"); +var austria = service.FindByCode("040"); + +// Lookup by Name +var france = service.FindByName("France"); + +// Strongly typed lookup +var uk = service.Get(CountryCode.TwoLetterCode.GB); + +// Strongly typed lookup +var uk = service.Get(CountryCode.TwoLetterCode.GB); + +// Scenario: User types "Republic" in a search box +var searchResults = service.SearchByName("Republic"); + +foreach (var country in searchResults) +{ + // Will return: + // 1. Republic of Korea + // 2. Czech Republic + // 3. Lao People's Democratic Republic... + Console.WriteLine($"{country.Name} ({country.OfficialName})"); +} + +// Pro Tip: Use for suggestion lists +var suggestions = service.SearchByName("United") + .Select(c => c.Name) + .Take(5); +// Returns: ["United Arab Emirates", "United Kingdom", "United States", ...] +``` + +#### Validation +Check if a code or name is valid and retrieve the model simultaneously: +```csharp +// Validate by Code +var result = service.ValidateByCode("US", out var country); +if (result.IsValid) +{ + Console.WriteLine($"Found: {country.Name}"); +} + +// Validate by Name +var nameResult = service.ValidateByName("Unknown Land", out _); +if (!nameResult.IsValid) +{ + Console.WriteLine($"Error: {nameResult.Reason}"); +} + +``` +#### Fluent String Extensions +```csharp +string input = "FRA"; + +// Direct conversion +var country = input.ToCountry(service); + +// Quick check +if ("US".IsCountryCode(service)) +{ + // ... +} + +// Quick validation +var validationResult = "US".ValidateAsCountryCode(countryCodeService, out var _); +if (validationResult.IsValid) +{ + // ... +} +``` + +#### Emoji Flags Support +The library provides an easy way to display country flags using standard Unicode Emoji. This works without any external image assets and is perfect for lightweight UI components. + +```csharp +var country = service.Get(CountryCode.TwoLetterCode.FI); + +// Get the emoji flag using the extension method +string flag = country.GetEmojiFlag(); + +Console.WriteLine($"{flag} {country.Name}"); +// Output: ๐Ÿ‡ซ๐Ÿ‡ฎ Finland +``` + +--- + +### Supported countries +Supported 249 countries. See the country list with the [link](https://github.com/HawkN113/HawkN.Iso.Countries?tab=readme-ov-file#supported-countries) +Last updated at `01.12.2025`. + +--- + +### Generated Types +- `CountryCode.TwoLetterCode` โ€“ Enum for Alpha-2 codes (e.g., `US`, `GB`). +- `CountryCode.ThreeLetterCode` โ€“ Enum for Alpha-3 codes (e.g., `USA`, `GBR`). +- `Country` โ€“ Model containing `Name`, enums, string codes, and `NumericCode`. + +--- + +## License + +### Code License +The source code of **HawkN.Iso.Countries** is licensed under the [MIT License](LICENSE). +You are free to use, modify, and distribute it in both open-source and commercial projects. + +### Data License +The country data used in this library is sourced from the [Debian iso-codes project](https://salsa.debian.org/iso-codes-team/iso-codes). +The data itself is licensed under **GNU LGPL v2.1**. See [DATA-LICENSE.txt](DATA-LICENSE.txt) for more details. +--- + +### Troubleshooting: Emoji Display +If you see `??` instead of flags in your console: +1. Ensure your console output encoding is set to UTF-8: + `Console.OutputEncoding = System.Text.Encoding.UTF8;` +2. Use a modern terminal like **Windows Terminal** or **VS Code Terminal**. +3. Use a font that supports Emojis (e.g., *Segoe UI Emoji* or *Cascadia Code*). + +--- + +### References +- [ISO 3166 Standard](https://www.iso.org/iso-3166-country-codes.html) +- [Debian Iso-Codes Team](https://salsa.debian.org/iso-codes-team/iso-codes/-/tree/main) +- [GitHub Repository](https://github.com/HawkN113/HawkN.Iso.Countries) diff --git a/src/packages/HawkN.Iso.Countries/Services/CountryCodeService.cs b/src/packages/HawkN.Iso.Countries/Services/CountryCodeService.cs new file mode 100644 index 0000000..8af902d --- /dev/null +++ b/src/packages/HawkN.Iso.Countries/Services/CountryCodeService.cs @@ -0,0 +1,88 @@ +๏ปฟusing System.Diagnostics.CodeAnalysis; +using HawkN.Iso.Countries.Abstractions; +using HawkN.Iso.Countries.Models; +namespace HawkN.Iso.Countries.Services; + +internal sealed class CountryCodeService : ICountryCodeService +{ + private readonly Dictionary _byCode = new(StringComparer.OrdinalIgnoreCase); + private readonly Dictionary _byAlpha2 = []; + private readonly Dictionary _byAlpha3 = []; + private readonly Dictionary _byNumericInt = []; + + private readonly Dictionary _byName = new(StringComparer.OrdinalIgnoreCase); + + private readonly IReadOnlyList _allCountries; + + public CountryCodeService() + { + _allCountries = LocalCountryDatabase.ActualCountries + .OrderBy(c => c.Name) + .ToList(); + + foreach (var country in _allCountries) + { + _byCode[country.TwoLetterCode.ToString()] = country; + _byCode[country.ThreeLetterCode.ToString()] = country; + _byCode[country.NumericCode] = country; + + if (int.TryParse(country.NumericCode, out var nCode)) + _byNumericInt[nCode] = country; + + _byAlpha2[country.TwoLetterCode] = country; + _byAlpha3[country.ThreeLetterCode] = country; + + IndexName(country.Name, country); + IndexName(country.OfficialName, country); + } + } + + private void IndexName(string? name, HawkN.Iso.Countries.Models.Country country) + { + if (string.IsNullOrWhiteSpace(name)) return; + _byName.TryAdd(name!, country); + } + + public HawkN.Iso.Countries.Models.Country? FindByCode(string code) => + _byCode.GetValueOrDefault(code); + + public HawkN.Iso.Countries.Models.Country? FindByName(string name) => + _byName.GetValueOrDefault(name); + + public IEnumerable SearchByName(string query) + { + if (string.IsNullOrWhiteSpace(query)) return []; + + var term = query.Trim(); + const StringComparison comparison = StringComparison.OrdinalIgnoreCase; + + return _allCountries + .Where(c => (c.Name?.Contains(term, comparison) ?? false) || + (c.OfficialName?.Contains(term, comparison) ?? false)) + .OrderBy(c => c.Name.StartsWith(term, comparison) ? 0 : 1) + .ThenBy(c => c.Name); + } + + public HawkN.Iso.Countries.Models.Country Get(CountryCode.TwoLetterCode code) => _byAlpha2[code]; + + public HawkN.Iso.Countries.Models.Country Get(CountryCode.ThreeLetterCode code) => _byAlpha3[code]; + + public HawkN.Iso.Countries.Models.Country? Get(int numericCode) => + _byNumericInt.GetValueOrDefault(numericCode); + + public bool TryGet(string code, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country) => + _byCode.TryGetValue(code, out country); + + public ValidationResult ValidateByCode(string code, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country) + { + return TryGet(code, out country) ? ValidationResult.Success() : ValidationResult.Failure($"Country code '{code}' is not a valid ISO 3166-1 code."); + } + + public ValidationResult ValidateByName(string name, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country) + { + country = FindByName(name); + return country is not null ? ValidationResult.Success() : ValidationResult.Failure($"Country name '{name}' was not found in the ISO 3166-1 database."); + } + + public IReadOnlyList GetAll() => _allCountries; +} \ No newline at end of file diff --git a/src/samples/Country.Reference.Iso3166.Console/Program.cs b/src/samples/Country.Reference.Iso3166.Console/Program.cs deleted file mode 100644 index e5dff12..0000000 --- a/src/samples/Country.Reference.Iso3166.Console/Program.cs +++ /dev/null @@ -1,3 +0,0 @@ -๏ปฟ// See https://aka.ms/new-console-template for more information - -Console.WriteLine("Hello, World!"); \ No newline at end of file diff --git a/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.http b/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.http deleted file mode 100644 index dc4f98f..0000000 --- a/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.http +++ /dev/null @@ -1,6 +0,0 @@ -@Country.Reference.Iso3166.WebApi_HostAddress = http://localhost:5252 - -GET {{Country.Reference.Iso3166.WebApi_HostAddress}}/weatherforecast/ -Accept: application/json - -### diff --git a/src/samples/Country.Reference.Iso3166.WebApi/Program.cs b/src/samples/Country.Reference.Iso3166.WebApi/Program.cs deleted file mode 100644 index 161f695..0000000 --- a/src/samples/Country.Reference.Iso3166.WebApi/Program.cs +++ /dev/null @@ -1,44 +0,0 @@ -var builder = WebApplication.CreateBuilder(args); - -// Add services to the container. -// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle -builder.Services.AddEndpointsApiExplorer(); -builder.Services.AddSwaggerGen(); - -var app = builder.Build(); - -// Configure the HTTP request pipeline. -if (app.Environment.IsDevelopment()) -{ - app.UseSwagger(); - app.UseSwaggerUI(); -} - -app.UseHttpsRedirection(); - -var summaries = new[] -{ - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" -}; - -app.MapGet("/weatherforecast", () => - { - var forecast = Enumerable.Range(1, 5).Select(index => - new WeatherForecast - ( - DateOnly.FromDateTime(DateTime.Now.AddDays(index)), - Random.Shared.Next(-20, 55), - summaries[Random.Shared.Next(summaries.Length)] - )) - .ToArray(); - return forecast; - }) - .WithName("GetWeatherForecast") - .WithOpenApi(); - -app.Run(); - -record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary) -{ - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); -} \ No newline at end of file diff --git a/src/samples/Country.Reference.Iso3166.Console/Country.Reference.Iso3166.Console.csproj b/src/samples/HawkN.Iso.Countries.Samples.Console/HawkN.Iso.Countries.Samples.Console.csproj similarity index 87% rename from src/samples/Country.Reference.Iso3166.Console/Country.Reference.Iso3166.Console.csproj rename to src/samples/HawkN.Iso.Countries.Samples.Console/HawkN.Iso.Countries.Samples.Console.csproj index 2f140f0..d9e2b0d 100644 --- a/src/samples/Country.Reference.Iso3166.Console/Country.Reference.Iso3166.Console.csproj +++ b/src/samples/HawkN.Iso.Countries.Samples.Console/HawkN.Iso.Countries.Samples.Console.csproj @@ -1,5 +1,4 @@ ๏ปฟ - Exe net8.0 @@ -14,10 +13,9 @@ - + DEBUG;TRACE - \ No newline at end of file diff --git a/src/samples/HawkN.Iso.Countries.Samples.Console/Program.cs b/src/samples/HawkN.Iso.Countries.Samples.Console/Program.cs new file mode 100644 index 0000000..2680007 --- /dev/null +++ b/src/samples/HawkN.Iso.Countries.Samples.Console/Program.cs @@ -0,0 +1,116 @@ +๏ปฟusing System.Text.Json; +using HawkN.Iso.Countries; +using HawkN.Iso.Countries.Abstractions; +using HawkN.Iso.Countries.Extensions; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; + +// --------------------------------------------------------- +// Initialize Host and Dependency Injection +// --------------------------------------------------------- +const string separator = "---------------------------------------------------------"; + +using var host = Host.CreateDefaultBuilder(args) + .ConfigureServices(services => + { + // Register Country Code Service via Extension Method + services.AddCountryCodeService(); + }) + .Build(); +try +{ + Console.OutputEncoding = System.Text.Encoding.UTF8; + + var container = host.Services; + using var scope = container.CreateScope(); + var countryCodeService = scope.ServiceProvider.GetRequiredService(); + + Console.WriteLine(separator); + Console.WriteLine("1. Data Retrieval (GetAll)"); + Console.WriteLine(separator); + + var allCountries = countryCodeService.GetAll(); + Console.WriteLine("| Alpha-2 | Alpha-3 | Numeric | Country Name | Official Name |"); + Console.WriteLine("|:-------:|:-------:|:-------:|:-------------|:-------------|"); + + foreach (var country in allCountries) + { + Console.WriteLine($"| {country.TwoLetterCode,-7} | {country.ThreeLetterCode,-7} | {country.NumericCode,-7} | {country.Name,-12} | {country.OfficialName,-12} |"); + } + Console.WriteLine($"Total countries found: {allCountries.Count}"); + + Console.WriteLine(separator); + Console.WriteLine("2. Lookup Operations (Find & Get)"); + Console.WriteLine(separator); + + // Exact name lookup (now using FindByName) + var byName = countryCodeService.FindByName("Germany"); + Console.WriteLine($"[FindByName 'Germany'] -> Code: {byName?.TwoLetterCode}, Numeric: {byName?.NumericCode}"); + + // Lookup by any String Code (Alpha-2, Alpha-3, or Numeric M49 string) + var byCode = countryCodeService.FindByCode("at"); + Console.WriteLine($"[FindByCode 'at'] -> Name: {byCode?.Name}"); + + // Lookup by Numeric Integer (New in interface) + var byInt = countryCodeService.Get(840); + Console.WriteLine($"[Get by Int 840] -> Name: {byInt?.Name}"); + + // Strongly Typed Enum lookups + var byEnum = countryCodeService.Get(CountryCode.TwoLetterCode.FR); + Console.WriteLine($"[Get by Enum FR] -> Name: {byEnum.Name}"); + + Console.WriteLine(separator); + Console.WriteLine("3. Smart Search (SearchByName)"); + Console.WriteLine(separator); + + // Partial match search (Autocomplete simulation) + var searchResults = countryCodeService.SearchByName("uni"); + var enumerable = searchResults as HawkN.Iso.Countries.Models.Country[] ?? searchResults.ToArray(); + Console.WriteLine($"Search for 'uni' found {enumerable.Length} matches:"); + foreach (var match in enumerable) + { + Console.WriteLine($" - {match.Name} ({match.TwoLetterCode})"); + } + + Console.WriteLine(separator); + Console.WriteLine("4. Validation with Result Object"); + Console.WriteLine(separator); + + // Validating Alpha-2 code + var resOk = countryCodeService.ValidateByCode("US", out var usa); + Console.WriteLine($"[Validate 'US'] -> IsValid: {resOk.IsValid}, Found: {usa?.Name}"); + + // Validating a non-existent code + var resFail = countryCodeService.ValidateByCode("XYZ", out _); + if (!resFail.IsValid) + { + Console.WriteLine($"[Validate 'XYZ'] -> IsValid: {resFail.IsValid}, Reason: '{resFail.Reason}'"); + } + + Console.WriteLine(separator); + Console.WriteLine("5. Fluent Extensions & Safety"); + Console.WriteLine(separator); + + const string inputCode = "GBR"; + + // Using TryGet for safe retrieval + if (countryCodeService.TryGet(inputCode, out var gbr)) + { + Console.WriteLine($"[TryGet '{inputCode}'] -> Success: {gbr.Name}"); + } + + // Direct conversion using extension method + var countryExt = inputCode.ToCountry(countryCodeService); + Console.WriteLine($"[Extension method] -> Resolved to: {countryExt?.Name}"); + + // Scenario: Quick search with visual feedback + var searchCountryResults = countryCodeService.SearchByName("United"); + foreach (var c in searchCountryResults) + { + Console.WriteLine($"[Emoji flag method] -> {c.GetEmojiFlag()} {c.Name}"); + } +} +catch (JsonException ex) +{ + Console.WriteLine($"Error: {ex.Message}"); +} \ No newline at end of file diff --git a/src/samples/HawkN.Iso.Countries.Samples.WebApi/Endpoints/CountryEndpoint.cs b/src/samples/HawkN.Iso.Countries.Samples.WebApi/Endpoints/CountryEndpoint.cs new file mode 100644 index 0000000..e11dc6b --- /dev/null +++ b/src/samples/HawkN.Iso.Countries.Samples.WebApi/Endpoints/CountryEndpoint.cs @@ -0,0 +1,66 @@ +๏ปฟusing HawkN.Iso.Countries.Samples.WebApi.Handlers; +namespace HawkN.Iso.Countries.Samples.WebApi.Endpoints; + +public static class CountryEndpoint +{ + public static IEndpointRouteBuilder MapCountryEndpoints(this IEndpointRouteBuilder app) + { + var countriesGroup = app.MapGroup("/api/countries"); + + countriesGroup.MapGet("/", CountryHandler.GetAllCountries) + .WithName("GetAllCountries") + .WithOpenApi(o => + { + o.Summary = "Get all active countries (Ordered by Name)"; + o.Description = "Returns the country list"; + return o; + }); + + countriesGroup.MapGet("/find/code/{code}", CountryHandler.FindCountryByCode) + .WithName("FindCountryByCode") + .WithOpenApi(o => + { + o.Summary = "Use this for flexible search (works for 'AT', 'AUT', or '040')"; + o.Description = "Returns the country"; + return o; + }); + + countriesGroup.MapGet("/find/name/{name}", CountryHandler.FindCountryByName) + .WithName("FindCountryByName") + .WithOpenApi(o => + { + o.Summary = "Get country by official name"; + o.Description = "Returns the country"; + return o; + }); + + countriesGroup.MapGet("/search", CountryHandler.SearchCountries) + .WithName("SearchCountries") + .WithOpenApi(o => + { + o.Summary = "Search countries by name"; + o.Description = "Returns the list of country"; + return o; + }); + + countriesGroup.MapGet("/validate/code/{code}", CountryHandler.ValidateCountryByCode) + .WithName("ValidateCountryByCode") + .WithOpenApi(o => + { + o.Summary = "Validate by country code"; + o.Description = "Returns the ValidationResult"; + return o; + }); + + countriesGroup.MapGet("/validate/name/{name}", CountryHandler.ValidateCountryByName) + .WithName("ValidateCountryByName") + .WithOpenApi(o => + { + o.Summary = "Validate by country name"; + o.Description = "Returns the ValidationResult"; + return o; + }); + + return app; + } +} \ No newline at end of file diff --git a/src/samples/HawkN.Iso.Countries.Samples.WebApi/Handlers/CountryHandler.cs b/src/samples/HawkN.Iso.Countries.Samples.WebApi/Handlers/CountryHandler.cs new file mode 100644 index 0000000..ea8137f --- /dev/null +++ b/src/samples/HawkN.Iso.Countries.Samples.WebApi/Handlers/CountryHandler.cs @@ -0,0 +1,84 @@ +๏ปฟusing HawkN.Iso.Countries.Abstractions; +using Microsoft.AspNetCore.Mvc; +namespace HawkN.Iso.Countries.Samples.WebApi.Handlers; + +/// +/// Handles HTTP requests for ISO 3166-1 country data. +/// +public static class CountryHandler +{ + /// + /// Retrieves a complete list of all active ISO 3166-1 countries. + /// + /// The country code service instance. + /// A collection of all available countries. + internal static IResult GetAllCountries(ICountryCodeService service) => + Results.Ok(service.GetAll()); + + /// + /// Retrieves a specific country by any valid ISO code (Alpha-2, Alpha-3, or Numeric). + /// + /// The country code service instance. + /// The code string (e.g., "US", "USA", or "840"). + /// A country object if found; otherwise, a 404 NotFound response. + internal static IResult FindCountryByCode(ICountryCodeService service, [FromRoute] string code) + { + return service.TryGet(code, out var country) + ? Results.Ok(country) + : Results.NotFound(new { Message = $"Country with code '{code}' not found." }); + } + + /// + /// Retrieves a country by its exact official or short name. + /// + /// The country code service instance. + /// The exact name of the country (case-insensitive). + /// A country object if found; otherwise, a 404 NotFound response. + internal static IResult FindCountryByName(ICountryCodeService service, [FromRoute] string name) + { + var country = service.FindByName(name); + return country is not null + ? Results.Ok(country) + : Results.NotFound(new { Message = $"Country with name '{name}' not found." }); + } + + /// + /// Performs a partial search across country names for autocomplete and suggestions. + /// + /// The country code service instance. + /// The search term (e.g., "uni"). + /// A list of countries matching the search criteria. + internal static IResult SearchCountries(ICountryCodeService service, [FromQuery] string query) + { + var results = service.SearchByName(query); + return Results.Ok(results); + } + + /// + /// Validates a country code and returns detailed feedback along with the country data. + /// + /// The country code service instance. + /// The Alpha-2, Alpha-3, or Numeric code to validate. + /// A validation result indicating success or failure reasons. + internal static IResult ValidateCountryByCode(ICountryCodeService service, [FromRoute] string code) + { + var result = service.ValidateByCode(code, out var country); + return result.IsValid + ? Results.Ok(new { Valid = true, Country = country }) + : Results.BadRequest(new { Valid = false, Message = result.Reason }); + } + + /// + /// Validates a country name and returns detailed feedback along with the country data. + /// + /// The country code service instance. + /// The official country name to validate. + /// A validation result indicating success or failure reasons. + internal static IResult ValidateCountryByName(ICountryCodeService service, [FromRoute] string name) + { + var result = service.ValidateByName(name, out var country); + return result.IsValid + ? Results.Ok(new { Valid = true, Country = country }) + : Results.BadRequest(new { Valid = false, Message = result.Reason }); + } +} \ No newline at end of file diff --git a/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.csproj b/src/samples/HawkN.Iso.Countries.Samples.WebApi/HawkN.Iso.Countries.Samples.WebApi.csproj similarity index 79% rename from src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.csproj rename to src/samples/HawkN.Iso.Countries.Samples.WebApi/HawkN.Iso.Countries.Samples.WebApi.csproj index bafafb8..d31ddb8 100644 --- a/src/samples/Country.Reference.Iso3166.WebApi/Country.Reference.Iso3166.WebApi.csproj +++ b/src/samples/HawkN.Iso.Countries.Samples.WebApi/HawkN.Iso.Countries.Samples.WebApi.csproj @@ -1,5 +1,4 @@ - net8.0 enable @@ -10,7 +9,6 @@ - + - diff --git a/src/samples/HawkN.Iso.Countries.Samples.WebApi/HawkN.Iso.Countries.Samples.WebApi.http b/src/samples/HawkN.Iso.Countries.Samples.WebApi/HawkN.Iso.Countries.Samples.WebApi.http new file mode 100644 index 0000000..e81cdc8 --- /dev/null +++ b/src/samples/HawkN.Iso.Countries.Samples.WebApi/HawkN.Iso.Countries.Samples.WebApi.http @@ -0,0 +1,49 @@ +@Host = http://localhost:5252 +@ApiUrl = {{Host}}/api/countries + +### Get all active countries +# Returns IReadOnlyList +GET {{ApiUrl}} +Accept: application/json + +--- + +### Find by Code (Alpha-2, Alpha-3, or Numeric) +# Matches FindByCode(string code) - Case-insensitive +GET {{ApiUrl}}/find/code/AUT +Accept: application/json + +### Find by Exact Name +# Matches FindByName(string name) - Case-insensitive +GET {{ApiUrl}}/find/name/Germany +Accept: application/json + +### Search by Name (Partial Match / Autocomplete) +# Matches SearchByName(string query) +# Try 'unit' to see United Kingdom, United States, etc. +GET {{ApiUrl}}/search?query=unit +Accept: application/json + +--- + +### Validate country code +# Returns ValidationResult with Success/Failure details +GET {{ApiUrl}}/validate/code/US +Accept: application/json + +### Validate country name +# Returns ValidationResult with Success/Failure details +GET {{ApiUrl}}/validate/name/France +Accept: application/json + +--- + +### Error Handling: Non-existent code +# Should return 404 NotFound +GET {{ApiUrl}}/find/code/XYZ +Accept: application/json + +### Error Handling: Invalid Validation +# Should return 400 BadRequest with reason +GET {{ApiUrl}}/validate/code/INVALID +Accept: application/json \ No newline at end of file diff --git a/src/samples/HawkN.Iso.Countries.Samples.WebApi/Program.cs b/src/samples/HawkN.Iso.Countries.Samples.WebApi/Program.cs new file mode 100644 index 0000000..3dab76b --- /dev/null +++ b/src/samples/HawkN.Iso.Countries.Samples.WebApi/Program.cs @@ -0,0 +1,39 @@ +using System.Text.Json; +using System.Text.Json.Serialization; +using HawkN.Iso.Countries.Extensions; +using HawkN.Iso.Countries.Samples.WebApi.Endpoints; +using Microsoft.AspNetCore.Http.Json; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +// Configure JSON options for Minimal API +builder.Services.Configure(options => +{ + // This line forces enums to be serialized as strings + options.SerializerOptions.Converters.Add(new JsonStringEnumConverter()); + // Optional: Use camelCase for properties (usually default) + options.SerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; +}); + +// ---- Register Currency service ---- +builder.Services.AddCountryCodeService(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +// ---- Endpoints ---- +app.MapCountryEndpoints(); + +await app.RunAsync(); \ No newline at end of file diff --git a/src/samples/Country.Reference.Iso3166.WebApi/Properties/launchSettings.json b/src/samples/HawkN.Iso.Countries.Samples.WebApi/Properties/launchSettings.json similarity index 100% rename from src/samples/Country.Reference.Iso3166.WebApi/Properties/launchSettings.json rename to src/samples/HawkN.Iso.Countries.Samples.WebApi/Properties/launchSettings.json diff --git a/src/samples/Country.Reference.Iso3166.WebApi/appsettings.Development.json b/src/samples/HawkN.Iso.Countries.Samples.WebApi/appsettings.Development.json similarity index 100% rename from src/samples/Country.Reference.Iso3166.WebApi/appsettings.Development.json rename to src/samples/HawkN.Iso.Countries.Samples.WebApi/appsettings.Development.json diff --git a/src/samples/Country.Reference.Iso3166.WebApi/appsettings.json b/src/samples/HawkN.Iso.Countries.Samples.WebApi/appsettings.json similarity index 100% rename from src/samples/Country.Reference.Iso3166.WebApi/appsettings.json rename to src/samples/HawkN.Iso.Countries.Samples.WebApi/appsettings.json diff --git a/src/tests/.editorconfig b/src/tests/.editorconfig new file mode 100644 index 0000000..c893f50 --- /dev/null +++ b/src/tests/.editorconfig @@ -0,0 +1,4 @@ +[*.cs] +# Disable Analyzer Release Tracking for test projects +dotnet_diagnostic.RS1038.severity = none +dotnet_diagnostic.RS2008.severity = none \ No newline at end of file diff --git a/src/tests/Country.Reference.Iso3166.Generators.Tests/UnitTest1.cs b/src/tests/Country.Reference.Iso3166.Generators.Tests/UnitTest1.cs deleted file mode 100644 index 0078c55..0000000 --- a/src/tests/Country.Reference.Iso3166.Generators.Tests/UnitTest1.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Country.Reference.Iso3166.Generators.Tests; - -public class UnitTest1 -{ - [Fact] - public void Test1() - { - } -} \ No newline at end of file diff --git a/src/tests/Country.Reference.Iso3166.Tests/UnitTest1.cs b/src/tests/Country.Reference.Iso3166.Tests/UnitTest1.cs deleted file mode 100644 index c9658c7..0000000 --- a/src/tests/Country.Reference.Iso3166.Tests/UnitTest1.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Country.Reference.Iso3166.Tests; - -public class UnitTest1 -{ - [Fact] - public void Test1() - { - } -} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/CountryCodeEnumsGeneratorTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/CountryCodeEnumsGeneratorTests.cs new file mode 100644 index 0000000..c38dadb --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/CountryCodeEnumsGeneratorTests.cs @@ -0,0 +1,47 @@ +๏ปฟusing HawkN.Iso.Countries.Generators.Tests.Helpers; +using Microsoft.CodeAnalysis; +namespace HawkN.Iso.Countries.Generators.Tests; + +public class CountryCodeEnumsGeneratorTests +{ + [Fact] + public void Generator_Should_Produce_Source_With_Enums() + { + // Arrange + // ะŸัƒัั‚ะพะน ะธัั…ะพะดะฝั‹ะน ะบะพะด, ั‚ะฐะบ ะบะฐะบ ะณะตะฝะตั€ะฐั‚ะพั€ ั€ะฐะฑะพั‚ะฐะตั‚ ะฝะฐ ะพัะฝะพะฒะต ั€ะตััƒั€ัะพะฒ, ะฐ ะฝะต ัะธะฝั‚ะฐะบัะธัะฐ + string inputSource = "namespace Test { }"; + + // Act + var (diagnostics, output) = GeneratorTestHelper.GetGeneratedOutput(inputSource); + + // Assert + Assert.Empty(diagnostics.Where(d => d.Severity == DiagnosticSeverity.Error)); + Assert.Contains("public enum TwoLetterCode", output); + Assert.Contains("public enum ThreeLetterCode", output); + Assert.Contains("namespace HawkN.Iso.Countries", output); + Assert.Contains("AF,", output); + Assert.Contains("AFG,", output); + } + + [Fact] + public void Generator_Should_Add_AutoGenerated_Header() + { + // Act + var (_, output) = GeneratorTestHelper.GetGeneratedOutput(""); + + // Assert + Assert.StartsWith("// ", output); + Assert.Contains("This file was generated by HawkN.Iso.Countries.Generators", output); + } + + [Fact] + public void Generator_Should_Include_License_Information() + { + // Act + var (_, output) = GeneratorTestHelper.GetGeneratedOutput(""); + + // Assert + Assert.Contains("Data Source: iso-codes project", output); + Assert.Contains("GNU Lesser General Public License v2.1", output); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Factories/ErrorFactoryTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Factories/ErrorFactoryTests.cs new file mode 100644 index 0000000..47b2ce4 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/Factories/ErrorFactoryTests.cs @@ -0,0 +1,109 @@ +๏ปฟusing HawkN.Iso.Countries.Generators.Factories; +using HawkN.Iso.Countries.Generators.Models; +using Microsoft.CodeAnalysis; +namespace HawkN.Iso.Countries.Generators.Tests.Factories; + +public class ErrorFactoryTests +{ + private readonly DiagnosticDescriptor _testDescriptor = new( + id: "TEST001", + title: "Test Title", + messageFormat: "Test Message", + category: "TestCategory", + defaultSeverity: DiagnosticSeverity.Error, + isEnabledByDefault: true); + + [Fact] + public void IsExists_Initially_ReturnsFalse() + { + var factory = new ErrorFactory(); + Assert.False(factory.IsExists()); + } + + [Fact] + public void Create_AddsDescriptor_WhenNotExists() + { + // Arrange + var factory = new ErrorFactory(); + var description = new ErrorDescription + { + DiagnosticDescriptor = _testDescriptor, + GeneratorType = GeneratorType.Database + }; + + // Act + factory.Create(description); + + // Assert + Assert.True(factory.IsExists()); + } + + [Fact] + public void Create_PreventsDuplicates_WithSameIdAndType() + { + // Arrange + var factory = new ErrorFactory(); + var desc1 = new ErrorDescription { DiagnosticDescriptor = _testDescriptor, GeneratorType = GeneratorType.Database }; + var desc2 = new ErrorDescription { DiagnosticDescriptor = _testDescriptor, GeneratorType = GeneratorType.Database }; + + // Act + factory.Create(desc1); + factory.Create(desc2); + + // Assert + Assert.True(factory.IsExists()); + } + + [Fact] + public void Clear_RemovesAllDescriptors() + { + // Arrange + var factory = new ErrorFactory(); + factory.Create(new ErrorDescription { DiagnosticDescriptor = _testDescriptor, GeneratorType = GeneratorType.Database }); + + // Act + factory.Clear(); + + // Assert + Assert.False(factory.IsExists()); + } + + [Fact] + public void Create_AllowsSameId_ForDifferentGeneratorTypes() + { + // Arrange + var factory = new ErrorFactory(); + var desc1 = new ErrorDescription { DiagnosticDescriptor = _testDescriptor, GeneratorType = GeneratorType.Factory }; + var desc2 = new ErrorDescription { DiagnosticDescriptor = _testDescriptor, GeneratorType = GeneratorType.Database }; + + // Act + factory.Create(desc1); + factory.Create(desc2); + + // Assert + Assert.True(factory.IsExists()); + } + + [Fact] + public void ShowDiagnostics_Should_Execute_Without_Errors() + { + // Arrange + var factory = new ErrorFactory(); + var descriptor = new DiagnosticDescriptor( + "ERR001", "Title", "Message", "Cat", DiagnosticSeverity.Error, true); + + factory.Create(new ErrorDescription + { + DiagnosticDescriptor = descriptor, + GeneratorType = GeneratorType.Database + }); + + var context = (SourceProductionContext)Activator.CreateInstance( + typeof(SourceProductionContext), + nonPublic: true)!; + + // Act & Assert + var exception = Record.Exception(() => factory.ShowDiagnostics(context, GeneratorType.Database)); + Assert.NotNull(exception); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs new file mode 100644 index 0000000..e3537c1 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs @@ -0,0 +1,61 @@ +๏ปฟusing HawkN.Iso.Countries.Generators.Handlers; +namespace HawkN.Iso.Countries.Generators.Tests.Handlers; + +public class JsonCountryHandlerTests +{ + [Fact] + public void LoadActualCountries_ValidJson_ReturnsParsedData() + { + // Arrange + var json = @"{ + ""3166-1"": [ + { + ""name"": ""Afghanistan"", + ""alpha_2"": ""af"", + ""alpha_3"": ""afg"", + ""numeric"": ""004"", + ""official_name"": ""Islamic Republic of Afghanistan"" + } + ] + }"; + var handler = new JsonCountryHandler(json); + + // Act + var results = handler.LoadActualCountries(); + + // Assert + Assert.Single(results); + Assert.Equal("Afghanistan", results[0].Name); + Assert.Equal("AF", results[0].CodeAlpha2); + Assert.Equal("AFG", results[0].CodeAlpha3); + } + + [Fact] + public void LoadActualCountries_InvalidEntry_SkipsIt() + { + // Arrange + // ะŸั€ะพะฟัƒัะบะฐะตะผ alpha_2 (ะฒะฐะปะธะดะฐั†ะธั ั‚ั€ะตะฑัƒะตั‚ ะดะปะธะฝัƒ 2) + var json = @"{ + ""3166-1"": [ + { ""name"": ""Bad"", ""alpha_2"": ""A"", ""alpha_3"": ""AAA"", ""numeric"": ""001"" } + ] + }"; + var handler = new JsonCountryHandler(json); + + // Act + var results = handler.LoadActualCountries(); + + // Assert + Assert.Empty(results); + } + + [Fact] + public void LoadActualCountries_MalformedJson_ThrowsException() + { + // Arrange + var handler = new JsonCountryHandler("invalid json"); + + // Act & Assert + Assert.Throws(() => handler.LoadActualCountries()); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs new file mode 100644 index 0000000..b4c13ba --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs @@ -0,0 +1,63 @@ +๏ปฟusing HawkN.Iso.Countries.Generators.Handlers; +namespace HawkN.Iso.Countries.Generators.Tests.Handlers; + +public class JsonCountryLoaderTests +{ + private const string ValidJson = @"{ + ""3166-1"": [ + { ""name"": ""Germany"", ""alpha_2"": ""de"", ""alpha_3"": ""deu"", ""numeric"": ""276"" }, + { ""name"": ""Austria"", ""alpha_2"": ""at"", ""alpha_3"": ""aut"", ""numeric"": ""040"" }, + { ""name"": ""France"", ""alpha_2"": ""fr"", ""alpha_3"": ""fra"", ""numeric"": ""250"" } + ] + }"; + + [Fact] + public void Constructor_ValidJson_PopulatesAndSortsCountriesByName() + { + // Act + var loader = new JsonCountryLoader(ValidJson); + + // Assert + Assert.Equal(3, loader.ActualCountries.Count); + + Assert.Equal("Austria", loader.ActualCountries[0].Name); + Assert.Equal("France", loader.ActualCountries[1].Name); + Assert.Equal("Germany", loader.ActualCountries[2].Name); + } + + [Fact] + public void Constructor_EmptyJson_ReturnsEmptyList() + { + // Arrange + var emptyJson = @"{ ""3166-1"": [] }"; + + // Act + var loader = new JsonCountryLoader(emptyJson); + + // Assert + Assert.Empty(loader.ActualCountries); + } + + [Theory] + [InlineData("")] + [InlineData(" ")] + [InlineData(null)] + public void Constructor_InvalidInput_ReturnsEmptyList(string? input) + { + // Act + var loader = new JsonCountryLoader(input!); + + // Assert + Assert.Empty(loader.ActualCountries); + } + + [Fact] + public void Constructor_MalformedJson_ThrowsInvalidDataException() + { + // Arrange + var malformedJson = "{ \"3166-1\": [ { \"name\": \"Missing Brackets\" "; + + // Act & Assert + Assert.Throws(() => new JsonCountryLoader(malformedJson)); + } +} \ No newline at end of file diff --git a/src/tests/Country.Reference.Iso3166.Generators.Tests/Country.Reference.Iso3166.Generators.Tests.csproj b/src/tests/HawkN.Iso.Countries.Generators.Tests/HawkN.Iso.Countries.Generators.Tests.csproj similarity index 80% rename from src/tests/Country.Reference.Iso3166.Generators.Tests/Country.Reference.Iso3166.Generators.Tests.csproj rename to src/tests/HawkN.Iso.Countries.Generators.Tests/HawkN.Iso.Countries.Generators.Tests.csproj index 2dd6387..9728684 100644 --- a/src/tests/Country.Reference.Iso3166.Generators.Tests/Country.Reference.Iso3166.Generators.Tests.csproj +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/HawkN.Iso.Countries.Generators.Tests.csproj @@ -5,6 +5,8 @@ enable false true + true + $(BaseIntermediateOutputPath)\GeneratedFiles @@ -24,6 +26,6 @@ - + diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Helpers/GeneratorTestHelper.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Helpers/GeneratorTestHelper.cs new file mode 100644 index 0000000..cff53f9 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/Helpers/GeneratorTestHelper.cs @@ -0,0 +1,35 @@ +using System.Collections.Immutable; +using System.Reflection; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +namespace HawkN.Iso.Countries.Generators.Tests.Helpers; + +public static class GeneratorTestHelper +{ + public static (ImmutableArray Diagnostics, string Output) GetGeneratedOutput(string source) + where T : IIncrementalGenerator, new() + { + var syntaxTree = CSharpSyntaxTree.ParseText(source); + var references = new[] + { + MetadataReference.CreateFromFile(typeof(object).Assembly.Location), + MetadataReference.CreateFromFile(Assembly.Load("System.Runtime").Location), + }; + + var compilation = CSharpCompilation.Create( + "GeneratorTests", + [syntaxTree], + references, + new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); + + var generator = new T(); + GeneratorDriver driver = CSharpGeneratorDriver.Create(generator); + + driver = driver.RunGeneratorsAndUpdateCompilation(compilation, out var outputCompilation, out var diagnostics); + + var runResult = driver.GetRunResult(); + var generatedSource = runResult.Results[0].GeneratedSources.FirstOrDefault().SourceText?.ToString() ?? string.Empty; + + return (diagnostics, generatedSource); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/LocalCountryDatabaseGeneratorTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/LocalCountryDatabaseGeneratorTests.cs new file mode 100644 index 0000000..af6b9df --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/LocalCountryDatabaseGeneratorTests.cs @@ -0,0 +1,45 @@ +๏ปฟusing HawkN.Iso.Countries.Generators.Tests.Helpers; +using Microsoft.CodeAnalysis; +namespace HawkN.Iso.Countries.Generators.Tests; + +public class LocalCountryDatabaseGeneratorTests +{ + [Fact] + public void Generator_Should_Generate_LocalCountryDatabase_With_ActualCountries() + { + // Arrange + var inputSource = ""; + + // Act + var (diagnostics, output) = GeneratorTestHelper.GetGeneratedOutput(inputSource); + + // Assert + Assert.Empty(diagnostics.Where(d => d.Severity == DiagnosticSeverity.Error)); + Assert.Contains("internal static class LocalCountryDatabase", output); + Assert.Contains("public static readonly ImmutableArray ActualCountries", output); + Assert.Contains("new(", output); + Assert.Contains("CountryCode.TwoLetterCode.", output); + Assert.Contains("CountryCode.ThreeLetterCode.", output); + } + + [Fact] + public void Generator_Should_Handle_OfficialNames_Correctly() + { + // Act + var (_, output) = GeneratorTestHelper.GetGeneratedOutput(""); + + // Assert + Assert.Contains("Federal Republic of Germany", output); + } + + [Fact] + public void Generator_Should_Produce_Stub_On_Error() + { + // Simulate an exception + var (diagnostics, output) = GeneratorTestHelper.GetGeneratedOutput("invalid"); + + Assert.Empty(diagnostics.Where(d => d.Severity == DiagnosticSeverity.Error)); + Assert.NotNull(output); + Assert.Contains("LocalCountryDatabase", output); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Tests/Extensions/CountryStringExtensionsTests.cs b/src/tests/HawkN.Iso.Countries.Tests/Extensions/CountryStringExtensionsTests.cs new file mode 100644 index 0000000..b237fee --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Tests/Extensions/CountryStringExtensionsTests.cs @@ -0,0 +1,135 @@ +๏ปฟusing HawkN.Iso.Countries.Abstractions; +using HawkN.Iso.Countries.Extensions; +using HawkN.Iso.Countries.Models; +using Moq; +namespace HawkN.Iso.Countries.Tests.Extensions; + +public class CountryStringExtensionsTests +{ + private readonly Mock _serviceMock = new(); + + [Theory] + [InlineData("US", "United States")] + [InlineData("USA", "United States")] + [InlineData("840", "United States")] + + //"United States", + public void ToCountry_ValidCode_ReturnsCountry(string input, string expectedName) + { + // Arrange + var country = new Country(expectedName, CountryCode.TwoLetterCode.US, CountryCode.ThreeLetterCode.USA, "840", "United States of America"); + _serviceMock.Setup(s => s.FindByCode(input)).Returns(country); + + // Act + var result = input.ToCountry(_serviceMock.Object); + + // Assert + Assert.NotNull(result); + Assert.Equal(expectedName, result.Name); + } + + [Fact] + public void ToCountry_NullOrEmpty_ReturnsNull() + { + // Act & Assert + Assert.Null(string.Empty.ToCountry(_serviceMock.Object)); + Assert.Null("".ToCountry(_serviceMock.Object)); + } + + [Fact] + public void IsCountryCode_ValidCode_ReturnsTrue() + { + // Arrange + Country? country; + _serviceMock.Setup(s => s.TryGet("DE", out country)).Returns(true); + + // Act + var result = "DE".IsCountryCode(_serviceMock.Object); + + // Assert + Assert.True(result); + } + + [Theory] + [InlineData("FR", "FRA", "๐Ÿ‡ซ๐Ÿ‡ท")] + [InlineData("JP", "JPN", "๐Ÿ‡ฏ๐Ÿ‡ต")] + [InlineData("GB", "GBR", "๐Ÿ‡ฌ๐Ÿ‡ง")] + public void GetEmojiFlag_ValidAlpha2_ReturnsCorrectEmoji(string alpha2, string alpha3, string expectedEmoji) + { + // Arrange + var country = new Country( + alpha2, + Enum.Parse(alpha2), + Enum.Parse(alpha3), + "001", + alpha2); + + // Act + var result = country.GetEmojiFlag(); + + // Assert + Assert.Equal(expectedEmoji, result); + } + + [Fact] + public void ValidateAsCountryCode_ValidCode_ReturnsSuccessAndCountry() + { + // Arrange + var input = "US"; + var expectedCountry = new Country( + "United States", + CountryCode.TwoLetterCode.US, + CountryCode.ThreeLetterCode.USA, + "840", + "United States of America"); + var successResult = ValidationResult.Success(); + + // ะะฐัั‚ั€ะพะนะบะฐ Mock ะดะปั ะผะตั‚ะพะดะฐ ั out ะฟะฐั€ะฐะผะตั‚ั€ะพะผ + _serviceMock.Setup(s => s.ValidateByCode(input, out expectedCountry)) + .Returns(successResult); + + // Act + var result = input.ValidateAsCountryCode(_serviceMock.Object, out var actualCountry); + + // Assert + Assert.True(result.IsValid); + Assert.NotNull(actualCountry); + Assert.Equal("United States", actualCountry.Name); + } + + [Fact] + public void ValidateAsCountryCode_InvalidCode_ReturnsFailure() + { + // Arrange + var input = "XX"; + Country? nullCountry = null; + var failureResult = ValidationResult.Failure("Invalid code", ValidationType.Code); + + _serviceMock.Setup(s => s.ValidateByCode(input, out nullCountry)) + .Returns(failureResult); + + // Act + var result = input.ValidateAsCountryCode(_serviceMock.Object, out var actualCountry); + + // Assert + Assert.False(result.IsValid); + Assert.Null(actualCountry); + Assert.Equal("Invalid code", result.Reason); + } + + [Theory] + [InlineData(null)] + [InlineData("")] + [InlineData(" ")] + public void ValidateAsCountryCode_NullOrWhitespace_ReturnsRequiredFailure(string? input) + { + // Act + var result = input.ValidateAsCountryCode(_serviceMock.Object, out var actualCountry); + + // Assert + Assert.False(result.IsValid); + Assert.Null(actualCountry); + Assert.Equal("Code is required.", result.Reason); + _serviceMock.Verify(s => s.ValidateByCode(It.IsAny(), out It.Ref.IsAny), Times.Never); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Tests/Extensions/ServiceCollectionExtensionsTests.cs b/src/tests/HawkN.Iso.Countries.Tests/Extensions/ServiceCollectionExtensionsTests.cs new file mode 100644 index 0000000..45fce74 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Tests/Extensions/ServiceCollectionExtensionsTests.cs @@ -0,0 +1,57 @@ +๏ปฟusing HawkN.Iso.Countries.Abstractions; +using HawkN.Iso.Countries.Extensions; +using HawkN.Iso.Countries.Services; +using Microsoft.Extensions.DependencyInjection; +namespace HawkN.Iso.Countries.Tests.Extensions; + +public class ServiceCollectionExtensionsTests +{ + [Fact] + public void AddCountryCodeService_RegistersServiceAsSingleton() + { + // Arrange + var services = new ServiceCollection(); + + // Act + services.AddCountryCodeService(); + var serviceDescriptor = services.FirstOrDefault(d => d.ServiceType == typeof(ICountryCodeService)); + + // Assert + Assert.NotNull(serviceDescriptor); + Assert.Equal(ServiceLifetime.Singleton, serviceDescriptor.Lifetime); + Assert.Equal(typeof(CountryCodeService), serviceDescriptor.ImplementationType); + } + + [Fact] + public void AddCountryCodeService_CanResolveServiceFromProvider() + { + // Arrange + var services = new ServiceCollection(); + services.AddCountryCodeService(); + var serviceProvider = services.BuildServiceProvider(); + + // Act + var service = serviceProvider.GetService(); + + // Assert + Assert.NotNull(service); + Assert.IsType(service); + } + + [Fact] + public void AddCountryCodeService_CalledMultipleTimes_RegistersOnlyOnce() + { + // Arrange + var services = new ServiceCollection(); + + // Act + services.AddCountryCodeService(); + services.AddCountryCodeService(); // ะŸะพะฒั‚ะพั€ะฝั‹ะน ะฒั‹ะทะพะฒ + + // Assert + var registrations = services.Where(d => d.ServiceType == typeof(ICountryCodeService)).ToList(); + + // TryAddSingleton ะณะฐั€ะฐะฝั‚ะธั€ัƒะตั‚, ั‡ั‚ะพ ั€ะตะณะธัั‚ั€ะฐั†ะธั ะฑัƒะดะตั‚ ั‚ะพะปัŒะบะพ ะพะดะฝะฐ + Assert.Single(registrations); + } +} \ No newline at end of file diff --git a/src/tests/Country.Reference.Iso3166.Tests/Country.Reference.Iso3166.Tests.csproj b/src/tests/HawkN.Iso.Countries.Tests/HawkN.Iso.Countries.Tests.csproj similarity index 81% rename from src/tests/Country.Reference.Iso3166.Tests/Country.Reference.Iso3166.Tests.csproj rename to src/tests/HawkN.Iso.Countries.Tests/HawkN.Iso.Countries.Tests.csproj index 7257313..9da910a 100644 --- a/src/tests/Country.Reference.Iso3166.Tests/Country.Reference.Iso3166.Tests.csproj +++ b/src/tests/HawkN.Iso.Countries.Tests/HawkN.Iso.Countries.Tests.csproj @@ -9,6 +9,7 @@ + @@ -16,6 +17,6 @@ - + diff --git a/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs b/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs new file mode 100644 index 0000000..405d929 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs @@ -0,0 +1,106 @@ +๏ปฟusing HawkN.Iso.Countries.Services; +namespace HawkN.Iso.Countries.Tests.Services; + +public class CountryCodeServiceTests +{ + private readonly CountryCodeService _service = new(); + + [Fact] + public void GetAll_ReturnsSortedList() + { + // Act + var countries = _service.GetAll(); + + // Assert + Assert.NotEmpty(countries); + Assert.True(string.Compare(countries[0].Name, countries[1].Name, StringComparison.Ordinal) <= 0); + } + + [Theory] + [InlineData("US")] + [InlineData("USA")] + [InlineData("840")] + public void FindByCode_VariousFormats_ReturnsSameCountry(string code) + { + // Act + var country = _service.FindByCode(code); + + // Assert + Assert.NotNull(country); + Assert.Equal("United States", country.Name); + } + + [Fact] + public void FindByName_ExactMatch_ReturnsCountry() + { + // Act + var country = _service.FindByName("France"); + + // Assert + Assert.NotNull(country); + Assert.Equal(CountryCode.TwoLetterCode.FR, country!.TwoLetterCode); + } + + [Theory] + [InlineData("United", 2)] // ะšะฐะบ ะผะธะฝะธะผัƒะผ United States ะธ United Kingdom + [InlineData("Republic", 5)] + public void SearchByName_Query_ReturnsMultipleResults(string query, int minimumExpected) + { + // Act + var results = _service.SearchByName(query).ToList(); + + // Assert + Assert.True(results.Count >= minimumExpected); + if (results[0].Name.StartsWith(query, StringComparison.OrdinalIgnoreCase)) + { + // Check the first + } + } + + [Fact] + public void Get_ByEnum_ReturnsCorrectCountry() + { + // Act + var country2 = _service.Get(CountryCode.TwoLetterCode.DE); + var country3 = _service.Get(CountryCode.ThreeLetterCode.DEU); + + // Assert + Assert.Equal(country2, country3); + Assert.Equal("Germany", country2.Name); + } + + [Fact] + public void Get_ByNumericInt_ReturnsCorrectCountry() + { + // Act + var country = _service.Get(276); // Germany + + // Assert + Assert.NotNull(country); + Assert.Equal("Germany", country!.Name); + } + + [Fact] + public void ValidateByCode_InvalidCode_ReturnsFailure() + { + // Act + var result = _service.ValidateByCode("ZZZ", out var country); + + // Assert + Assert.False(result.IsValid); + Assert.Null(country); + Assert.Contains("not a valid ISO 3166-1 code", result.Reason); + } + + [Fact] + public void ValidateByName_ValidOfficialName_ReturnsSuccess() + { + // Act + var result = _service.ValidateByName("French Republic", out var country); + + // Assert + Assert.True(result.IsValid); + Assert.NotNull(country); + Assert.Equal("France", country!.Name); + } +} \ No newline at end of file From c5ecdd087f0dbe986aaff51e375600d3edcd3b74 Mon Sep 17 00:00:00 2001 From: Nikolay Selyutin <81760946+HawkN113@users.noreply.github.com> Date: Wed, 24 Dec 2025 21:12:34 +0100 Subject: [PATCH 3/7] ci: Add Trusted Publishing for CD pipeline (#3) --- .github/workflows/cd.yml | 166 +++++++++++++++++++++------------------ 1 file changed, 88 insertions(+), 78 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 52a5a02..bc2d019 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -4,103 +4,113 @@ on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+' - + jobs: publish: name: Publish to NuGet runs-on: ubuntu-latest permissions: - actions: read + id-token: write contents: write + actions: read + env: SOLUTION_NAME: src/HawkN.Iso.Countries.Solution.sln - PACKAGE_PROJECT_PATH: src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj - PACKAGE_NUSPEC_FILE_PATH: HawkN.Iso.Countries.nuspec - PACKAGE_ID: HawkN.Iso.Countries + NUGET_ORG_USERNAME: HawkN113 + + ## Iso.Countries package settings + PACKAGE_COUNTRIES_PROJECT_PATH: src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj + PACKAGE_COUNTRIES_NUSPEC_FILE_PATH: HawkN.Iso.Countries.nuspec + PACKAGE_COUNTRIES_ID: HawkN.Iso.Countries + OUTPUT_NUGET_DIR: nuget-packages NUGET_SOURCE_URL: https://api.nuget.org/v3/index.json DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true DOTNET_CLI_TELEMETRY_OPTOUT: true steps: - - name: Checkout repository (full history) - uses: actions/checkout@v4 - with: - fetch-depth: 0 - token: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout repository (full history) + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.0.x' - cache: true - cache-dependency-path: ${{ env.SOLUTION_NAME }} + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + cache: true + cache-dependency-path: ${{ env.SOLUTION_NAME }} - - name: Extract version from tag - id: get_version - run: | - TAG_NAME=${{ github.ref_name }} - VERSION=${TAG_NAME#v} - echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV - shell: bash + - name: Extract version from tag + id: get_version + run: | + TAG_NAME=${{ github.ref_name }} + VERSION=${TAG_NAME#v} + echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV + shell: bash - - name: Check if package version already exists on NuGet.org - id: check_nuget - run: | - PACKAGE_ID_LOWER=$(echo "${{ env.PACKAGE_ID }}" | tr '[:upper:]' '[:lower:]') - STATUS_CODE=$(curl -s -o /dev/null -I -w "%{http_code}" "https://api.nuget.org/v3-flatcontainer/${PACKAGE_ID_LOWER}/${{ env.CURRENT_VERSION }}/index.json") - if [ "$STATUS_CODE" -eq 200 ]; then - echo "Error: Version ${{ env.CURRENT_VERSION }} already exists on NuGet.org!" - exit 1 - fi - shell: bash + - name: Check if package (${{ env.PACKAGE_COUNTRIES_ID }}) version already exists on NuGet.org + id: check_nuget + run: | + PACKAGE_COUNTRIES_ID_LOWER=$(echo "${{ env.PACKAGE_COUNTRIES_ID }}" | tr '[:upper:]' '[:lower:]') + STATUS_CODE=$(curl -s -o /dev/null -I -w "%{http_code}" "https://api.nuget.org/v3-flatcontainer/${PACKAGE_COUNTRIES_ID_LOWER}/${{ env.CURRENT_VERSION }}/index.json") + if [ "$STATUS_CODE" -eq 200 ]; then + echo "Error: Version ${{ env.CURRENT_VERSION }} already exists on NuGet.org!" + exit 1 + fi + shell: bash - - name: Restore dependencies - run: dotnet restore ${{ env.SOLUTION_NAME }} + - name: Restore dependencies + run: dotnet restore ${{ env.SOLUTION_NAME }} - - name: Perform build - run: dotnet build ${{ env.SOLUTION_NAME }} --no-restore --configuration Release - - - name: Build and Pack - run: | - dotnet pack ${{ env.PACKAGE_PROJECT_PATH }} --configuration Release /p:NuspecFile=${{ env.PACKAGE_NUSPEC_FILE_PATH }} /p:Version=${{ env.CURRENT_VERSION }} /p:ContinuousIntegrationBuild=true --output ${{ env.OUTPUT_NUGET_DIR }} + - name: Perform build + run: dotnet build ${{ env.SOLUTION_NAME }} --no-restore --configuration Release - - name: Generate Changelog - uses: orhun/git-cliff-action@v4 - with: - config: cliff.toml - args: --latest - env: - OUTPUT: CHANGELOG_RELEASE.md - - - name: Update Main CHANGELOG.md - run: | - git config user.name github-actions - git config user.email github-actions@github.com - git pull origin ${{ github.event.repository.default_branch }} --rebase - git-cliff > CHANGELOG.md - if ! git diff --exit-code CHANGELOG.md; then - git add CHANGELOG.md - git commit -m "docs(changelog): update for version ${{ env.CURRENT_VERSION }}" - git push origin HEAD:${{ github.event.repository.default_branch }} - else - echo "No changes in CHANGELOG.md" - fi - shell: bash + - name: Build and Pack (${{ env.PACKAGE_COUNTRIES_ID }}) + run: | + dotnet pack ${{ env.PACKAGE_COUNTRIES_PROJECT_PATH }} \ + --configuration Release \ + /p:NuspecFile=${{ env.PACKAGE_COUNTRIES_NUSPEC_FILE_PATH }} \ + /p:Version=${{ env.CURRENT_VERSION }} \ + /p:ContinuousIntegrationBuild=true \ + --output ${{ env.OUTPUT_NUGET_DIR }} - - name: Create GitHub Release for (HawkN.Iso.Countries) - uses: softprops/action-gh-release@v2 - with: - body_path: CHANGELOG_RELEASE.md - files: ${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_ID }}.${{ env.CURRENT_VERSION }}.nupkg - fail_on_unmatched_files: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Generate Changelog + uses: orhun/git-cliff-action@v4 + with: + config: cliff.toml + args: --latest + env: + OUTPUT: CHANGELOG_RELEASE.md - - name: Publish package (HawkN.Iso.Countries) to NuGet.org - run: | - dotnet nuget push "${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_ID }}.${{ env.CURRENT_VERSION }}.nupkg" \ - --api-key ${{ secrets.NUGET_API_KEY }} \ - --source ${{ env.NUGET_SOURCE_URL }} \ - --skip-duplicate - shell: bash \ No newline at end of file + - name: Update Main CHANGELOG.md + run: | + git config user.name github-actions + git config user.email github-actions@github.com + git pull origin ${{ github.event.repository.default_branch }} --rebase + git-cliff > CHANGELOG.md + if ! git diff --exit-code CHANGELOG.md; then + git add CHANGELOG.md + git commit -m "docs(changelog): update for version ${{ env.CURRENT_VERSION }}" + git push origin HEAD:${{ github.event.repository.default_branch }} + else + echo "No changes in CHANGELOG.md" + fi + shell: bash + + - name: Create GitHub Release (${{ env.PACKAGE_COUNTRIES_ID }}) + uses: softprops/action-gh-release@v2 + with: + body_path: CHANGELOG_RELEASE.md + files: ${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_COUNTRIES_ID }}.${{ env.CURRENT_VERSION }}.nupkg + fail_on_unmatched_files: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish package (${{ env.PACKAGE_COUNTRIES_ID }}) to NuGet.org + run: | + dotnet nuget push "${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_COUNTRIES_ID }}.${{ env.CURRENT_VERSION }}.nupkg" \ + --source ${{ env.NUGET_SOURCE_URL }} \ + --skip-duplicate + shell: bash \ No newline at end of file From 03a7f6143a79233083aededb1d3270b1d3cf28e7 Mon Sep 17 00:00:00 2001 From: Nikolay Selyutin <81760946+HawkN113@users.noreply.github.com> Date: Fri, 26 Dec 2025 01:59:30 +0100 Subject: [PATCH 4/7] feat: Use UN M49 Standard (#5) --- DATA-LICENSE.txt | 515 ----- LICENSE | 13 +- README.md | 522 +++-- .../BaseIncrementalGenerator.cs | 2 +- .../Constants.cs | 4 +- .../Content/iso_3166-1.json | 1931 ----------------- .../Content/un_m49.csv | 249 +++ .../CountryCodeEnumsGenerator.cs | 6 +- .../Extensions/SpanExtensions.cs | 14 + .../Handlers/CsvCountryHandler.cs | 116 + .../Handlers/CsvCountryLoader.cs | 18 + .../Handlers/JsonCountryHandler.cs | 41 - .../Handlers/JsonCountryLoader.cs | 18 - .../HawkN.Iso.Countries.Generators.csproj | 18 +- .../LocalCountryDatabaseGenerator.cs | 9 +- .../Models/Country.cs | 29 - .../Models/CountryRow.cs | 32 + .../Models/DebianCountryEntry.cs | 19 - .../Models/DebianIsoJson.cs | 7 - .../HawkN.Iso.Countries.Generators/README.md | 37 +- .../Abstractions/ICountryCodeService.cs | 20 +- .../HawkN.Iso.Countries/CountryCode.cs | 852 ++++---- .../Extensions/CountryStringExtensions.cs | 6 +- .../HawkN.Iso.Countries.nuspec | 11 +- .../LocalCountryDatabase.cs | 501 +++-- .../HawkN.Iso.Countries/Models/Country.cs | 12 +- .../Package/Content/README.md | 19 +- .../Services/CountryCodeService.cs | 45 +- .../Program.cs | 6 +- .../CountryCodeEnumsGeneratorTests.cs | 5 +- .../Handlers/CsvCountryHandlerTests.cs | 97 + .../Handlers/CsvCountryLoaderTests.cs | 105 + .../Handlers/JsonCountryHandlerTests.cs | 61 - .../Handlers/JsonCountryLoaderTests.cs | 63 - ...awkN.Iso.Countries.Generators.Tests.csproj | 1 + .../LocalCountryDatabaseGeneratorTests.cs | 10 - .../CountryStringExtensionsTests.cs | 8 +- .../Models/CountryTests.cs | 28 + .../Services/CountryCodeServiceTests.cs | 14 +- 39 files changed, 1684 insertions(+), 3780 deletions(-) delete mode 100644 DATA-LICENSE.txt delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Content/un_m49.csv create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Extensions/SpanExtensions.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Handlers/CsvCountryHandler.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Handlers/CsvCountryLoader.cs delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/Country.cs create mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/CountryRow.cs delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs create mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/CsvCountryHandlerTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/CsvCountryLoaderTests.cs delete mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs delete mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Tests/Models/CountryTests.cs diff --git a/DATA-LICENSE.txt b/DATA-LICENSE.txt deleted file mode 100644 index 7489381..0000000 --- a/DATA-LICENSE.txt +++ /dev/null @@ -1,515 +0,0 @@ ----------------------------------------------------------------------- -DATA LICENSE NOTICE ----------------------------------------------------------------------- -This library includes country and region data sourced from the -Debian iso-codes project (https://salsa.debian.org/iso-codes-team/iso-codes). - -The geographic data (JSON/XML source files and the resulting generated -data structures) is distributed under the terms of the GNU Lesser -General Public License (LGPL) version 2.1, which follows below. - -The programmatic wrapper code and library logic are separately licensed -under the MIT License (see LICENSE file). ----------------------------------------------------------------------- - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, see . - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Moe Ghoul, President of Vice - -That's all there is to it! \ No newline at end of file diff --git a/LICENSE b/LICENSE index dcdcdb1..7cb0587 100644 --- a/LICENSE +++ b/LICENSE @@ -18,15 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -DATA SOURCE ACKNOWLEDGMENT -------------------------------------------------------------------------------- -This library includes ISO 3166-1 and ISO 3166-2 geographic data derived from -the "iso-codes" project (https://salsa.debian.org/iso-codes-team/iso-codes). - -The data provided within this library is distributed under the terms of the -GNU Lesser General Public License v2.1 (LGPL). - -The software (code) itself remains under the MIT License. -------------------------------------------------------------------------------- +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 23cc4f1..f04abe8 100644 --- a/README.md +++ b/README.md @@ -5,16 +5,15 @@ [![NuGet](https://img.shields.io/nuget/v/HawkN.Iso.Countries?label=HawkN.Iso.Countries&color=blue&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries/) [![Downloads](https://img.shields.io/nuget/dt/HawkN.Iso.Countries?label=Downloads&color=brightgreen&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries/) [![GitHub license](https://img.shields.io/github/license/HawkN113/Country.Reference.Iso3166?label=License&color=blue&style=flat-square)](https://github.com/HawkN113/Country.Reference.Iso3166/blob/main/LICENSE) -[![Data License: LGPL v2.1](https://img.shields.io/badge/Data%20License-LGPL%20v2.1-blue.svg?style=flat-square)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) -| ![HawkN.Iso.Countries](docs/img/HawkN.Iso.Countries.png) | **HawkN.Iso.Countries** provides ISO 3166-1 country codes (Alpha-2, Alpha-3), official names, and validation services. | +| ![HawkN.Iso.Countries](docs/img/HawkN.Iso.Countries.png) | **HawkN.Iso.Countries** provides ISO 3166-1 country codes (Alpha-2, Alpha-3), official names, numeric codes (UN M49), and validation services. | |--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| --- ## Features -- **Comprehensive Country List** โ€“ Provides an up-to-date set of country data according to the `ISO 3166-1` standard. +- **Comprehensive Country List** โ€“ Provides an up-to-date `ISO 3166-1` country data with numeric codes from `UN M49`. - **Strongly Typed Codes** โ€“ `TwoLetterCode` and `ThreeLetterCode` enums are generated at compile-time. -- **Multiple Search Methods** โ€“ Lookup by Alpha-2, Alpha-3, Numeric code, or Official Name. +- **Multiple Search Methods** โ€“ Lookup by Alpha-2, Alpha-3, Numeric code, or Country Name. - **Advanced Validation** โ€“ Built-in `ValidationResult` providing detailed feedback for code and name verification. - **Ultra-Fast Performance** โ€“ O(1) lookups via pre-indexed static dictionaries. - **Lightweight & Dependency-Free** โ€“ Compatible with .NET 8 and above. @@ -152,259 +151,258 @@ Console.WriteLine($"{flag} {country.Name}");
Click to view the full list of supported countries -| Alpha-2 | Alpha-3 | Numeric | Country Name | Official Name | -|:-------:|:-------:|:-------:|:--------------------------------------------:|:----------------------------------------------------:| -| AF | AFG | 004 | Afghanistan | Islamic Republic of Afghanistan | -| AL | ALB | 008 | Albania | Republic of Albania | -| DZ | DZA | 012 | Algeria | People's Democratic Republic of Algeria | -| AS | ASM | 016 | American Samoa | | -| AD | AND | 020 | Andorra | Principality of Andorra | -| AO | AGO | 024 | Angola | Republic of Angola | -| AI | AIA | 660 | Anguilla | | -| AQ | ATA | 010 | Antarctica | | -| AG | ATG | 028 | Antigua and Barbuda | | -| AR | ARG | 032 | Argentina | Argentine Republic | -| AM | ARM | 051 | Armenia | Republic of Armenia | -| AW | ABW | 533 | Aruba | | -| AU | AUS | 036 | Australia | | -| AT | AUT | 040 | Austria | Republic of Austria | -| AZ | AZE | 031 | Azerbaijan | Republic of Azerbaijan | -| BS | BHS | 044 | Bahamas | Commonwealth of the Bahamas | -| BH | BHR | 048 | Bahrain | Kingdom of Bahrain | -| BD | BGD | 050 | Bangladesh | People's Republic of Bangladesh | -| BB | BRB | 052 | Barbados | | -| BY | BLR | 112 | Belarus | Republic of Belarus | -| BE | BEL | 056 | Belgium | Kingdom of Belgium | -| BZ | BLZ | 084 | Belize | | -| BJ | BEN | 204 | Benin | Republic of Benin | -| BM | BMU | 060 | Bermuda | | -| BT | BTN | 064 | Bhutan | Kingdom of Bhutan | -| BO | BOL | 068 | Bolivia, Plurinational State of | Plurinational State of Bolivia | -| BQ | BES | 535 | Bonaire, Sint Eustatius and Saba | Bonaire, Sint Eustatius and Saba | -| BA | BIH | 070 | Bosnia and Herzegovina | Republic of Bosnia and Herzegovina | -| BW | BWA | 072 | Botswana | Republic of Botswana | -| BV | BVT | 074 | Bouvet Island | | -| BR | BRA | 076 | Brazil | Federative Republic of Brazil | -| IO | IOT | 086 | British Indian Ocean Territory | | -| BN | BRN | 096 | Brunei Darussalam | | -| BG | BGR | 100 | Bulgaria | Republic of Bulgaria | -| BF | BFA | 854 | Burkina Faso | | -| BI | BDI | 108 | Burundi | Republic of Burundi | -| CV | CPV | 132 | Cabo Verde | Republic of Cabo Verde | -| KH | KHM | 116 | Cambodia | Kingdom of Cambodia | -| CM | CMR | 120 | Cameroon | Republic of Cameroon | -| CA | CAN | 124 | Canada | | -| KY | CYM | 136 | Cayman Islands | | -| CF | CAF | 140 | Central African Republic | | -| TD | TCD | 148 | Chad | Republic of Chad | -| CL | CHL | 152 | Chile | Republic of Chile | -| CN | CHN | 156 | China | People's Republic of China | -| CX | CXR | 162 | Christmas Island | | -| CC | CCK | 166 | Cocos (Keeling) Islands | | -| CO | COL | 170 | Colombia | Republic of Colombia | -| KM | COM | 174 | Comoros | Union of the Comoros | -| CG | COG | 178 | Congo | Republic of the Congo | -| CD | COD | 180 | Congo, The Democratic Republic of the | | -| CK | COK | 184 | Cook Islands | | -| CR | CRI | 188 | Costa Rica | Republic of Costa Rica | -| HR | HRV | 191 | Croatia | Republic of Croatia | -| CU | CUB | 192 | Cuba | Republic of Cuba | -| CW | CUW | 531 | Curaรงao | Curaรงao | -| CY | CYP | 196 | Cyprus | Republic of Cyprus | -| CZ | CZE | 203 | Czechia | Czech Republic | -| CI | CIV | 384 | Cรดte d'Ivoire | Republic of Cรดte d'Ivoire | -| DK | DNK | 208 | Denmark | Kingdom of Denmark | -| DJ | DJI | 262 | Djibouti | Republic of Djibouti | -| DM | DMA | 212 | Dominica | Commonwealth of Dominica | -| DO | DOM | 214 | Dominican Republic | | -| EC | ECU | 218 | Ecuador | Republic of Ecuador | -| EG | EGY | 818 | Egypt | Arab Republic of Egypt | -| SV | SLV | 222 | El Salvador | Republic of El Salvador | -| GQ | GNQ | 226 | Equatorial Guinea | Republic of Equatorial Guinea | -| ER | ERI | 232 | Eritrea | the State of Eritrea | -| EE | EST | 233 | Estonia | Republic of Estonia | -| SZ | SWZ | 748 | Eswatini | Kingdom of Eswatini | -| ET | ETH | 231 | Ethiopia | Federal Democratic Republic of Ethiopia | -| FK | FLK | 238 | Falkland Islands (Malvinas) | | -| FO | FRO | 234 | Faroe Islands | | -| FJ | FJI | 242 | Fiji | Republic of Fiji | -| FI | FIN | 246 | Finland | Republic of Finland | -| FR | FRA | 250 | France | French Republic | -| GF | GUF | 254 | French Guiana | | -| PF | PYF | 258 | French Polynesia | | -| TF | ATF | 260 | French Southern Territories | | -| GA | GAB | 266 | Gabon | Gabonese Republic | -| GM | GMB | 270 | Gambia | Republic of the Gambia | -| GE | GEO | 268 | Georgia | | -| DE | DEU | 276 | Germany | Federal Republic of Germany | -| GH | GHA | 288 | Ghana | Republic of Ghana | -| GI | GIB | 292 | Gibraltar | | -| GR | GRC | 300 | Greece | Hellenic Republic | -| GL | GRL | 304 | Greenland | | -| GD | GRD | 308 | Grenada | | -| GP | GLP | 312 | Guadeloupe | | -| GU | GUM | 316 | Guam | | -| GT | GTM | 320 | Guatemala | Republic of Guatemala | -| GG | GGY | 831 | Guernsey | | -| GN | GIN | 324 | Guinea | Republic of Guinea | -| GW | GNB | 624 | Guinea-Bissau | Republic of Guinea-Bissau | -| GY | GUY | 328 | Guyana | Republic of Guyana | -| HT | HTI | 332 | Haiti | Republic of Haiti | -| HM | HMD | 334 | Heard Island and McDonald Islands | | -| VA | VAT | 336 | Holy See (Vatican City State) | | -| HN | HND | 340 | Honduras | Republic of Honduras | -| HK | HKG | 344 | Hong Kong | Hong Kong Special Administrative Region of China | -| HU | HUN | 348 | Hungary | Hungary | -| IS | ISL | 352 | Iceland | Republic of Iceland | -| IN | IND | 356 | India | Republic of India | -| ID | IDN | 360 | Indonesia | Republic of Indonesia | -| IR | IRN | 364 | Iran, Islamic Republic of | Islamic Republic of Iran | -| IQ | IRQ | 368 | Iraq | Republic of Iraq | -| IE | IRL | 372 | Ireland | | -| IM | IMN | 833 | Isle of Man | | -| IL | ISR | 376 | Israel | State of Israel | -| IT | ITA | 380 | Italy | Italian Republic | -| JM | JAM | 388 | Jamaica | | -| JP | JPN | 392 | Japan | | -| JE | JEY | 832 | Jersey | | -| JO | JOR | 400 | Jordan | Hashemite Kingdom of Jordan | -| KZ | KAZ | 398 | Kazakhstan | Republic of Kazakhstan | -| KE | KEN | 404 | Kenya | Republic of Kenya | -| KI | KIR | 296 | Kiribati | Republic of Kiribati | -| KP | PRK | 408 | Korea, Democratic People's Republic of | Democratic People's Republic of Korea | -| KR | KOR | 410 | Korea, Republic of | | -| KW | KWT | 414 | Kuwait | State of Kuwait | -| KG | KGZ | 417 | Kyrgyzstan | Kyrgyz Republic | -| LA | LAO | 418 | Lao People's Democratic Republic | | -| LV | LVA | 428 | Latvia | Republic of Latvia | -| LB | LBN | 422 | Lebanon | Lebanese Republic | -| LS | LSO | 426 | Lesotho | Kingdom of Lesotho | -| LR | LBR | 430 | Liberia | Republic of Liberia | -| LY | LBY | 434 | Libya | Libya | -| LI | LIE | 438 | Liechtenstein | Principality of Liechtenstein | -| LT | LTU | 440 | Lithuania | Republic of Lithuania | -| LU | LUX | 442 | Luxembourg | Grand Duchy of Luxembourg | -| MO | MAC | 446 | Macao | Macao Special Administrative Region of China | -| MG | MDG | 450 | Madagascar | Republic of Madagascar | -| MW | MWI | 454 | Malawi | Republic of Malawi | -| MY | MYS | 458 | Malaysia | | -| MV | MDV | 462 | Maldives | Republic of Maldives | -| ML | MLI | 466 | Mali | Republic of Mali | -| MT | MLT | 470 | Malta | Republic of Malta | -| MH | MHL | 584 | Marshall Islands | Republic of the Marshall Islands | -| MQ | MTQ | 474 | Martinique | | -| MR | MRT | 478 | Mauritania | Islamic Republic of Mauritania | -| MU | MUS | 480 | Mauritius | Republic of Mauritius | -| YT | MYT | 175 | Mayotte | | -| MX | MEX | 484 | Mexico | United Mexican States | -| FM | FSM | 583 | Micronesia, Federated States of | Federated States of Micronesia | -| MD | MDA | 498 | Moldova, Republic of | Republic of Moldova | -| MC | MCO | 492 | Monaco | Principality of Monaco | -| MN | MNG | 496 | Mongolia | | -| ME | MNE | 499 | Montenegro | Montenegro | -| MS | MSR | 500 | Montserrat | | -| MA | MAR | 504 | Morocco | Kingdom of Morocco | -| MZ | MOZ | 508 | Mozambique | Republic of Mozambique | -| MM | MMR | 104 | Myanmar | Republic of Myanmar | -| NA | NAM | 516 | Namibia | Republic of Namibia | -| NR | NRU | 520 | Nauru | Republic of Nauru | -| NP | NPL | 524 | Nepal | Federal Democratic Republic of Nepal | -| NL | NLD | 528 | Netherlands | Kingdom of the Netherlands | -| NC | NCL | 540 | New Caledonia | | -| NZ | NZL | 554 | New Zealand | | -| NI | NIC | 558 | Nicaragua | Republic of Nicaragua | -| NE | NER | 562 | Niger | Republic of the Niger | -| NG | NGA | 566 | Nigeria | Federal Republic of Nigeria | -| NU | NIU | 570 | Niue | Niue | -| NF | NFK | 574 | Norfolk Island | | -| MK | MKD | 807 | North Macedonia | Republic of North Macedonia | -| MP | MNP | 580 | Northern Mariana Islands | Commonwealth of the Northern Mariana Islands | -| NO | NOR | 578 | Norway | Kingdom of Norway | -| OM | OMN | 512 | Oman | Sultanate of Oman | -| PK | PAK | 586 | Pakistan | Islamic Republic of Pakistan | -| PW | PLW | 585 | Palau | Republic of Palau | -| PS | PSE | 275 | Palestine, State of | the State of Palestine | -| PA | PAN | 591 | Panama | Republic of Panama | -| PG | PNG | 598 | Papua New Guinea | Independent State of Papua New Guinea | -| PY | PRY | 600 | Paraguay | Republic of Paraguay | -| PE | PER | 604 | Peru | Republic of Peru | -| PH | PHL | 608 | Philippines | Republic of the Philippines | -| PN | PCN | 612 | Pitcairn | | -| PL | POL | 616 | Poland | Republic of Poland | -| PT | PRT | 620 | Portugal | Portuguese Republic | -| PR | PRI | 630 | Puerto Rico | | -| QA | QAT | 634 | Qatar | State of Qatar | -| RO | ROU | 642 | Romania | | -| RU | RUS | 643 | Russian Federation | | -| RW | RWA | 646 | Rwanda | Rwandese Republic | -| RE | REU | 638 | Rรฉunion | | -| BL | BLM | 652 | Saint Barthรฉlemy | | -| SH | SHN | 654 | Saint Helena, Ascension and Tristan da Cunha | | -| KN | KNA | 659 | Saint Kitts and Nevis | | -| LC | LCA | 662 | Saint Lucia | | -| MF | MAF | 663 | Saint Martin (French part) | | -| PM | SPM | 666 | Saint Pierre and Miquelon | | -| VC | VCT | 670 | Saint Vincent and the Grenadines | | -| WS | WSM | 882 | Samoa | Independent State of Samoa | -| SM | SMR | 674 | San Marino | Republic of San Marino | -| ST | STP | 678 | Sao Tome and Principe | Democratic Republic of Sao Tome and Principe | -| SA | SAU | 682 | Saudi Arabia | Kingdom of Saudi Arabia | -| SN | SEN | 686 | Senegal | Republic of Senegal | -| RS | SRB | 688 | Serbia | Republic of Serbia | -| SC | SYC | 690 | Seychelles | Republic of Seychelles | -| SL | SLE | 694 | Sierra Leone | Republic of Sierra Leone | -| SG | SGP | 702 | Singapore | Republic of Singapore | -| SX | SXM | 534 | Sint Maarten (Dutch part) | Sint Maarten (Dutch part) | -| SK | SVK | 703 | Slovakia | Slovak Republic | -| SI | SVN | 705 | Slovenia | Republic of Slovenia | -| SB | SLB | 090 | Solomon Islands | | -| SO | SOM | 706 | Somalia | Federal Republic of Somalia | -| ZA | ZAF | 710 | South Africa | Republic of South Africa | -| GS | SGS | 239 | South Georgia and the South Sandwich Islands | | -| SS | SSD | 728 | South Sudan | Republic of South Sudan | -| ES | ESP | 724 | Spain | Kingdom of Spain | -| LK | LKA | 144 | Sri Lanka | Democratic Socialist Republic of Sri Lanka | -| SD | SDN | 729 | Sudan | Republic of the Sudan | -| SR | SUR | 740 | Suriname | Republic of Suriname | -| SJ | SJM | 744 | Svalbard and Jan Mayen | | -| SE | SWE | 752 | Sweden | Kingdom of Sweden | -| CH | CHE | 756 | Switzerland | Swiss Confederation | -| SY | SYR | 760 | Syrian Arab Republic | | -| TW | TWN | 158 | Taiwan, Province of China | Taiwan, Province of China | -| TJ | TJK | 762 | Tajikistan | Republic of Tajikistan | -| TZ | TZA | 834 | Tanzania, United Republic of | United Republic of Tanzania | -| TH | THA | 764 | Thailand | Kingdom of Thailand | -| TL | TLS | 626 | Timor-Leste | Democratic Republic of Timor-Leste | -| TG | TGO | 768 | Togo | Togolese Republic | -| TK | TKL | 772 | Tokelau | | -| TO | TON | 776 | Tonga | Kingdom of Tonga | -| TT | TTO | 780 | Trinidad and Tobago | Republic of Trinidad and Tobago | -| TN | TUN | 788 | Tunisia | Republic of Tunisia | -| TM | TKM | 795 | Turkmenistan | | -| TC | TCA | 796 | Turks and Caicos Islands | | -| TV | TUV | 798 | Tuvalu | | -| TR | TUR | 792 | Tรผrkiye | Republic of Tรผrkiye | -| UG | UGA | 800 | Uganda | Republic of Uganda | -| UA | UKR | 804 | Ukraine | | -| AE | ARE | 784 | United Arab Emirates | | -| GB | GBR | 826 | United Kingdom | United Kingdom of Great Britain and Northern Ireland | -| US | USA | 840 | United States | United States of America | -| UM | UMI | 581 | United States Minor Outlying Islands | | -| UY | URY | 858 | Uruguay | Eastern Republic of Uruguay | -| UZ | UZB | 860 | Uzbekistan | Republic of Uzbekistan | -| VU | VUT | 548 | Vanuatu | Republic of Vanuatu | -| VE | VEN | 862 | Venezuela, Bolivarian Republic of | Bolivarian Republic of Venezuela | -| VN | VNM | 704 | Viet Nam | Socialist Republic of Viet Nam | -| VG | VGB | 092 | Virgin Islands, British | British Virgin Islands | -| VI | VIR | 850 | Virgin Islands, U.S. | Virgin Islands of the United States | -| WF | WLF | 876 | Wallis and Futuna | | -| EH | ESH | 732 | Western Sahara | | -| YE | YEM | 887 | Yemen | Republic of Yemen | -| ZM | ZMB | 894 | Zambia | Republic of Zambia | -| ZW | ZWE | 716 | Zimbabwe | Republic of Zimbabwe | -| AX | ALA | 248 | ร…land Islands | | - -Last updated at `01.12.2025`. +| Alpha-2 | Alpha-3 | Numeric (string) | Country Name | +|:-------:|:-------:|:-------:|:-------------:| +| AF | AFG | 004 | Afghanistan | +| AL | ALB | 008 | Albania | +| DZ | DZA | 012 | Algeria | +| AS | ASM | 016 | American Samoa | +| AD | AND | 020 | Andorra | +| AO | AGO | 024 | Angola | +| AI | AIA | 660 | Anguilla | +| AQ | ATA | 010 | Antarctica | +| AG | ATG | 028 | Antigua and Barbuda | +| AR | ARG | 032 | Argentina | +| AM | ARM | 051 | Armenia | +| AW | ABW | 533 | Aruba | +| AU | AUS | 036 | Australia | +| AT | AUT | 040 | Austria | +| AZ | AZE | 031 | Azerbaijan | +| BS | BHS | 044 | Bahamas | +| BH | BHR | 048 | Bahrain | +| BD | BGD | 050 | Bangladesh | +| BB | BRB | 052 | Barbados | +| BY | BLR | 112 | Belarus | +| BE | BEL | 056 | Belgium | +| BZ | BLZ | 084 | Belize | +| BJ | BEN | 204 | Benin | +| BM | BMU | 060 | Bermuda | +| BT | BTN | 064 | Bhutan | +| BO | BOL | 068 | Bolivia (Plurinational State of) | +| BQ | BES | 535 | Bonaire, Sint Eustatius and Saba | +| BA | BIH | 070 | Bosnia and Herzegovina | +| BW | BWA | 072 | Botswana | +| BV | BVT | 074 | Bouvet Island | +| BR | BRA | 076 | Brazil | +| IO | IOT | 086 | British Indian Ocean Territory | +| VG | VGB | 092 | British Virgin Islands | +| BN | BRN | 096 | Brunei Darussalam | +| BG | BGR | 100 | Bulgaria | +| BF | BFA | 854 | Burkina Faso | +| BI | BDI | 108 | Burundi | +| CV | CPV | 132 | Cabo Verde | +| KH | KHM | 116 | Cambodia | +| CM | CMR | 120 | Cameroon | +| CA | CAN | 124 | Canada | +| KY | CYM | 136 | Cayman Islands | +| CF | CAF | 140 | Central African Republic | +| TD | TCD | 148 | Chad | +| CL | CHL | 152 | Chile | +| CN | CHN | 156 | China | +| HK | HKG | 344 | China, Hong Kong Special Administrative Region | +| MO | MAC | 446 | China, Macao Special Administrative Region | +| CX | CXR | 162 | Christmas Island | +| CC | CCK | 166 | Cocos (Keeling) Islands | +| CO | COL | 170 | Colombia | +| KM | COM | 174 | Comoros | +| CG | COG | 178 | Congo | +| CK | COK | 184 | Cook Islands | +| CR | CRI | 188 | Costa Rica | +| HR | HRV | 191 | Croatia | +| CU | CUB | 192 | Cuba | +| CW | CUW | 531 | Curaรงao | +| CY | CYP | 196 | Cyprus | +| CZ | CZE | 203 | Czechia | +| CI | CIV | 384 | Cรดte dโ€™Ivoire | +| KP | PRK | 408 | Democratic People's Republic of Korea | +| CD | COD | 180 | Democratic Republic of the Congo | +| DK | DNK | 208 | Denmark | +| DJ | DJI | 262 | Djibouti | +| DM | DMA | 212 | Dominica | +| DO | DOM | 214 | Dominican Republic | +| EC | ECU | 218 | Ecuador | +| EG | EGY | 818 | Egypt | +| SV | SLV | 222 | El Salvador | +| GQ | GNQ | 226 | Equatorial Guinea | +| ER | ERI | 232 | Eritrea | +| EE | EST | 233 | Estonia | +| SZ | SWZ | 748 | Eswatini | +| ET | ETH | 231 | Ethiopia | +| FK | FLK | 238 | Falkland Islands (Malvinas) | +| FO | FRO | 234 | Faroe Islands | +| FJ | FJI | 242 | Fiji | +| FI | FIN | 246 | Finland | +| FR | FRA | 250 | France | +| GF | GUF | 254 | French Guiana | +| PF | PYF | 258 | French Polynesia | +| TF | ATF | 260 | French Southern Territories | +| GA | GAB | 266 | Gabon | +| GM | GMB | 270 | Gambia | +| GE | GEO | 268 | Georgia | +| DE | DEU | 276 | Germany | +| GH | GHA | 288 | Ghana | +| GI | GIB | 292 | Gibraltar | +| GR | GRC | 300 | Greece | +| GL | GRL | 304 | Greenland | +| GD | GRD | 308 | Grenada | +| GP | GLP | 312 | Guadeloupe | +| GU | GUM | 316 | Guam | +| GT | GTM | 320 | Guatemala | +| GG | GGY | 831 | Guernsey | +| GN | GIN | 324 | Guinea | +| GW | GNB | 624 | Guinea-Bissau | +| GY | GUY | 328 | Guyana | +| HT | HTI | 332 | Haiti | +| HM | HMD | 334 | Heard Island and McDonald Islands | +| VA | VAT | 336 | Holy See | +| HN | HND | 340 | Honduras | +| HU | HUN | 348 | Hungary | +| IS | ISL | 352 | Iceland | +| IN | IND | 356 | India | +| ID | IDN | 360 | Indonesia | +| IR | IRN | 364 | Iran (Islamic Republic of) | +| IQ | IRQ | 368 | Iraq | +| IE | IRL | 372 | Ireland | +| IM | IMN | 833 | Isle of Man | +| IL | ISR | 376 | Israel | +| IT | ITA | 380 | Italy | +| JM | JAM | 388 | Jamaica | +| JP | JPN | 392 | Japan | +| JE | JEY | 832 | Jersey | +| JO | JOR | 400 | Jordan | +| KZ | KAZ | 398 | Kazakhstan | +| KE | KEN | 404 | Kenya | +| KI | KIR | 296 | Kiribati | +| KW | KWT | 414 | Kuwait | +| KG | KGZ | 417 | Kyrgyzstan | +| LA | LAO | 418 | Lao People's Democratic Republic | +| LV | LVA | 428 | Latvia | +| LB | LBN | 422 | Lebanon | +| LS | LSO | 426 | Lesotho | +| LR | LBR | 430 | Liberia | +| LY | LBY | 434 | Libya | +| LI | LIE | 438 | Liechtenstein | +| LT | LTU | 440 | Lithuania | +| LU | LUX | 442 | Luxembourg | +| MG | MDG | 450 | Madagascar | +| MW | MWI | 454 | Malawi | +| MY | MYS | 458 | Malaysia | +| MV | MDV | 462 | Maldives | +| ML | MLI | 466 | Mali | +| MT | MLT | 470 | Malta | +| MH | MHL | 584 | Marshall Islands | +| MQ | MTQ | 474 | Martinique | +| MR | MRT | 478 | Mauritania | +| MU | MUS | 480 | Mauritius | +| YT | MYT | 175 | Mayotte | +| MX | MEX | 484 | Mexico | +| FM | FSM | 583 | Micronesia (Federated States of) | +| MC | MCO | 492 | Monaco | +| MN | MNG | 496 | Mongolia | +| ME | MNE | 499 | Montenegro | +| MS | MSR | 500 | Montserrat | +| MA | MAR | 504 | Morocco | +| MZ | MOZ | 508 | Mozambique | +| MM | MMR | 104 | Myanmar | +| NA | NAM | 516 | Namibia | +| NR | NRU | 520 | Nauru | +| NP | NPL | 524 | Nepal | +| NL | NLD | 528 | Netherlands (Kingdom of the) | +| NC | NCL | 540 | New Caledonia | +| NZ | NZL | 554 | New Zealand | +| NI | NIC | 558 | Nicaragua | +| NE | NER | 562 | Niger | +| NG | NGA | 566 | Nigeria | +| NU | NIU | 570 | Niue | +| NF | NFK | 574 | Norfolk Island | +| MK | MKD | 807 | North Macedonia | +| MP | MNP | 580 | Northern Mariana Islands | +| NO | NOR | 578 | Norway | +| OM | OMN | 512 | Oman | +| PK | PAK | 586 | Pakistan | +| PW | PLW | 585 | Palau | +| PA | PAN | 591 | Panama | +| PG | PNG | 598 | Papua New Guinea | +| PY | PRY | 600 | Paraguay | +| PE | PER | 604 | Peru | +| PH | PHL | 608 | Philippines | +| PN | PCN | 612 | Pitcairn | +| PL | POL | 616 | Poland | +| PT | PRT | 620 | Portugal | +| PR | PRI | 630 | Puerto Rico | +| QA | QAT | 634 | Qatar | +| KR | KOR | 410 | Republic of Korea | +| MD | MDA | 498 | Republic of Moldova | +| RO | ROU | 642 | Romania | +| RU | RUS | 643 | Russian Federation | +| RW | RWA | 646 | Rwanda | +| RE | REU | 638 | Rรฉunion | +| BL | BLM | 652 | Saint Barthรฉlemy | +| SH | SHN | 654 | Saint Helena | +| KN | KNA | 659 | Saint Kitts and Nevis | +| LC | LCA | 662 | Saint Lucia | +| MF | MAF | 663 | Saint Martin (French Part) | +| PM | SPM | 666 | Saint Pierre and Miquelon | +| VC | VCT | 670 | Saint Vincent and the Grenadines | +| WS | WSM | 882 | Samoa | +| SM | SMR | 674 | San Marino | +| ST | STP | 678 | Sao Tome and Principe | +| SA | SAU | 682 | Saudi Arabia | +| SN | SEN | 686 | Senegal | +| RS | SRB | 688 | Serbia | +| SC | SYC | 690 | Seychelles | +| SL | SLE | 694 | Sierra Leone | +| SG | SGP | 702 | Singapore | +| SX | SXM | 534 | Sint Maarten (Dutch part) | +| SK | SVK | 703 | Slovakia | +| SI | SVN | 705 | Slovenia | +| SB | SLB | 090 | Solomon Islands | +| SO | SOM | 706 | Somalia | +| ZA | ZAF | 710 | South Africa | +| GS | SGS | 239 | South Georgia and the South Sandwich Islands | +| SS | SSD | 728 | South Sudan | +| ES | ESP | 724 | Spain | +| LK | LKA | 144 | Sri Lanka | +| PS | PSE | 275 | State of Palestine | +| SD | SDN | 729 | Sudan | +| SR | SUR | 740 | Suriname | +| SJ | SJM | 744 | Svalbard and Jan Mayen Islands | +| SE | SWE | 752 | Sweden | +| CH | CHE | 756 | Switzerland | +| SY | SYR | 760 | Syrian Arab Republic | +| TJ | TJK | 762 | Tajikistan | +| TH | THA | 764 | Thailand | +| TL | TLS | 626 | Timor-Leste | +| TG | TGO | 768 | Togo | +| TK | TKL | 772 | Tokelau | +| TO | TON | 776 | Tonga | +| TT | TTO | 780 | Trinidad and Tobago | +| TN | TUN | 788 | Tunisia | +| TM | TKM | 795 | Turkmenistan | +| TC | TCA | 796 | Turks and Caicos Islands | +| TV | TUV | 798 | Tuvalu | +| TR | TUR | 792 | Tรผrkiye | +| UG | UGA | 800 | Uganda | +| UA | UKR | 804 | Ukraine | +| AE | ARE | 784 | United Arab Emirates | +| GB | GBR | 826 | United Kingdom of Great Britain and Northern Ireland | +| TZ | TZA | 834 | United Republic of Tanzania | +| UM | UMI | 581 | United States Minor Outlying Islands | +| VI | VIR | 850 | United States Virgin Islands | +| US | USA | 840 | United States of America | +| UY | URY | 858 | Uruguay | +| UZ | UZB | 860 | Uzbekistan | +| VU | VUT | 548 | Vanuatu | +| VE | VEN | 862 | Venezuela (Bolivarian Republic of) | +| VN | VNM | 704 | Viet Nam | +| WF | WLF | 876 | Wallis and Futuna Islands | +| EH | ESH | 732 | Western Sahara | +| YE | YEM | 887 | Yemen | +| ZM | ZMB | 894 | Zambia | +| ZW | ZWE | 716 | Zimbabwe | +| AX | ALA | 248 | ร…land Islands | + +Last updated at `25.12.2025`.
@@ -413,19 +411,17 @@ Last updated at `01.12.2025`. ### Generated Types - `CountryCode.TwoLetterCode` โ€“ Enum for Alpha-2 codes (e.g., `US`, `GB`). - `CountryCode.ThreeLetterCode` โ€“ Enum for Alpha-3 codes (e.g., `USA`, `GBR`). -- `Country` โ€“ Model containing `Name`, enums, string codes, and `NumericCode`. +- `Country` โ€“ Model containing `Name`, enums, string codes, `NumericCode` and `NumericCodeString`. --- ## License ### Code License -The source code of **HawkN.Iso.Countries** is licensed under the [MIT License](LICENSE). -You are free to use, modify, and distribute it in both open-source and commercial projects. +The source code of `HawkN.Iso.Countries` is licensed under the [MIT License](LICENSE). ### Data License -The country data used in this library is sourced from the [Debian iso-codes project](https://salsa.debian.org/iso-codes-team/iso-codes). -The data itself is licensed under **GNU LGPL v2.1**. See [DATA-LICENSE.txt](DATA-LICENSE.txt) for more details. +Country data (`ISO 3166-1` and `UN M49` numeric codes) is sourced from the [UN Statistics Division โ€“ M49 standard](https://unstats.un.org/unsd/methodology/m49/overview) --- @@ -452,5 +448,5 @@ If you want to contribute code, feel free to submit a Pull Request. ### References - [ISO 3166 Standard](https://www.iso.org/iso-3166-country-codes.html) -- [Debian Iso-Codes Team](https://salsa.debian.org/iso-codes-team/iso-codes/-/tree/main) +- [UN Statistics Division โ€“ M49 standard](https://unstats.un.org/unsd/methodology/m49/overview) - [GitHub Repository](https://github.com/HawkN113/HawkN.Iso.Countries) diff --git a/src/packages/HawkN.Iso.Countries.Generators/BaseIncrementalGenerator.cs b/src/packages/HawkN.Iso.Countries.Generators/BaseIncrementalGenerator.cs index 5991800..3eab6db 100644 --- a/src/packages/HawkN.Iso.Countries.Generators/BaseIncrementalGenerator.cs +++ b/src/packages/HawkN.Iso.Countries.Generators/BaseIncrementalGenerator.cs @@ -21,6 +21,7 @@ protected void AddStubIfErrors(SourceProductionContext spc, string hintName, str protected static string LoadResources(Assembly assembly) { + return ReadResource("HawkN.Iso.Countries.Generators.Content.un_m49.csv"); string ReadResource(string name) { using var stream = assembly.GetManifestResourceStream(name) @@ -28,7 +29,6 @@ string ReadResource(string name) using var reader = new StreamReader(stream, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false)); return reader.ReadToEnd(); } - return ReadResource("HawkN.Iso.Countries.Generators.Content.iso_3166-1.json"); } protected void GenerateSourceOutput(string content, SourceProductionContext spc) diff --git a/src/packages/HawkN.Iso.Countries.Generators/Constants.cs b/src/packages/HawkN.Iso.Countries.Generators/Constants.cs index 40508d2..bdfb070 100644 --- a/src/packages/HawkN.Iso.Countries.Generators/Constants.cs +++ b/src/packages/HawkN.Iso.Countries.Generators/Constants.cs @@ -8,8 +8,6 @@ internal static class Constants public const string GeneratorName = "HawkN.Iso.Countries.Generators source generator"; public static readonly string[] ExtendedSourceData = [ - "Data Source: iso-codes project (Debian Salsa)", - "License: GNU Lesser General Public License v2.1", - "Source URL: https://salsa.debian.org/iso-codes-team/iso-codes" + "Source URL: https://unstats.un.org/unsd/methodology/m49/overview" ]; } \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json b/src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json deleted file mode 100644 index ee48a43..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json +++ /dev/null @@ -1,1931 +0,0 @@ -{ - "3166-1": [ - { - "alpha_2": "AW", - "alpha_3": "ABW", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ผ", - "name": "Aruba", - "numeric": "533" - }, - { - "alpha_2": "AF", - "alpha_3": "AFG", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ซ", - "name": "Afghanistan", - "numeric": "004", - "official_name": "Islamic Republic of Afghanistan" - }, - { - "alpha_2": "AO", - "alpha_3": "AGO", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ด", - "name": "Angola", - "numeric": "024", - "official_name": "Republic of Angola" - }, - { - "alpha_2": "AI", - "alpha_3": "AIA", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฎ", - "name": "Anguilla", - "numeric": "660" - }, - { - "alpha_2": "AX", - "alpha_3": "ALA", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฝ", - "name": "ร…land Islands", - "numeric": "248" - }, - { - "alpha_2": "AL", - "alpha_3": "ALB", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฑ", - "name": "Albania", - "numeric": "008", - "official_name": "Republic of Albania" - }, - { - "alpha_2": "AD", - "alpha_3": "AND", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฉ", - "name": "Andorra", - "numeric": "020", - "official_name": "Principality of Andorra" - }, - { - "alpha_2": "AE", - "alpha_3": "ARE", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ช", - "name": "United Arab Emirates", - "numeric": "784" - }, - { - "alpha_2": "AR", - "alpha_3": "ARG", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ท", - "name": "Argentina", - "numeric": "032", - "official_name": "Argentine Republic" - }, - { - "alpha_2": "AM", - "alpha_3": "ARM", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฒ", - "name": "Armenia", - "numeric": "051", - "official_name": "Republic of Armenia" - }, - { - "alpha_2": "AS", - "alpha_3": "ASM", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ธ", - "name": "American Samoa", - "numeric": "016" - }, - { - "alpha_2": "AQ", - "alpha_3": "ATA", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ถ", - "name": "Antarctica", - "numeric": "010" - }, - { - "alpha_2": "TF", - "alpha_3": "ATF", - "flag": "๐Ÿ‡น๐Ÿ‡ซ", - "name": "French Southern Territories", - "numeric": "260" - }, - { - "alpha_2": "AG", - "alpha_3": "ATG", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฌ", - "name": "Antigua and Barbuda", - "numeric": "028" - }, - { - "alpha_2": "AU", - "alpha_3": "AUS", - "flag": "๐Ÿ‡ฆ๐Ÿ‡บ", - "name": "Australia", - "numeric": "036" - }, - { - "alpha_2": "AT", - "alpha_3": "AUT", - "flag": "๐Ÿ‡ฆ๐Ÿ‡น", - "name": "Austria", - "numeric": "040", - "official_name": "Republic of Austria" - }, - { - "alpha_2": "AZ", - "alpha_3": "AZE", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฟ", - "name": "Azerbaijan", - "numeric": "031", - "official_name": "Republic of Azerbaijan" - }, - { - "alpha_2": "BI", - "alpha_3": "BDI", - "flag": "๐Ÿ‡ง๐Ÿ‡ฎ", - "name": "Burundi", - "numeric": "108", - "official_name": "Republic of Burundi" - }, - { - "alpha_2": "BE", - "alpha_3": "BEL", - "flag": "๐Ÿ‡ง๐Ÿ‡ช", - "name": "Belgium", - "numeric": "056", - "official_name": "Kingdom of Belgium" - }, - { - "alpha_2": "BJ", - "alpha_3": "BEN", - "flag": "๐Ÿ‡ง๐Ÿ‡ฏ", - "name": "Benin", - "numeric": "204", - "official_name": "Republic of Benin" - }, - { - "alpha_2": "BQ", - "alpha_3": "BES", - "flag": "๐Ÿ‡ง๐Ÿ‡ถ", - "name": "Bonaire, Sint Eustatius and Saba", - "numeric": "535", - "official_name": "Bonaire, Sint Eustatius and Saba" - }, - { - "alpha_2": "BF", - "alpha_3": "BFA", - "flag": "๐Ÿ‡ง๐Ÿ‡ซ", - "name": "Burkina Faso", - "numeric": "854" - }, - { - "alpha_2": "BD", - "alpha_3": "BGD", - "flag": "๐Ÿ‡ง๐Ÿ‡ฉ", - "name": "Bangladesh", - "numeric": "050", - "official_name": "People's Republic of Bangladesh" - }, - { - "alpha_2": "BG", - "alpha_3": "BGR", - "flag": "๐Ÿ‡ง๐Ÿ‡ฌ", - "name": "Bulgaria", - "numeric": "100", - "official_name": "Republic of Bulgaria" - }, - { - "alpha_2": "BH", - "alpha_3": "BHR", - "flag": "๐Ÿ‡ง๐Ÿ‡ญ", - "name": "Bahrain", - "numeric": "048", - "official_name": "Kingdom of Bahrain" - }, - { - "alpha_2": "BS", - "alpha_3": "BHS", - "flag": "๐Ÿ‡ง๐Ÿ‡ธ", - "name": "Bahamas", - "numeric": "044", - "official_name": "Commonwealth of the Bahamas" - }, - { - "alpha_2": "BA", - "alpha_3": "BIH", - "flag": "๐Ÿ‡ง๐Ÿ‡ฆ", - "name": "Bosnia and Herzegovina", - "numeric": "070", - "official_name": "Republic of Bosnia and Herzegovina" - }, - { - "alpha_2": "BL", - "alpha_3": "BLM", - "flag": "๐Ÿ‡ง๐Ÿ‡ฑ", - "name": "Saint Barthรฉlemy", - "numeric": "652" - }, - { - "alpha_2": "BY", - "alpha_3": "BLR", - "flag": "๐Ÿ‡ง๐Ÿ‡พ", - "name": "Belarus", - "numeric": "112", - "official_name": "Republic of Belarus" - }, - { - "alpha_2": "BZ", - "alpha_3": "BLZ", - "flag": "๐Ÿ‡ง๐Ÿ‡ฟ", - "name": "Belize", - "numeric": "084" - }, - { - "alpha_2": "BM", - "alpha_3": "BMU", - "flag": "๐Ÿ‡ง๐Ÿ‡ฒ", - "name": "Bermuda", - "numeric": "060" - }, - { - "alpha_2": "BO", - "alpha_3": "BOL", - "common_name": "Bolivia", - "flag": "๐Ÿ‡ง๐Ÿ‡ด", - "name": "Bolivia, Plurinational State of", - "numeric": "068", - "official_name": "Plurinational State of Bolivia" - }, - { - "alpha_2": "BR", - "alpha_3": "BRA", - "flag": "๐Ÿ‡ง๐Ÿ‡ท", - "name": "Brazil", - "numeric": "076", - "official_name": "Federative Republic of Brazil" - }, - { - "alpha_2": "BB", - "alpha_3": "BRB", - "flag": "๐Ÿ‡ง๐Ÿ‡ง", - "name": "Barbados", - "numeric": "052" - }, - { - "alpha_2": "BN", - "alpha_3": "BRN", - "flag": "๐Ÿ‡ง๐Ÿ‡ณ", - "name": "Brunei Darussalam", - "numeric": "096" - }, - { - "alpha_2": "BT", - "alpha_3": "BTN", - "flag": "๐Ÿ‡ง๐Ÿ‡น", - "name": "Bhutan", - "numeric": "064", - "official_name": "Kingdom of Bhutan" - }, - { - "alpha_2": "BV", - "alpha_3": "BVT", - "flag": "๐Ÿ‡ง๐Ÿ‡ป", - "name": "Bouvet Island", - "numeric": "074" - }, - { - "alpha_2": "BW", - "alpha_3": "BWA", - "flag": "๐Ÿ‡ง๐Ÿ‡ผ", - "name": "Botswana", - "numeric": "072", - "official_name": "Republic of Botswana" - }, - { - "alpha_2": "CF", - "alpha_3": "CAF", - "flag": "๐Ÿ‡จ๐Ÿ‡ซ", - "name": "Central African Republic", - "numeric": "140" - }, - { - "alpha_2": "CA", - "alpha_3": "CAN", - "flag": "๐Ÿ‡จ๐Ÿ‡ฆ", - "name": "Canada", - "numeric": "124" - }, - { - "alpha_2": "CC", - "alpha_3": "CCK", - "flag": "๐Ÿ‡จ๐Ÿ‡จ", - "name": "Cocos (Keeling) Islands", - "numeric": "166" - }, - { - "alpha_2": "CH", - "alpha_3": "CHE", - "flag": "๐Ÿ‡จ๐Ÿ‡ญ", - "name": "Switzerland", - "numeric": "756", - "official_name": "Swiss Confederation" - }, - { - "alpha_2": "CL", - "alpha_3": "CHL", - "flag": "๐Ÿ‡จ๐Ÿ‡ฑ", - "name": "Chile", - "numeric": "152", - "official_name": "Republic of Chile" - }, - { - "alpha_2": "CN", - "alpha_3": "CHN", - "flag": "๐Ÿ‡จ๐Ÿ‡ณ", - "name": "China", - "numeric": "156", - "official_name": "People's Republic of China" - }, - { - "alpha_2": "CI", - "alpha_3": "CIV", - "flag": "๐Ÿ‡จ๐Ÿ‡ฎ", - "name": "Cรดte d'Ivoire", - "numeric": "384", - "official_name": "Republic of Cรดte d'Ivoire" - }, - { - "alpha_2": "CM", - "alpha_3": "CMR", - "flag": "๐Ÿ‡จ๐Ÿ‡ฒ", - "name": "Cameroon", - "numeric": "120", - "official_name": "Republic of Cameroon" - }, - { - "alpha_2": "CD", - "alpha_3": "COD", - "flag": "๐Ÿ‡จ๐Ÿ‡ฉ", - "name": "Congo, The Democratic Republic of the", - "numeric": "180" - }, - { - "alpha_2": "CG", - "alpha_3": "COG", - "flag": "๐Ÿ‡จ๐Ÿ‡ฌ", - "name": "Congo", - "numeric": "178", - "official_name": "Republic of the Congo" - }, - { - "alpha_2": "CK", - "alpha_3": "COK", - "flag": "๐Ÿ‡จ๐Ÿ‡ฐ", - "name": "Cook Islands", - "numeric": "184" - }, - { - "alpha_2": "CO", - "alpha_3": "COL", - "flag": "๐Ÿ‡จ๐Ÿ‡ด", - "name": "Colombia", - "numeric": "170", - "official_name": "Republic of Colombia" - }, - { - "alpha_2": "KM", - "alpha_3": "COM", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ฒ", - "name": "Comoros", - "numeric": "174", - "official_name": "Union of the Comoros" - }, - { - "alpha_2": "CV", - "alpha_3": "CPV", - "flag": "๐Ÿ‡จ๐Ÿ‡ป", - "name": "Cabo Verde", - "numeric": "132", - "official_name": "Republic of Cabo Verde" - }, - { - "alpha_2": "CR", - "alpha_3": "CRI", - "flag": "๐Ÿ‡จ๐Ÿ‡ท", - "name": "Costa Rica", - "numeric": "188", - "official_name": "Republic of Costa Rica" - }, - { - "alpha_2": "CU", - "alpha_3": "CUB", - "flag": "๐Ÿ‡จ๐Ÿ‡บ", - "name": "Cuba", - "numeric": "192", - "official_name": "Republic of Cuba" - }, - { - "alpha_2": "CW", - "alpha_3": "CUW", - "flag": "๐Ÿ‡จ๐Ÿ‡ผ", - "name": "Curaรงao", - "numeric": "531", - "official_name": "Curaรงao" - }, - { - "alpha_2": "CX", - "alpha_3": "CXR", - "flag": "๐Ÿ‡จ๐Ÿ‡ฝ", - "name": "Christmas Island", - "numeric": "162" - }, - { - "alpha_2": "KY", - "alpha_3": "CYM", - "flag": "๐Ÿ‡ฐ๐Ÿ‡พ", - "name": "Cayman Islands", - "numeric": "136" - }, - { - "alpha_2": "CY", - "alpha_3": "CYP", - "flag": "๐Ÿ‡จ๐Ÿ‡พ", - "name": "Cyprus", - "numeric": "196", - "official_name": "Republic of Cyprus" - }, - { - "alpha_2": "CZ", - "alpha_3": "CZE", - "flag": "๐Ÿ‡จ๐Ÿ‡ฟ", - "name": "Czechia", - "numeric": "203", - "official_name": "Czech Republic" - }, - { - "alpha_2": "DE", - "alpha_3": "DEU", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ช", - "name": "Germany", - "numeric": "276", - "official_name": "Federal Republic of Germany" - }, - { - "alpha_2": "DJ", - "alpha_3": "DJI", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ฏ", - "name": "Djibouti", - "numeric": "262", - "official_name": "Republic of Djibouti" - }, - { - "alpha_2": "DM", - "alpha_3": "DMA", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ฒ", - "name": "Dominica", - "numeric": "212", - "official_name": "Commonwealth of Dominica" - }, - { - "alpha_2": "DK", - "alpha_3": "DNK", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ฐ", - "name": "Denmark", - "numeric": "208", - "official_name": "Kingdom of Denmark" - }, - { - "alpha_2": "DO", - "alpha_3": "DOM", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ด", - "name": "Dominican Republic", - "numeric": "214" - }, - { - "alpha_2": "DZ", - "alpha_3": "DZA", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ฟ", - "name": "Algeria", - "numeric": "012", - "official_name": "People's Democratic Republic of Algeria" - }, - { - "alpha_2": "EC", - "alpha_3": "ECU", - "flag": "๐Ÿ‡ช๐Ÿ‡จ", - "name": "Ecuador", - "numeric": "218", - "official_name": "Republic of Ecuador" - }, - { - "alpha_2": "EG", - "alpha_3": "EGY", - "flag": "๐Ÿ‡ช๐Ÿ‡ฌ", - "name": "Egypt", - "numeric": "818", - "official_name": "Arab Republic of Egypt" - }, - { - "alpha_2": "ER", - "alpha_3": "ERI", - "flag": "๐Ÿ‡ช๐Ÿ‡ท", - "name": "Eritrea", - "numeric": "232", - "official_name": "the State of Eritrea" - }, - { - "alpha_2": "EH", - "alpha_3": "ESH", - "flag": "๐Ÿ‡ช๐Ÿ‡ญ", - "name": "Western Sahara", - "numeric": "732" - }, - { - "alpha_2": "ES", - "alpha_3": "ESP", - "flag": "๐Ÿ‡ช๐Ÿ‡ธ", - "name": "Spain", - "numeric": "724", - "official_name": "Kingdom of Spain" - }, - { - "alpha_2": "EE", - "alpha_3": "EST", - "flag": "๐Ÿ‡ช๐Ÿ‡ช", - "name": "Estonia", - "numeric": "233", - "official_name": "Republic of Estonia" - }, - { - "alpha_2": "ET", - "alpha_3": "ETH", - "flag": "๐Ÿ‡ช๐Ÿ‡น", - "name": "Ethiopia", - "numeric": "231", - "official_name": "Federal Democratic Republic of Ethiopia" - }, - { - "alpha_2": "FI", - "alpha_3": "FIN", - "flag": "๐Ÿ‡ซ๐Ÿ‡ฎ", - "name": "Finland", - "numeric": "246", - "official_name": "Republic of Finland" - }, - { - "alpha_2": "FJ", - "alpha_3": "FJI", - "flag": "๐Ÿ‡ซ๐Ÿ‡ฏ", - "name": "Fiji", - "numeric": "242", - "official_name": "Republic of Fiji" - }, - { - "alpha_2": "FK", - "alpha_3": "FLK", - "flag": "๐Ÿ‡ซ๐Ÿ‡ฐ", - "name": "Falkland Islands (Malvinas)", - "numeric": "238" - }, - { - "alpha_2": "FR", - "alpha_3": "FRA", - "flag": "๐Ÿ‡ซ๐Ÿ‡ท", - "name": "France", - "numeric": "250", - "official_name": "French Republic" - }, - { - "alpha_2": "FO", - "alpha_3": "FRO", - "flag": "๐Ÿ‡ซ๐Ÿ‡ด", - "name": "Faroe Islands", - "numeric": "234" - }, - { - "alpha_2": "FM", - "alpha_3": "FSM", - "flag": "๐Ÿ‡ซ๐Ÿ‡ฒ", - "name": "Micronesia, Federated States of", - "numeric": "583", - "official_name": "Federated States of Micronesia" - }, - { - "alpha_2": "GA", - "alpha_3": "GAB", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฆ", - "name": "Gabon", - "numeric": "266", - "official_name": "Gabonese Republic" - }, - { - "alpha_2": "GB", - "alpha_3": "GBR", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ง", - "name": "United Kingdom", - "numeric": "826", - "official_name": "United Kingdom of Great Britain and Northern Ireland" - }, - { - "alpha_2": "GE", - "alpha_3": "GEO", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ช", - "name": "Georgia", - "numeric": "268" - }, - { - "alpha_2": "GG", - "alpha_3": "GGY", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฌ", - "name": "Guernsey", - "numeric": "831" - }, - { - "alpha_2": "GH", - "alpha_3": "GHA", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ญ", - "name": "Ghana", - "numeric": "288", - "official_name": "Republic of Ghana" - }, - { - "alpha_2": "GI", - "alpha_3": "GIB", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฎ", - "name": "Gibraltar", - "numeric": "292" - }, - { - "alpha_2": "GN", - "alpha_3": "GIN", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ณ", - "name": "Guinea", - "numeric": "324", - "official_name": "Republic of Guinea" - }, - { - "alpha_2": "GP", - "alpha_3": "GLP", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ต", - "name": "Guadeloupe", - "numeric": "312" - }, - { - "alpha_2": "GM", - "alpha_3": "GMB", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฒ", - "name": "Gambia", - "numeric": "270", - "official_name": "Republic of the Gambia" - }, - { - "alpha_2": "GW", - "alpha_3": "GNB", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ผ", - "name": "Guinea-Bissau", - "numeric": "624", - "official_name": "Republic of Guinea-Bissau" - }, - { - "alpha_2": "GQ", - "alpha_3": "GNQ", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ถ", - "name": "Equatorial Guinea", - "numeric": "226", - "official_name": "Republic of Equatorial Guinea" - }, - { - "alpha_2": "GR", - "alpha_3": "GRC", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ท", - "name": "Greece", - "numeric": "300", - "official_name": "Hellenic Republic" - }, - { - "alpha_2": "GD", - "alpha_3": "GRD", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฉ", - "name": "Grenada", - "numeric": "308" - }, - { - "alpha_2": "GL", - "alpha_3": "GRL", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฑ", - "name": "Greenland", - "numeric": "304" - }, - { - "alpha_2": "GT", - "alpha_3": "GTM", - "flag": "๐Ÿ‡ฌ๐Ÿ‡น", - "name": "Guatemala", - "numeric": "320", - "official_name": "Republic of Guatemala" - }, - { - "alpha_2": "GF", - "alpha_3": "GUF", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ซ", - "name": "French Guiana", - "numeric": "254" - }, - { - "alpha_2": "GU", - "alpha_3": "GUM", - "flag": "๐Ÿ‡ฌ๐Ÿ‡บ", - "name": "Guam", - "numeric": "316" - }, - { - "alpha_2": "GY", - "alpha_3": "GUY", - "flag": "๐Ÿ‡ฌ๐Ÿ‡พ", - "name": "Guyana", - "numeric": "328", - "official_name": "Republic of Guyana" - }, - { - "alpha_2": "HK", - "alpha_3": "HKG", - "flag": "๐Ÿ‡ญ๐Ÿ‡ฐ", - "name": "Hong Kong", - "numeric": "344", - "official_name": "Hong Kong Special Administrative Region of China" - }, - { - "alpha_2": "HM", - "alpha_3": "HMD", - "flag": "๐Ÿ‡ญ๐Ÿ‡ฒ", - "name": "Heard Island and McDonald Islands", - "numeric": "334" - }, - { - "alpha_2": "HN", - "alpha_3": "HND", - "flag": "๐Ÿ‡ญ๐Ÿ‡ณ", - "name": "Honduras", - "numeric": "340", - "official_name": "Republic of Honduras" - }, - { - "alpha_2": "HR", - "alpha_3": "HRV", - "flag": "๐Ÿ‡ญ๐Ÿ‡ท", - "name": "Croatia", - "numeric": "191", - "official_name": "Republic of Croatia" - }, - { - "alpha_2": "HT", - "alpha_3": "HTI", - "flag": "๐Ÿ‡ญ๐Ÿ‡น", - "name": "Haiti", - "numeric": "332", - "official_name": "Republic of Haiti" - }, - { - "alpha_2": "HU", - "alpha_3": "HUN", - "flag": "๐Ÿ‡ญ๐Ÿ‡บ", - "name": "Hungary", - "numeric": "348", - "official_name": "Hungary" - }, - { - "alpha_2": "ID", - "alpha_3": "IDN", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ฉ", - "name": "Indonesia", - "numeric": "360", - "official_name": "Republic of Indonesia" - }, - { - "alpha_2": "IM", - "alpha_3": "IMN", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ฒ", - "name": "Isle of Man", - "numeric": "833" - }, - { - "alpha_2": "IN", - "alpha_3": "IND", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ณ", - "name": "India", - "numeric": "356", - "official_name": "Republic of India" - }, - { - "alpha_2": "IO", - "alpha_3": "IOT", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ด", - "name": "British Indian Ocean Territory", - "numeric": "086" - }, - { - "alpha_2": "IE", - "alpha_3": "IRL", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ช", - "name": "Ireland", - "numeric": "372" - }, - { - "alpha_2": "IR", - "alpha_3": "IRN", - "common_name": "Iran", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ท", - "name": "Iran, Islamic Republic of", - "numeric": "364", - "official_name": "Islamic Republic of Iran" - }, - { - "alpha_2": "IQ", - "alpha_3": "IRQ", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ถ", - "name": "Iraq", - "numeric": "368", - "official_name": "Republic of Iraq" - }, - { - "alpha_2": "IS", - "alpha_3": "ISL", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ธ", - "name": "Iceland", - "numeric": "352", - "official_name": "Republic of Iceland" - }, - { - "alpha_2": "IL", - "alpha_3": "ISR", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ฑ", - "name": "Israel", - "numeric": "376", - "official_name": "State of Israel" - }, - { - "alpha_2": "IT", - "alpha_3": "ITA", - "flag": "๐Ÿ‡ฎ๐Ÿ‡น", - "name": "Italy", - "numeric": "380", - "official_name": "Italian Republic" - }, - { - "alpha_2": "JM", - "alpha_3": "JAM", - "flag": "๐Ÿ‡ฏ๐Ÿ‡ฒ", - "name": "Jamaica", - "numeric": "388" - }, - { - "alpha_2": "JE", - "alpha_3": "JEY", - "flag": "๐Ÿ‡ฏ๐Ÿ‡ช", - "name": "Jersey", - "numeric": "832" - }, - { - "alpha_2": "JO", - "alpha_3": "JOR", - "flag": "๐Ÿ‡ฏ๐Ÿ‡ด", - "name": "Jordan", - "numeric": "400", - "official_name": "Hashemite Kingdom of Jordan" - }, - { - "alpha_2": "JP", - "alpha_3": "JPN", - "flag": "๐Ÿ‡ฏ๐Ÿ‡ต", - "name": "Japan", - "numeric": "392" - }, - { - "alpha_2": "KZ", - "alpha_3": "KAZ", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ฟ", - "name": "Kazakhstan", - "numeric": "398", - "official_name": "Republic of Kazakhstan" - }, - { - "alpha_2": "KE", - "alpha_3": "KEN", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ช", - "name": "Kenya", - "numeric": "404", - "official_name": "Republic of Kenya" - }, - { - "alpha_2": "KG", - "alpha_3": "KGZ", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ฌ", - "name": "Kyrgyzstan", - "numeric": "417", - "official_name": "Kyrgyz Republic" - }, - { - "alpha_2": "KH", - "alpha_3": "KHM", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ญ", - "name": "Cambodia", - "numeric": "116", - "official_name": "Kingdom of Cambodia" - }, - { - "alpha_2": "KI", - "alpha_3": "KIR", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ฎ", - "name": "Kiribati", - "numeric": "296", - "official_name": "Republic of Kiribati" - }, - { - "alpha_2": "KN", - "alpha_3": "KNA", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ณ", - "name": "Saint Kitts and Nevis", - "numeric": "659" - }, - { - "alpha_2": "KR", - "alpha_3": "KOR", - "common_name": "South Korea", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ท", - "name": "Korea, Republic of", - "numeric": "410" - }, - { - "alpha_2": "KW", - "alpha_3": "KWT", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ผ", - "name": "Kuwait", - "numeric": "414", - "official_name": "State of Kuwait" - }, - { - "alpha_2": "LA", - "alpha_3": "LAO", - "common_name": "Laos", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ฆ", - "name": "Lao People's Democratic Republic", - "numeric": "418" - }, - { - "alpha_2": "LB", - "alpha_3": "LBN", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ง", - "name": "Lebanon", - "numeric": "422", - "official_name": "Lebanese Republic" - }, - { - "alpha_2": "LR", - "alpha_3": "LBR", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ท", - "name": "Liberia", - "numeric": "430", - "official_name": "Republic of Liberia" - }, - { - "alpha_2": "LY", - "alpha_3": "LBY", - "flag": "๐Ÿ‡ฑ๐Ÿ‡พ", - "name": "Libya", - "numeric": "434", - "official_name": "Libya" - }, - { - "alpha_2": "LC", - "alpha_3": "LCA", - "flag": "๐Ÿ‡ฑ๐Ÿ‡จ", - "name": "Saint Lucia", - "numeric": "662" - }, - { - "alpha_2": "LI", - "alpha_3": "LIE", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ฎ", - "name": "Liechtenstein", - "numeric": "438", - "official_name": "Principality of Liechtenstein" - }, - { - "alpha_2": "LK", - "alpha_3": "LKA", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ฐ", - "name": "Sri Lanka", - "numeric": "144", - "official_name": "Democratic Socialist Republic of Sri Lanka" - }, - { - "alpha_2": "LS", - "alpha_3": "LSO", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ธ", - "name": "Lesotho", - "numeric": "426", - "official_name": "Kingdom of Lesotho" - }, - { - "alpha_2": "LT", - "alpha_3": "LTU", - "flag": "๐Ÿ‡ฑ๐Ÿ‡น", - "name": "Lithuania", - "numeric": "440", - "official_name": "Republic of Lithuania" - }, - { - "alpha_2": "LU", - "alpha_3": "LUX", - "flag": "๐Ÿ‡ฑ๐Ÿ‡บ", - "name": "Luxembourg", - "numeric": "442", - "official_name": "Grand Duchy of Luxembourg" - }, - { - "alpha_2": "LV", - "alpha_3": "LVA", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ป", - "name": "Latvia", - "numeric": "428", - "official_name": "Republic of Latvia" - }, - { - "alpha_2": "MO", - "alpha_3": "MAC", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ด", - "name": "Macao", - "numeric": "446", - "official_name": "Macao Special Administrative Region of China" - }, - { - "alpha_2": "MF", - "alpha_3": "MAF", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ซ", - "name": "Saint Martin (French part)", - "numeric": "663" - }, - { - "alpha_2": "MA", - "alpha_3": "MAR", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฆ", - "name": "Morocco", - "numeric": "504", - "official_name": "Kingdom of Morocco" - }, - { - "alpha_2": "MC", - "alpha_3": "MCO", - "flag": "๐Ÿ‡ฒ๐Ÿ‡จ", - "name": "Monaco", - "numeric": "492", - "official_name": "Principality of Monaco" - }, - { - "alpha_2": "MD", - "alpha_3": "MDA", - "common_name": "Moldova", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฉ", - "name": "Moldova, Republic of", - "numeric": "498", - "official_name": "Republic of Moldova" - }, - { - "alpha_2": "MG", - "alpha_3": "MDG", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฌ", - "name": "Madagascar", - "numeric": "450", - "official_name": "Republic of Madagascar" - }, - { - "alpha_2": "MV", - "alpha_3": "MDV", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ป", - "name": "Maldives", - "numeric": "462", - "official_name": "Republic of Maldives" - }, - { - "alpha_2": "MX", - "alpha_3": "MEX", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฝ", - "name": "Mexico", - "numeric": "484", - "official_name": "United Mexican States" - }, - { - "alpha_2": "MH", - "alpha_3": "MHL", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ญ", - "name": "Marshall Islands", - "numeric": "584", - "official_name": "Republic of the Marshall Islands" - }, - { - "alpha_2": "MK", - "alpha_3": "MKD", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฐ", - "name": "North Macedonia", - "numeric": "807", - "official_name": "Republic of North Macedonia" - }, - { - "alpha_2": "ML", - "alpha_3": "MLI", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฑ", - "name": "Mali", - "numeric": "466", - "official_name": "Republic of Mali" - }, - { - "alpha_2": "MT", - "alpha_3": "MLT", - "flag": "๐Ÿ‡ฒ๐Ÿ‡น", - "name": "Malta", - "numeric": "470", - "official_name": "Republic of Malta" - }, - { - "alpha_2": "MM", - "alpha_3": "MMR", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฒ", - "name": "Myanmar", - "numeric": "104", - "official_name": "Republic of Myanmar" - }, - { - "alpha_2": "ME", - "alpha_3": "MNE", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ช", - "name": "Montenegro", - "numeric": "499", - "official_name": "Montenegro" - }, - { - "alpha_2": "MN", - "alpha_3": "MNG", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ณ", - "name": "Mongolia", - "numeric": "496" - }, - { - "alpha_2": "MP", - "alpha_3": "MNP", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ต", - "name": "Northern Mariana Islands", - "numeric": "580", - "official_name": "Commonwealth of the Northern Mariana Islands" - }, - { - "alpha_2": "MZ", - "alpha_3": "MOZ", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฟ", - "name": "Mozambique", - "numeric": "508", - "official_name": "Republic of Mozambique" - }, - { - "alpha_2": "MR", - "alpha_3": "MRT", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ท", - "name": "Mauritania", - "numeric": "478", - "official_name": "Islamic Republic of Mauritania" - }, - { - "alpha_2": "MS", - "alpha_3": "MSR", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ธ", - "name": "Montserrat", - "numeric": "500" - }, - { - "alpha_2": "MQ", - "alpha_3": "MTQ", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ถ", - "name": "Martinique", - "numeric": "474" - }, - { - "alpha_2": "MU", - "alpha_3": "MUS", - "flag": "๐Ÿ‡ฒ๐Ÿ‡บ", - "name": "Mauritius", - "numeric": "480", - "official_name": "Republic of Mauritius" - }, - { - "alpha_2": "MW", - "alpha_3": "MWI", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ผ", - "name": "Malawi", - "numeric": "454", - "official_name": "Republic of Malawi" - }, - { - "alpha_2": "MY", - "alpha_3": "MYS", - "flag": "๐Ÿ‡ฒ๐Ÿ‡พ", - "name": "Malaysia", - "numeric": "458" - }, - { - "alpha_2": "YT", - "alpha_3": "MYT", - "flag": "๐Ÿ‡พ๐Ÿ‡น", - "name": "Mayotte", - "numeric": "175" - }, - { - "alpha_2": "NA", - "alpha_3": "NAM", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฆ", - "name": "Namibia", - "numeric": "516", - "official_name": "Republic of Namibia" - }, - { - "alpha_2": "NC", - "alpha_3": "NCL", - "flag": "๐Ÿ‡ณ๐Ÿ‡จ", - "name": "New Caledonia", - "numeric": "540" - }, - { - "alpha_2": "NE", - "alpha_3": "NER", - "flag": "๐Ÿ‡ณ๐Ÿ‡ช", - "name": "Niger", - "numeric": "562", - "official_name": "Republic of the Niger" - }, - { - "alpha_2": "NF", - "alpha_3": "NFK", - "flag": "๐Ÿ‡ณ๐Ÿ‡ซ", - "name": "Norfolk Island", - "numeric": "574" - }, - { - "alpha_2": "NG", - "alpha_3": "NGA", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฌ", - "name": "Nigeria", - "numeric": "566", - "official_name": "Federal Republic of Nigeria" - }, - { - "alpha_2": "NI", - "alpha_3": "NIC", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฎ", - "name": "Nicaragua", - "numeric": "558", - "official_name": "Republic of Nicaragua" - }, - { - "alpha_2": "NU", - "alpha_3": "NIU", - "flag": "๐Ÿ‡ณ๐Ÿ‡บ", - "name": "Niue", - "numeric": "570", - "official_name": "Niue" - }, - { - "alpha_2": "NL", - "alpha_3": "NLD", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฑ", - "name": "Netherlands", - "numeric": "528", - "official_name": "Kingdom of the Netherlands" - }, - { - "alpha_2": "NO", - "alpha_3": "NOR", - "flag": "๐Ÿ‡ณ๐Ÿ‡ด", - "name": "Norway", - "numeric": "578", - "official_name": "Kingdom of Norway" - }, - { - "alpha_2": "NP", - "alpha_3": "NPL", - "flag": "๐Ÿ‡ณ๐Ÿ‡ต", - "name": "Nepal", - "numeric": "524", - "official_name": "Federal Democratic Republic of Nepal" - }, - { - "alpha_2": "NR", - "alpha_3": "NRU", - "flag": "๐Ÿ‡ณ๐Ÿ‡ท", - "name": "Nauru", - "numeric": "520", - "official_name": "Republic of Nauru" - }, - { - "alpha_2": "NZ", - "alpha_3": "NZL", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฟ", - "name": "New Zealand", - "numeric": "554" - }, - { - "alpha_2": "OM", - "alpha_3": "OMN", - "flag": "๐Ÿ‡ด๐Ÿ‡ฒ", - "name": "Oman", - "numeric": "512", - "official_name": "Sultanate of Oman" - }, - { - "alpha_2": "PK", - "alpha_3": "PAK", - "flag": "๐Ÿ‡ต๐Ÿ‡ฐ", - "name": "Pakistan", - "numeric": "586", - "official_name": "Islamic Republic of Pakistan" - }, - { - "alpha_2": "PA", - "alpha_3": "PAN", - "flag": "๐Ÿ‡ต๐Ÿ‡ฆ", - "name": "Panama", - "numeric": "591", - "official_name": "Republic of Panama" - }, - { - "alpha_2": "PN", - "alpha_3": "PCN", - "flag": "๐Ÿ‡ต๐Ÿ‡ณ", - "name": "Pitcairn", - "numeric": "612" - }, - { - "alpha_2": "PE", - "alpha_3": "PER", - "flag": "๐Ÿ‡ต๐Ÿ‡ช", - "name": "Peru", - "numeric": "604", - "official_name": "Republic of Peru" - }, - { - "alpha_2": "PH", - "alpha_3": "PHL", - "flag": "๐Ÿ‡ต๐Ÿ‡ญ", - "name": "Philippines", - "numeric": "608", - "official_name": "Republic of the Philippines" - }, - { - "alpha_2": "PW", - "alpha_3": "PLW", - "flag": "๐Ÿ‡ต๐Ÿ‡ผ", - "name": "Palau", - "numeric": "585", - "official_name": "Republic of Palau" - }, - { - "alpha_2": "PG", - "alpha_3": "PNG", - "flag": "๐Ÿ‡ต๐Ÿ‡ฌ", - "name": "Papua New Guinea", - "numeric": "598", - "official_name": "Independent State of Papua New Guinea" - }, - { - "alpha_2": "PL", - "alpha_3": "POL", - "flag": "๐Ÿ‡ต๐Ÿ‡ฑ", - "name": "Poland", - "numeric": "616", - "official_name": "Republic of Poland" - }, - { - "alpha_2": "PR", - "alpha_3": "PRI", - "flag": "๐Ÿ‡ต๐Ÿ‡ท", - "name": "Puerto Rico", - "numeric": "630" - }, - { - "alpha_2": "KP", - "alpha_3": "PRK", - "common_name": "North Korea", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ต", - "name": "Korea, Democratic People's Republic of", - "numeric": "408", - "official_name": "Democratic People's Republic of Korea" - }, - { - "alpha_2": "PT", - "alpha_3": "PRT", - "flag": "๐Ÿ‡ต๐Ÿ‡น", - "name": "Portugal", - "numeric": "620", - "official_name": "Portuguese Republic" - }, - { - "alpha_2": "PY", - "alpha_3": "PRY", - "flag": "๐Ÿ‡ต๐Ÿ‡พ", - "name": "Paraguay", - "numeric": "600", - "official_name": "Republic of Paraguay" - }, - { - "alpha_2": "PS", - "alpha_3": "PSE", - "flag": "๐Ÿ‡ต๐Ÿ‡ธ", - "name": "Palestine, State of", - "numeric": "275", - "official_name": "the State of Palestine" - }, - { - "alpha_2": "PF", - "alpha_3": "PYF", - "flag": "๐Ÿ‡ต๐Ÿ‡ซ", - "name": "French Polynesia", - "numeric": "258" - }, - { - "alpha_2": "QA", - "alpha_3": "QAT", - "flag": "๐Ÿ‡ถ๐Ÿ‡ฆ", - "name": "Qatar", - "numeric": "634", - "official_name": "State of Qatar" - }, - { - "alpha_2": "RE", - "alpha_3": "REU", - "flag": "๐Ÿ‡ท๐Ÿ‡ช", - "name": "Rรฉunion", - "numeric": "638" - }, - { - "alpha_2": "RO", - "alpha_3": "ROU", - "flag": "๐Ÿ‡ท๐Ÿ‡ด", - "name": "Romania", - "numeric": "642" - }, - { - "alpha_2": "RU", - "alpha_3": "RUS", - "flag": "๐Ÿ‡ท๐Ÿ‡บ", - "name": "Russian Federation", - "numeric": "643" - }, - { - "alpha_2": "RW", - "alpha_3": "RWA", - "flag": "๐Ÿ‡ท๐Ÿ‡ผ", - "name": "Rwanda", - "numeric": "646", - "official_name": "Rwandese Republic" - }, - { - "alpha_2": "SA", - "alpha_3": "SAU", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฆ", - "name": "Saudi Arabia", - "numeric": "682", - "official_name": "Kingdom of Saudi Arabia" - }, - { - "alpha_2": "SD", - "alpha_3": "SDN", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฉ", - "name": "Sudan", - "numeric": "729", - "official_name": "Republic of the Sudan" - }, - { - "alpha_2": "SN", - "alpha_3": "SEN", - "flag": "๐Ÿ‡ธ๐Ÿ‡ณ", - "name": "Senegal", - "numeric": "686", - "official_name": "Republic of Senegal" - }, - { - "alpha_2": "SG", - "alpha_3": "SGP", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฌ", - "name": "Singapore", - "numeric": "702", - "official_name": "Republic of Singapore" - }, - { - "alpha_2": "GS", - "alpha_3": "SGS", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ธ", - "name": "South Georgia and the South Sandwich Islands", - "numeric": "239" - }, - { - "alpha_2": "SH", - "alpha_3": "SHN", - "flag": "๐Ÿ‡ธ๐Ÿ‡ญ", - "name": "Saint Helena, Ascension and Tristan da Cunha", - "numeric": "654" - }, - { - "alpha_2": "SJ", - "alpha_3": "SJM", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฏ", - "name": "Svalbard and Jan Mayen", - "numeric": "744" - }, - { - "alpha_2": "SB", - "alpha_3": "SLB", - "flag": "๐Ÿ‡ธ๐Ÿ‡ง", - "name": "Solomon Islands", - "numeric": "090" - }, - { - "alpha_2": "SL", - "alpha_3": "SLE", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฑ", - "name": "Sierra Leone", - "numeric": "694", - "official_name": "Republic of Sierra Leone" - }, - { - "alpha_2": "SV", - "alpha_3": "SLV", - "flag": "๐Ÿ‡ธ๐Ÿ‡ป", - "name": "El Salvador", - "numeric": "222", - "official_name": "Republic of El Salvador" - }, - { - "alpha_2": "SM", - "alpha_3": "SMR", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฒ", - "name": "San Marino", - "numeric": "674", - "official_name": "Republic of San Marino" - }, - { - "alpha_2": "SO", - "alpha_3": "SOM", - "flag": "๐Ÿ‡ธ๐Ÿ‡ด", - "name": "Somalia", - "numeric": "706", - "official_name": "Federal Republic of Somalia" - }, - { - "alpha_2": "PM", - "alpha_3": "SPM", - "flag": "๐Ÿ‡ต๐Ÿ‡ฒ", - "name": "Saint Pierre and Miquelon", - "numeric": "666" - }, - { - "alpha_2": "RS", - "alpha_3": "SRB", - "flag": "๐Ÿ‡ท๐Ÿ‡ธ", - "name": "Serbia", - "numeric": "688", - "official_name": "Republic of Serbia" - }, - { - "alpha_2": "SS", - "alpha_3": "SSD", - "flag": "๐Ÿ‡ธ๐Ÿ‡ธ", - "name": "South Sudan", - "numeric": "728", - "official_name": "Republic of South Sudan" - }, - { - "alpha_2": "ST", - "alpha_3": "STP", - "flag": "๐Ÿ‡ธ๐Ÿ‡น", - "name": "Sao Tome and Principe", - "numeric": "678", - "official_name": "Democratic Republic of Sao Tome and Principe" - }, - { - "alpha_2": "SR", - "alpha_3": "SUR", - "flag": "๐Ÿ‡ธ๐Ÿ‡ท", - "name": "Suriname", - "numeric": "740", - "official_name": "Republic of Suriname" - }, - { - "alpha_2": "SK", - "alpha_3": "SVK", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฐ", - "name": "Slovakia", - "numeric": "703", - "official_name": "Slovak Republic" - }, - { - "alpha_2": "SI", - "alpha_3": "SVN", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฎ", - "name": "Slovenia", - "numeric": "705", - "official_name": "Republic of Slovenia" - }, - { - "alpha_2": "SE", - "alpha_3": "SWE", - "flag": "๐Ÿ‡ธ๐Ÿ‡ช", - "name": "Sweden", - "numeric": "752", - "official_name": "Kingdom of Sweden" - }, - { - "alpha_2": "SZ", - "alpha_3": "SWZ", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฟ", - "name": "Eswatini", - "numeric": "748", - "official_name": "Kingdom of Eswatini" - }, - { - "alpha_2": "SX", - "alpha_3": "SXM", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฝ", - "name": "Sint Maarten (Dutch part)", - "numeric": "534", - "official_name": "Sint Maarten (Dutch part)" - }, - { - "alpha_2": "SC", - "alpha_3": "SYC", - "flag": "๐Ÿ‡ธ๐Ÿ‡จ", - "name": "Seychelles", - "numeric": "690", - "official_name": "Republic of Seychelles" - }, - { - "alpha_2": "SY", - "alpha_3": "SYR", - "common_name": "Syria", - "flag": "๐Ÿ‡ธ๐Ÿ‡พ", - "name": "Syrian Arab Republic", - "numeric": "760" - }, - { - "alpha_2": "TC", - "alpha_3": "TCA", - "flag": "๐Ÿ‡น๐Ÿ‡จ", - "name": "Turks and Caicos Islands", - "numeric": "796" - }, - { - "alpha_2": "TD", - "alpha_3": "TCD", - "flag": "๐Ÿ‡น๐Ÿ‡ฉ", - "name": "Chad", - "numeric": "148", - "official_name": "Republic of Chad" - }, - { - "alpha_2": "TG", - "alpha_3": "TGO", - "flag": "๐Ÿ‡น๐Ÿ‡ฌ", - "name": "Togo", - "numeric": "768", - "official_name": "Togolese Republic" - }, - { - "alpha_2": "TH", - "alpha_3": "THA", - "flag": "๐Ÿ‡น๐Ÿ‡ญ", - "name": "Thailand", - "numeric": "764", - "official_name": "Kingdom of Thailand" - }, - { - "alpha_2": "TJ", - "alpha_3": "TJK", - "flag": "๐Ÿ‡น๐Ÿ‡ฏ", - "name": "Tajikistan", - "numeric": "762", - "official_name": "Republic of Tajikistan" - }, - { - "alpha_2": "TK", - "alpha_3": "TKL", - "flag": "๐Ÿ‡น๐Ÿ‡ฐ", - "name": "Tokelau", - "numeric": "772" - }, - { - "alpha_2": "TM", - "alpha_3": "TKM", - "flag": "๐Ÿ‡น๐Ÿ‡ฒ", - "name": "Turkmenistan", - "numeric": "795" - }, - { - "alpha_2": "TL", - "alpha_3": "TLS", - "flag": "๐Ÿ‡น๐Ÿ‡ฑ", - "name": "Timor-Leste", - "numeric": "626", - "official_name": "Democratic Republic of Timor-Leste" - }, - { - "alpha_2": "TO", - "alpha_3": "TON", - "flag": "๐Ÿ‡น๐Ÿ‡ด", - "name": "Tonga", - "numeric": "776", - "official_name": "Kingdom of Tonga" - }, - { - "alpha_2": "TT", - "alpha_3": "TTO", - "flag": "๐Ÿ‡น๐Ÿ‡น", - "name": "Trinidad and Tobago", - "numeric": "780", - "official_name": "Republic of Trinidad and Tobago" - }, - { - "alpha_2": "TN", - "alpha_3": "TUN", - "flag": "๐Ÿ‡น๐Ÿ‡ณ", - "name": "Tunisia", - "numeric": "788", - "official_name": "Republic of Tunisia" - }, - { - "alpha_2": "TR", - "alpha_3": "TUR", - "flag": "๐Ÿ‡น๐Ÿ‡ท", - "name": "Tรผrkiye", - "numeric": "792", - "official_name": "Republic of Tรผrkiye" - }, - { - "alpha_2": "TV", - "alpha_3": "TUV", - "flag": "๐Ÿ‡น๐Ÿ‡ป", - "name": "Tuvalu", - "numeric": "798" - }, - { - "alpha_2": "TW", - "alpha_3": "TWN", - "common_name": "Taiwan", - "flag": "๐Ÿ‡น๐Ÿ‡ผ", - "name": "Taiwan, Province of China", - "numeric": "158", - "official_name": "Taiwan, Province of China" - }, - { - "alpha_2": "TZ", - "alpha_3": "TZA", - "common_name": "Tanzania", - "flag": "๐Ÿ‡น๐Ÿ‡ฟ", - "name": "Tanzania, United Republic of", - "numeric": "834", - "official_name": "United Republic of Tanzania" - }, - { - "alpha_2": "UG", - "alpha_3": "UGA", - "flag": "๐Ÿ‡บ๐Ÿ‡ฌ", - "name": "Uganda", - "numeric": "800", - "official_name": "Republic of Uganda" - }, - { - "alpha_2": "UA", - "alpha_3": "UKR", - "flag": "๐Ÿ‡บ๐Ÿ‡ฆ", - "name": "Ukraine", - "numeric": "804" - }, - { - "alpha_2": "UM", - "alpha_3": "UMI", - "flag": "๐Ÿ‡บ๐Ÿ‡ฒ", - "name": "United States Minor Outlying Islands", - "numeric": "581" - }, - { - "alpha_2": "UY", - "alpha_3": "URY", - "flag": "๐Ÿ‡บ๐Ÿ‡พ", - "name": "Uruguay", - "numeric": "858", - "official_name": "Eastern Republic of Uruguay" - }, - { - "alpha_2": "US", - "alpha_3": "USA", - "flag": "๐Ÿ‡บ๐Ÿ‡ธ", - "name": "United States", - "numeric": "840", - "official_name": "United States of America" - }, - { - "alpha_2": "UZ", - "alpha_3": "UZB", - "flag": "๐Ÿ‡บ๐Ÿ‡ฟ", - "name": "Uzbekistan", - "numeric": "860", - "official_name": "Republic of Uzbekistan" - }, - { - "alpha_2": "VA", - "alpha_3": "VAT", - "flag": "๐Ÿ‡ป๐Ÿ‡ฆ", - "name": "Holy See (Vatican City State)", - "numeric": "336" - }, - { - "alpha_2": "VC", - "alpha_3": "VCT", - "flag": "๐Ÿ‡ป๐Ÿ‡จ", - "name": "Saint Vincent and the Grenadines", - "numeric": "670" - }, - { - "alpha_2": "VE", - "alpha_3": "VEN", - "common_name": "Venezuela", - "flag": "๐Ÿ‡ป๐Ÿ‡ช", - "name": "Venezuela, Bolivarian Republic of", - "numeric": "862", - "official_name": "Bolivarian Republic of Venezuela" - }, - { - "alpha_2": "VG", - "alpha_3": "VGB", - "flag": "๐Ÿ‡ป๐Ÿ‡ฌ", - "name": "Virgin Islands, British", - "numeric": "092", - "official_name": "British Virgin Islands" - }, - { - "alpha_2": "VI", - "alpha_3": "VIR", - "flag": "๐Ÿ‡ป๐Ÿ‡ฎ", - "name": "Virgin Islands, U.S.", - "numeric": "850", - "official_name": "Virgin Islands of the United States" - }, - { - "alpha_2": "VN", - "alpha_3": "VNM", - "common_name": "Vietnam", - "flag": "๐Ÿ‡ป๐Ÿ‡ณ", - "name": "Viet Nam", - "numeric": "704", - "official_name": "Socialist Republic of Viet Nam" - }, - { - "alpha_2": "VU", - "alpha_3": "VUT", - "flag": "๐Ÿ‡ป๐Ÿ‡บ", - "name": "Vanuatu", - "numeric": "548", - "official_name": "Republic of Vanuatu" - }, - { - "alpha_2": "WF", - "alpha_3": "WLF", - "flag": "๐Ÿ‡ผ๐Ÿ‡ซ", - "name": "Wallis and Futuna", - "numeric": "876" - }, - { - "alpha_2": "WS", - "alpha_3": "WSM", - "flag": "๐Ÿ‡ผ๐Ÿ‡ธ", - "name": "Samoa", - "numeric": "882", - "official_name": "Independent State of Samoa" - }, - { - "alpha_2": "YE", - "alpha_3": "YEM", - "flag": "๐Ÿ‡พ๐Ÿ‡ช", - "name": "Yemen", - "numeric": "887", - "official_name": "Republic of Yemen" - }, - { - "alpha_2": "ZA", - "alpha_3": "ZAF", - "flag": "๐Ÿ‡ฟ๐Ÿ‡ฆ", - "name": "South Africa", - "numeric": "710", - "official_name": "Republic of South Africa" - }, - { - "alpha_2": "ZM", - "alpha_3": "ZMB", - "flag": "๐Ÿ‡ฟ๐Ÿ‡ฒ", - "name": "Zambia", - "numeric": "894", - "official_name": "Republic of Zambia" - }, - { - "alpha_2": "ZW", - "alpha_3": "ZWE", - "flag": "๐Ÿ‡ฟ๐Ÿ‡ผ", - "name": "Zimbabwe", - "numeric": "716", - "official_name": "Republic of Zimbabwe" - } - ] -} diff --git a/src/packages/HawkN.Iso.Countries.Generators/Content/un_m49.csv b/src/packages/HawkN.Iso.Countries.Generators/Content/un_m49.csv new file mode 100644 index 0000000..ffbf083 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Content/un_m49.csv @@ -0,0 +1,249 @@ +๏ปฟGlobal Code;Global Name;Region Code;Region Name;Sub-region Code;Sub-region Name;Intermediate Region Code;Intermediate Region Name;Country or Area;M49 Code;ISO-alpha2 Code;ISO-alpha3 Code;Least Developed Countries (LDC);Land Locked Developing Countries (LLDC);Small Island Developing States (SIDS) +001;World;002;Africa;015;Northern Africa;;;Algeria;012;DZ;DZA;;; +001;World;002;Africa;015;Northern Africa;;;Egypt;818;EG;EGY;;; +001;World;002;Africa;015;Northern Africa;;;Libya;434;LY;LBY;;; +001;World;002;Africa;015;Northern Africa;;;Morocco;504;MA;MAR;;; +001;World;002;Africa;015;Northern Africa;;;Sudan;729;SD;SDN;x;; +001;World;002;Africa;015;Northern Africa;;;Tunisia;788;TN;TUN;;; +001;World;002;Africa;015;Northern Africa;;;Western Sahara;732;EH;ESH;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;British Indian Ocean Territory;086;IO;IOT;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Burundi;108;BI;BDI;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Comoros;174;KM;COM;x;;x +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Djibouti;262;DJ;DJI;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Eritrea;232;ER;ERI;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Ethiopia;231;ET;ETH;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;French Southern Territories;260;TF;ATF;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Kenya;404;KE;KEN;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Madagascar;450;MG;MDG;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Malawi;454;MW;MWI;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Mauritius;480;MU;MUS;;;x +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Mayotte;175;YT;MYT;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Mozambique;508;MZ;MOZ;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Rรฉunion;638;RE;REU;;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Rwanda;646;RW;RWA;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Seychelles;690;SC;SYC;;;x +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Somalia;706;SO;SOM;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;South Sudan;728;SS;SSD;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Uganda;800;UG;UGA;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;United Republic of Tanzania;834;TZ;TZA;x;; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Zambia;894;ZM;ZMB;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;014;Eastern Africa;Zimbabwe;716;ZW;ZWE;;x; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Angola;024;AO;AGO;x;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Cameroon;120;CM;CMR;;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Central African Republic;140;CF;CAF;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Chad;148;TD;TCD;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Congo;178;CG;COG;;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Democratic Republic of the Congo;180;CD;COD;x;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Equatorial Guinea;226;GQ;GNQ;;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Gabon;266;GA;GAB;;; +001;World;002;Africa;202;Sub-Saharan Africa;017;Middle Africa;Sao Tome and Principe;678;ST;STP;;;x +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;Botswana;072;BW;BWA;;x; +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;Eswatini;748;SZ;SWZ;;x; +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;Lesotho;426;LS;LSO;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;Namibia;516;NA;NAM;;; +001;World;002;Africa;202;Sub-Saharan Africa;018;Southern Africa;South Africa;710;ZA;ZAF;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Benin;204;BJ;BEN;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Burkina Faso;854;BF;BFA;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Cabo Verde;132;CV;CPV;;;x +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Cรดte dโ€™Ivoire;384;CI;CIV;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Gambia;270;GM;GMB;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Ghana;288;GH;GHA;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Guinea;324;GN;GIN;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Guinea-Bissau;624;GW;GNB;x;;x +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Liberia;430;LR;LBR;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Mali;466;ML;MLI;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Mauritania;478;MR;MRT;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Niger;562;NE;NER;x;x; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Nigeria;566;NG;NGA;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Saint Helena;654;SH;SHN;;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Senegal;686;SN;SEN;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Sierra Leone;694;SL;SLE;x;; +001;World;002;Africa;202;Sub-Saharan Africa;011;Western Africa;Togo;768;TG;TGO;x;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Anguilla;660;AI;AIA;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Antigua and Barbuda;028;AG;ATG;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Aruba;533;AW;ABW;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Bahamas;044;BS;BHS;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Barbados;052;BB;BRB;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Bonaire, Sint Eustatius and Saba;535;BQ;BES;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;British Virgin Islands;092;VG;VGB;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Cayman Islands;136;KY;CYM;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Cuba;192;CU;CUB;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Curaรงao;531;CW;CUW;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Dominica;212;DM;DMA;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Dominican Republic;214;DO;DOM;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Grenada;308;GD;GRD;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Guadeloupe;312;GP;GLP;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Haiti;332;HT;HTI;x;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Jamaica;388;JM;JAM;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Martinique;474;MQ;MTQ;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Montserrat;500;MS;MSR;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Puerto Rico;630;PR;PRI;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Barthรฉlemy;652;BL;BLM;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Kitts and Nevis;659;KN;KNA;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Lucia;662;LC;LCA;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Martin (French Part);663;MF;MAF;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Saint Vincent and the Grenadines;670;VC;VCT;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Sint Maarten (Dutch part);534;SX;SXM;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Trinidad and Tobago;780;TT;TTO;;;x +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;Turks and Caicos Islands;796;TC;TCA;;; +001;World;019;Americas;419;Latin America and the Caribbean;029;Caribbean;United States Virgin Islands;850;VI;VIR;;;x +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Belize;084;BZ;BLZ;;;x +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Costa Rica;188;CR;CRI;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;El Salvador;222;SV;SLV;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Guatemala;320;GT;GTM;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Honduras;340;HN;HND;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Mexico;484;MX;MEX;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Nicaragua;558;NI;NIC;;; +001;World;019;Americas;419;Latin America and the Caribbean;013;Central America;Panama;591;PA;PAN;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Argentina;032;AR;ARG;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Bolivia (Plurinational State of);068;BO;BOL;;x; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Bouvet Island;074;BV;BVT;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Brazil;076;BR;BRA;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Chile;152;CL;CHL;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Colombia;170;CO;COL;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Ecuador;218;EC;ECU;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Falkland Islands (Malvinas);238;FK;FLK;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;French Guiana;254;GF;GUF;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Guyana;328;GY;GUY;;;x +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Paraguay;600;PY;PRY;;x; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Peru;604;PE;PER;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;South Georgia and the South Sandwich Islands;239;GS;SGS;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Suriname;740;SR;SUR;;;x +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Uruguay;858;UY;URY;;; +001;World;019;Americas;419;Latin America and the Caribbean;005;South America;Venezuela (Bolivarian Republic of);862;VE;VEN;;; +001;World;019;Americas;021;Northern America;;;Bermuda;060;BM;BMU;;; +001;World;019;Americas;021;Northern America;;;Canada;124;CA;CAN;;; +001;World;019;Americas;021;Northern America;;;Greenland;304;GL;GRL;;; +001;World;019;Americas;021;Northern America;;;Saint Pierre and Miquelon;666;PM;SPM;;; +001;World;019;Americas;021;Northern America;;;United States of America;840;US;USA;;; +001;World;;;;;;;Antarctica;010;AQ;ATA;;; +001;World;142;Asia;143;Central Asia;;;Kazakhstan;398;KZ;KAZ;;x; +001;World;142;Asia;143;Central Asia;;;Kyrgyzstan;417;KG;KGZ;;x; +001;World;142;Asia;143;Central Asia;;;Tajikistan;762;TJ;TJK;;x; +001;World;142;Asia;143;Central Asia;;;Turkmenistan;795;TM;TKM;;x; +001;World;142;Asia;143;Central Asia;;;Uzbekistan;860;UZ;UZB;;x; +001;World;142;Asia;030;Eastern Asia;;;China;156;CN;CHN;;; +001;World;142;Asia;030;Eastern Asia;;;China, Hong Kong Special Administrative Region;344;HK;HKG;;; +001;World;142;Asia;030;Eastern Asia;;;China, Macao Special Administrative Region;446;MO;MAC;;; +001;World;142;Asia;030;Eastern Asia;;;Democratic People's Republic of Korea;408;KP;PRK;;; +001;World;142;Asia;030;Eastern Asia;;;Japan;392;JP;JPN;;; +001;World;142;Asia;030;Eastern Asia;;;Mongolia;496;MN;MNG;;x; +001;World;142;Asia;030;Eastern Asia;;;Republic of Korea;410;KR;KOR;;; +001;World;142;Asia;035;South-eastern Asia;;;Brunei Darussalam;096;BN;BRN;;; +001;World;142;Asia;035;South-eastern Asia;;;Cambodia;116;KH;KHM;x;; +001;World;142;Asia;035;South-eastern Asia;;;Indonesia;360;ID;IDN;;; +001;World;142;Asia;035;South-eastern Asia;;;Lao People's Democratic Republic;418;LA;LAO;x;x; +001;World;142;Asia;035;South-eastern Asia;;;Malaysia;458;MY;MYS;;; +001;World;142;Asia;035;South-eastern Asia;;;Myanmar;104;MM;MMR;x;; +001;World;142;Asia;035;South-eastern Asia;;;Philippines;608;PH;PHL;;; +001;World;142;Asia;035;South-eastern Asia;;;Singapore;702;SG;SGP;;;x +001;World;142;Asia;035;South-eastern Asia;;;Thailand;764;TH;THA;;; +001;World;142;Asia;035;South-eastern Asia;;;Timor-Leste;626;TL;TLS;x;;x +001;World;142;Asia;035;South-eastern Asia;;;Viet Nam;704;VN;VNM;;; +001;World;142;Asia;034;Southern Asia;;;Afghanistan;004;AF;AFG;x;x; +001;World;142;Asia;034;Southern Asia;;;Bangladesh;050;BD;BGD;x;; +001;World;142;Asia;034;Southern Asia;;;Bhutan;064;BT;BTN;;x; +001;World;142;Asia;034;Southern Asia;;;India;356;IN;IND;;; +001;World;142;Asia;034;Southern Asia;;;Iran (Islamic Republic of);364;IR;IRN;;; +001;World;142;Asia;034;Southern Asia;;;Maldives;462;MV;MDV;;;x +001;World;142;Asia;034;Southern Asia;;;Nepal;524;NP;NPL;x;x; +001;World;142;Asia;034;Southern Asia;;;Pakistan;586;PK;PAK;;; +001;World;142;Asia;034;Southern Asia;;;Sri Lanka;144;LK;LKA;;; +001;World;142;Asia;145;Western Asia;;;Armenia;051;AM;ARM;;x; +001;World;142;Asia;145;Western Asia;;;Azerbaijan;031;AZ;AZE;;x; +001;World;142;Asia;145;Western Asia;;;Bahrain;048;BH;BHR;;; +001;World;142;Asia;145;Western Asia;;;Cyprus;196;CY;CYP;;; +001;World;142;Asia;145;Western Asia;;;Georgia;268;GE;GEO;;; +001;World;142;Asia;145;Western Asia;;;Iraq;368;IQ;IRQ;;; +001;World;142;Asia;145;Western Asia;;;Israel;376;IL;ISR;;; +001;World;142;Asia;145;Western Asia;;;Jordan;400;JO;JOR;;; +001;World;142;Asia;145;Western Asia;;;Kuwait;414;KW;KWT;;; +001;World;142;Asia;145;Western Asia;;;Lebanon;422;LB;LBN;;; +001;World;142;Asia;145;Western Asia;;;Oman;512;OM;OMN;;; +001;World;142;Asia;145;Western Asia;;;Qatar;634;QA;QAT;;; +001;World;142;Asia;145;Western Asia;;;Saudi Arabia;682;SA;SAU;;; +001;World;142;Asia;145;Western Asia;;;State of Palestine;275;PS;PSE;;; +001;World;142;Asia;145;Western Asia;;;Syrian Arab Republic;760;SY;SYR;;; +001;World;142;Asia;145;Western Asia;;;Tรผrkiye;792;TR;TUR;;; +001;World;142;Asia;145;Western Asia;;;United Arab Emirates;784;AE;ARE;;; +001;World;142;Asia;145;Western Asia;;;Yemen;887;YE;YEM;x;; +001;World;150;Europe;151;Eastern Europe;;;Belarus;112;BY;BLR;;; +001;World;150;Europe;151;Eastern Europe;;;Bulgaria;100;BG;BGR;;; +001;World;150;Europe;151;Eastern Europe;;;Czechia;203;CZ;CZE;;; +001;World;150;Europe;151;Eastern Europe;;;Hungary;348;HU;HUN;;; +001;World;150;Europe;151;Eastern Europe;;;Poland;616;PL;POL;;; +001;World;150;Europe;151;Eastern Europe;;;Republic of Moldova;498;MD;MDA;;x; +001;World;150;Europe;151;Eastern Europe;;;Romania;642;RO;ROU;;; +001;World;150;Europe;151;Eastern Europe;;;Russian Federation;643;RU;RUS;;; +001;World;150;Europe;151;Eastern Europe;;;Slovakia;703;SK;SVK;;; +001;World;150;Europe;151;Eastern Europe;;;Ukraine;804;UA;UKR;;; +001;World;150;Europe;154;Northern Europe;;;ร…land Islands;248;AX;ALA;;; +001;World;150;Europe;154;Northern Europe;;;Denmark;208;DK;DNK;;; +001;World;150;Europe;154;Northern Europe;;;Estonia;233;EE;EST;;; +001;World;150;Europe;154;Northern Europe;;;Faroe Islands;234;FO;FRO;;; +001;World;150;Europe;154;Northern Europe;;;Finland;246;FI;FIN;;; +001;World;150;Europe;154;Northern Europe;;;Guernsey;831;GG;GGY;;; +001;World;150;Europe;154;Northern Europe;;;Iceland;352;IS;ISL;;; +001;World;150;Europe;154;Northern Europe;;;Ireland;372;IE;IRL;;; +001;World;150;Europe;154;Northern Europe;;;Isle of Man;833;IM;IMN;;; +001;World;150;Europe;154;Northern Europe;;;Jersey;832;JE;JEY;;; +001;World;150;Europe;154;Northern Europe;;;Latvia;428;LV;LVA;;; +001;World;150;Europe;154;Northern Europe;;;Lithuania;440;LT;LTU;;; +001;World;150;Europe;154;Northern Europe;;;Norway;578;NO;NOR;;; +001;World;150;Europe;154;Northern Europe;;;Svalbard and Jan Mayen Islands;744;SJ;SJM;;; +001;World;150;Europe;154;Northern Europe;;;Sweden;752;SE;SWE;;; +001;World;150;Europe;154;Northern Europe;;;United Kingdom of Great Britain and Northern Ireland;826;GB;GBR;;; +001;World;150;Europe;039;Southern Europe;;;Albania;008;AL;ALB;;; +001;World;150;Europe;039;Southern Europe;;;Andorra;020;AD;AND;;; +001;World;150;Europe;039;Southern Europe;;;Bosnia and Herzegovina;070;BA;BIH;;; +001;World;150;Europe;039;Southern Europe;;;Croatia;191;HR;HRV;;; +001;World;150;Europe;039;Southern Europe;;;Gibraltar;292;GI;GIB;;; +001;World;150;Europe;039;Southern Europe;;;Greece;300;GR;GRC;;; +001;World;150;Europe;039;Southern Europe;;;Holy See;336;VA;VAT;;; +001;World;150;Europe;039;Southern Europe;;;Italy;380;IT;ITA;;; +001;World;150;Europe;039;Southern Europe;;;Malta;470;MT;MLT;;; +001;World;150;Europe;039;Southern Europe;;;Montenegro;499;ME;MNE;;; +001;World;150;Europe;039;Southern Europe;;;North Macedonia;807;MK;MKD;;x; +001;World;150;Europe;039;Southern Europe;;;Portugal;620;PT;PRT;;; +001;World;150;Europe;039;Southern Europe;;;San Marino;674;SM;SMR;;; +001;World;150;Europe;039;Southern Europe;;;Serbia;688;RS;SRB;;; +001;World;150;Europe;039;Southern Europe;;;Slovenia;705;SI;SVN;;; +001;World;150;Europe;039;Southern Europe;;;Spain;724;ES;ESP;;; +001;World;150;Europe;155;Western Europe;;;Austria;040;AT;AUT;;; +001;World;150;Europe;155;Western Europe;;;Belgium;056;BE;BEL;;; +001;World;150;Europe;155;Western Europe;;;France;250;FR;FRA;;; +001;World;150;Europe;155;Western Europe;;;Germany;276;DE;DEU;;; +001;World;150;Europe;155;Western Europe;;;Liechtenstein;438;LI;LIE;;; +001;World;150;Europe;155;Western Europe;;;Luxembourg;442;LU;LUX;;; +001;World;150;Europe;155;Western Europe;;;Monaco;492;MC;MCO;;; +001;World;150;Europe;155;Western Europe;;;Netherlands (Kingdom of the);528;NL;NLD;;; +001;World;150;Europe;155;Western Europe;;;Switzerland;756;CH;CHE;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Australia;036;AU;AUS;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Christmas Island;162;CX;CXR;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Cocos (Keeling) Islands;166;CC;CCK;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Heard Island and McDonald Islands;334;HM;HMD;;; +001;World;009;Oceania;053;Australia and New Zealand;;;New Zealand;554;NZ;NZL;;; +001;World;009;Oceania;053;Australia and New Zealand;;;Norfolk Island;574;NF;NFK;;; +001;World;009;Oceania;054;Melanesia;;;Fiji;242;FJ;FJI;;;x +001;World;009;Oceania;054;Melanesia;;;New Caledonia;540;NC;NCL;;;x +001;World;009;Oceania;054;Melanesia;;;Papua New Guinea;598;PG;PNG;;;x +001;World;009;Oceania;054;Melanesia;;;Solomon Islands;090;SB;SLB;x;;x +001;World;009;Oceania;054;Melanesia;;;Vanuatu;548;VU;VUT;;;x +001;World;009;Oceania;057;Micronesia;;;Guam;316;GU;GUM;;;x +001;World;009;Oceania;057;Micronesia;;;Kiribati;296;KI;KIR;x;;x +001;World;009;Oceania;057;Micronesia;;;Marshall Islands;584;MH;MHL;;;x +001;World;009;Oceania;057;Micronesia;;;Micronesia (Federated States of);583;FM;FSM;;;x +001;World;009;Oceania;057;Micronesia;;;Nauru;520;NR;NRU;;;x +001;World;009;Oceania;057;Micronesia;;;Northern Mariana Islands;580;MP;MNP;;;x +001;World;009;Oceania;057;Micronesia;;;Palau;585;PW;PLW;;;x +001;World;009;Oceania;057;Micronesia;;;United States Minor Outlying Islands;581;UM;UMI;;; +001;World;009;Oceania;061;Polynesia;;;American Samoa;016;AS;ASM;;;x +001;World;009;Oceania;061;Polynesia;;;Cook Islands;184;CK;COK;;;x +001;World;009;Oceania;061;Polynesia;;;French Polynesia;258;PF;PYF;;;x +001;World;009;Oceania;061;Polynesia;;;Niue;570;NU;NIU;;;x +001;World;009;Oceania;061;Polynesia;;;Pitcairn;612;PN;PCN;;; +001;World;009;Oceania;061;Polynesia;;;Samoa;882;WS;WSM;;;x +001;World;009;Oceania;061;Polynesia;;;Tokelau;772;TK;TKL;;; +001;World;009;Oceania;061;Polynesia;;;Tonga;776;TO;TON;;;x +001;World;009;Oceania;061;Polynesia;;;Tuvalu;798;TV;TUV;x;;x +001;World;009;Oceania;061;Polynesia;;;Wallis and Futuna Islands;876;WF;WLF;;; \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/CountryCodeEnumsGenerator.cs b/src/packages/HawkN.Iso.Countries.Generators/CountryCodeEnumsGenerator.cs index 70211e0..052fc9f 100644 --- a/src/packages/HawkN.Iso.Countries.Generators/CountryCodeEnumsGenerator.cs +++ b/src/packages/HawkN.Iso.Countries.Generators/CountryCodeEnumsGenerator.cs @@ -82,7 +82,7 @@ static string ReadIsoResource(Compilation compilation, CancellationToken ct) return; } - var loader = new JsonCountryLoader(originalIsoData); + var loader = new CsvCountryLoader(originalIsoData); var sb = CreateSourceBuilder( Constants.GeneratorName, Constants.DefaultNamespace, @@ -132,7 +132,7 @@ private static bool HasResourceErrors(string originalCsv, out List messa private static void GenerateCountryEnumSection( StringBuilder sb, string propertyName, - List countryList, + List countryList, string summary, bool isThreeLetterCode) { @@ -147,7 +147,7 @@ private static void GenerateCountryEnumSection( .AppendLine(" {"); foreach (var c in countryList) { - var title = !string.IsNullOrEmpty(c.OfficialName) ? $"{c.Name} ({c.OfficialName})" : c.Name; + var title = c.Name; sb.AppendLine( " /// ") .AppendLine( diff --git a/src/packages/HawkN.Iso.Countries.Generators/Extensions/SpanExtensions.cs b/src/packages/HawkN.Iso.Countries.Generators/Extensions/SpanExtensions.cs new file mode 100644 index 0000000..3fcdedf --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Extensions/SpanExtensions.cs @@ -0,0 +1,14 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators.Extensions; + +internal static class SpanExtensions +{ + public static ReadOnlySpan TrimQuotes(this ReadOnlySpan span) + { + span = span.Trim(); + if (span.Length > 0 && span[0] == '"') + span = span.Slice(1); + if (span.Length > 0 && span[span.Length - 1] == '"') + span = span.Slice(0, span.Length - 1); + return span; + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Handlers/CsvCountryHandler.cs b/src/packages/HawkN.Iso.Countries.Generators/Handlers/CsvCountryHandler.cs new file mode 100644 index 0000000..a225b4a --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Handlers/CsvCountryHandler.cs @@ -0,0 +1,116 @@ +๏ปฟusing HawkN.Iso.Countries.Generators.Extensions; +namespace HawkN.Iso.Countries.Generators.Handlers; + +internal sealed class CsvCountryHandler(string csvContent) +{ + private const char Delimiter = ';'; + private const string HeaderCountryOrAreaName = "Country or Area"; + private const string HeaderM49CodeName = "M49 Code"; + private const string HeaderAlpha2CodeName = "ISO-alpha2 Code"; + private const string HeaderAlpha3CodeName = "ISO-alpha3 Code"; + + public IReadOnlyList LoadActualCountries() + { + var countries = new List(); + if (string.IsNullOrWhiteSpace(csvContent)) return countries; + + var span = csvContent.AsSpan(); + var headerEnd = span.IndexOf('\n'); + if (headerEnd < 0) return countries; + + var headerLine = span.Slice(0, headerEnd).TrimEnd('\r'); + var lineStart = headerEnd + 1; + + var indices = ParseHeader(headerLine, out int maxIndex); + + while (lineStart < span.Length) + { + var lineEnd = span.Slice(lineStart).IndexOf('\n'); + var lineSpan = lineEnd < 0 + ? span.Slice(lineStart).TrimEnd('\r') + : span.Slice(lineStart, lineEnd).TrimEnd('\r'); + + lineStart += lineEnd < 0 ? span.Length - lineStart : lineEnd + 1; + + if (TryParseCountryRow(lineSpan, indices, maxIndex, out var row)) + countries.Add(row); + } + + return countries; + } + + private static Dictionary ParseHeader(ReadOnlySpan headerLine, out int maxIndex) + { + var fields = ParseFields(headerLine); + var indices = new Dictionary + { + [HeaderCountryOrAreaName] = -1, + [HeaderM49CodeName] = -1, + [HeaderAlpha2CodeName] = -1, + [HeaderAlpha3CodeName] = -1 + }; + + for (var i = 0; i < fields.Length; i++) + { + var f = fields[i].TrimQuotes().ToString(); + switch (f.ToLowerInvariant()) + { + case var _ when f.Equals(HeaderCountryOrAreaName, StringComparison.OrdinalIgnoreCase): + indices[HeaderCountryOrAreaName] = i; break; + case var _ when f.Equals(HeaderM49CodeName, StringComparison.OrdinalIgnoreCase): + indices[HeaderM49CodeName] = i; break; + case var _ when f.Equals(HeaderAlpha2CodeName, StringComparison.OrdinalIgnoreCase): + indices[HeaderAlpha2CodeName] = i; break; + case var _ when f.Equals(HeaderAlpha3CodeName, StringComparison.OrdinalIgnoreCase): + indices[HeaderAlpha3CodeName] = i; break; + } + } + + if (indices.Values.Any(v => v < 0)) + throw new InvalidDataException("CSV missing required columns."); + + maxIndex = indices.Values.Max(); + return indices; + } + + private static bool TryParseCountryRow(ReadOnlySpan lineSpan, Dictionary indices, int maxIndex, out Models.CountryRow country) + { + country = null!; + var fields = ParseFields(lineSpan); + if (fields.Length <= maxIndex) return false; + + var name = fields[indices[HeaderCountryOrAreaName]].TrimQuotes().ToString().AsMemory(); + var alpha2 = fields[indices[HeaderAlpha2CodeName]].TrimQuotes().ToString().AsMemory(); + var alpha3 = fields[indices[HeaderAlpha3CodeName]].TrimQuotes().ToString().AsMemory(); + var numericSpan = fields[indices[HeaderM49CodeName]].TrimQuotes(); + + if (name.Length == 0 || alpha2.Length != 2 || alpha3.Length != 3 || !int.TryParse(numericSpan.ToString(), out var m49)) + return false; + + country = new Models.CountryRow(name, alpha2, alpha3, m49); + return true; + } + + private static string[] ParseFields(ReadOnlySpan line) + { + var result = new List(); + var start = 0; + var inQuotes = false; + + for (var i = 0; i <= line.Length; i++) + { + var end = i == line.Length || (line[i] == Delimiter && !inQuotes); + if (i < line.Length && line[i] == '"') inQuotes = !inQuotes; + + if (!end) continue; + + var field = line.Slice(start, i - start).TrimQuotes().ToString(); + result.Add(field); + + start = i + 1; + } + return result.ToArray(); + } +} + + diff --git a/src/packages/HawkN.Iso.Countries.Generators/Handlers/CsvCountryLoader.cs b/src/packages/HawkN.Iso.Countries.Generators/Handlers/CsvCountryLoader.cs new file mode 100644 index 0000000..387e826 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Handlers/CsvCountryLoader.cs @@ -0,0 +1,18 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators.Handlers; + +internal sealed class CsvCountryLoader +{ + private readonly List _actualCountries = []; + + public List ActualCountries => _actualCountries; + + public CsvCountryLoader(string actualCsv) + { + var actual = new CsvCountryHandler(actualCsv) + .LoadActualCountries() + .OrderBy(c => c.Name) + .ToList(); + + _actualCountries.AddRange(actual); + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs b/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs deleted file mode 100644 index c072310..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs +++ /dev/null @@ -1,41 +0,0 @@ -๏ปฟusing System.Text.Json; -using HawkN.Iso.Countries.Generators.Models; -namespace HawkN.Iso.Countries.Generators.Handlers; - -internal sealed class JsonCountryHandler(string jsonContent) -{ - public List LoadActualCountries() - { - var result = new List(); - - if (string.IsNullOrWhiteSpace(jsonContent)) - return result; - - try - { - var data = JsonSerializer.Deserialize(jsonContent); - - if (data?.Countries == null) - return result; - - result.AddRange(from entry in data.Countries - where IsValidEntry(entry) - select new Country(entry.Name.Trim(), entry.Alpha2.Trim().ToUpperInvariant(), - entry.Alpha3.Trim().ToUpperInvariant(), entry.Numeric.Trim(), entry.OfficialName?.Trim())); - } - catch (JsonException ex) - { - throw new InvalidDataException("Failed to parse ISO-3166 JSON data.", ex); - } - - return result; - } - - private static bool IsValidEntry(DebianCountryEntry entry) - { - return !string.IsNullOrWhiteSpace(entry.Name) && - !string.IsNullOrWhiteSpace(entry.Alpha2) && entry.Alpha2.Length == 2 && - !string.IsNullOrWhiteSpace(entry.Alpha3) && entry.Alpha3.Length == 3 && - !string.IsNullOrWhiteSpace(entry.Numeric); - } -} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs b/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs deleted file mode 100644 index dcceeb3..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs +++ /dev/null @@ -1,18 +0,0 @@ -๏ปฟnamespace HawkN.Iso.Countries.Generators.Handlers; - -internal sealed class JsonCountryLoader -{ - private readonly List _actualCountries = []; - - public List ActualCountries => _actualCountries; - - public JsonCountryLoader(string actualJson) - { - var actual = new JsonCountryHandler(actualJson) - .LoadActualCountries() - .OrderBy(c => c.Name) - .ToList(); - - _actualCountries.AddRange(actual); - } -} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj b/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj index 886ae34..a532ce2 100644 --- a/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj +++ b/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj @@ -20,10 +20,6 @@ true false false - - https://salsa.debian.org/iso-codes-team/iso-codes/-/raw/main/data/iso_3166-1.json - - $(ProjectDir)Content\iso_3166-1.json @@ -45,17 +41,9 @@ - - - Always + + + Always - - - - - - - - diff --git a/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs b/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs index 99bcadf..1185aef 100644 --- a/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs +++ b/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs @@ -68,7 +68,7 @@ static string ReadIsoResource(Compilation compilation, CancellationToken ct) return; } - var loader = new JsonCountryLoader(originalIsoData); + var loader = new CsvCountryLoader(originalIsoData); var sb = CreateSourceBuilder( Constants.GeneratorName, Constants.DefaultNamespace, @@ -115,17 +115,14 @@ private static bool HasResourceErrors(string originalCsv, out List messa return messages.Count > 0; } - private static void GenerateCountrySection(StringBuilder sb, string propertyName, List countryList) + private static void GenerateCountrySection(StringBuilder sb, string propertyName, List countryList) { sb.AppendLine( $" public static readonly ImmutableArray {propertyName} = ImmutableArray.Create(new Models.Country[]") .AppendLine(" {"); foreach (var c in countryList) { - sb.AppendLine( - !string.IsNullOrEmpty(c.OfficialName) - ? $" new(\"{c.Name}\", CountryCode.TwoLetterCode.{c.CodeAlpha2}, CountryCode.ThreeLetterCode.{c.CodeAlpha3}, \"{c.NumericCode}\",\"{c.OfficialName}\")," - : $" new(\"{c.Name}\", CountryCode.TwoLetterCode.{c.CodeAlpha2}, CountryCode.ThreeLetterCode.{c.CodeAlpha3}, \"{c.NumericCode}\", string.Empty),"); + sb.AppendLine($" new(\"{c.Name}\", CountryCode.TwoLetterCode.{c.CodeAlpha2}, CountryCode.ThreeLetterCode.{c.CodeAlpha3}, {c.NumericCode}),"); } sb.AppendLine(" });"); diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/Country.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/Country.cs deleted file mode 100644 index 0632ad9..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Models/Country.cs +++ /dev/null @@ -1,29 +0,0 @@ -๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; - -internal class Country(string name, string codeAlpha2, string codeAlpha3, string numericCode, string? officialName) -{ - /// - /// Country name (English) - /// - public string Name { get; } = name; - - /// - /// Country name (English) - /// - public string? OfficialName { get; } = officialName; - - /// - /// ISO 3166-1 Alpha-2 - /// - public string CodeAlpha2 { get; } = codeAlpha2; - - /// - /// 3166-1 Alpha-3 - /// - public string CodeAlpha3 { get; } = codeAlpha3; - - /// - /// ISO 3166-1 Numeric - /// - public string NumericCode { get; } = numericCode; -} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/CountryRow.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/CountryRow.cs new file mode 100644 index 0000000..80a46c6 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Models/CountryRow.cs @@ -0,0 +1,32 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; + +/// +/// Represents a single row from UN M49 CSV file. +/// Generator-only DTO. +/// +internal sealed class CountryRow( + ReadOnlyMemory name, + ReadOnlyMemory codeAlpha2, + ReadOnlyMemory codeAlpha3, + int numericCode) +{ + /// + /// Country name (English) + /// + public string Name { get; } = name.ToString(); + + /// + /// ISO 3166-1 Alpha-2 + /// + public string CodeAlpha2 { get; } = codeAlpha2.ToString(); + + /// + /// 3166-1 Alpha-3 + /// + public string CodeAlpha3 { get; } = codeAlpha3.ToString(); + + /// + /// ISO 3166-1 Numeric + /// + public int NumericCode { get; } = numericCode; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs deleted file mode 100644 index b81794a..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs +++ /dev/null @@ -1,19 +0,0 @@ -๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; - -internal class DebianCountryEntry -{ - [System.Text.Json.Serialization.JsonPropertyName("name")] - public string Name { get; set; } = string.Empty; - - [System.Text.Json.Serialization.JsonPropertyName("official_name")] - public string? OfficialName { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("alpha_2")] - public string Alpha2 { get; set; } = string.Empty; - - [System.Text.Json.Serialization.JsonPropertyName("alpha_3")] - public string Alpha3 { get; set; } = string.Empty; - - [System.Text.Json.Serialization.JsonPropertyName("numeric")] - public string Numeric { get; set; } = string.Empty; -} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs deleted file mode 100644 index ca71983..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs +++ /dev/null @@ -1,7 +0,0 @@ -๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; - -internal class DebianIsoJson -{ - [System.Text.Json.Serialization.JsonPropertyName("3166-1")] - public List Countries { get; set; } = []; -} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/README.md b/src/packages/HawkN.Iso.Countries.Generators/README.md index 076fafb..da6926f 100644 --- a/src/packages/HawkN.Iso.Countries.Generators/README.md +++ b/src/packages/HawkN.Iso.Countries.Generators/README.md @@ -1,31 +1,30 @@ ### Summary of Data Acquisition -The library automates the retrieval of standardized country data to ensure accuracy and compliance with the ISO 3166-1 standard. +The library uses standardized country data from the UN M49 standard. -* **Source URL**: Official Debian Salsa repository -* **Target Path**: Local project directory `Content\iso_3166-1.json` -* **Mechanism**: Integrated MSBuild task that executes before the build process to synchronize data +* **Source URL**: [UN M49 overview CSV](https://unstats.un.org/unsd/methodology/m49/overview/) +* **Target Path**: Local project directory `Content/un_m49.csv` +* **Mechanism**: Manual download: + 1. Open the UN M49 overview page. + 2. Download the CSV file. + 3. Save it in the project folder `Content/` as `un_m49.csv`. --- ### How to use source generator -The project uses `Incremental Source Generators` to maintain country codes and the local database. The process is now fully automated during the build. - -- **Automatic Generation**: The files `CountryCode.g.cs` and `LocalCountryDatabase.g.cs` are generated automatically during the project build. +- **Automatic Generation**: Files `CountryCode.g.cs` and `LocalCountryDatabase.g.cs` are generated automatically during build. - **Viewing Generated Files**: - 1. Open the solution in your IDE (Visual Studio / Rider). - 2. Navigate to `HawkN.Iso.Countries` -> `Dependencies` -> `Analyzers` -> `HawkN.Iso.Countries.Generators`. - 3. Here you can review the generated source code. + 1. Open the solution in Visual Studio / Rider. + 2. Navigate to `HawkN.Iso.Countries.Generators` -> `Content/` to see `un_m49.csv`. + 3. Generated files appear under `Analyzers / Generated Source`. -### How to update countries +--- -You no longer need to download the JSON file manually. The build system is configured to sync with the official source. +### How to update countries -- **Data Source**: The library uses the official ISO 3166-1 data from the Debian iso-codes repository. -- **Update Process**: - 1. During the build process, a pre-build task checks for the latest `iso_3166-1.json` from [Debian Salsa](https://salsa.debian.org/iso-codes-team/iso-codes/-/raw/main/data/iso_3166-1.json). - 2. If the file is missing or updated, it is automatically downloaded to the `Content/` folder in the Generators project. -- **Manual Trigger**: - - If you want to force a fresh update, delete the file `src/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json` and rebuild the solution. - - The build script will detect the missing file and download the latest version from the repository. \ No newline at end of file +- **Manual Update**: + 1. Download the latest UN M49 CSV from [UN M49 overview](https://unstats.un.org/unsd/methodology/m49/overview/). + 2. Replace the existing `Content/un_m49.csv` file. + 3. Rebuild the solution. + 4. Source Generator will parse the new CSV and regenerate the country classes. \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/Abstractions/ICountryCodeService.cs b/src/packages/HawkN.Iso.Countries/Abstractions/ICountryCodeService.cs index c4cf7da..5c9ac01 100644 --- a/src/packages/HawkN.Iso.Countries/Abstractions/ICountryCodeService.cs +++ b/src/packages/HawkN.Iso.Countries/Abstractions/ICountryCodeService.cs @@ -13,14 +13,14 @@ public interface ICountryCodeService /// /// The code string (e.g., "US", "USA", or "840"). Case-insensitive. /// A instance if found; otherwise, . - HawkN.Iso.Countries.Models.Country? FindByCode(string code); + Country? FindByCode(string code); /// /// Retrieves a country by its common name or official ISO 3166-1 name. /// /// The common or official name (e.g., "South Korea" or "Republic of Korea"). Case-insensitive. /// A instance if found; otherwise, . - HawkN.Iso.Countries.Models.Country? FindByName(string name); + Country? FindByName(string name); /// /// Performs a partial match search across common and official country names. @@ -28,28 +28,28 @@ public interface ICountryCodeService /// /// The search term (e.g., "United" or "Republic"). /// A collection of countries sorted by relevance (starts-with matches first). - IEnumerable SearchByName(string query); + IEnumerable SearchByName(string query); /// /// Gets a country using its strictly typed Alpha-2 enum. /// /// The enum value. /// The corresponding instance. - HawkN.Iso.Countries.Models.Country Get(CountryCode.TwoLetterCode code); + Country Get(CountryCode.TwoLetterCode code); /// /// Gets a country using its strictly typed Alpha-3 enum. /// /// The enum value. /// The corresponding instance. - HawkN.Iso.Countries.Models.Country Get(CountryCode.ThreeLetterCode code); + Country Get(CountryCode.ThreeLetterCode code); /// /// Gets a country using its Numeric integer code. /// /// The numeric code (e.g., 840 for USA). /// A instance if found; otherwise, . - HawkN.Iso.Countries.Models.Country? Get(int numericCode); + Country? Get(int numericCode); /// /// Safely attempts to retrieve a country by any ISO code. @@ -57,7 +57,7 @@ public interface ICountryCodeService /// The Alpha-2, Alpha-3, or Numeric code. /// When this method returns, contains the country data if the code exists; otherwise, null. /// if the country was found; otherwise, . - bool TryGet(string code, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country); + bool TryGet(string code, [NotNullWhen(true)] out Country? country); /// /// Validates a country code and returns a detailed result with the associated country data. @@ -65,7 +65,7 @@ public interface ICountryCodeService /// The code to validate. /// Contains the if validation succeeds. /// A indicating success or failure reasons. - ValidationResult ValidateByCode(string code, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country); + ValidationResult ValidateByCode(string code, [NotNullWhen(true)] out Country? country); /// /// Validates a country name (common or official) and returns a detailed result. @@ -73,11 +73,11 @@ public interface ICountryCodeService /// The name to validate. /// Contains the if validation succeeds. /// A indicating success or failure reasons. - ValidationResult ValidateByName(string name, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country); + ValidationResult ValidateByName(string name, [NotNullWhen(true)] out Country? country); /// /// Returns all officially assigned ISO 3166-1 countries. /// /// A read-only list of all active countries. - IReadOnlyList GetAll(); + IReadOnlyList GetAll(); } \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/CountryCode.cs b/src/packages/HawkN.Iso.Countries/CountryCode.cs index 930f78b..0c87888 100644 --- a/src/packages/HawkN.Iso.Countries/CountryCode.cs +++ b/src/packages/HawkN.Iso.Countries/CountryCode.cs @@ -1,8 +1,6 @@ ๏ปฟ// // This file was generated by HawkN.Iso.Countries.Generators source generator -// Data Source: iso-codes project (Debian Salsa) -// License: GNU Lesser General Public License v2.1 -// Source URL: https://salsa.debian.org/iso-codes-team/iso-codes +// Source URL: https://unstats.un.org/unsd/methodology/m49/overview // Do not modify this file manually. // #nullable enable @@ -20,7 +18,7 @@ public static class CountryCode public enum TwoLetterCode { /// - /// Afghanistan (Islamic Republic of Afghanistan) + /// Afghanistan /// AF, /// @@ -28,11 +26,11 @@ public enum TwoLetterCode /// AX, /// - /// Albania (Republic of Albania) + /// Albania /// AL, /// - /// Algeria (People's Democratic Republic of Algeria) + /// Algeria /// DZ, /// @@ -40,11 +38,11 @@ public enum TwoLetterCode /// AS, /// - /// Andorra (Principality of Andorra) + /// Andorra /// AD, /// - /// Angola (Republic of Angola) + /// Angola /// AO, /// @@ -60,11 +58,11 @@ public enum TwoLetterCode /// AG, /// - /// Argentina (Argentine Republic) + /// Argentina /// AR, /// - /// Armenia (Republic of Armenia) + /// Armenia /// AM, /// @@ -76,23 +74,23 @@ public enum TwoLetterCode /// AU, /// - /// Austria (Republic of Austria) + /// Austria /// AT, /// - /// Azerbaijan (Republic of Azerbaijan) + /// Azerbaijan /// AZ, /// - /// Bahamas (Commonwealth of the Bahamas) + /// Bahamas /// BS, /// - /// Bahrain (Kingdom of Bahrain) + /// Bahrain /// BH, /// - /// Bangladesh (People's Republic of Bangladesh) + /// Bangladesh /// BD, /// @@ -100,11 +98,11 @@ public enum TwoLetterCode /// BB, /// - /// Belarus (Republic of Belarus) + /// Belarus /// BY, /// - /// Belgium (Kingdom of Belgium) + /// Belgium /// BE, /// @@ -112,7 +110,7 @@ public enum TwoLetterCode /// BZ, /// - /// Benin (Republic of Benin) + /// Benin /// BJ, /// @@ -120,23 +118,23 @@ public enum TwoLetterCode /// BM, /// - /// Bhutan (Kingdom of Bhutan) + /// Bhutan /// BT, /// - /// Bolivia, Plurinational State of (Plurinational State of Bolivia) + /// Bolivia (Plurinational State of) /// BO, /// - /// Bonaire, Sint Eustatius and Saba (Bonaire, Sint Eustatius and Saba) + /// Bonaire, Sint Eustatius and Saba /// BQ, /// - /// Bosnia and Herzegovina (Republic of Bosnia and Herzegovina) + /// Bosnia and Herzegovina /// BA, /// - /// Botswana (Republic of Botswana) + /// Botswana /// BW, /// @@ -144,7 +142,7 @@ public enum TwoLetterCode /// BV, /// - /// Brazil (Federative Republic of Brazil) + /// Brazil /// BR, /// @@ -152,11 +150,15 @@ public enum TwoLetterCode /// IO, /// + /// British Virgin Islands + /// + VG, + /// /// Brunei Darussalam /// BN, /// - /// Bulgaria (Republic of Bulgaria) + /// Bulgaria /// BG, /// @@ -164,19 +166,19 @@ public enum TwoLetterCode /// BF, /// - /// Burundi (Republic of Burundi) + /// Burundi /// BI, /// - /// Cabo Verde (Republic of Cabo Verde) + /// Cabo Verde /// CV, /// - /// Cambodia (Kingdom of Cambodia) + /// Cambodia /// KH, /// - /// Cameroon (Republic of Cameroon) + /// Cameroon /// CM, /// @@ -192,18 +194,26 @@ public enum TwoLetterCode /// CF, /// - /// Chad (Republic of Chad) + /// Chad /// TD, /// - /// Chile (Republic of Chile) + /// Chile /// CL, /// - /// China (People's Republic of China) + /// China /// CN, /// + /// China, Hong Kong Special Administrative Region + /// + HK, + /// + /// China, Macao Special Administrative Region + /// + MO, + /// /// Christmas Island /// CX, @@ -212,63 +222,67 @@ public enum TwoLetterCode /// CC, /// - /// Colombia (Republic of Colombia) + /// Colombia /// CO, /// - /// Comoros (Union of the Comoros) + /// Comoros /// KM, /// - /// Congo (Republic of the Congo) + /// Congo /// CG, /// - /// Congo, The Democratic Republic of the - /// - CD, - /// /// Cook Islands /// CK, /// - /// Costa Rica (Republic of Costa Rica) + /// Costa Rica /// CR, /// - /// Cรดte d'Ivoire (Republic of Cรดte d'Ivoire) + /// Cรดte dโ€™Ivoire /// CI, /// - /// Croatia (Republic of Croatia) + /// Croatia /// HR, /// - /// Cuba (Republic of Cuba) + /// Cuba /// CU, /// - /// Curaรงao (Curaรงao) + /// Curaรงao /// CW, /// - /// Cyprus (Republic of Cyprus) + /// Cyprus /// CY, /// - /// Czechia (Czech Republic) + /// Czechia /// CZ, /// - /// Denmark (Kingdom of Denmark) + /// Democratic People's Republic of Korea + /// + KP, + /// + /// Democratic Republic of the Congo + /// + CD, + /// + /// Denmark /// DK, /// - /// Djibouti (Republic of Djibouti) + /// Djibouti /// DJ, /// - /// Dominica (Commonwealth of Dominica) + /// Dominica /// DM, /// @@ -276,35 +290,35 @@ public enum TwoLetterCode /// DO, /// - /// Ecuador (Republic of Ecuador) + /// Ecuador /// EC, /// - /// Egypt (Arab Republic of Egypt) + /// Egypt /// EG, /// - /// El Salvador (Republic of El Salvador) + /// El Salvador /// SV, /// - /// Equatorial Guinea (Republic of Equatorial Guinea) + /// Equatorial Guinea /// GQ, /// - /// Eritrea (the State of Eritrea) + /// Eritrea /// ER, /// - /// Estonia (Republic of Estonia) + /// Estonia /// EE, /// - /// Eswatini (Kingdom of Eswatini) + /// Eswatini /// SZ, /// - /// Ethiopia (Federal Democratic Republic of Ethiopia) + /// Ethiopia /// ET, /// @@ -316,15 +330,15 @@ public enum TwoLetterCode /// FO, /// - /// Fiji (Republic of Fiji) + /// Fiji /// FJ, /// - /// Finland (Republic of Finland) + /// Finland /// FI, /// - /// France (French Republic) + /// France /// FR, /// @@ -340,11 +354,11 @@ public enum TwoLetterCode /// TF, /// - /// Gabon (Gabonese Republic) + /// Gabon /// GA, /// - /// Gambia (Republic of the Gambia) + /// Gambia /// GM, /// @@ -352,11 +366,11 @@ public enum TwoLetterCode /// GE, /// - /// Germany (Federal Republic of Germany) + /// Germany /// DE, /// - /// Ghana (Republic of Ghana) + /// Ghana /// GH, /// @@ -364,7 +378,7 @@ public enum TwoLetterCode /// GI, /// - /// Greece (Hellenic Republic) + /// Greece /// GR, /// @@ -384,7 +398,7 @@ public enum TwoLetterCode /// GU, /// - /// Guatemala (Republic of Guatemala) + /// Guatemala /// GT, /// @@ -392,19 +406,19 @@ public enum TwoLetterCode /// GG, /// - /// Guinea (Republic of Guinea) + /// Guinea /// GN, /// - /// Guinea-Bissau (Republic of Guinea-Bissau) + /// Guinea-Bissau /// GW, /// - /// Guyana (Republic of Guyana) + /// Guyana /// GY, /// - /// Haiti (Republic of Haiti) + /// Haiti /// HT, /// @@ -412,39 +426,35 @@ public enum TwoLetterCode /// HM, /// - /// Holy See (Vatican City State) + /// Holy See /// VA, /// - /// Honduras (Republic of Honduras) + /// Honduras /// HN, /// - /// Hong Kong (Hong Kong Special Administrative Region of China) - /// - HK, - /// - /// Hungary (Hungary) + /// Hungary /// HU, /// - /// Iceland (Republic of Iceland) + /// Iceland /// IS, /// - /// India (Republic of India) + /// India /// IN, /// - /// Indonesia (Republic of Indonesia) + /// Indonesia /// ID, /// - /// Iran, Islamic Republic of (Islamic Republic of Iran) + /// Iran (Islamic Republic of) /// IR, /// - /// Iraq (Republic of Iraq) + /// Iraq /// IQ, /// @@ -456,11 +466,11 @@ public enum TwoLetterCode /// IM, /// - /// Israel (State of Israel) + /// Israel /// IL, /// - /// Italy (Italian Republic) + /// Italy /// IT, /// @@ -476,35 +486,27 @@ public enum TwoLetterCode /// JE, /// - /// Jordan (Hashemite Kingdom of Jordan) + /// Jordan /// JO, /// - /// Kazakhstan (Republic of Kazakhstan) + /// Kazakhstan /// KZ, /// - /// Kenya (Republic of Kenya) + /// Kenya /// KE, /// - /// Kiribati (Republic of Kiribati) + /// Kiribati /// KI, /// - /// Korea, Democratic People's Republic of (Democratic People's Republic of Korea) - /// - KP, - /// - /// Korea, Republic of - /// - KR, - /// - /// Kuwait (State of Kuwait) + /// Kuwait /// KW, /// - /// Kyrgyzstan (Kyrgyz Republic) + /// Kyrgyzstan /// KG, /// @@ -512,47 +514,43 @@ public enum TwoLetterCode /// LA, /// - /// Latvia (Republic of Latvia) + /// Latvia /// LV, /// - /// Lebanon (Lebanese Republic) + /// Lebanon /// LB, /// - /// Lesotho (Kingdom of Lesotho) + /// Lesotho /// LS, /// - /// Liberia (Republic of Liberia) + /// Liberia /// LR, /// - /// Libya (Libya) + /// Libya /// LY, /// - /// Liechtenstein (Principality of Liechtenstein) + /// Liechtenstein /// LI, /// - /// Lithuania (Republic of Lithuania) + /// Lithuania /// LT, /// - /// Luxembourg (Grand Duchy of Luxembourg) + /// Luxembourg /// LU, /// - /// Macao (Macao Special Administrative Region of China) - /// - MO, - /// - /// Madagascar (Republic of Madagascar) + /// Madagascar /// MG, /// - /// Malawi (Republic of Malawi) + /// Malawi /// MW, /// @@ -560,19 +558,19 @@ public enum TwoLetterCode /// MY, /// - /// Maldives (Republic of Maldives) + /// Maldives /// MV, /// - /// Mali (Republic of Mali) + /// Mali /// ML, /// - /// Malta (Republic of Malta) + /// Malta /// MT, /// - /// Marshall Islands (Republic of the Marshall Islands) + /// Marshall Islands /// MH, /// @@ -580,11 +578,11 @@ public enum TwoLetterCode /// MQ, /// - /// Mauritania (Islamic Republic of Mauritania) + /// Mauritania /// MR, /// - /// Mauritius (Republic of Mauritius) + /// Mauritius /// MU, /// @@ -592,19 +590,15 @@ public enum TwoLetterCode /// YT, /// - /// Mexico (United Mexican States) + /// Mexico /// MX, /// - /// Micronesia, Federated States of (Federated States of Micronesia) + /// Micronesia (Federated States of) /// FM, /// - /// Moldova, Republic of (Republic of Moldova) - /// - MD, - /// - /// Monaco (Principality of Monaco) + /// Monaco /// MC, /// @@ -612,7 +606,7 @@ public enum TwoLetterCode /// MN, /// - /// Montenegro (Montenegro) + /// Montenegro /// ME, /// @@ -620,31 +614,31 @@ public enum TwoLetterCode /// MS, /// - /// Morocco (Kingdom of Morocco) + /// Morocco /// MA, /// - /// Mozambique (Republic of Mozambique) + /// Mozambique /// MZ, /// - /// Myanmar (Republic of Myanmar) + /// Myanmar /// MM, /// - /// Namibia (Republic of Namibia) + /// Namibia /// NA, /// - /// Nauru (Republic of Nauru) + /// Nauru /// NR, /// - /// Nepal (Federal Democratic Republic of Nepal) + /// Nepal /// NP, /// - /// Netherlands (Kingdom of the Netherlands) + /// Netherlands (Kingdom of the) /// NL, /// @@ -656,19 +650,19 @@ public enum TwoLetterCode /// NZ, /// - /// Nicaragua (Republic of Nicaragua) + /// Nicaragua /// NI, /// - /// Niger (Republic of the Niger) + /// Niger /// NE, /// - /// Nigeria (Federal Republic of Nigeria) + /// Nigeria /// NG, /// - /// Niue (Niue) + /// Niue /// NU, /// @@ -676,51 +670,47 @@ public enum TwoLetterCode /// NF, /// - /// North Macedonia (Republic of North Macedonia) + /// North Macedonia /// MK, /// - /// Northern Mariana Islands (Commonwealth of the Northern Mariana Islands) + /// Northern Mariana Islands /// MP, /// - /// Norway (Kingdom of Norway) + /// Norway /// NO, /// - /// Oman (Sultanate of Oman) + /// Oman /// OM, /// - /// Pakistan (Islamic Republic of Pakistan) + /// Pakistan /// PK, /// - /// Palau (Republic of Palau) + /// Palau /// PW, /// - /// Palestine, State of (the State of Palestine) - /// - PS, - /// - /// Panama (Republic of Panama) + /// Panama /// PA, /// - /// Papua New Guinea (Independent State of Papua New Guinea) + /// Papua New Guinea /// PG, /// - /// Paraguay (Republic of Paraguay) + /// Paraguay /// PY, /// - /// Peru (Republic of Peru) + /// Peru /// PE, /// - /// Philippines (Republic of the Philippines) + /// Philippines /// PH, /// @@ -728,11 +718,11 @@ public enum TwoLetterCode /// PN, /// - /// Poland (Republic of Poland) + /// Poland /// PL, /// - /// Portugal (Portuguese Republic) + /// Portugal /// PT, /// @@ -740,10 +730,18 @@ public enum TwoLetterCode /// PR, /// - /// Qatar (State of Qatar) + /// Qatar /// QA, /// + /// Republic of Korea + /// + KR, + /// + /// Republic of Moldova + /// + MD, + /// /// Rรฉunion /// RE, @@ -756,7 +754,7 @@ public enum TwoLetterCode /// RU, /// - /// Rwanda (Rwandese Republic) + /// Rwanda /// RW, /// @@ -764,7 +762,7 @@ public enum TwoLetterCode /// BL, /// - /// Saint Helena, Ascension and Tristan da Cunha + /// Saint Helena /// SH, /// @@ -776,7 +774,7 @@ public enum TwoLetterCode /// LC, /// - /// Saint Martin (French part) + /// Saint Martin (French Part) /// MF, /// @@ -788,51 +786,51 @@ public enum TwoLetterCode /// VC, /// - /// Samoa (Independent State of Samoa) + /// Samoa /// WS, /// - /// San Marino (Republic of San Marino) + /// San Marino /// SM, /// - /// Sao Tome and Principe (Democratic Republic of Sao Tome and Principe) + /// Sao Tome and Principe /// ST, /// - /// Saudi Arabia (Kingdom of Saudi Arabia) + /// Saudi Arabia /// SA, /// - /// Senegal (Republic of Senegal) + /// Senegal /// SN, /// - /// Serbia (Republic of Serbia) + /// Serbia /// RS, /// - /// Seychelles (Republic of Seychelles) + /// Seychelles /// SC, /// - /// Sierra Leone (Republic of Sierra Leone) + /// Sierra Leone /// SL, /// - /// Singapore (Republic of Singapore) + /// Singapore /// SG, /// - /// Sint Maarten (Dutch part) (Sint Maarten (Dutch part)) + /// Sint Maarten (Dutch part) /// SX, /// - /// Slovakia (Slovak Republic) + /// Slovakia /// SK, /// - /// Slovenia (Republic of Slovenia) + /// Slovenia /// SI, /// @@ -840,11 +838,11 @@ public enum TwoLetterCode /// SB, /// - /// Somalia (Federal Republic of Somalia) + /// Somalia /// SO, /// - /// South Africa (Republic of South Africa) + /// South Africa /// ZA, /// @@ -852,35 +850,39 @@ public enum TwoLetterCode /// GS, /// - /// South Sudan (Republic of South Sudan) + /// South Sudan /// SS, /// - /// Spain (Kingdom of Spain) + /// Spain /// ES, /// - /// Sri Lanka (Democratic Socialist Republic of Sri Lanka) + /// Sri Lanka /// LK, /// - /// Sudan (Republic of the Sudan) + /// State of Palestine + /// + PS, + /// + /// Sudan /// SD, /// - /// Suriname (Republic of Suriname) + /// Suriname /// SR, /// - /// Svalbard and Jan Mayen + /// Svalbard and Jan Mayen Islands /// SJ, /// - /// Sweden (Kingdom of Sweden) + /// Sweden /// SE, /// - /// Switzerland (Swiss Confederation) + /// Switzerland /// CH, /// @@ -888,27 +890,19 @@ public enum TwoLetterCode /// SY, /// - /// Taiwan, Province of China (Taiwan, Province of China) - /// - TW, - /// - /// Tajikistan (Republic of Tajikistan) + /// Tajikistan /// TJ, /// - /// Tanzania, United Republic of (United Republic of Tanzania) - /// - TZ, - /// - /// Thailand (Kingdom of Thailand) + /// Thailand /// TH, /// - /// Timor-Leste (Democratic Republic of Timor-Leste) + /// Timor-Leste /// TL, /// - /// Togo (Togolese Republic) + /// Togo /// TG, /// @@ -916,19 +910,19 @@ public enum TwoLetterCode /// TK, /// - /// Tonga (Kingdom of Tonga) + /// Tonga /// TO, /// - /// Trinidad and Tobago (Republic of Trinidad and Tobago) + /// Trinidad and Tobago /// TT, /// - /// Tunisia (Republic of Tunisia) + /// Tunisia /// TN, /// - /// Tรผrkiye (Republic of Tรผrkiye) + /// Tรผrkiye /// TR, /// @@ -944,7 +938,7 @@ public enum TwoLetterCode /// TV, /// - /// Uganda (Republic of Uganda) + /// Uganda /// UG, /// @@ -956,47 +950,47 @@ public enum TwoLetterCode /// AE, /// - /// United Kingdom (United Kingdom of Great Britain and Northern Ireland) + /// United Kingdom of Great Britain and Northern Ireland /// GB, /// - /// United States (United States of America) + /// United Republic of Tanzania /// - US, + TZ, /// /// United States Minor Outlying Islands /// UM, /// - /// Uruguay (Eastern Republic of Uruguay) + /// United States of America + /// + US, + /// + /// United States Virgin Islands + /// + VI, + /// + /// Uruguay /// UY, /// - /// Uzbekistan (Republic of Uzbekistan) + /// Uzbekistan /// UZ, /// - /// Vanuatu (Republic of Vanuatu) + /// Vanuatu /// VU, /// - /// Venezuela, Bolivarian Republic of (Bolivarian Republic of Venezuela) + /// Venezuela (Bolivarian Republic of) /// VE, /// - /// Viet Nam (Socialist Republic of Viet Nam) + /// Viet Nam /// VN, /// - /// Virgin Islands, British (British Virgin Islands) - /// - VG, - /// - /// Virgin Islands, U.S. (Virgin Islands of the United States) - /// - VI, - /// - /// Wallis and Futuna + /// Wallis and Futuna Islands /// WF, /// @@ -1004,15 +998,15 @@ public enum TwoLetterCode /// EH, /// - /// Yemen (Republic of Yemen) + /// Yemen /// YE, /// - /// Zambia (Republic of Zambia) + /// Zambia /// ZM, /// - /// Zimbabwe (Republic of Zimbabwe) + /// Zimbabwe /// ZW, } @@ -1022,7 +1016,7 @@ public enum TwoLetterCode public enum ThreeLetterCode { /// - /// Afghanistan (Islamic Republic of Afghanistan) + /// Afghanistan /// AFG, /// @@ -1030,11 +1024,11 @@ public enum ThreeLetterCode /// ALA, /// - /// Albania (Republic of Albania) + /// Albania /// ALB, /// - /// Algeria (People's Democratic Republic of Algeria) + /// Algeria /// DZA, /// @@ -1042,11 +1036,11 @@ public enum ThreeLetterCode /// ASM, /// - /// Andorra (Principality of Andorra) + /// Andorra /// AND, /// - /// Angola (Republic of Angola) + /// Angola /// AGO, /// @@ -1062,11 +1056,11 @@ public enum ThreeLetterCode /// ATG, /// - /// Argentina (Argentine Republic) + /// Argentina /// ARG, /// - /// Armenia (Republic of Armenia) + /// Armenia /// ARM, /// @@ -1078,23 +1072,23 @@ public enum ThreeLetterCode /// AUS, /// - /// Austria (Republic of Austria) + /// Austria /// AUT, /// - /// Azerbaijan (Republic of Azerbaijan) + /// Azerbaijan /// AZE, /// - /// Bahamas (Commonwealth of the Bahamas) + /// Bahamas /// BHS, /// - /// Bahrain (Kingdom of Bahrain) + /// Bahrain /// BHR, /// - /// Bangladesh (People's Republic of Bangladesh) + /// Bangladesh /// BGD, /// @@ -1102,11 +1096,11 @@ public enum ThreeLetterCode /// BRB, /// - /// Belarus (Republic of Belarus) + /// Belarus /// BLR, /// - /// Belgium (Kingdom of Belgium) + /// Belgium /// BEL, /// @@ -1114,7 +1108,7 @@ public enum ThreeLetterCode /// BLZ, /// - /// Benin (Republic of Benin) + /// Benin /// BEN, /// @@ -1122,23 +1116,23 @@ public enum ThreeLetterCode /// BMU, /// - /// Bhutan (Kingdom of Bhutan) + /// Bhutan /// BTN, /// - /// Bolivia, Plurinational State of (Plurinational State of Bolivia) + /// Bolivia (Plurinational State of) /// BOL, /// - /// Bonaire, Sint Eustatius and Saba (Bonaire, Sint Eustatius and Saba) + /// Bonaire, Sint Eustatius and Saba /// BES, /// - /// Bosnia and Herzegovina (Republic of Bosnia and Herzegovina) + /// Bosnia and Herzegovina /// BIH, /// - /// Botswana (Republic of Botswana) + /// Botswana /// BWA, /// @@ -1146,7 +1140,7 @@ public enum ThreeLetterCode /// BVT, /// - /// Brazil (Federative Republic of Brazil) + /// Brazil /// BRA, /// @@ -1154,11 +1148,15 @@ public enum ThreeLetterCode /// IOT, /// + /// British Virgin Islands + /// + VGB, + /// /// Brunei Darussalam /// BRN, /// - /// Bulgaria (Republic of Bulgaria) + /// Bulgaria /// BGR, /// @@ -1166,19 +1164,19 @@ public enum ThreeLetterCode /// BFA, /// - /// Burundi (Republic of Burundi) + /// Burundi /// BDI, /// - /// Cabo Verde (Republic of Cabo Verde) + /// Cabo Verde /// CPV, /// - /// Cambodia (Kingdom of Cambodia) + /// Cambodia /// KHM, /// - /// Cameroon (Republic of Cameroon) + /// Cameroon /// CMR, /// @@ -1194,18 +1192,26 @@ public enum ThreeLetterCode /// CAF, /// - /// Chad (Republic of Chad) + /// Chad /// TCD, /// - /// Chile (Republic of Chile) + /// Chile /// CHL, /// - /// China (People's Republic of China) + /// China /// CHN, /// + /// China, Hong Kong Special Administrative Region + /// + HKG, + /// + /// China, Macao Special Administrative Region + /// + MAC, + /// /// Christmas Island /// CXR, @@ -1214,63 +1220,67 @@ public enum ThreeLetterCode /// CCK, /// - /// Colombia (Republic of Colombia) + /// Colombia /// COL, /// - /// Comoros (Union of the Comoros) + /// Comoros /// COM, /// - /// Congo (Republic of the Congo) + /// Congo /// COG, /// - /// Congo, The Democratic Republic of the - /// - COD, - /// /// Cook Islands /// COK, /// - /// Costa Rica (Republic of Costa Rica) + /// Costa Rica /// CRI, /// - /// Cรดte d'Ivoire (Republic of Cรดte d'Ivoire) + /// Cรดte dโ€™Ivoire /// CIV, /// - /// Croatia (Republic of Croatia) + /// Croatia /// HRV, /// - /// Cuba (Republic of Cuba) + /// Cuba /// CUB, /// - /// Curaรงao (Curaรงao) + /// Curaรงao /// CUW, /// - /// Cyprus (Republic of Cyprus) + /// Cyprus /// CYP, /// - /// Czechia (Czech Republic) + /// Czechia /// CZE, /// - /// Denmark (Kingdom of Denmark) + /// Democratic People's Republic of Korea + /// + PRK, + /// + /// Democratic Republic of the Congo + /// + COD, + /// + /// Denmark /// DNK, /// - /// Djibouti (Republic of Djibouti) + /// Djibouti /// DJI, /// - /// Dominica (Commonwealth of Dominica) + /// Dominica /// DMA, /// @@ -1278,35 +1288,35 @@ public enum ThreeLetterCode /// DOM, /// - /// Ecuador (Republic of Ecuador) + /// Ecuador /// ECU, /// - /// Egypt (Arab Republic of Egypt) + /// Egypt /// EGY, /// - /// El Salvador (Republic of El Salvador) + /// El Salvador /// SLV, /// - /// Equatorial Guinea (Republic of Equatorial Guinea) + /// Equatorial Guinea /// GNQ, /// - /// Eritrea (the State of Eritrea) + /// Eritrea /// ERI, /// - /// Estonia (Republic of Estonia) + /// Estonia /// EST, /// - /// Eswatini (Kingdom of Eswatini) + /// Eswatini /// SWZ, /// - /// Ethiopia (Federal Democratic Republic of Ethiopia) + /// Ethiopia /// ETH, /// @@ -1318,15 +1328,15 @@ public enum ThreeLetterCode /// FRO, /// - /// Fiji (Republic of Fiji) + /// Fiji /// FJI, /// - /// Finland (Republic of Finland) + /// Finland /// FIN, /// - /// France (French Republic) + /// France /// FRA, /// @@ -1342,11 +1352,11 @@ public enum ThreeLetterCode /// ATF, /// - /// Gabon (Gabonese Republic) + /// Gabon /// GAB, /// - /// Gambia (Republic of the Gambia) + /// Gambia /// GMB, /// @@ -1354,11 +1364,11 @@ public enum ThreeLetterCode /// GEO, /// - /// Germany (Federal Republic of Germany) + /// Germany /// DEU, /// - /// Ghana (Republic of Ghana) + /// Ghana /// GHA, /// @@ -1366,7 +1376,7 @@ public enum ThreeLetterCode /// GIB, /// - /// Greece (Hellenic Republic) + /// Greece /// GRC, /// @@ -1386,7 +1396,7 @@ public enum ThreeLetterCode /// GUM, /// - /// Guatemala (Republic of Guatemala) + /// Guatemala /// GTM, /// @@ -1394,19 +1404,19 @@ public enum ThreeLetterCode /// GGY, /// - /// Guinea (Republic of Guinea) + /// Guinea /// GIN, /// - /// Guinea-Bissau (Republic of Guinea-Bissau) + /// Guinea-Bissau /// GNB, /// - /// Guyana (Republic of Guyana) + /// Guyana /// GUY, /// - /// Haiti (Republic of Haiti) + /// Haiti /// HTI, /// @@ -1414,39 +1424,35 @@ public enum ThreeLetterCode /// HMD, /// - /// Holy See (Vatican City State) + /// Holy See /// VAT, /// - /// Honduras (Republic of Honduras) + /// Honduras /// HND, /// - /// Hong Kong (Hong Kong Special Administrative Region of China) - /// - HKG, - /// - /// Hungary (Hungary) + /// Hungary /// HUN, /// - /// Iceland (Republic of Iceland) + /// Iceland /// ISL, /// - /// India (Republic of India) + /// India /// IND, /// - /// Indonesia (Republic of Indonesia) + /// Indonesia /// IDN, /// - /// Iran, Islamic Republic of (Islamic Republic of Iran) + /// Iran (Islamic Republic of) /// IRN, /// - /// Iraq (Republic of Iraq) + /// Iraq /// IRQ, /// @@ -1458,11 +1464,11 @@ public enum ThreeLetterCode /// IMN, /// - /// Israel (State of Israel) + /// Israel /// ISR, /// - /// Italy (Italian Republic) + /// Italy /// ITA, /// @@ -1478,35 +1484,27 @@ public enum ThreeLetterCode /// JEY, /// - /// Jordan (Hashemite Kingdom of Jordan) + /// Jordan /// JOR, /// - /// Kazakhstan (Republic of Kazakhstan) + /// Kazakhstan /// KAZ, /// - /// Kenya (Republic of Kenya) + /// Kenya /// KEN, /// - /// Kiribati (Republic of Kiribati) + /// Kiribati /// KIR, /// - /// Korea, Democratic People's Republic of (Democratic People's Republic of Korea) - /// - PRK, - /// - /// Korea, Republic of - /// - KOR, - /// - /// Kuwait (State of Kuwait) + /// Kuwait /// KWT, /// - /// Kyrgyzstan (Kyrgyz Republic) + /// Kyrgyzstan /// KGZ, /// @@ -1514,47 +1512,43 @@ public enum ThreeLetterCode /// LAO, /// - /// Latvia (Republic of Latvia) + /// Latvia /// LVA, /// - /// Lebanon (Lebanese Republic) + /// Lebanon /// LBN, /// - /// Lesotho (Kingdom of Lesotho) + /// Lesotho /// LSO, /// - /// Liberia (Republic of Liberia) + /// Liberia /// LBR, /// - /// Libya (Libya) + /// Libya /// LBY, /// - /// Liechtenstein (Principality of Liechtenstein) + /// Liechtenstein /// LIE, /// - /// Lithuania (Republic of Lithuania) + /// Lithuania /// LTU, /// - /// Luxembourg (Grand Duchy of Luxembourg) + /// Luxembourg /// LUX, /// - /// Macao (Macao Special Administrative Region of China) - /// - MAC, - /// - /// Madagascar (Republic of Madagascar) + /// Madagascar /// MDG, /// - /// Malawi (Republic of Malawi) + /// Malawi /// MWI, /// @@ -1562,19 +1556,19 @@ public enum ThreeLetterCode /// MYS, /// - /// Maldives (Republic of Maldives) + /// Maldives /// MDV, /// - /// Mali (Republic of Mali) + /// Mali /// MLI, /// - /// Malta (Republic of Malta) + /// Malta /// MLT, /// - /// Marshall Islands (Republic of the Marshall Islands) + /// Marshall Islands /// MHL, /// @@ -1582,11 +1576,11 @@ public enum ThreeLetterCode /// MTQ, /// - /// Mauritania (Islamic Republic of Mauritania) + /// Mauritania /// MRT, /// - /// Mauritius (Republic of Mauritius) + /// Mauritius /// MUS, /// @@ -1594,19 +1588,15 @@ public enum ThreeLetterCode /// MYT, /// - /// Mexico (United Mexican States) + /// Mexico /// MEX, /// - /// Micronesia, Federated States of (Federated States of Micronesia) + /// Micronesia (Federated States of) /// FSM, /// - /// Moldova, Republic of (Republic of Moldova) - /// - MDA, - /// - /// Monaco (Principality of Monaco) + /// Monaco /// MCO, /// @@ -1614,7 +1604,7 @@ public enum ThreeLetterCode /// MNG, /// - /// Montenegro (Montenegro) + /// Montenegro /// MNE, /// @@ -1622,31 +1612,31 @@ public enum ThreeLetterCode /// MSR, /// - /// Morocco (Kingdom of Morocco) + /// Morocco /// MAR, /// - /// Mozambique (Republic of Mozambique) + /// Mozambique /// MOZ, /// - /// Myanmar (Republic of Myanmar) + /// Myanmar /// MMR, /// - /// Namibia (Republic of Namibia) + /// Namibia /// NAM, /// - /// Nauru (Republic of Nauru) + /// Nauru /// NRU, /// - /// Nepal (Federal Democratic Republic of Nepal) + /// Nepal /// NPL, /// - /// Netherlands (Kingdom of the Netherlands) + /// Netherlands (Kingdom of the) /// NLD, /// @@ -1658,19 +1648,19 @@ public enum ThreeLetterCode /// NZL, /// - /// Nicaragua (Republic of Nicaragua) + /// Nicaragua /// NIC, /// - /// Niger (Republic of the Niger) + /// Niger /// NER, /// - /// Nigeria (Federal Republic of Nigeria) + /// Nigeria /// NGA, /// - /// Niue (Niue) + /// Niue /// NIU, /// @@ -1678,51 +1668,47 @@ public enum ThreeLetterCode /// NFK, /// - /// North Macedonia (Republic of North Macedonia) + /// North Macedonia /// MKD, /// - /// Northern Mariana Islands (Commonwealth of the Northern Mariana Islands) + /// Northern Mariana Islands /// MNP, /// - /// Norway (Kingdom of Norway) + /// Norway /// NOR, /// - /// Oman (Sultanate of Oman) + /// Oman /// OMN, /// - /// Pakistan (Islamic Republic of Pakistan) + /// Pakistan /// PAK, /// - /// Palau (Republic of Palau) + /// Palau /// PLW, /// - /// Palestine, State of (the State of Palestine) - /// - PSE, - /// - /// Panama (Republic of Panama) + /// Panama /// PAN, /// - /// Papua New Guinea (Independent State of Papua New Guinea) + /// Papua New Guinea /// PNG, /// - /// Paraguay (Republic of Paraguay) + /// Paraguay /// PRY, /// - /// Peru (Republic of Peru) + /// Peru /// PER, /// - /// Philippines (Republic of the Philippines) + /// Philippines /// PHL, /// @@ -1730,11 +1716,11 @@ public enum ThreeLetterCode /// PCN, /// - /// Poland (Republic of Poland) + /// Poland /// POL, /// - /// Portugal (Portuguese Republic) + /// Portugal /// PRT, /// @@ -1742,10 +1728,18 @@ public enum ThreeLetterCode /// PRI, /// - /// Qatar (State of Qatar) + /// Qatar /// QAT, /// + /// Republic of Korea + /// + KOR, + /// + /// Republic of Moldova + /// + MDA, + /// /// Rรฉunion /// REU, @@ -1758,7 +1752,7 @@ public enum ThreeLetterCode /// RUS, /// - /// Rwanda (Rwandese Republic) + /// Rwanda /// RWA, /// @@ -1766,7 +1760,7 @@ public enum ThreeLetterCode /// BLM, /// - /// Saint Helena, Ascension and Tristan da Cunha + /// Saint Helena /// SHN, /// @@ -1778,7 +1772,7 @@ public enum ThreeLetterCode /// LCA, /// - /// Saint Martin (French part) + /// Saint Martin (French Part) /// MAF, /// @@ -1790,51 +1784,51 @@ public enum ThreeLetterCode /// VCT, /// - /// Samoa (Independent State of Samoa) + /// Samoa /// WSM, /// - /// San Marino (Republic of San Marino) + /// San Marino /// SMR, /// - /// Sao Tome and Principe (Democratic Republic of Sao Tome and Principe) + /// Sao Tome and Principe /// STP, /// - /// Saudi Arabia (Kingdom of Saudi Arabia) + /// Saudi Arabia /// SAU, /// - /// Senegal (Republic of Senegal) + /// Senegal /// SEN, /// - /// Serbia (Republic of Serbia) + /// Serbia /// SRB, /// - /// Seychelles (Republic of Seychelles) + /// Seychelles /// SYC, /// - /// Sierra Leone (Republic of Sierra Leone) + /// Sierra Leone /// SLE, /// - /// Singapore (Republic of Singapore) + /// Singapore /// SGP, /// - /// Sint Maarten (Dutch part) (Sint Maarten (Dutch part)) + /// Sint Maarten (Dutch part) /// SXM, /// - /// Slovakia (Slovak Republic) + /// Slovakia /// SVK, /// - /// Slovenia (Republic of Slovenia) + /// Slovenia /// SVN, /// @@ -1842,11 +1836,11 @@ public enum ThreeLetterCode /// SLB, /// - /// Somalia (Federal Republic of Somalia) + /// Somalia /// SOM, /// - /// South Africa (Republic of South Africa) + /// South Africa /// ZAF, /// @@ -1854,35 +1848,39 @@ public enum ThreeLetterCode /// SGS, /// - /// South Sudan (Republic of South Sudan) + /// South Sudan /// SSD, /// - /// Spain (Kingdom of Spain) + /// Spain /// ESP, /// - /// Sri Lanka (Democratic Socialist Republic of Sri Lanka) + /// Sri Lanka /// LKA, /// - /// Sudan (Republic of the Sudan) + /// State of Palestine + /// + PSE, + /// + /// Sudan /// SDN, /// - /// Suriname (Republic of Suriname) + /// Suriname /// SUR, /// - /// Svalbard and Jan Mayen + /// Svalbard and Jan Mayen Islands /// SJM, /// - /// Sweden (Kingdom of Sweden) + /// Sweden /// SWE, /// - /// Switzerland (Swiss Confederation) + /// Switzerland /// CHE, /// @@ -1890,27 +1888,19 @@ public enum ThreeLetterCode /// SYR, /// - /// Taiwan, Province of China (Taiwan, Province of China) - /// - TWN, - /// - /// Tajikistan (Republic of Tajikistan) + /// Tajikistan /// TJK, /// - /// Tanzania, United Republic of (United Republic of Tanzania) - /// - TZA, - /// - /// Thailand (Kingdom of Thailand) + /// Thailand /// THA, /// - /// Timor-Leste (Democratic Republic of Timor-Leste) + /// Timor-Leste /// TLS, /// - /// Togo (Togolese Republic) + /// Togo /// TGO, /// @@ -1918,19 +1908,19 @@ public enum ThreeLetterCode /// TKL, /// - /// Tonga (Kingdom of Tonga) + /// Tonga /// TON, /// - /// Trinidad and Tobago (Republic of Trinidad and Tobago) + /// Trinidad and Tobago /// TTO, /// - /// Tunisia (Republic of Tunisia) + /// Tunisia /// TUN, /// - /// Tรผrkiye (Republic of Tรผrkiye) + /// Tรผrkiye /// TUR, /// @@ -1946,7 +1936,7 @@ public enum ThreeLetterCode /// TUV, /// - /// Uganda (Republic of Uganda) + /// Uganda /// UGA, /// @@ -1958,47 +1948,47 @@ public enum ThreeLetterCode /// ARE, /// - /// United Kingdom (United Kingdom of Great Britain and Northern Ireland) + /// United Kingdom of Great Britain and Northern Ireland /// GBR, /// - /// United States (United States of America) + /// United Republic of Tanzania /// - USA, + TZA, /// /// United States Minor Outlying Islands /// UMI, /// - /// Uruguay (Eastern Republic of Uruguay) + /// United States of America + /// + USA, + /// + /// United States Virgin Islands + /// + VIR, + /// + /// Uruguay /// URY, /// - /// Uzbekistan (Republic of Uzbekistan) + /// Uzbekistan /// UZB, /// - /// Vanuatu (Republic of Vanuatu) + /// Vanuatu /// VUT, /// - /// Venezuela, Bolivarian Republic of (Bolivarian Republic of Venezuela) + /// Venezuela (Bolivarian Republic of) /// VEN, /// - /// Viet Nam (Socialist Republic of Viet Nam) + /// Viet Nam /// VNM, /// - /// Virgin Islands, British (British Virgin Islands) - /// - VGB, - /// - /// Virgin Islands, U.S. (Virgin Islands of the United States) - /// - VIR, - /// - /// Wallis and Futuna + /// Wallis and Futuna Islands /// WLF, /// @@ -2006,15 +1996,15 @@ public enum ThreeLetterCode /// ESH, /// - /// Yemen (Republic of Yemen) + /// Yemen /// YEM, /// - /// Zambia (Republic of Zambia) + /// Zambia /// ZMB, /// - /// Zimbabwe (Republic of Zimbabwe) + /// Zimbabwe /// ZWE, } diff --git a/src/packages/HawkN.Iso.Countries/Extensions/CountryStringExtensions.cs b/src/packages/HawkN.Iso.Countries/Extensions/CountryStringExtensions.cs index b3e3ce6..ff473f7 100644 --- a/src/packages/HawkN.Iso.Countries/Extensions/CountryStringExtensions.cs +++ b/src/packages/HawkN.Iso.Countries/Extensions/CountryStringExtensions.cs @@ -11,7 +11,7 @@ public static class CountryStringExtensions /// Converts a string code (Alpha-2, Alpha-3, or Numeric) to a Country model using the provided service. /// /// A or null if the code is invalid. - public static HawkN.Iso.Countries.Models.Country? ToCountry(this string? code, ICountryCodeService service) + public static Country? ToCountry(this string? code, ICountryCodeService service) { return string.IsNullOrWhiteSpace(code) ? null : service.FindByCode(code); } @@ -19,7 +19,7 @@ public static class CountryStringExtensions /// /// Validates a string as a country code and returns the result. /// - public static ValidationResult ValidateAsCountryCode(this string? code, ICountryCodeService service, out HawkN.Iso.Countries.Models.Country? country) + public static ValidationResult ValidateAsCountryCode(this string? code, ICountryCodeService service, out Country? country) { if (!string.IsNullOrWhiteSpace(code)) return service.ValidateByCode(code, out country); country = null; @@ -42,7 +42,7 @@ public static bool IsCountryCode(this string? code, ICountryCodeService service) /// A string representing the Emoji flag (e.g., "๐Ÿ‡บ๐Ÿ‡ธ" for US). /// Returns an empty string if the code is invalid or undefined. /// - public static string GetEmojiFlag(this HawkN.Iso.Countries.Models.Country country) + public static string GetEmojiFlag(this Country country) { var code = country.TwoLetterCode.ToString(); diff --git a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec index fb89e44..f30a9f2 100644 --- a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec +++ b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec @@ -6,9 +6,9 @@ HawkN.Iso.Countries Nikolay Selyutin (HawkN113) false - Provides strongly typed ISO 3166-1 country and region codes (Alpha-2, Alpha-3) generated at compile time from Debian-iso codes data. Includes lookup service (ICountryCodeService). Lightweight and optimized for .NET 8 applications. Data is sourced from the Debian iso-codes project (LGPL v2.1) - ISO 3166-1 country code reference library with strongly typed enums and code generation. - iso3166 debian-iso-codes country countries region codes .net8 dotnet-core source-generator csharp nuget-package + Provides strongly typed ISO 3166-1 country and region codes (Alpha-2, Alpha-3) generated at compile time from UN M49 numeric codes. Includes lookup service (ICountryCodeService). Lightweight and optimized for .NET 8 applications. + ISO 3166-1 country code reference library with strongly typed enums, numeric codes (UN M49), and code generation. + iso3166 country countries region codes net8 dotnet-core source-generator csharp nuget-package UN-M49 https://github.com/HawkN113/HawkN.Iso.Countries MIT @@ -18,7 +18,7 @@ - Added support for .NET 8.0 - Strongly typed CountryCode enums (Alpha-2, Alpha-3) generated at compile time - - Data sourced from Debian iso-codes (LGPL v2.1) + - Includes NumericCode (UN M49) and NumericCodeString ("D3" format) - Includes ICountryCodeService for lookups - Lightweight & dependency-free @@ -30,9 +30,8 @@ - - \ No newline at end of file + diff --git a/src/packages/HawkN.Iso.Countries/LocalCountryDatabase.cs b/src/packages/HawkN.Iso.Countries/LocalCountryDatabase.cs index 08fc6a4..045b9dd 100644 --- a/src/packages/HawkN.Iso.Countries/LocalCountryDatabase.cs +++ b/src/packages/HawkN.Iso.Countries/LocalCountryDatabase.cs @@ -1,8 +1,6 @@ ๏ปฟ// // This file was generated by HawkN.Iso.Countries.Generators source generator -// Data Source: iso-codes project (Debian Salsa) -// License: GNU Lesser General Public License v2.1 -// Source URL: https://salsa.debian.org/iso-codes-team/iso-codes +// Source URL: https://unstats.un.org/unsd/methodology/m49/overview // Do not modify this file manually. // #nullable enable @@ -18,255 +16,254 @@ internal static class LocalCountryDatabase { public static readonly ImmutableArray ActualCountries = ImmutableArray.Create(new Models.Country[] { - new("Afghanistan", CountryCode.TwoLetterCode.AF, CountryCode.ThreeLetterCode.AFG, "004","Islamic Republic of Afghanistan"), - new("ร…land Islands", CountryCode.TwoLetterCode.AX, CountryCode.ThreeLetterCode.ALA, "248", string.Empty), - new("Albania", CountryCode.TwoLetterCode.AL, CountryCode.ThreeLetterCode.ALB, "008","Republic of Albania"), - new("Algeria", CountryCode.TwoLetterCode.DZ, CountryCode.ThreeLetterCode.DZA, "012","People's Democratic Republic of Algeria"), - new("American Samoa", CountryCode.TwoLetterCode.AS, CountryCode.ThreeLetterCode.ASM, "016", string.Empty), - new("Andorra", CountryCode.TwoLetterCode.AD, CountryCode.ThreeLetterCode.AND, "020","Principality of Andorra"), - new("Angola", CountryCode.TwoLetterCode.AO, CountryCode.ThreeLetterCode.AGO, "024","Republic of Angola"), - new("Anguilla", CountryCode.TwoLetterCode.AI, CountryCode.ThreeLetterCode.AIA, "660", string.Empty), - new("Antarctica", CountryCode.TwoLetterCode.AQ, CountryCode.ThreeLetterCode.ATA, "010", string.Empty), - new("Antigua and Barbuda", CountryCode.TwoLetterCode.AG, CountryCode.ThreeLetterCode.ATG, "028", string.Empty), - new("Argentina", CountryCode.TwoLetterCode.AR, CountryCode.ThreeLetterCode.ARG, "032","Argentine Republic"), - new("Armenia", CountryCode.TwoLetterCode.AM, CountryCode.ThreeLetterCode.ARM, "051","Republic of Armenia"), - new("Aruba", CountryCode.TwoLetterCode.AW, CountryCode.ThreeLetterCode.ABW, "533", string.Empty), - new("Australia", CountryCode.TwoLetterCode.AU, CountryCode.ThreeLetterCode.AUS, "036", string.Empty), - new("Austria", CountryCode.TwoLetterCode.AT, CountryCode.ThreeLetterCode.AUT, "040","Republic of Austria"), - new("Azerbaijan", CountryCode.TwoLetterCode.AZ, CountryCode.ThreeLetterCode.AZE, "031","Republic of Azerbaijan"), - new("Bahamas", CountryCode.TwoLetterCode.BS, CountryCode.ThreeLetterCode.BHS, "044","Commonwealth of the Bahamas"), - new("Bahrain", CountryCode.TwoLetterCode.BH, CountryCode.ThreeLetterCode.BHR, "048","Kingdom of Bahrain"), - new("Bangladesh", CountryCode.TwoLetterCode.BD, CountryCode.ThreeLetterCode.BGD, "050","People's Republic of Bangladesh"), - new("Barbados", CountryCode.TwoLetterCode.BB, CountryCode.ThreeLetterCode.BRB, "052", string.Empty), - new("Belarus", CountryCode.TwoLetterCode.BY, CountryCode.ThreeLetterCode.BLR, "112","Republic of Belarus"), - new("Belgium", CountryCode.TwoLetterCode.BE, CountryCode.ThreeLetterCode.BEL, "056","Kingdom of Belgium"), - new("Belize", CountryCode.TwoLetterCode.BZ, CountryCode.ThreeLetterCode.BLZ, "084", string.Empty), - new("Benin", CountryCode.TwoLetterCode.BJ, CountryCode.ThreeLetterCode.BEN, "204","Republic of Benin"), - new("Bermuda", CountryCode.TwoLetterCode.BM, CountryCode.ThreeLetterCode.BMU, "060", string.Empty), - new("Bhutan", CountryCode.TwoLetterCode.BT, CountryCode.ThreeLetterCode.BTN, "064","Kingdom of Bhutan"), - new("Bolivia, Plurinational State of", CountryCode.TwoLetterCode.BO, CountryCode.ThreeLetterCode.BOL, "068","Plurinational State of Bolivia"), - new("Bonaire, Sint Eustatius and Saba", CountryCode.TwoLetterCode.BQ, CountryCode.ThreeLetterCode.BES, "535","Bonaire, Sint Eustatius and Saba"), - new("Bosnia and Herzegovina", CountryCode.TwoLetterCode.BA, CountryCode.ThreeLetterCode.BIH, "070","Republic of Bosnia and Herzegovina"), - new("Botswana", CountryCode.TwoLetterCode.BW, CountryCode.ThreeLetterCode.BWA, "072","Republic of Botswana"), - new("Bouvet Island", CountryCode.TwoLetterCode.BV, CountryCode.ThreeLetterCode.BVT, "074", string.Empty), - new("Brazil", CountryCode.TwoLetterCode.BR, CountryCode.ThreeLetterCode.BRA, "076","Federative Republic of Brazil"), - new("British Indian Ocean Territory", CountryCode.TwoLetterCode.IO, CountryCode.ThreeLetterCode.IOT, "086", string.Empty), - new("Brunei Darussalam", CountryCode.TwoLetterCode.BN, CountryCode.ThreeLetterCode.BRN, "096", string.Empty), - new("Bulgaria", CountryCode.TwoLetterCode.BG, CountryCode.ThreeLetterCode.BGR, "100","Republic of Bulgaria"), - new("Burkina Faso", CountryCode.TwoLetterCode.BF, CountryCode.ThreeLetterCode.BFA, "854", string.Empty), - new("Burundi", CountryCode.TwoLetterCode.BI, CountryCode.ThreeLetterCode.BDI, "108","Republic of Burundi"), - new("Cabo Verde", CountryCode.TwoLetterCode.CV, CountryCode.ThreeLetterCode.CPV, "132","Republic of Cabo Verde"), - new("Cambodia", CountryCode.TwoLetterCode.KH, CountryCode.ThreeLetterCode.KHM, "116","Kingdom of Cambodia"), - new("Cameroon", CountryCode.TwoLetterCode.CM, CountryCode.ThreeLetterCode.CMR, "120","Republic of Cameroon"), - new("Canada", CountryCode.TwoLetterCode.CA, CountryCode.ThreeLetterCode.CAN, "124", string.Empty), - new("Cayman Islands", CountryCode.TwoLetterCode.KY, CountryCode.ThreeLetterCode.CYM, "136", string.Empty), - new("Central African Republic", CountryCode.TwoLetterCode.CF, CountryCode.ThreeLetterCode.CAF, "140", string.Empty), - new("Chad", CountryCode.TwoLetterCode.TD, CountryCode.ThreeLetterCode.TCD, "148","Republic of Chad"), - new("Chile", CountryCode.TwoLetterCode.CL, CountryCode.ThreeLetterCode.CHL, "152","Republic of Chile"), - new("China", CountryCode.TwoLetterCode.CN, CountryCode.ThreeLetterCode.CHN, "156","People's Republic of China"), - new("Christmas Island", CountryCode.TwoLetterCode.CX, CountryCode.ThreeLetterCode.CXR, "162", string.Empty), - new("Cocos (Keeling) Islands", CountryCode.TwoLetterCode.CC, CountryCode.ThreeLetterCode.CCK, "166", string.Empty), - new("Colombia", CountryCode.TwoLetterCode.CO, CountryCode.ThreeLetterCode.COL, "170","Republic of Colombia"), - new("Comoros", CountryCode.TwoLetterCode.KM, CountryCode.ThreeLetterCode.COM, "174","Union of the Comoros"), - new("Congo", CountryCode.TwoLetterCode.CG, CountryCode.ThreeLetterCode.COG, "178","Republic of the Congo"), - new("Congo, The Democratic Republic of the", CountryCode.TwoLetterCode.CD, CountryCode.ThreeLetterCode.COD, "180", string.Empty), - new("Cook Islands", CountryCode.TwoLetterCode.CK, CountryCode.ThreeLetterCode.COK, "184", string.Empty), - new("Costa Rica", CountryCode.TwoLetterCode.CR, CountryCode.ThreeLetterCode.CRI, "188","Republic of Costa Rica"), - new("Cรดte d'Ivoire", CountryCode.TwoLetterCode.CI, CountryCode.ThreeLetterCode.CIV, "384","Republic of Cรดte d'Ivoire"), - new("Croatia", CountryCode.TwoLetterCode.HR, CountryCode.ThreeLetterCode.HRV, "191","Republic of Croatia"), - new("Cuba", CountryCode.TwoLetterCode.CU, CountryCode.ThreeLetterCode.CUB, "192","Republic of Cuba"), - new("Curaรงao", CountryCode.TwoLetterCode.CW, CountryCode.ThreeLetterCode.CUW, "531","Curaรงao"), - new("Cyprus", CountryCode.TwoLetterCode.CY, CountryCode.ThreeLetterCode.CYP, "196","Republic of Cyprus"), - new("Czechia", CountryCode.TwoLetterCode.CZ, CountryCode.ThreeLetterCode.CZE, "203","Czech Republic"), - new("Denmark", CountryCode.TwoLetterCode.DK, CountryCode.ThreeLetterCode.DNK, "208","Kingdom of Denmark"), - new("Djibouti", CountryCode.TwoLetterCode.DJ, CountryCode.ThreeLetterCode.DJI, "262","Republic of Djibouti"), - new("Dominica", CountryCode.TwoLetterCode.DM, CountryCode.ThreeLetterCode.DMA, "212","Commonwealth of Dominica"), - new("Dominican Republic", CountryCode.TwoLetterCode.DO, CountryCode.ThreeLetterCode.DOM, "214", string.Empty), - new("Ecuador", CountryCode.TwoLetterCode.EC, CountryCode.ThreeLetterCode.ECU, "218","Republic of Ecuador"), - new("Egypt", CountryCode.TwoLetterCode.EG, CountryCode.ThreeLetterCode.EGY, "818","Arab Republic of Egypt"), - new("El Salvador", CountryCode.TwoLetterCode.SV, CountryCode.ThreeLetterCode.SLV, "222","Republic of El Salvador"), - new("Equatorial Guinea", CountryCode.TwoLetterCode.GQ, CountryCode.ThreeLetterCode.GNQ, "226","Republic of Equatorial Guinea"), - new("Eritrea", CountryCode.TwoLetterCode.ER, CountryCode.ThreeLetterCode.ERI, "232","the State of Eritrea"), - new("Estonia", CountryCode.TwoLetterCode.EE, CountryCode.ThreeLetterCode.EST, "233","Republic of Estonia"), - new("Eswatini", CountryCode.TwoLetterCode.SZ, CountryCode.ThreeLetterCode.SWZ, "748","Kingdom of Eswatini"), - new("Ethiopia", CountryCode.TwoLetterCode.ET, CountryCode.ThreeLetterCode.ETH, "231","Federal Democratic Republic of Ethiopia"), - new("Falkland Islands (Malvinas)", CountryCode.TwoLetterCode.FK, CountryCode.ThreeLetterCode.FLK, "238", string.Empty), - new("Faroe Islands", CountryCode.TwoLetterCode.FO, CountryCode.ThreeLetterCode.FRO, "234", string.Empty), - new("Fiji", CountryCode.TwoLetterCode.FJ, CountryCode.ThreeLetterCode.FJI, "242","Republic of Fiji"), - new("Finland", CountryCode.TwoLetterCode.FI, CountryCode.ThreeLetterCode.FIN, "246","Republic of Finland"), - new("France", CountryCode.TwoLetterCode.FR, CountryCode.ThreeLetterCode.FRA, "250","French Republic"), - new("French Guiana", CountryCode.TwoLetterCode.GF, CountryCode.ThreeLetterCode.GUF, "254", string.Empty), - new("French Polynesia", CountryCode.TwoLetterCode.PF, CountryCode.ThreeLetterCode.PYF, "258", string.Empty), - new("French Southern Territories", CountryCode.TwoLetterCode.TF, CountryCode.ThreeLetterCode.ATF, "260", string.Empty), - new("Gabon", CountryCode.TwoLetterCode.GA, CountryCode.ThreeLetterCode.GAB, "266","Gabonese Republic"), - new("Gambia", CountryCode.TwoLetterCode.GM, CountryCode.ThreeLetterCode.GMB, "270","Republic of the Gambia"), - new("Georgia", CountryCode.TwoLetterCode.GE, CountryCode.ThreeLetterCode.GEO, "268", string.Empty), - new("Germany", CountryCode.TwoLetterCode.DE, CountryCode.ThreeLetterCode.DEU, "276","Federal Republic of Germany"), - new("Ghana", CountryCode.TwoLetterCode.GH, CountryCode.ThreeLetterCode.GHA, "288","Republic of Ghana"), - new("Gibraltar", CountryCode.TwoLetterCode.GI, CountryCode.ThreeLetterCode.GIB, "292", string.Empty), - new("Greece", CountryCode.TwoLetterCode.GR, CountryCode.ThreeLetterCode.GRC, "300","Hellenic Republic"), - new("Greenland", CountryCode.TwoLetterCode.GL, CountryCode.ThreeLetterCode.GRL, "304", string.Empty), - new("Grenada", CountryCode.TwoLetterCode.GD, CountryCode.ThreeLetterCode.GRD, "308", string.Empty), - new("Guadeloupe", CountryCode.TwoLetterCode.GP, CountryCode.ThreeLetterCode.GLP, "312", string.Empty), - new("Guam", CountryCode.TwoLetterCode.GU, CountryCode.ThreeLetterCode.GUM, "316", string.Empty), - new("Guatemala", CountryCode.TwoLetterCode.GT, CountryCode.ThreeLetterCode.GTM, "320","Republic of Guatemala"), - new("Guernsey", CountryCode.TwoLetterCode.GG, CountryCode.ThreeLetterCode.GGY, "831", string.Empty), - new("Guinea", CountryCode.TwoLetterCode.GN, CountryCode.ThreeLetterCode.GIN, "324","Republic of Guinea"), - new("Guinea-Bissau", CountryCode.TwoLetterCode.GW, CountryCode.ThreeLetterCode.GNB, "624","Republic of Guinea-Bissau"), - new("Guyana", CountryCode.TwoLetterCode.GY, CountryCode.ThreeLetterCode.GUY, "328","Republic of Guyana"), - new("Haiti", CountryCode.TwoLetterCode.HT, CountryCode.ThreeLetterCode.HTI, "332","Republic of Haiti"), - new("Heard Island and McDonald Islands", CountryCode.TwoLetterCode.HM, CountryCode.ThreeLetterCode.HMD, "334", string.Empty), - new("Holy See (Vatican City State)", CountryCode.TwoLetterCode.VA, CountryCode.ThreeLetterCode.VAT, "336", string.Empty), - new("Honduras", CountryCode.TwoLetterCode.HN, CountryCode.ThreeLetterCode.HND, "340","Republic of Honduras"), - new("Hong Kong", CountryCode.TwoLetterCode.HK, CountryCode.ThreeLetterCode.HKG, "344","Hong Kong Special Administrative Region of China"), - new("Hungary", CountryCode.TwoLetterCode.HU, CountryCode.ThreeLetterCode.HUN, "348","Hungary"), - new("Iceland", CountryCode.TwoLetterCode.IS, CountryCode.ThreeLetterCode.ISL, "352","Republic of Iceland"), - new("India", CountryCode.TwoLetterCode.IN, CountryCode.ThreeLetterCode.IND, "356","Republic of India"), - new("Indonesia", CountryCode.TwoLetterCode.ID, CountryCode.ThreeLetterCode.IDN, "360","Republic of Indonesia"), - new("Iran, Islamic Republic of", CountryCode.TwoLetterCode.IR, CountryCode.ThreeLetterCode.IRN, "364","Islamic Republic of Iran"), - new("Iraq", CountryCode.TwoLetterCode.IQ, CountryCode.ThreeLetterCode.IRQ, "368","Republic of Iraq"), - new("Ireland", CountryCode.TwoLetterCode.IE, CountryCode.ThreeLetterCode.IRL, "372", string.Empty), - new("Isle of Man", CountryCode.TwoLetterCode.IM, CountryCode.ThreeLetterCode.IMN, "833", string.Empty), - new("Israel", CountryCode.TwoLetterCode.IL, CountryCode.ThreeLetterCode.ISR, "376","State of Israel"), - new("Italy", CountryCode.TwoLetterCode.IT, CountryCode.ThreeLetterCode.ITA, "380","Italian Republic"), - new("Jamaica", CountryCode.TwoLetterCode.JM, CountryCode.ThreeLetterCode.JAM, "388", string.Empty), - new("Japan", CountryCode.TwoLetterCode.JP, CountryCode.ThreeLetterCode.JPN, "392", string.Empty), - new("Jersey", CountryCode.TwoLetterCode.JE, CountryCode.ThreeLetterCode.JEY, "832", string.Empty), - new("Jordan", CountryCode.TwoLetterCode.JO, CountryCode.ThreeLetterCode.JOR, "400","Hashemite Kingdom of Jordan"), - new("Kazakhstan", CountryCode.TwoLetterCode.KZ, CountryCode.ThreeLetterCode.KAZ, "398","Republic of Kazakhstan"), - new("Kenya", CountryCode.TwoLetterCode.KE, CountryCode.ThreeLetterCode.KEN, "404","Republic of Kenya"), - new("Kiribati", CountryCode.TwoLetterCode.KI, CountryCode.ThreeLetterCode.KIR, "296","Republic of Kiribati"), - new("Korea, Democratic People's Republic of", CountryCode.TwoLetterCode.KP, CountryCode.ThreeLetterCode.PRK, "408","Democratic People's Republic of Korea"), - new("Korea, Republic of", CountryCode.TwoLetterCode.KR, CountryCode.ThreeLetterCode.KOR, "410", string.Empty), - new("Kuwait", CountryCode.TwoLetterCode.KW, CountryCode.ThreeLetterCode.KWT, "414","State of Kuwait"), - new("Kyrgyzstan", CountryCode.TwoLetterCode.KG, CountryCode.ThreeLetterCode.KGZ, "417","Kyrgyz Republic"), - new("Lao People's Democratic Republic", CountryCode.TwoLetterCode.LA, CountryCode.ThreeLetterCode.LAO, "418", string.Empty), - new("Latvia", CountryCode.TwoLetterCode.LV, CountryCode.ThreeLetterCode.LVA, "428","Republic of Latvia"), - new("Lebanon", CountryCode.TwoLetterCode.LB, CountryCode.ThreeLetterCode.LBN, "422","Lebanese Republic"), - new("Lesotho", CountryCode.TwoLetterCode.LS, CountryCode.ThreeLetterCode.LSO, "426","Kingdom of Lesotho"), - new("Liberia", CountryCode.TwoLetterCode.LR, CountryCode.ThreeLetterCode.LBR, "430","Republic of Liberia"), - new("Libya", CountryCode.TwoLetterCode.LY, CountryCode.ThreeLetterCode.LBY, "434","Libya"), - new("Liechtenstein", CountryCode.TwoLetterCode.LI, CountryCode.ThreeLetterCode.LIE, "438","Principality of Liechtenstein"), - new("Lithuania", CountryCode.TwoLetterCode.LT, CountryCode.ThreeLetterCode.LTU, "440","Republic of Lithuania"), - new("Luxembourg", CountryCode.TwoLetterCode.LU, CountryCode.ThreeLetterCode.LUX, "442","Grand Duchy of Luxembourg"), - new("Macao", CountryCode.TwoLetterCode.MO, CountryCode.ThreeLetterCode.MAC, "446","Macao Special Administrative Region of China"), - new("Madagascar", CountryCode.TwoLetterCode.MG, CountryCode.ThreeLetterCode.MDG, "450","Republic of Madagascar"), - new("Malawi", CountryCode.TwoLetterCode.MW, CountryCode.ThreeLetterCode.MWI, "454","Republic of Malawi"), - new("Malaysia", CountryCode.TwoLetterCode.MY, CountryCode.ThreeLetterCode.MYS, "458", string.Empty), - new("Maldives", CountryCode.TwoLetterCode.MV, CountryCode.ThreeLetterCode.MDV, "462","Republic of Maldives"), - new("Mali", CountryCode.TwoLetterCode.ML, CountryCode.ThreeLetterCode.MLI, "466","Republic of Mali"), - new("Malta", CountryCode.TwoLetterCode.MT, CountryCode.ThreeLetterCode.MLT, "470","Republic of Malta"), - new("Marshall Islands", CountryCode.TwoLetterCode.MH, CountryCode.ThreeLetterCode.MHL, "584","Republic of the Marshall Islands"), - new("Martinique", CountryCode.TwoLetterCode.MQ, CountryCode.ThreeLetterCode.MTQ, "474", string.Empty), - new("Mauritania", CountryCode.TwoLetterCode.MR, CountryCode.ThreeLetterCode.MRT, "478","Islamic Republic of Mauritania"), - new("Mauritius", CountryCode.TwoLetterCode.MU, CountryCode.ThreeLetterCode.MUS, "480","Republic of Mauritius"), - new("Mayotte", CountryCode.TwoLetterCode.YT, CountryCode.ThreeLetterCode.MYT, "175", string.Empty), - new("Mexico", CountryCode.TwoLetterCode.MX, CountryCode.ThreeLetterCode.MEX, "484","United Mexican States"), - new("Micronesia, Federated States of", CountryCode.TwoLetterCode.FM, CountryCode.ThreeLetterCode.FSM, "583","Federated States of Micronesia"), - new("Moldova, Republic of", CountryCode.TwoLetterCode.MD, CountryCode.ThreeLetterCode.MDA, "498","Republic of Moldova"), - new("Monaco", CountryCode.TwoLetterCode.MC, CountryCode.ThreeLetterCode.MCO, "492","Principality of Monaco"), - new("Mongolia", CountryCode.TwoLetterCode.MN, CountryCode.ThreeLetterCode.MNG, "496", string.Empty), - new("Montenegro", CountryCode.TwoLetterCode.ME, CountryCode.ThreeLetterCode.MNE, "499","Montenegro"), - new("Montserrat", CountryCode.TwoLetterCode.MS, CountryCode.ThreeLetterCode.MSR, "500", string.Empty), - new("Morocco", CountryCode.TwoLetterCode.MA, CountryCode.ThreeLetterCode.MAR, "504","Kingdom of Morocco"), - new("Mozambique", CountryCode.TwoLetterCode.MZ, CountryCode.ThreeLetterCode.MOZ, "508","Republic of Mozambique"), - new("Myanmar", CountryCode.TwoLetterCode.MM, CountryCode.ThreeLetterCode.MMR, "104","Republic of Myanmar"), - new("Namibia", CountryCode.TwoLetterCode.NA, CountryCode.ThreeLetterCode.NAM, "516","Republic of Namibia"), - new("Nauru", CountryCode.TwoLetterCode.NR, CountryCode.ThreeLetterCode.NRU, "520","Republic of Nauru"), - new("Nepal", CountryCode.TwoLetterCode.NP, CountryCode.ThreeLetterCode.NPL, "524","Federal Democratic Republic of Nepal"), - new("Netherlands", CountryCode.TwoLetterCode.NL, CountryCode.ThreeLetterCode.NLD, "528","Kingdom of the Netherlands"), - new("New Caledonia", CountryCode.TwoLetterCode.NC, CountryCode.ThreeLetterCode.NCL, "540", string.Empty), - new("New Zealand", CountryCode.TwoLetterCode.NZ, CountryCode.ThreeLetterCode.NZL, "554", string.Empty), - new("Nicaragua", CountryCode.TwoLetterCode.NI, CountryCode.ThreeLetterCode.NIC, "558","Republic of Nicaragua"), - new("Niger", CountryCode.TwoLetterCode.NE, CountryCode.ThreeLetterCode.NER, "562","Republic of the Niger"), - new("Nigeria", CountryCode.TwoLetterCode.NG, CountryCode.ThreeLetterCode.NGA, "566","Federal Republic of Nigeria"), - new("Niue", CountryCode.TwoLetterCode.NU, CountryCode.ThreeLetterCode.NIU, "570","Niue"), - new("Norfolk Island", CountryCode.TwoLetterCode.NF, CountryCode.ThreeLetterCode.NFK, "574", string.Empty), - new("North Macedonia", CountryCode.TwoLetterCode.MK, CountryCode.ThreeLetterCode.MKD, "807","Republic of North Macedonia"), - new("Northern Mariana Islands", CountryCode.TwoLetterCode.MP, CountryCode.ThreeLetterCode.MNP, "580","Commonwealth of the Northern Mariana Islands"), - new("Norway", CountryCode.TwoLetterCode.NO, CountryCode.ThreeLetterCode.NOR, "578","Kingdom of Norway"), - new("Oman", CountryCode.TwoLetterCode.OM, CountryCode.ThreeLetterCode.OMN, "512","Sultanate of Oman"), - new("Pakistan", CountryCode.TwoLetterCode.PK, CountryCode.ThreeLetterCode.PAK, "586","Islamic Republic of Pakistan"), - new("Palau", CountryCode.TwoLetterCode.PW, CountryCode.ThreeLetterCode.PLW, "585","Republic of Palau"), - new("Palestine, State of", CountryCode.TwoLetterCode.PS, CountryCode.ThreeLetterCode.PSE, "275","the State of Palestine"), - new("Panama", CountryCode.TwoLetterCode.PA, CountryCode.ThreeLetterCode.PAN, "591","Republic of Panama"), - new("Papua New Guinea", CountryCode.TwoLetterCode.PG, CountryCode.ThreeLetterCode.PNG, "598","Independent State of Papua New Guinea"), - new("Paraguay", CountryCode.TwoLetterCode.PY, CountryCode.ThreeLetterCode.PRY, "600","Republic of Paraguay"), - new("Peru", CountryCode.TwoLetterCode.PE, CountryCode.ThreeLetterCode.PER, "604","Republic of Peru"), - new("Philippines", CountryCode.TwoLetterCode.PH, CountryCode.ThreeLetterCode.PHL, "608","Republic of the Philippines"), - new("Pitcairn", CountryCode.TwoLetterCode.PN, CountryCode.ThreeLetterCode.PCN, "612", string.Empty), - new("Poland", CountryCode.TwoLetterCode.PL, CountryCode.ThreeLetterCode.POL, "616","Republic of Poland"), - new("Portugal", CountryCode.TwoLetterCode.PT, CountryCode.ThreeLetterCode.PRT, "620","Portuguese Republic"), - new("Puerto Rico", CountryCode.TwoLetterCode.PR, CountryCode.ThreeLetterCode.PRI, "630", string.Empty), - new("Qatar", CountryCode.TwoLetterCode.QA, CountryCode.ThreeLetterCode.QAT, "634","State of Qatar"), - new("Rรฉunion", CountryCode.TwoLetterCode.RE, CountryCode.ThreeLetterCode.REU, "638", string.Empty), - new("Romania", CountryCode.TwoLetterCode.RO, CountryCode.ThreeLetterCode.ROU, "642", string.Empty), - new("Russian Federation", CountryCode.TwoLetterCode.RU, CountryCode.ThreeLetterCode.RUS, "643", string.Empty), - new("Rwanda", CountryCode.TwoLetterCode.RW, CountryCode.ThreeLetterCode.RWA, "646","Rwandese Republic"), - new("Saint Barthรฉlemy", CountryCode.TwoLetterCode.BL, CountryCode.ThreeLetterCode.BLM, "652", string.Empty), - new("Saint Helena, Ascension and Tristan da Cunha", CountryCode.TwoLetterCode.SH, CountryCode.ThreeLetterCode.SHN, "654", string.Empty), - new("Saint Kitts and Nevis", CountryCode.TwoLetterCode.KN, CountryCode.ThreeLetterCode.KNA, "659", string.Empty), - new("Saint Lucia", CountryCode.TwoLetterCode.LC, CountryCode.ThreeLetterCode.LCA, "662", string.Empty), - new("Saint Martin (French part)", CountryCode.TwoLetterCode.MF, CountryCode.ThreeLetterCode.MAF, "663", string.Empty), - new("Saint Pierre and Miquelon", CountryCode.TwoLetterCode.PM, CountryCode.ThreeLetterCode.SPM, "666", string.Empty), - new("Saint Vincent and the Grenadines", CountryCode.TwoLetterCode.VC, CountryCode.ThreeLetterCode.VCT, "670", string.Empty), - new("Samoa", CountryCode.TwoLetterCode.WS, CountryCode.ThreeLetterCode.WSM, "882","Independent State of Samoa"), - new("San Marino", CountryCode.TwoLetterCode.SM, CountryCode.ThreeLetterCode.SMR, "674","Republic of San Marino"), - new("Sao Tome and Principe", CountryCode.TwoLetterCode.ST, CountryCode.ThreeLetterCode.STP, "678","Democratic Republic of Sao Tome and Principe"), - new("Saudi Arabia", CountryCode.TwoLetterCode.SA, CountryCode.ThreeLetterCode.SAU, "682","Kingdom of Saudi Arabia"), - new("Senegal", CountryCode.TwoLetterCode.SN, CountryCode.ThreeLetterCode.SEN, "686","Republic of Senegal"), - new("Serbia", CountryCode.TwoLetterCode.RS, CountryCode.ThreeLetterCode.SRB, "688","Republic of Serbia"), - new("Seychelles", CountryCode.TwoLetterCode.SC, CountryCode.ThreeLetterCode.SYC, "690","Republic of Seychelles"), - new("Sierra Leone", CountryCode.TwoLetterCode.SL, CountryCode.ThreeLetterCode.SLE, "694","Republic of Sierra Leone"), - new("Singapore", CountryCode.TwoLetterCode.SG, CountryCode.ThreeLetterCode.SGP, "702","Republic of Singapore"), - new("Sint Maarten (Dutch part)", CountryCode.TwoLetterCode.SX, CountryCode.ThreeLetterCode.SXM, "534","Sint Maarten (Dutch part)"), - new("Slovakia", CountryCode.TwoLetterCode.SK, CountryCode.ThreeLetterCode.SVK, "703","Slovak Republic"), - new("Slovenia", CountryCode.TwoLetterCode.SI, CountryCode.ThreeLetterCode.SVN, "705","Republic of Slovenia"), - new("Solomon Islands", CountryCode.TwoLetterCode.SB, CountryCode.ThreeLetterCode.SLB, "090", string.Empty), - new("Somalia", CountryCode.TwoLetterCode.SO, CountryCode.ThreeLetterCode.SOM, "706","Federal Republic of Somalia"), - new("South Africa", CountryCode.TwoLetterCode.ZA, CountryCode.ThreeLetterCode.ZAF, "710","Republic of South Africa"), - new("South Georgia and the South Sandwich Islands", CountryCode.TwoLetterCode.GS, CountryCode.ThreeLetterCode.SGS, "239", string.Empty), - new("South Sudan", CountryCode.TwoLetterCode.SS, CountryCode.ThreeLetterCode.SSD, "728","Republic of South Sudan"), - new("Spain", CountryCode.TwoLetterCode.ES, CountryCode.ThreeLetterCode.ESP, "724","Kingdom of Spain"), - new("Sri Lanka", CountryCode.TwoLetterCode.LK, CountryCode.ThreeLetterCode.LKA, "144","Democratic Socialist Republic of Sri Lanka"), - new("Sudan", CountryCode.TwoLetterCode.SD, CountryCode.ThreeLetterCode.SDN, "729","Republic of the Sudan"), - new("Suriname", CountryCode.TwoLetterCode.SR, CountryCode.ThreeLetterCode.SUR, "740","Republic of Suriname"), - new("Svalbard and Jan Mayen", CountryCode.TwoLetterCode.SJ, CountryCode.ThreeLetterCode.SJM, "744", string.Empty), - new("Sweden", CountryCode.TwoLetterCode.SE, CountryCode.ThreeLetterCode.SWE, "752","Kingdom of Sweden"), - new("Switzerland", CountryCode.TwoLetterCode.CH, CountryCode.ThreeLetterCode.CHE, "756","Swiss Confederation"), - new("Syrian Arab Republic", CountryCode.TwoLetterCode.SY, CountryCode.ThreeLetterCode.SYR, "760", string.Empty), - new("Taiwan, Province of China", CountryCode.TwoLetterCode.TW, CountryCode.ThreeLetterCode.TWN, "158","Taiwan, Province of China"), - new("Tajikistan", CountryCode.TwoLetterCode.TJ, CountryCode.ThreeLetterCode.TJK, "762","Republic of Tajikistan"), - new("Tanzania, United Republic of", CountryCode.TwoLetterCode.TZ, CountryCode.ThreeLetterCode.TZA, "834","United Republic of Tanzania"), - new("Thailand", CountryCode.TwoLetterCode.TH, CountryCode.ThreeLetterCode.THA, "764","Kingdom of Thailand"), - new("Timor-Leste", CountryCode.TwoLetterCode.TL, CountryCode.ThreeLetterCode.TLS, "626","Democratic Republic of Timor-Leste"), - new("Togo", CountryCode.TwoLetterCode.TG, CountryCode.ThreeLetterCode.TGO, "768","Togolese Republic"), - new("Tokelau", CountryCode.TwoLetterCode.TK, CountryCode.ThreeLetterCode.TKL, "772", string.Empty), - new("Tonga", CountryCode.TwoLetterCode.TO, CountryCode.ThreeLetterCode.TON, "776","Kingdom of Tonga"), - new("Trinidad and Tobago", CountryCode.TwoLetterCode.TT, CountryCode.ThreeLetterCode.TTO, "780","Republic of Trinidad and Tobago"), - new("Tunisia", CountryCode.TwoLetterCode.TN, CountryCode.ThreeLetterCode.TUN, "788","Republic of Tunisia"), - new("Tรผrkiye", CountryCode.TwoLetterCode.TR, CountryCode.ThreeLetterCode.TUR, "792","Republic of Tรผrkiye"), - new("Turkmenistan", CountryCode.TwoLetterCode.TM, CountryCode.ThreeLetterCode.TKM, "795", string.Empty), - new("Turks and Caicos Islands", CountryCode.TwoLetterCode.TC, CountryCode.ThreeLetterCode.TCA, "796", string.Empty), - new("Tuvalu", CountryCode.TwoLetterCode.TV, CountryCode.ThreeLetterCode.TUV, "798", string.Empty), - new("Uganda", CountryCode.TwoLetterCode.UG, CountryCode.ThreeLetterCode.UGA, "800","Republic of Uganda"), - new("Ukraine", CountryCode.TwoLetterCode.UA, CountryCode.ThreeLetterCode.UKR, "804", string.Empty), - new("United Arab Emirates", CountryCode.TwoLetterCode.AE, CountryCode.ThreeLetterCode.ARE, "784", string.Empty), - new("United Kingdom", CountryCode.TwoLetterCode.GB, CountryCode.ThreeLetterCode.GBR, "826","United Kingdom of Great Britain and Northern Ireland"), - new("United States", CountryCode.TwoLetterCode.US, CountryCode.ThreeLetterCode.USA, "840","United States of America"), - new("United States Minor Outlying Islands", CountryCode.TwoLetterCode.UM, CountryCode.ThreeLetterCode.UMI, "581", string.Empty), - new("Uruguay", CountryCode.TwoLetterCode.UY, CountryCode.ThreeLetterCode.URY, "858","Eastern Republic of Uruguay"), - new("Uzbekistan", CountryCode.TwoLetterCode.UZ, CountryCode.ThreeLetterCode.UZB, "860","Republic of Uzbekistan"), - new("Vanuatu", CountryCode.TwoLetterCode.VU, CountryCode.ThreeLetterCode.VUT, "548","Republic of Vanuatu"), - new("Venezuela, Bolivarian Republic of", CountryCode.TwoLetterCode.VE, CountryCode.ThreeLetterCode.VEN, "862","Bolivarian Republic of Venezuela"), - new("Viet Nam", CountryCode.TwoLetterCode.VN, CountryCode.ThreeLetterCode.VNM, "704","Socialist Republic of Viet Nam"), - new("Virgin Islands, British", CountryCode.TwoLetterCode.VG, CountryCode.ThreeLetterCode.VGB, "092","British Virgin Islands"), - new("Virgin Islands, U.S.", CountryCode.TwoLetterCode.VI, CountryCode.ThreeLetterCode.VIR, "850","Virgin Islands of the United States"), - new("Wallis and Futuna", CountryCode.TwoLetterCode.WF, CountryCode.ThreeLetterCode.WLF, "876", string.Empty), - new("Western Sahara", CountryCode.TwoLetterCode.EH, CountryCode.ThreeLetterCode.ESH, "732", string.Empty), - new("Yemen", CountryCode.TwoLetterCode.YE, CountryCode.ThreeLetterCode.YEM, "887","Republic of Yemen"), - new("Zambia", CountryCode.TwoLetterCode.ZM, CountryCode.ThreeLetterCode.ZMB, "894","Republic of Zambia"), - new("Zimbabwe", CountryCode.TwoLetterCode.ZW, CountryCode.ThreeLetterCode.ZWE, "716","Republic of Zimbabwe"), + new("Afghanistan", CountryCode.TwoLetterCode.AF, CountryCode.ThreeLetterCode.AFG, 4), + new("ร…land Islands", CountryCode.TwoLetterCode.AX, CountryCode.ThreeLetterCode.ALA, 248), + new("Albania", CountryCode.TwoLetterCode.AL, CountryCode.ThreeLetterCode.ALB, 8), + new("Algeria", CountryCode.TwoLetterCode.DZ, CountryCode.ThreeLetterCode.DZA, 12), + new("American Samoa", CountryCode.TwoLetterCode.AS, CountryCode.ThreeLetterCode.ASM, 16), + new("Andorra", CountryCode.TwoLetterCode.AD, CountryCode.ThreeLetterCode.AND, 20), + new("Angola", CountryCode.TwoLetterCode.AO, CountryCode.ThreeLetterCode.AGO, 24), + new("Anguilla", CountryCode.TwoLetterCode.AI, CountryCode.ThreeLetterCode.AIA, 660), + new("Antarctica", CountryCode.TwoLetterCode.AQ, CountryCode.ThreeLetterCode.ATA, 10), + new("Antigua and Barbuda", CountryCode.TwoLetterCode.AG, CountryCode.ThreeLetterCode.ATG, 28), + new("Argentina", CountryCode.TwoLetterCode.AR, CountryCode.ThreeLetterCode.ARG, 32), + new("Armenia", CountryCode.TwoLetterCode.AM, CountryCode.ThreeLetterCode.ARM, 51), + new("Aruba", CountryCode.TwoLetterCode.AW, CountryCode.ThreeLetterCode.ABW, 533), + new("Australia", CountryCode.TwoLetterCode.AU, CountryCode.ThreeLetterCode.AUS, 36), + new("Austria", CountryCode.TwoLetterCode.AT, CountryCode.ThreeLetterCode.AUT, 40), + new("Azerbaijan", CountryCode.TwoLetterCode.AZ, CountryCode.ThreeLetterCode.AZE, 31), + new("Bahamas", CountryCode.TwoLetterCode.BS, CountryCode.ThreeLetterCode.BHS, 44), + new("Bahrain", CountryCode.TwoLetterCode.BH, CountryCode.ThreeLetterCode.BHR, 48), + new("Bangladesh", CountryCode.TwoLetterCode.BD, CountryCode.ThreeLetterCode.BGD, 50), + new("Barbados", CountryCode.TwoLetterCode.BB, CountryCode.ThreeLetterCode.BRB, 52), + new("Belarus", CountryCode.TwoLetterCode.BY, CountryCode.ThreeLetterCode.BLR, 112), + new("Belgium", CountryCode.TwoLetterCode.BE, CountryCode.ThreeLetterCode.BEL, 56), + new("Belize", CountryCode.TwoLetterCode.BZ, CountryCode.ThreeLetterCode.BLZ, 84), + new("Benin", CountryCode.TwoLetterCode.BJ, CountryCode.ThreeLetterCode.BEN, 204), + new("Bermuda", CountryCode.TwoLetterCode.BM, CountryCode.ThreeLetterCode.BMU, 60), + new("Bhutan", CountryCode.TwoLetterCode.BT, CountryCode.ThreeLetterCode.BTN, 64), + new("Bolivia (Plurinational State of)", CountryCode.TwoLetterCode.BO, CountryCode.ThreeLetterCode.BOL, 68), + new("Bonaire, Sint Eustatius and Saba", CountryCode.TwoLetterCode.BQ, CountryCode.ThreeLetterCode.BES, 535), + new("Bosnia and Herzegovina", CountryCode.TwoLetterCode.BA, CountryCode.ThreeLetterCode.BIH, 70), + new("Botswana", CountryCode.TwoLetterCode.BW, CountryCode.ThreeLetterCode.BWA, 72), + new("Bouvet Island", CountryCode.TwoLetterCode.BV, CountryCode.ThreeLetterCode.BVT, 74), + new("Brazil", CountryCode.TwoLetterCode.BR, CountryCode.ThreeLetterCode.BRA, 76), + new("British Indian Ocean Territory", CountryCode.TwoLetterCode.IO, CountryCode.ThreeLetterCode.IOT, 86), + new("British Virgin Islands", CountryCode.TwoLetterCode.VG, CountryCode.ThreeLetterCode.VGB, 92), + new("Brunei Darussalam", CountryCode.TwoLetterCode.BN, CountryCode.ThreeLetterCode.BRN, 96), + new("Bulgaria", CountryCode.TwoLetterCode.BG, CountryCode.ThreeLetterCode.BGR, 100), + new("Burkina Faso", CountryCode.TwoLetterCode.BF, CountryCode.ThreeLetterCode.BFA, 854), + new("Burundi", CountryCode.TwoLetterCode.BI, CountryCode.ThreeLetterCode.BDI, 108), + new("Cabo Verde", CountryCode.TwoLetterCode.CV, CountryCode.ThreeLetterCode.CPV, 132), + new("Cambodia", CountryCode.TwoLetterCode.KH, CountryCode.ThreeLetterCode.KHM, 116), + new("Cameroon", CountryCode.TwoLetterCode.CM, CountryCode.ThreeLetterCode.CMR, 120), + new("Canada", CountryCode.TwoLetterCode.CA, CountryCode.ThreeLetterCode.CAN, 124), + new("Cayman Islands", CountryCode.TwoLetterCode.KY, CountryCode.ThreeLetterCode.CYM, 136), + new("Central African Republic", CountryCode.TwoLetterCode.CF, CountryCode.ThreeLetterCode.CAF, 140), + new("Chad", CountryCode.TwoLetterCode.TD, CountryCode.ThreeLetterCode.TCD, 148), + new("Chile", CountryCode.TwoLetterCode.CL, CountryCode.ThreeLetterCode.CHL, 152), + new("China", CountryCode.TwoLetterCode.CN, CountryCode.ThreeLetterCode.CHN, 156), + new("China, Hong Kong Special Administrative Region", CountryCode.TwoLetterCode.HK, CountryCode.ThreeLetterCode.HKG, 344), + new("China, Macao Special Administrative Region", CountryCode.TwoLetterCode.MO, CountryCode.ThreeLetterCode.MAC, 446), + new("Christmas Island", CountryCode.TwoLetterCode.CX, CountryCode.ThreeLetterCode.CXR, 162), + new("Cocos (Keeling) Islands", CountryCode.TwoLetterCode.CC, CountryCode.ThreeLetterCode.CCK, 166), + new("Colombia", CountryCode.TwoLetterCode.CO, CountryCode.ThreeLetterCode.COL, 170), + new("Comoros", CountryCode.TwoLetterCode.KM, CountryCode.ThreeLetterCode.COM, 174), + new("Congo", CountryCode.TwoLetterCode.CG, CountryCode.ThreeLetterCode.COG, 178), + new("Cook Islands", CountryCode.TwoLetterCode.CK, CountryCode.ThreeLetterCode.COK, 184), + new("Costa Rica", CountryCode.TwoLetterCode.CR, CountryCode.ThreeLetterCode.CRI, 188), + new("Cรดte dโ€™Ivoire", CountryCode.TwoLetterCode.CI, CountryCode.ThreeLetterCode.CIV, 384), + new("Croatia", CountryCode.TwoLetterCode.HR, CountryCode.ThreeLetterCode.HRV, 191), + new("Cuba", CountryCode.TwoLetterCode.CU, CountryCode.ThreeLetterCode.CUB, 192), + new("Curaรงao", CountryCode.TwoLetterCode.CW, CountryCode.ThreeLetterCode.CUW, 531), + new("Cyprus", CountryCode.TwoLetterCode.CY, CountryCode.ThreeLetterCode.CYP, 196), + new("Czechia", CountryCode.TwoLetterCode.CZ, CountryCode.ThreeLetterCode.CZE, 203), + new("Democratic People's Republic of Korea", CountryCode.TwoLetterCode.KP, CountryCode.ThreeLetterCode.PRK, 408), + new("Democratic Republic of the Congo", CountryCode.TwoLetterCode.CD, CountryCode.ThreeLetterCode.COD, 180), + new("Denmark", CountryCode.TwoLetterCode.DK, CountryCode.ThreeLetterCode.DNK, 208), + new("Djibouti", CountryCode.TwoLetterCode.DJ, CountryCode.ThreeLetterCode.DJI, 262), + new("Dominica", CountryCode.TwoLetterCode.DM, CountryCode.ThreeLetterCode.DMA, 212), + new("Dominican Republic", CountryCode.TwoLetterCode.DO, CountryCode.ThreeLetterCode.DOM, 214), + new("Ecuador", CountryCode.TwoLetterCode.EC, CountryCode.ThreeLetterCode.ECU, 218), + new("Egypt", CountryCode.TwoLetterCode.EG, CountryCode.ThreeLetterCode.EGY, 818), + new("El Salvador", CountryCode.TwoLetterCode.SV, CountryCode.ThreeLetterCode.SLV, 222), + new("Equatorial Guinea", CountryCode.TwoLetterCode.GQ, CountryCode.ThreeLetterCode.GNQ, 226), + new("Eritrea", CountryCode.TwoLetterCode.ER, CountryCode.ThreeLetterCode.ERI, 232), + new("Estonia", CountryCode.TwoLetterCode.EE, CountryCode.ThreeLetterCode.EST, 233), + new("Eswatini", CountryCode.TwoLetterCode.SZ, CountryCode.ThreeLetterCode.SWZ, 748), + new("Ethiopia", CountryCode.TwoLetterCode.ET, CountryCode.ThreeLetterCode.ETH, 231), + new("Falkland Islands (Malvinas)", CountryCode.TwoLetterCode.FK, CountryCode.ThreeLetterCode.FLK, 238), + new("Faroe Islands", CountryCode.TwoLetterCode.FO, CountryCode.ThreeLetterCode.FRO, 234), + new("Fiji", CountryCode.TwoLetterCode.FJ, CountryCode.ThreeLetterCode.FJI, 242), + new("Finland", CountryCode.TwoLetterCode.FI, CountryCode.ThreeLetterCode.FIN, 246), + new("France", CountryCode.TwoLetterCode.FR, CountryCode.ThreeLetterCode.FRA, 250), + new("French Guiana", CountryCode.TwoLetterCode.GF, CountryCode.ThreeLetterCode.GUF, 254), + new("French Polynesia", CountryCode.TwoLetterCode.PF, CountryCode.ThreeLetterCode.PYF, 258), + new("French Southern Territories", CountryCode.TwoLetterCode.TF, CountryCode.ThreeLetterCode.ATF, 260), + new("Gabon", CountryCode.TwoLetterCode.GA, CountryCode.ThreeLetterCode.GAB, 266), + new("Gambia", CountryCode.TwoLetterCode.GM, CountryCode.ThreeLetterCode.GMB, 270), + new("Georgia", CountryCode.TwoLetterCode.GE, CountryCode.ThreeLetterCode.GEO, 268), + new("Germany", CountryCode.TwoLetterCode.DE, CountryCode.ThreeLetterCode.DEU, 276), + new("Ghana", CountryCode.TwoLetterCode.GH, CountryCode.ThreeLetterCode.GHA, 288), + new("Gibraltar", CountryCode.TwoLetterCode.GI, CountryCode.ThreeLetterCode.GIB, 292), + new("Greece", CountryCode.TwoLetterCode.GR, CountryCode.ThreeLetterCode.GRC, 300), + new("Greenland", CountryCode.TwoLetterCode.GL, CountryCode.ThreeLetterCode.GRL, 304), + new("Grenada", CountryCode.TwoLetterCode.GD, CountryCode.ThreeLetterCode.GRD, 308), + new("Guadeloupe", CountryCode.TwoLetterCode.GP, CountryCode.ThreeLetterCode.GLP, 312), + new("Guam", CountryCode.TwoLetterCode.GU, CountryCode.ThreeLetterCode.GUM, 316), + new("Guatemala", CountryCode.TwoLetterCode.GT, CountryCode.ThreeLetterCode.GTM, 320), + new("Guernsey", CountryCode.TwoLetterCode.GG, CountryCode.ThreeLetterCode.GGY, 831), + new("Guinea", CountryCode.TwoLetterCode.GN, CountryCode.ThreeLetterCode.GIN, 324), + new("Guinea-Bissau", CountryCode.TwoLetterCode.GW, CountryCode.ThreeLetterCode.GNB, 624), + new("Guyana", CountryCode.TwoLetterCode.GY, CountryCode.ThreeLetterCode.GUY, 328), + new("Haiti", CountryCode.TwoLetterCode.HT, CountryCode.ThreeLetterCode.HTI, 332), + new("Heard Island and McDonald Islands", CountryCode.TwoLetterCode.HM, CountryCode.ThreeLetterCode.HMD, 334), + new("Holy See", CountryCode.TwoLetterCode.VA, CountryCode.ThreeLetterCode.VAT, 336), + new("Honduras", CountryCode.TwoLetterCode.HN, CountryCode.ThreeLetterCode.HND, 340), + new("Hungary", CountryCode.TwoLetterCode.HU, CountryCode.ThreeLetterCode.HUN, 348), + new("Iceland", CountryCode.TwoLetterCode.IS, CountryCode.ThreeLetterCode.ISL, 352), + new("India", CountryCode.TwoLetterCode.IN, CountryCode.ThreeLetterCode.IND, 356), + new("Indonesia", CountryCode.TwoLetterCode.ID, CountryCode.ThreeLetterCode.IDN, 360), + new("Iran (Islamic Republic of)", CountryCode.TwoLetterCode.IR, CountryCode.ThreeLetterCode.IRN, 364), + new("Iraq", CountryCode.TwoLetterCode.IQ, CountryCode.ThreeLetterCode.IRQ, 368), + new("Ireland", CountryCode.TwoLetterCode.IE, CountryCode.ThreeLetterCode.IRL, 372), + new("Isle of Man", CountryCode.TwoLetterCode.IM, CountryCode.ThreeLetterCode.IMN, 833), + new("Israel", CountryCode.TwoLetterCode.IL, CountryCode.ThreeLetterCode.ISR, 376), + new("Italy", CountryCode.TwoLetterCode.IT, CountryCode.ThreeLetterCode.ITA, 380), + new("Jamaica", CountryCode.TwoLetterCode.JM, CountryCode.ThreeLetterCode.JAM, 388), + new("Japan", CountryCode.TwoLetterCode.JP, CountryCode.ThreeLetterCode.JPN, 392), + new("Jersey", CountryCode.TwoLetterCode.JE, CountryCode.ThreeLetterCode.JEY, 832), + new("Jordan", CountryCode.TwoLetterCode.JO, CountryCode.ThreeLetterCode.JOR, 400), + new("Kazakhstan", CountryCode.TwoLetterCode.KZ, CountryCode.ThreeLetterCode.KAZ, 398), + new("Kenya", CountryCode.TwoLetterCode.KE, CountryCode.ThreeLetterCode.KEN, 404), + new("Kiribati", CountryCode.TwoLetterCode.KI, CountryCode.ThreeLetterCode.KIR, 296), + new("Kuwait", CountryCode.TwoLetterCode.KW, CountryCode.ThreeLetterCode.KWT, 414), + new("Kyrgyzstan", CountryCode.TwoLetterCode.KG, CountryCode.ThreeLetterCode.KGZ, 417), + new("Lao People's Democratic Republic", CountryCode.TwoLetterCode.LA, CountryCode.ThreeLetterCode.LAO, 418), + new("Latvia", CountryCode.TwoLetterCode.LV, CountryCode.ThreeLetterCode.LVA, 428), + new("Lebanon", CountryCode.TwoLetterCode.LB, CountryCode.ThreeLetterCode.LBN, 422), + new("Lesotho", CountryCode.TwoLetterCode.LS, CountryCode.ThreeLetterCode.LSO, 426), + new("Liberia", CountryCode.TwoLetterCode.LR, CountryCode.ThreeLetterCode.LBR, 430), + new("Libya", CountryCode.TwoLetterCode.LY, CountryCode.ThreeLetterCode.LBY, 434), + new("Liechtenstein", CountryCode.TwoLetterCode.LI, CountryCode.ThreeLetterCode.LIE, 438), + new("Lithuania", CountryCode.TwoLetterCode.LT, CountryCode.ThreeLetterCode.LTU, 440), + new("Luxembourg", CountryCode.TwoLetterCode.LU, CountryCode.ThreeLetterCode.LUX, 442), + new("Madagascar", CountryCode.TwoLetterCode.MG, CountryCode.ThreeLetterCode.MDG, 450), + new("Malawi", CountryCode.TwoLetterCode.MW, CountryCode.ThreeLetterCode.MWI, 454), + new("Malaysia", CountryCode.TwoLetterCode.MY, CountryCode.ThreeLetterCode.MYS, 458), + new("Maldives", CountryCode.TwoLetterCode.MV, CountryCode.ThreeLetterCode.MDV, 462), + new("Mali", CountryCode.TwoLetterCode.ML, CountryCode.ThreeLetterCode.MLI, 466), + new("Malta", CountryCode.TwoLetterCode.MT, CountryCode.ThreeLetterCode.MLT, 470), + new("Marshall Islands", CountryCode.TwoLetterCode.MH, CountryCode.ThreeLetterCode.MHL, 584), + new("Martinique", CountryCode.TwoLetterCode.MQ, CountryCode.ThreeLetterCode.MTQ, 474), + new("Mauritania", CountryCode.TwoLetterCode.MR, CountryCode.ThreeLetterCode.MRT, 478), + new("Mauritius", CountryCode.TwoLetterCode.MU, CountryCode.ThreeLetterCode.MUS, 480), + new("Mayotte", CountryCode.TwoLetterCode.YT, CountryCode.ThreeLetterCode.MYT, 175), + new("Mexico", CountryCode.TwoLetterCode.MX, CountryCode.ThreeLetterCode.MEX, 484), + new("Micronesia (Federated States of)", CountryCode.TwoLetterCode.FM, CountryCode.ThreeLetterCode.FSM, 583), + new("Monaco", CountryCode.TwoLetterCode.MC, CountryCode.ThreeLetterCode.MCO, 492), + new("Mongolia", CountryCode.TwoLetterCode.MN, CountryCode.ThreeLetterCode.MNG, 496), + new("Montenegro", CountryCode.TwoLetterCode.ME, CountryCode.ThreeLetterCode.MNE, 499), + new("Montserrat", CountryCode.TwoLetterCode.MS, CountryCode.ThreeLetterCode.MSR, 500), + new("Morocco", CountryCode.TwoLetterCode.MA, CountryCode.ThreeLetterCode.MAR, 504), + new("Mozambique", CountryCode.TwoLetterCode.MZ, CountryCode.ThreeLetterCode.MOZ, 508), + new("Myanmar", CountryCode.TwoLetterCode.MM, CountryCode.ThreeLetterCode.MMR, 104), + new("Namibia", CountryCode.TwoLetterCode.NA, CountryCode.ThreeLetterCode.NAM, 516), + new("Nauru", CountryCode.TwoLetterCode.NR, CountryCode.ThreeLetterCode.NRU, 520), + new("Nepal", CountryCode.TwoLetterCode.NP, CountryCode.ThreeLetterCode.NPL, 524), + new("Netherlands (Kingdom of the)", CountryCode.TwoLetterCode.NL, CountryCode.ThreeLetterCode.NLD, 528), + new("New Caledonia", CountryCode.TwoLetterCode.NC, CountryCode.ThreeLetterCode.NCL, 540), + new("New Zealand", CountryCode.TwoLetterCode.NZ, CountryCode.ThreeLetterCode.NZL, 554), + new("Nicaragua", CountryCode.TwoLetterCode.NI, CountryCode.ThreeLetterCode.NIC, 558), + new("Niger", CountryCode.TwoLetterCode.NE, CountryCode.ThreeLetterCode.NER, 562), + new("Nigeria", CountryCode.TwoLetterCode.NG, CountryCode.ThreeLetterCode.NGA, 566), + new("Niue", CountryCode.TwoLetterCode.NU, CountryCode.ThreeLetterCode.NIU, 570), + new("Norfolk Island", CountryCode.TwoLetterCode.NF, CountryCode.ThreeLetterCode.NFK, 574), + new("North Macedonia", CountryCode.TwoLetterCode.MK, CountryCode.ThreeLetterCode.MKD, 807), + new("Northern Mariana Islands", CountryCode.TwoLetterCode.MP, CountryCode.ThreeLetterCode.MNP, 580), + new("Norway", CountryCode.TwoLetterCode.NO, CountryCode.ThreeLetterCode.NOR, 578), + new("Oman", CountryCode.TwoLetterCode.OM, CountryCode.ThreeLetterCode.OMN, 512), + new("Pakistan", CountryCode.TwoLetterCode.PK, CountryCode.ThreeLetterCode.PAK, 586), + new("Palau", CountryCode.TwoLetterCode.PW, CountryCode.ThreeLetterCode.PLW, 585), + new("Panama", CountryCode.TwoLetterCode.PA, CountryCode.ThreeLetterCode.PAN, 591), + new("Papua New Guinea", CountryCode.TwoLetterCode.PG, CountryCode.ThreeLetterCode.PNG, 598), + new("Paraguay", CountryCode.TwoLetterCode.PY, CountryCode.ThreeLetterCode.PRY, 600), + new("Peru", CountryCode.TwoLetterCode.PE, CountryCode.ThreeLetterCode.PER, 604), + new("Philippines", CountryCode.TwoLetterCode.PH, CountryCode.ThreeLetterCode.PHL, 608), + new("Pitcairn", CountryCode.TwoLetterCode.PN, CountryCode.ThreeLetterCode.PCN, 612), + new("Poland", CountryCode.TwoLetterCode.PL, CountryCode.ThreeLetterCode.POL, 616), + new("Portugal", CountryCode.TwoLetterCode.PT, CountryCode.ThreeLetterCode.PRT, 620), + new("Puerto Rico", CountryCode.TwoLetterCode.PR, CountryCode.ThreeLetterCode.PRI, 630), + new("Qatar", CountryCode.TwoLetterCode.QA, CountryCode.ThreeLetterCode.QAT, 634), + new("Republic of Korea", CountryCode.TwoLetterCode.KR, CountryCode.ThreeLetterCode.KOR, 410), + new("Republic of Moldova", CountryCode.TwoLetterCode.MD, CountryCode.ThreeLetterCode.MDA, 498), + new("Rรฉunion", CountryCode.TwoLetterCode.RE, CountryCode.ThreeLetterCode.REU, 638), + new("Romania", CountryCode.TwoLetterCode.RO, CountryCode.ThreeLetterCode.ROU, 642), + new("Russian Federation", CountryCode.TwoLetterCode.RU, CountryCode.ThreeLetterCode.RUS, 643), + new("Rwanda", CountryCode.TwoLetterCode.RW, CountryCode.ThreeLetterCode.RWA, 646), + new("Saint Barthรฉlemy", CountryCode.TwoLetterCode.BL, CountryCode.ThreeLetterCode.BLM, 652), + new("Saint Helena", CountryCode.TwoLetterCode.SH, CountryCode.ThreeLetterCode.SHN, 654), + new("Saint Kitts and Nevis", CountryCode.TwoLetterCode.KN, CountryCode.ThreeLetterCode.KNA, 659), + new("Saint Lucia", CountryCode.TwoLetterCode.LC, CountryCode.ThreeLetterCode.LCA, 662), + new("Saint Martin (French Part)", CountryCode.TwoLetterCode.MF, CountryCode.ThreeLetterCode.MAF, 663), + new("Saint Pierre and Miquelon", CountryCode.TwoLetterCode.PM, CountryCode.ThreeLetterCode.SPM, 666), + new("Saint Vincent and the Grenadines", CountryCode.TwoLetterCode.VC, CountryCode.ThreeLetterCode.VCT, 670), + new("Samoa", CountryCode.TwoLetterCode.WS, CountryCode.ThreeLetterCode.WSM, 882), + new("San Marino", CountryCode.TwoLetterCode.SM, CountryCode.ThreeLetterCode.SMR, 674), + new("Sao Tome and Principe", CountryCode.TwoLetterCode.ST, CountryCode.ThreeLetterCode.STP, 678), + new("Saudi Arabia", CountryCode.TwoLetterCode.SA, CountryCode.ThreeLetterCode.SAU, 682), + new("Senegal", CountryCode.TwoLetterCode.SN, CountryCode.ThreeLetterCode.SEN, 686), + new("Serbia", CountryCode.TwoLetterCode.RS, CountryCode.ThreeLetterCode.SRB, 688), + new("Seychelles", CountryCode.TwoLetterCode.SC, CountryCode.ThreeLetterCode.SYC, 690), + new("Sierra Leone", CountryCode.TwoLetterCode.SL, CountryCode.ThreeLetterCode.SLE, 694), + new("Singapore", CountryCode.TwoLetterCode.SG, CountryCode.ThreeLetterCode.SGP, 702), + new("Sint Maarten (Dutch part)", CountryCode.TwoLetterCode.SX, CountryCode.ThreeLetterCode.SXM, 534), + new("Slovakia", CountryCode.TwoLetterCode.SK, CountryCode.ThreeLetterCode.SVK, 703), + new("Slovenia", CountryCode.TwoLetterCode.SI, CountryCode.ThreeLetterCode.SVN, 705), + new("Solomon Islands", CountryCode.TwoLetterCode.SB, CountryCode.ThreeLetterCode.SLB, 90), + new("Somalia", CountryCode.TwoLetterCode.SO, CountryCode.ThreeLetterCode.SOM, 706), + new("South Africa", CountryCode.TwoLetterCode.ZA, CountryCode.ThreeLetterCode.ZAF, 710), + new("South Georgia and the South Sandwich Islands", CountryCode.TwoLetterCode.GS, CountryCode.ThreeLetterCode.SGS, 239), + new("South Sudan", CountryCode.TwoLetterCode.SS, CountryCode.ThreeLetterCode.SSD, 728), + new("Spain", CountryCode.TwoLetterCode.ES, CountryCode.ThreeLetterCode.ESP, 724), + new("Sri Lanka", CountryCode.TwoLetterCode.LK, CountryCode.ThreeLetterCode.LKA, 144), + new("State of Palestine", CountryCode.TwoLetterCode.PS, CountryCode.ThreeLetterCode.PSE, 275), + new("Sudan", CountryCode.TwoLetterCode.SD, CountryCode.ThreeLetterCode.SDN, 729), + new("Suriname", CountryCode.TwoLetterCode.SR, CountryCode.ThreeLetterCode.SUR, 740), + new("Svalbard and Jan Mayen Islands", CountryCode.TwoLetterCode.SJ, CountryCode.ThreeLetterCode.SJM, 744), + new("Sweden", CountryCode.TwoLetterCode.SE, CountryCode.ThreeLetterCode.SWE, 752), + new("Switzerland", CountryCode.TwoLetterCode.CH, CountryCode.ThreeLetterCode.CHE, 756), + new("Syrian Arab Republic", CountryCode.TwoLetterCode.SY, CountryCode.ThreeLetterCode.SYR, 760), + new("Tajikistan", CountryCode.TwoLetterCode.TJ, CountryCode.ThreeLetterCode.TJK, 762), + new("Thailand", CountryCode.TwoLetterCode.TH, CountryCode.ThreeLetterCode.THA, 764), + new("Timor-Leste", CountryCode.TwoLetterCode.TL, CountryCode.ThreeLetterCode.TLS, 626), + new("Togo", CountryCode.TwoLetterCode.TG, CountryCode.ThreeLetterCode.TGO, 768), + new("Tokelau", CountryCode.TwoLetterCode.TK, CountryCode.ThreeLetterCode.TKL, 772), + new("Tonga", CountryCode.TwoLetterCode.TO, CountryCode.ThreeLetterCode.TON, 776), + new("Trinidad and Tobago", CountryCode.TwoLetterCode.TT, CountryCode.ThreeLetterCode.TTO, 780), + new("Tunisia", CountryCode.TwoLetterCode.TN, CountryCode.ThreeLetterCode.TUN, 788), + new("Tรผrkiye", CountryCode.TwoLetterCode.TR, CountryCode.ThreeLetterCode.TUR, 792), + new("Turkmenistan", CountryCode.TwoLetterCode.TM, CountryCode.ThreeLetterCode.TKM, 795), + new("Turks and Caicos Islands", CountryCode.TwoLetterCode.TC, CountryCode.ThreeLetterCode.TCA, 796), + new("Tuvalu", CountryCode.TwoLetterCode.TV, CountryCode.ThreeLetterCode.TUV, 798), + new("Uganda", CountryCode.TwoLetterCode.UG, CountryCode.ThreeLetterCode.UGA, 800), + new("Ukraine", CountryCode.TwoLetterCode.UA, CountryCode.ThreeLetterCode.UKR, 804), + new("United Arab Emirates", CountryCode.TwoLetterCode.AE, CountryCode.ThreeLetterCode.ARE, 784), + new("United Kingdom of Great Britain and Northern Ireland", CountryCode.TwoLetterCode.GB, CountryCode.ThreeLetterCode.GBR, 826), + new("United Republic of Tanzania", CountryCode.TwoLetterCode.TZ, CountryCode.ThreeLetterCode.TZA, 834), + new("United States Minor Outlying Islands", CountryCode.TwoLetterCode.UM, CountryCode.ThreeLetterCode.UMI, 581), + new("United States of America", CountryCode.TwoLetterCode.US, CountryCode.ThreeLetterCode.USA, 840), + new("United States Virgin Islands", CountryCode.TwoLetterCode.VI, CountryCode.ThreeLetterCode.VIR, 850), + new("Uruguay", CountryCode.TwoLetterCode.UY, CountryCode.ThreeLetterCode.URY, 858), + new("Uzbekistan", CountryCode.TwoLetterCode.UZ, CountryCode.ThreeLetterCode.UZB, 860), + new("Vanuatu", CountryCode.TwoLetterCode.VU, CountryCode.ThreeLetterCode.VUT, 548), + new("Venezuela (Bolivarian Republic of)", CountryCode.TwoLetterCode.VE, CountryCode.ThreeLetterCode.VEN, 862), + new("Viet Nam", CountryCode.TwoLetterCode.VN, CountryCode.ThreeLetterCode.VNM, 704), + new("Wallis and Futuna Islands", CountryCode.TwoLetterCode.WF, CountryCode.ThreeLetterCode.WLF, 876), + new("Western Sahara", CountryCode.TwoLetterCode.EH, CountryCode.ThreeLetterCode.ESH, 732), + new("Yemen", CountryCode.TwoLetterCode.YE, CountryCode.ThreeLetterCode.YEM, 887), + new("Zambia", CountryCode.TwoLetterCode.ZM, CountryCode.ThreeLetterCode.ZMB, 894), + new("Zimbabwe", CountryCode.TwoLetterCode.ZW, CountryCode.ThreeLetterCode.ZWE, 716), }); } } diff --git a/src/packages/HawkN.Iso.Countries/Models/Country.cs b/src/packages/HawkN.Iso.Countries/Models/Country.cs index 9818ddb..6c983e5 100644 --- a/src/packages/HawkN.Iso.Countries/Models/Country.cs +++ b/src/packages/HawkN.Iso.Countries/Models/Country.cs @@ -6,11 +6,15 @@ /// Country name (English) /// ISO 3166-1 Alpha-2 (e.g., "AT") /// ISO 3166-1 Alpha-3 (e.g., "AUT") -/// ISO 3166-1 Numeric (e.g., "840") -/// ISO 3166-1 Official name (e.g., "Republic of Austria") +/// ISO 3166-1 Numeric (e.g., 840) public sealed record Country( string Name, CountryCode.TwoLetterCode TwoLetterCode, CountryCode.ThreeLetterCode ThreeLetterCode, - string NumericCode, - string? OfficialName); + int NumericCode) +{ + /// + /// Numeric code as string with leading zeros (3 digits), e.g., "004" for Afghanistan. + /// + public string NumericCodeString => NumericCode.ToString("D3"); +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/Package/Content/README.md b/src/packages/HawkN.Iso.Countries/Package/Content/README.md index ec31983..815b683 100644 --- a/src/packages/HawkN.Iso.Countries/Package/Content/README.md +++ b/src/packages/HawkN.Iso.Countries/Package/Content/README.md @@ -1,11 +1,11 @@ # HawkN.Iso.Countries -**HawkN.Iso.Countries** provides ISO 3166-1 country codes (Alpha-2, Alpha-3), official names, and validation services. +**HawkN.Iso.Countries** provides ISO 3166-1 country codes (Alpha-2, Alpha-3), official names, numeric codes (UN M49), and validation services. ## Features -- **Comprehensive Country List** โ€“ Provides an up-to-date set of country data according to the `ISO 3166-1` standard. +- **Comprehensive Country List** โ€“ Provides an up-to-date `ISO 3166-1` country data with numeric codes from `UN M49`. - **Strongly Typed Codes** โ€“ `TwoLetterCode` and `ThreeLetterCode` enums are generated at compile-time. -- **Multiple Search Methods** โ€“ Lookup by Alpha-2, Alpha-3, Numeric code, or Official Name. +- **Multiple Search Methods** โ€“ Lookup by Alpha-2, Alpha-3, Numeric code, or Country Name. - **Advanced Validation** โ€“ Built-in `ValidationResult` providing detailed feedback for code and name verification. - **Ultra-Fast Performance** โ€“ O(1) lookups via pre-indexed static dictionaries. - **Lightweight & Dependency-Free** โ€“ Compatible with .NET 8 and above. @@ -136,8 +136,8 @@ Console.WriteLine($"{flag} {country.Name}"); --- ### Supported countries -Supported 249 countries. See the country list with the [link](https://github.com/HawkN113/HawkN.Iso.Countries?tab=readme-ov-file#supported-countries) -Last updated at `01.12.2025`. +See the country list with the [link](https://github.com/HawkN113/HawkN.Iso.Countries?tab=readme-ov-file#supported-countries) +Last updated at `25.12.2025`. --- @@ -151,12 +151,11 @@ Last updated at `01.12.2025`. ## License ### Code License -The source code of **HawkN.Iso.Countries** is licensed under the [MIT License](LICENSE). -You are free to use, modify, and distribute it in both open-source and commercial projects. +The source code of `HawkN.Iso.Countries` is licensed under the [MIT License](LICENSE). ### Data License -The country data used in this library is sourced from the [Debian iso-codes project](https://salsa.debian.org/iso-codes-team/iso-codes). -The data itself is licensed under **GNU LGPL v2.1**. See [DATA-LICENSE.txt](DATA-LICENSE.txt) for more details. +Country data (`ISO 3166-1` and `UN M49` numeric codes) is sourced from the [UN Statistics Division โ€“ M49 standard](https://unstats.un.org/unsd/methodology/m49/overview) + --- ### Troubleshooting: Emoji Display @@ -170,5 +169,5 @@ If you see `??` instead of flags in your console: ### References - [ISO 3166 Standard](https://www.iso.org/iso-3166-country-codes.html) -- [Debian Iso-Codes Team](https://salsa.debian.org/iso-codes-team/iso-codes/-/tree/main) +- [UN Statistics Division โ€“ M49 standard](https://unstats.un.org/unsd/methodology/m49/overview) - [GitHub Repository](https://github.com/HawkN113/HawkN.Iso.Countries) diff --git a/src/packages/HawkN.Iso.Countries/Services/CountryCodeService.cs b/src/packages/HawkN.Iso.Countries/Services/CountryCodeService.cs index 8af902d..7265005 100644 --- a/src/packages/HawkN.Iso.Countries/Services/CountryCodeService.cs +++ b/src/packages/HawkN.Iso.Countries/Services/CountryCodeService.cs @@ -5,14 +5,14 @@ namespace HawkN.Iso.Countries.Services; internal sealed class CountryCodeService : ICountryCodeService { - private readonly Dictionary _byCode = new(StringComparer.OrdinalIgnoreCase); - private readonly Dictionary _byAlpha2 = []; - private readonly Dictionary _byAlpha3 = []; - private readonly Dictionary _byNumericInt = []; + private readonly Dictionary _byCode = new(StringComparer.OrdinalIgnoreCase); + private readonly Dictionary _byAlpha2 = []; + private readonly Dictionary _byAlpha3 = []; + private readonly Dictionary _byNumericInt = []; - private readonly Dictionary _byName = new(StringComparer.OrdinalIgnoreCase); + private readonly Dictionary _byName = new(StringComparer.OrdinalIgnoreCase); - private readonly IReadOnlyList _allCountries; + private readonly IReadOnlyList _allCountries; public CountryCodeService() { @@ -24,32 +24,30 @@ public CountryCodeService() { _byCode[country.TwoLetterCode.ToString()] = country; _byCode[country.ThreeLetterCode.ToString()] = country; - _byCode[country.NumericCode] = country; + _byCode[country.NumericCodeString] = country; - if (int.TryParse(country.NumericCode, out var nCode)) - _byNumericInt[nCode] = country; + _byNumericInt[country.NumericCode] = country; _byAlpha2[country.TwoLetterCode] = country; _byAlpha3[country.ThreeLetterCode] = country; IndexName(country.Name, country); - IndexName(country.OfficialName, country); } } - private void IndexName(string? name, HawkN.Iso.Countries.Models.Country country) + private void IndexName(string? name, Country country) { if (string.IsNullOrWhiteSpace(name)) return; - _byName.TryAdd(name!, country); + _byName.TryAdd(name, country); } - public HawkN.Iso.Countries.Models.Country? FindByCode(string code) => + public Country? FindByCode(string code) => _byCode.GetValueOrDefault(code); - public HawkN.Iso.Countries.Models.Country? FindByName(string name) => + public Country? FindByName(string name) => _byName.GetValueOrDefault(name); - public IEnumerable SearchByName(string query) + public IEnumerable SearchByName(string query) { if (string.IsNullOrWhiteSpace(query)) return []; @@ -57,32 +55,31 @@ private void IndexName(string? name, HawkN.Iso.Countries.Models.Country country) const StringComparison comparison = StringComparison.OrdinalIgnoreCase; return _allCountries - .Where(c => (c.Name?.Contains(term, comparison) ?? false) || - (c.OfficialName?.Contains(term, comparison) ?? false)) + .Where(c => c.Name?.Contains(term, comparison) ?? false) .OrderBy(c => c.Name.StartsWith(term, comparison) ? 0 : 1) .ThenBy(c => c.Name); } - public HawkN.Iso.Countries.Models.Country Get(CountryCode.TwoLetterCode code) => _byAlpha2[code]; + public Country Get(CountryCode.TwoLetterCode code) => _byAlpha2[code]; - public HawkN.Iso.Countries.Models.Country Get(CountryCode.ThreeLetterCode code) => _byAlpha3[code]; + public Country Get(CountryCode.ThreeLetterCode code) => _byAlpha3[code]; - public HawkN.Iso.Countries.Models.Country? Get(int numericCode) => + public Country? Get(int numericCode) => _byNumericInt.GetValueOrDefault(numericCode); - public bool TryGet(string code, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country) => + public bool TryGet(string code, [NotNullWhen(true)] out Country? country) => _byCode.TryGetValue(code, out country); - public ValidationResult ValidateByCode(string code, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country) + public ValidationResult ValidateByCode(string code, [NotNullWhen(true)] out Country? country) { return TryGet(code, out country) ? ValidationResult.Success() : ValidationResult.Failure($"Country code '{code}' is not a valid ISO 3166-1 code."); } - public ValidationResult ValidateByName(string name, [NotNullWhen(true)] out HawkN.Iso.Countries.Models.Country? country) + public ValidationResult ValidateByName(string name, [NotNullWhen(true)] out Country? country) { country = FindByName(name); return country is not null ? ValidationResult.Success() : ValidationResult.Failure($"Country name '{name}' was not found in the ISO 3166-1 database."); } - public IReadOnlyList GetAll() => _allCountries; + public IReadOnlyList GetAll() => _allCountries; } \ No newline at end of file diff --git a/src/samples/HawkN.Iso.Countries.Samples.Console/Program.cs b/src/samples/HawkN.Iso.Countries.Samples.Console/Program.cs index 2680007..343d74c 100644 --- a/src/samples/HawkN.Iso.Countries.Samples.Console/Program.cs +++ b/src/samples/HawkN.Iso.Countries.Samples.Console/Program.cs @@ -30,12 +30,12 @@ Console.WriteLine(separator); var allCountries = countryCodeService.GetAll(); - Console.WriteLine("| Alpha-2 | Alpha-3 | Numeric | Country Name | Official Name |"); - Console.WriteLine("|:-------:|:-------:|:-------:|:-------------|:-------------|"); + Console.WriteLine("| Alpha-2 | Alpha-3 | Numeric (string) | Country Name |"); + Console.WriteLine("|:-------:|:-------:|:-------:|:-------------:|"); foreach (var country in allCountries) { - Console.WriteLine($"| {country.TwoLetterCode,-7} | {country.ThreeLetterCode,-7} | {country.NumericCode,-7} | {country.Name,-12} | {country.OfficialName,-12} |"); + Console.WriteLine($"| {country.TwoLetterCode,-7} | {country.ThreeLetterCode,-7} | {country.NumericCodeString,-7} | {country.Name,-12} |"); } Console.WriteLine($"Total countries found: {allCountries.Count}"); diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/CountryCodeEnumsGeneratorTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/CountryCodeEnumsGeneratorTests.cs index c38dadb..846ff67 100644 --- a/src/tests/HawkN.Iso.Countries.Generators.Tests/CountryCodeEnumsGeneratorTests.cs +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/CountryCodeEnumsGeneratorTests.cs @@ -35,13 +35,12 @@ public void Generator_Should_Add_AutoGenerated_Header() } [Fact] - public void Generator_Should_Include_License_Information() + public void Generator_Should_Include_DataSource_Information() { // Act var (_, output) = GeneratorTestHelper.GetGeneratedOutput(""); // Assert - Assert.Contains("Data Source: iso-codes project", output); - Assert.Contains("GNU Lesser General Public License v2.1", output); + Assert.Contains("Source URL: https://unstats.un.org/unsd/methodology/m49/overview", output); } } \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/CsvCountryHandlerTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/CsvCountryHandlerTests.cs new file mode 100644 index 0000000..b540902 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/CsvCountryHandlerTests.cs @@ -0,0 +1,97 @@ +๏ปฟusing HawkN.Iso.Countries.Generators.Handlers; + +namespace HawkN.Iso.Countries.Generators.Tests.Handlers; + +public class CsvCountryHandlerTests +{ + [Fact] + public void LoadActualCountries_ValidCsv_ReturnsAllRows() + { + // Arrange + var csv = + @"Country or Area;M49 Code;ISO-alpha2 Code;ISO-alpha3 Code +Austria;040;AT;AUT +Germany;276;DE;DEU +United States;840;US;USA"; + + var handler = new CsvCountryHandler(csv); + + // Act + var countries = handler.LoadActualCountries(); + + // Assert + Assert.Equal(3, countries.Count); + + Assert.Equal("Austria", countries[0].Name.ToString()); + Assert.Equal("AT", countries[0].CodeAlpha2.ToString()); + Assert.Equal("AUT", countries[0].CodeAlpha3.ToString()); + Assert.Equal(40, countries[0].NumericCode); // CSV numeric 040 -> int 40 + } + + [Fact] + public void LoadActualCountries_EmptyCsv_ReturnsEmptyList() + { + // Arrange + var handler = new CsvCountryHandler(string.Empty); + + // Act + var countries = handler.LoadActualCountries(); + + // Assert + Assert.Empty(countries); + } + + [Fact] + public void LoadActualCountries_CsvWithQuotes_ParsesCorrectly() + { + // Arrange + var csv = + @"Country or Area;M49 Code;ISO-alpha2 Code;ISO-alpha3 Code +""United Kingdom"";826;GB;GBR +""France"";250;FR;FRA"; + + var handler = new CsvCountryHandler(csv); + + // Act + var countries = handler.LoadActualCountries(); + + // Assert + Assert.Equal(2, countries.Count); + + Assert.Equal("United Kingdom", countries[0].Name.ToString()); + Assert.Equal("GB", countries[0].CodeAlpha2.ToString()); + Assert.Equal("GBR", countries[0].CodeAlpha3.ToString()); + Assert.Equal(826, countries[0].NumericCode); + } + + [Fact] + public void LoadActualCountries_InvalidRow_IsSkipped() + { + // Arrange + var csv = + @"Country or Area;M49 Code;ISO-alpha2 Code;ISO-alpha3 Code +Austria;040;AT;AUT +InvalidCountry;XXX;XX;XXXX"; + + var handler = new CsvCountryHandler(csv); + + // Act + var countries = handler.LoadActualCountries(); + + // Assert + Assert.Single(countries); + Assert.Equal("Austria", countries[0].Name.ToString()); + } + + [Fact] + public void LoadActualCountries_MissingColumn_Throws() + { + // Arrange + var csv = "Country or Area;ISO-alpha2 Code;ISO-alpha3 Code\nAustria;AT;AUT"; + + var handler = new CsvCountryHandler(csv); + + // Act & Assert + Assert.Throws(() => handler.LoadActualCountries()); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/CsvCountryLoaderTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/CsvCountryLoaderTests.cs new file mode 100644 index 0000000..f1d3c9b --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/CsvCountryLoaderTests.cs @@ -0,0 +1,105 @@ +๏ปฟusing HawkN.Iso.Countries.Generators.Handlers; + +namespace HawkN.Iso.Countries.Generators.Tests.Handlers; + +public class CsvCountryLoaderTests +{ + [Fact] + public void CsvCountryLoader_ValidCsv_LoadsAndSortsCountries() + { + // Arrange + var csv = + @"Country or Area;M49 Code;ISO-alpha2 Code;ISO-alpha3 Code +Germany;276;DE;DEU +Austria;040;AT;AUT +United States;840;US;USA"; + + // Act + var loader = new CsvCountryLoader(csv); + var countries = loader.ActualCountries; + + // Assert + Assert.Equal(3, countries.Count); + + // ะŸั€ะพะฒะตั€ะบะฐ ัะพั€ั‚ะธั€ะพะฒะบะธ ะฟะพ ะธะผะตะฝะธ + Assert.Equal("Austria", countries[0].Name); + Assert.Equal("Germany", countries[1].Name); + Assert.Equal("United States", countries[2].Name); + + // ะŸั€ะพะฒะตั€ะบะฐ ะบะพะดะพะฒ ะธ numeric + Assert.Equal("AT", countries[0].CodeAlpha2); + Assert.Equal("AUT", countries[0].CodeAlpha3); + Assert.Equal(40, countries[0].NumericCode); // 040 -> int 40 + } + + [Fact] + public void CsvCountryLoader_EmptyCsv_ReturnsEmptyList() + { + // Arrange + var loader = new CsvCountryLoader(string.Empty); + + // Act + var countries = loader.ActualCountries; + + // Assert + Assert.Empty(countries); + } + + [Fact] + public void CsvCountryLoader_InvalidRows_AreSkipped() + { + // Arrange + var csv = + @"Country or Area;M49 Code;ISO-alpha2 Code;ISO-alpha3 Code +Austria;040;AT;AUT +InvalidCountry;XXX;XX;XXXX"; // invalid numeric + alpha codes + + // Act + var loader = new CsvCountryLoader(csv); + var countries = loader.ActualCountries; + + // Assert + Assert.Single(countries); + Assert.Equal("Austria", countries[0].Name); + } + + [Fact] + public void CsvCountryLoader_CsvWithQuotes_ParsesCorrectly() + { + // Arrange + var csv = + @"Country or Area;M49 Code;ISO-alpha2 Code;ISO-alpha3 Code +""United Kingdom"";826;GB;GBR +""France"";250;FR;FRA"; + + // Act + var loader = new CsvCountryLoader(csv); + var countries = loader.ActualCountries; + + // Assert + Assert.Equal(2, countries.Count); + + Assert.Equal("France", countries[0].Name); + Assert.Equal("United Kingdom", countries[1].Name); + } + + [Fact] + public void CsvCountryLoader_AlreadySortedCsv_MaintainsOrder() + { + // Arrange + var csv = + @"Country or Area;M49 Code;ISO-alpha2 Code;ISO-alpha3 Code +Austria;040;AT;AUT +Germany;276;DE;DEU +United States;840;US;USA"; + + // Act + var loader = new CsvCountryLoader(csv); + var countries = loader.ActualCountries; + + // Assert + Assert.Equal("Austria", countries[0].Name); + Assert.Equal("Germany", countries[1].Name); + Assert.Equal("United States", countries[2].Name); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs deleted file mode 100644 index e3537c1..0000000 --- a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs +++ /dev/null @@ -1,61 +0,0 @@ -๏ปฟusing HawkN.Iso.Countries.Generators.Handlers; -namespace HawkN.Iso.Countries.Generators.Tests.Handlers; - -public class JsonCountryHandlerTests -{ - [Fact] - public void LoadActualCountries_ValidJson_ReturnsParsedData() - { - // Arrange - var json = @"{ - ""3166-1"": [ - { - ""name"": ""Afghanistan"", - ""alpha_2"": ""af"", - ""alpha_3"": ""afg"", - ""numeric"": ""004"", - ""official_name"": ""Islamic Republic of Afghanistan"" - } - ] - }"; - var handler = new JsonCountryHandler(json); - - // Act - var results = handler.LoadActualCountries(); - - // Assert - Assert.Single(results); - Assert.Equal("Afghanistan", results[0].Name); - Assert.Equal("AF", results[0].CodeAlpha2); - Assert.Equal("AFG", results[0].CodeAlpha3); - } - - [Fact] - public void LoadActualCountries_InvalidEntry_SkipsIt() - { - // Arrange - // ะŸั€ะพะฟัƒัะบะฐะตะผ alpha_2 (ะฒะฐะปะธะดะฐั†ะธั ั‚ั€ะตะฑัƒะตั‚ ะดะปะธะฝัƒ 2) - var json = @"{ - ""3166-1"": [ - { ""name"": ""Bad"", ""alpha_2"": ""A"", ""alpha_3"": ""AAA"", ""numeric"": ""001"" } - ] - }"; - var handler = new JsonCountryHandler(json); - - // Act - var results = handler.LoadActualCountries(); - - // Assert - Assert.Empty(results); - } - - [Fact] - public void LoadActualCountries_MalformedJson_ThrowsException() - { - // Arrange - var handler = new JsonCountryHandler("invalid json"); - - // Act & Assert - Assert.Throws(() => handler.LoadActualCountries()); - } -} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs deleted file mode 100644 index b4c13ba..0000000 --- a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs +++ /dev/null @@ -1,63 +0,0 @@ -๏ปฟusing HawkN.Iso.Countries.Generators.Handlers; -namespace HawkN.Iso.Countries.Generators.Tests.Handlers; - -public class JsonCountryLoaderTests -{ - private const string ValidJson = @"{ - ""3166-1"": [ - { ""name"": ""Germany"", ""alpha_2"": ""de"", ""alpha_3"": ""deu"", ""numeric"": ""276"" }, - { ""name"": ""Austria"", ""alpha_2"": ""at"", ""alpha_3"": ""aut"", ""numeric"": ""040"" }, - { ""name"": ""France"", ""alpha_2"": ""fr"", ""alpha_3"": ""fra"", ""numeric"": ""250"" } - ] - }"; - - [Fact] - public void Constructor_ValidJson_PopulatesAndSortsCountriesByName() - { - // Act - var loader = new JsonCountryLoader(ValidJson); - - // Assert - Assert.Equal(3, loader.ActualCountries.Count); - - Assert.Equal("Austria", loader.ActualCountries[0].Name); - Assert.Equal("France", loader.ActualCountries[1].Name); - Assert.Equal("Germany", loader.ActualCountries[2].Name); - } - - [Fact] - public void Constructor_EmptyJson_ReturnsEmptyList() - { - // Arrange - var emptyJson = @"{ ""3166-1"": [] }"; - - // Act - var loader = new JsonCountryLoader(emptyJson); - - // Assert - Assert.Empty(loader.ActualCountries); - } - - [Theory] - [InlineData("")] - [InlineData(" ")] - [InlineData(null)] - public void Constructor_InvalidInput_ReturnsEmptyList(string? input) - { - // Act - var loader = new JsonCountryLoader(input!); - - // Assert - Assert.Empty(loader.ActualCountries); - } - - [Fact] - public void Constructor_MalformedJson_ThrowsInvalidDataException() - { - // Arrange - var malformedJson = "{ \"3166-1\": [ { \"name\": \"Missing Brackets\" "; - - // Act & Assert - Assert.Throws(() => new JsonCountryLoader(malformedJson)); - } -} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/HawkN.Iso.Countries.Generators.Tests.csproj b/src/tests/HawkN.Iso.Countries.Generators.Tests/HawkN.Iso.Countries.Generators.Tests.csproj index 9728684..8d6b61b 100644 --- a/src/tests/HawkN.Iso.Countries.Generators.Tests/HawkN.Iso.Countries.Generators.Tests.csproj +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/HawkN.Iso.Countries.Generators.Tests.csproj @@ -27,5 +27,6 @@ + diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/LocalCountryDatabaseGeneratorTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/LocalCountryDatabaseGeneratorTests.cs index af6b9df..0ca3e6d 100644 --- a/src/tests/HawkN.Iso.Countries.Generators.Tests/LocalCountryDatabaseGeneratorTests.cs +++ b/src/tests/HawkN.Iso.Countries.Generators.Tests/LocalCountryDatabaseGeneratorTests.cs @@ -22,16 +22,6 @@ public void Generator_Should_Generate_LocalCountryDatabase_With_ActualCountries( Assert.Contains("CountryCode.ThreeLetterCode.", output); } - [Fact] - public void Generator_Should_Handle_OfficialNames_Correctly() - { - // Act - var (_, output) = GeneratorTestHelper.GetGeneratedOutput(""); - - // Assert - Assert.Contains("Federal Republic of Germany", output); - } - [Fact] public void Generator_Should_Produce_Stub_On_Error() { diff --git a/src/tests/HawkN.Iso.Countries.Tests/Extensions/CountryStringExtensionsTests.cs b/src/tests/HawkN.Iso.Countries.Tests/Extensions/CountryStringExtensionsTests.cs index b237fee..6b448f1 100644 --- a/src/tests/HawkN.Iso.Countries.Tests/Extensions/CountryStringExtensionsTests.cs +++ b/src/tests/HawkN.Iso.Countries.Tests/Extensions/CountryStringExtensionsTests.cs @@ -17,7 +17,7 @@ public class CountryStringExtensionsTests public void ToCountry_ValidCode_ReturnsCountry(string input, string expectedName) { // Arrange - var country = new Country(expectedName, CountryCode.TwoLetterCode.US, CountryCode.ThreeLetterCode.USA, "840", "United States of America"); + var country = new Country(expectedName, CountryCode.TwoLetterCode.US, CountryCode.ThreeLetterCode.USA, 840); _serviceMock.Setup(s => s.FindByCode(input)).Returns(country); // Act @@ -61,8 +61,7 @@ public void GetEmojiFlag_ValidAlpha2_ReturnsCorrectEmoji(string alpha2, string a alpha2, Enum.Parse(alpha2), Enum.Parse(alpha3), - "001", - alpha2); + 1); // Act var result = country.GetEmojiFlag(); @@ -80,8 +79,7 @@ public void ValidateAsCountryCode_ValidCode_ReturnsSuccessAndCountry() "United States", CountryCode.TwoLetterCode.US, CountryCode.ThreeLetterCode.USA, - "840", - "United States of America"); + 840); var successResult = ValidationResult.Success(); // ะะฐัั‚ั€ะพะนะบะฐ Mock ะดะปั ะผะตั‚ะพะดะฐ ั out ะฟะฐั€ะฐะผะตั‚ั€ะพะผ diff --git a/src/tests/HawkN.Iso.Countries.Tests/Models/CountryTests.cs b/src/tests/HawkN.Iso.Countries.Tests/Models/CountryTests.cs new file mode 100644 index 0000000..81caeb9 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Tests/Models/CountryTests.cs @@ -0,0 +1,28 @@ +๏ปฟusing HawkN.Iso.Countries.Models; + +namespace HawkN.Iso.Countries.Tests.Models; + +public class CountryTests +{ + [Theory] + [InlineData(4, "004")] + [InlineData(40, "040")] + [InlineData(840, "840")] + [InlineData(0, "000")] + public void NumericCodeString_ReturnsThreeDigitString(int numericCode, string expectedString) + { + // Arrange + var country = new Country( + "Testland", + CountryCode.TwoLetterCode.TL, + CountryCode.ThreeLetterCode.TLS, + numericCode + ); + + // Act + var numericCodeString = country.NumericCodeString; + + // Assert + Assert.Equal(expectedString, numericCodeString); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs b/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs index 405d929..2367ab1 100644 --- a/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs +++ b/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs @@ -27,7 +27,7 @@ public void FindByCode_VariousFormats_ReturnsSameCountry(string code) // Assert Assert.NotNull(country); - Assert.Equal("United States", country.Name); + Assert.Equal("United States of America", country.Name); } [Fact] @@ -91,16 +91,4 @@ public void ValidateByCode_InvalidCode_ReturnsFailure() Assert.Null(country); Assert.Contains("not a valid ISO 3166-1 code", result.Reason); } - - [Fact] - public void ValidateByName_ValidOfficialName_ReturnsSuccess() - { - // Act - var result = _service.ValidateByName("French Republic", out var country); - - // Assert - Assert.True(result.IsValid); - Assert.NotNull(country); - Assert.Equal("France", country!.Name); - } } \ No newline at end of file From 4a10b4f8120db1d6e021dfc364c7dd2b61688f45 Mon Sep 17 00:00:00 2001 From: Nikolay Selyutin Date: Fri, 26 Dec 2025 02:24:51 +0100 Subject: [PATCH 5/7] chore: Remove data license (Debian iso codes) --- DATA-LICENSE.txt | 515 ----------------------------------------------- 1 file changed, 515 deletions(-) delete mode 100644 DATA-LICENSE.txt diff --git a/DATA-LICENSE.txt b/DATA-LICENSE.txt deleted file mode 100644 index 7489381..0000000 --- a/DATA-LICENSE.txt +++ /dev/null @@ -1,515 +0,0 @@ ----------------------------------------------------------------------- -DATA LICENSE NOTICE ----------------------------------------------------------------------- -This library includes country and region data sourced from the -Debian iso-codes project (https://salsa.debian.org/iso-codes-team/iso-codes). - -The geographic data (JSON/XML source files and the resulting generated -data structures) is distributed under the terms of the GNU Lesser -General Public License (LGPL) version 2.1, which follows below. - -The programmatic wrapper code and library logic are separately licensed -under the MIT License (see LICENSE file). ----------------------------------------------------------------------- - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, see . - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Moe Ghoul, President of Vice - -That's all there is to it! \ No newline at end of file From 2de1bd8e1d1ae4621383ac03f41ad230b76268a4 Mon Sep 17 00:00:00 2001 From: Nikolay Selyutin <81760946+HawkN113@users.noreply.github.com> Date: Sat, 10 Jan 2026 14:57:19 +0100 Subject: [PATCH 6/7] feat: Add extension HawkN.Iso.Countries.Currencies package (#7) * feat: Add extension HawkN.Iso.Countries.Currencies package * chore: Update formating * chore: Update ci pipeline * ci: Improve CD pipeline (Publish too Github packages) * ci: Optimize references for Nuget packages * chore: Improve code * chore: Fixed code * chore: Fix code * chore: Fix code in tests --- .github/workflows/cd.yml | 61 +- .github/workflows/ci.yml | 18 +- .gitignore | 8 + README.md | 92 +- src/HawkN.Iso.Countries.Solution.sln | 21 + .../BaseIncrementalGenerator.cs | 83 + .../Constants.cs | 26 + .../Content/SupplementalData.xml | 5748 ++++++++ .../Content/Translations/EN.xml | 11523 ++++++++++++++++ .../CountryCurrencySourceGenerator.cs | 284 + .../CurrencyDataLoader.cs | 14 + .../Factories/ErrorFactory.cs | 38 + .../Handlers/CldrCurrencyHandler.cs | 31 + ...Iso.Countries.Currencies.Generators.csproj | 64 + .../Models/ErrorDescription.cs | 10 + .../Models/GeneratedCountryCurrencyRow.cs | 11 + .../Models/GeneratorType.cs | 9 + .../Models/ParsedCurrency.cs | 9 + .../CountryCurrencyMap.cs | 1703 +++ .../Extensions/CountryCurrencyExtensions.cs | 67 + .../HawkN.Iso.Countries.Currencies.csproj | 71 + .../HawkN.Iso.Countries.Currencies.nuspec | 40 + .../Models/CountryCurrencyInfo.cs | 9 + .../Models/CountryCurrencyInfoRow.cs | 8 + .../Package/Content/DATA-LICENSE | 29 + .../Content/HawkN.Iso.Countries.ico.png | Bin 0 -> 57886 bytes .../Package/Content/NOTICE | 22 + .../Package/Content/README.md | 89 + .../Constants.cs | 8 + .../Content/iso_3166-1.json | 1931 --- .../Handlers/JsonCountryHandler.cs | 41 - .../Handlers/JsonCountryLoader.cs | 18 - .../HawkN.Iso.Countries.Generators.csproj | 2 +- .../LocalCountryDatabaseGenerator.cs | 8 +- .../Models/DebianCountryEntry.cs | 19 - .../Models/DebianIsoJson.cs | 7 - .../HawkN.Iso.Countries.csproj | 3 +- .../CountryCurrencyMapTests.cs | 151 + .../DependencySmokeTests.cs | 72 + .../CountryCurrencyExtensionsTests.cs | 161 + ...awkN.Iso.Countries.Currencies.Tests.csproj | 22 + .../Handlers/JsonCountryHandlerTests.cs | 61 - .../Handlers/JsonCountryLoaderTests.cs | 63 - .../Services/CountryCodeServiceTests.cs | 2 +- 44 files changed, 20473 insertions(+), 2184 deletions(-) create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/BaseIncrementalGenerator.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/Constants.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/Content/SupplementalData.xml create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/Content/Translations/EN.xml create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/CountryCurrencySourceGenerator.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/CurrencyDataLoader.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/Factories/ErrorFactory.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/Handlers/CldrCurrencyHandler.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/HawkN.Iso.Countries.Currencies.Generators.csproj create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/ErrorDescription.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/GeneratedCountryCurrencyRow.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/GeneratorType.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/ParsedCurrency.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/CountryCurrencyMap.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/Extensions/CountryCurrencyExtensions.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.nuspec create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/Models/CountryCurrencyInfo.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/Models/CountryCurrencyInfoRow.cs create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/Package/Content/DATA-LICENSE create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/Package/Content/HawkN.Iso.Countries.ico.png create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/Package/Content/NOTICE create mode 100644 src/packages/HawkN.Iso.Countries.Currencies/Package/Content/README.md delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs delete mode 100644 src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs create mode 100644 src/tests/HawkN.Iso.Countries.Currencies.Tests/CountryCurrencyMapTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Currencies.Tests/DependencySmokeTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Currencies.Tests/Extensions/CountryCurrencyExtensionsTests.cs create mode 100644 src/tests/HawkN.Iso.Countries.Currencies.Tests/HawkN.Iso.Countries.Currencies.Tests.csproj delete mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs delete mode 100644 src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index be70bf4..305f0bc 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -7,22 +7,28 @@ on: jobs: publish: - name: Publish to NuGet + name: Publish packages (NuGet.org + GitHub) runs-on: ubuntu-latest permissions: id-token: write contents: write + packages: write actions: read env: SOLUTION_NAME: src/HawkN.Iso.Countries.Solution.sln NUGET_ORG_USERNAME: HawkN113 - ## Iso.Countries package settings + ## Iso.Countries package (Core) PACKAGE_COUNTRIES_PROJECT_PATH: src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj PACKAGE_COUNTRIES_NUSPEC_FILE_PATH: HawkN.Iso.Countries.nuspec PACKAGE_COUNTRIES_ID: HawkN.Iso.Countries + ## Iso.Countries.Currencies package (Extension) + PACKAGE_COUNTRIES_CURRENCIES_PROJECT_PATH: src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj + PACKAGE_COUNTRIES_CURRENCIES_NUSPEC_FILE_PATH: HawkN.Iso.Countries.Currencies.nuspec + PACKAGE_COUNTRIES_CURRENCIES_ID: HawkN.Iso.Countries.Currencies + OUTPUT_NUGET_DIR: nuget-packages NUGET_SOURCE_URL: https://api.nuget.org/v3/index.json DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true @@ -50,17 +56,6 @@ jobs: echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV shell: bash - - name: Check if package (${{ env.PACKAGE_COUNTRIES_ID }}) version already exists on NuGet.org - id: check_nuget - run: | - PACKAGE_COUNTRIES_ID_LOWER=$(echo "${{ env.PACKAGE_COUNTRIES_ID }}" | tr '[:upper:]' '[:lower:]') - STATUS_CODE=$(curl -s -o /dev/null -I -w "%{http_code}" "https://api.nuget.org/v3-flatcontainer/${PACKAGE_COUNTRIES_ID_LOWER}/${{ env.CURRENT_VERSION }}/index.json") - if [ "$STATUS_CODE" -eq 200 ]; then - echo "Error: Version ${{ env.CURRENT_VERSION }} already exists on NuGet.org!" - exit 1 - fi - shell: bash - - name: Restore dependencies run: dotnet restore ${{ env.SOLUTION_NAME }} @@ -75,6 +70,15 @@ jobs: /p:Version=${{ env.CURRENT_VERSION }} \ /p:ContinuousIntegrationBuild=true \ --output ${{ env.OUTPUT_NUGET_DIR }} + + - name: Build and Pack (HawkN.Iso.Countries.Currencies) (Extension) + run: | + dotnet pack ${{ env.PACKAGE_COUNTRIES_CURRENCIES_PROJECT_PATH }} \ + --configuration Release \ + /p:NuspecFile=${{ env.PACKAGE_COUNTRIES_CURRENCIES_NUSPEC_FILE_PATH }} \ + /p:Version=${{ env.CURRENT_VERSION }} \ + /p:ContinuousIntegrationBuild=true \ + --output ${{ env.OUTPUT_NUGET_DIR }} - name: Generate Release Changelog uses: orhun/git-cliff-action@v4 @@ -111,7 +115,9 @@ jobs: uses: softprops/action-gh-release@v2 with: body_path: CHANGELOG_RELEASE.md - files: ${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_COUNTRIES_ID }}.${{ env.CURRENT_VERSION }}.nupkg + files: | + ${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_COUNTRIES_ID }}.${{ env.CURRENT_VERSION }}.nupkg + ${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_COUNTRIES_CURRENCIES_ID }}.${{ env.CURRENT_VERSION }}.nupkg fail_on_unmatched_files: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -126,5 +132,28 @@ jobs: run: | dotnet nuget push "${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_COUNTRIES_ID }}.${{ env.CURRENT_VERSION }}.nupkg" \ --api-key ${{steps.login.outputs.NUGET_API_KEY}} \ - --source ${{ env.NUGET_SOURCE_URL }} - shell: bash \ No newline at end of file + --source ${{ env.NUGET_SOURCE_URL }} \ + --skip-duplicate + shell: bash + + - name: Publish package (HawkN.Iso.Countries.Currencies) to NuGet.org (Trusted Publishing) + run: | + dotnet nuget push "${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_COUNTRIES_CURRENCIES_ID }}.${{ env.CURRENT_VERSION }}.nupkg" \ + --api-key ${{steps.login.outputs.NUGET_API_KEY}} \ + --source ${{ env.NUGET_SOURCE_URL }} \ + --skip-duplicate + shell: bash + + - name: Publish package (HawkN.Iso.Countries) to GitHub packages + run: | + dotnet nuget push "${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_COUNTRIES_ID }}.${{ env.CURRENT_VERSION }}.nupkg" \ + --source "https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json" \ + --api-key ${{ secrets.GITHUB_TOKEN }} \ + --skip-duplicate + + - name: Publish package (HawkN.Iso.Countries.Currencies) to GitHub Packages + run: | + dotnet nuget push "${{ env.OUTPUT_NUGET_DIR }}/${{ env.PACKAGE_COUNTRIES_CURRENCIES_ID }}.${{ env.CURRENT_VERSION }}.nupkg" \ + --source "https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json" \ + --api-key ${{ secrets.GITHUB_TOKEN }} \ + --skip-duplicate \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3098f01..57c6421 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,8 +28,15 @@ jobs: env: SOLUTION_NAME: src/HawkN.Iso.Countries.Solution.sln - PACKAGE_COUNTRY_PROJECT_PATH: src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj - PACKAGE_COUNTRY_NUSPEC_FILE_PATH: HawkN.Iso.Countries.nuspec + + # Iso.Countries package (Core) + PACKAGE_COUNTRIES_PROJECT_PATH: src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj + PACKAGE_COUNTRIES_NUSPEC_FILE_PATH: HawkN.Iso.Countries.nuspec + + # Iso.Countries.Currencies package (Extensions) + PACKAGE_COUNTRIES_CURRENCIES_PROJECT_PATH: src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj + PACKAGE_COUNTRIES_CURRENCIES_NUSPEC_FILE_PATH: HawkN.Iso.Countries.Currencies.nuspec + OUTPUT_NUGET_DIR: nuget-packages ARTIFACTS_DIR: artifacts DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true @@ -72,7 +79,7 @@ jobs: - name: Extract project version (HawkN.Iso.Countries) id: get_version run: | - VERSION=$(sed -n 's/.*<\(VersionPrefix\|Version\)>\([^<]*\)<\/\1>.*/\2/p' ${{ env.PACKAGE_COUNTRY_PROJECT_PATH }} | head -n 1) + VERSION=$(sed -n 's/.*<\(VersionPrefix\|Version\)>\([^<]*\)<\/\1>.*/\2/p' ${{ env.PACKAGE_COUNTRIES_PROJECT_PATH }} | head -n 1) if [ -z "$VERSION" ]; then VERSION=$(date +%Y%m%d) fi @@ -81,7 +88,10 @@ jobs: shell: bash - name: Validate package creation (HawkN.Iso.Countries) - run: dotnet pack ${{ env.PACKAGE_COUNTRY_PROJECT_PATH }} /p:NuspecFile=${{ env.PACKAGE_COUNTRY_NUSPEC_FILE_PATH }} /p:ContinuousIntegrationBuild=true --configuration Release --no-build --output ${{ env.OUTPUT_NUGET_DIR }} + run: dotnet pack ${{ env.PACKAGE_COUNTRIES_PROJECT_PATH }} /p:NuspecFile=${{ env.PACKAGE_COUNTRIES_NUSPEC_FILE_PATH }} /p:ContinuousIntegrationBuild=true --configuration Release --no-build --output ${{ env.OUTPUT_NUGET_DIR }} + + - name: Validate package creation (HawkN.Iso.Countries.Currencies) + run: dotnet pack ${{ env.PACKAGE_COUNTRIES_CURRENCIES_PROJECT_PATH }} /p:NuspecFile=${{ env.PACKAGE_COUNTRIES_CURRENCIES_NUSPEC_FILE_PATH }} /p:ContinuousIntegrationBuild=true --configuration Release --no-build --output ${{ env.OUTPUT_NUGET_DIR }} - name: Generate CHANGELOG.md uses: orhun/git-cliff-action@v4 diff --git a/.gitignore b/.gitignore index 9464f01..7750321 100644 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,18 @@ src/packages/HawkN.Iso.Countries/obj/** src/packages/HawkN.Iso.Countries/bin/** src/packages/HawkN.Iso.Countries.Generators/obj/** src/packages/HawkN.Iso.Countries.Generators/bin/** +src/packages/HawkN.Iso.Countries.Currencies/obj/** +src/packages/HawkN.Iso.Countries.Currencies/bin/** +src/packages/HawkN.Iso.Countries.Currencies.Generators/obj/** +src/packages/HawkN.Iso.Countries.Currencies.Generators/bin/** src/tests/HawkN.Iso.Countries.Tests/obj/** src/tests/HawkN.Iso.Countries.Tests/bin/** src/tests/HawkN.Iso.Countries.Generators.Tests/obj/** src/tests/HawkN.Iso.Countries.Generators.Tests/bin/** +src/tests/HawkN.Iso.Countries.Currencies.Tests/obj/** +src/tests/HawkN.Iso.Countries.Currencies.Tests/bin/** +src/tests/HawkN.Iso.Countries.Currencies.Generators.Tests/obj/** +src/tests/HawkN.Iso.Countries.Currencies.Generators.Tests/bin/** src/samples/HawkN.Iso.Countries.Samples.Console/obj/** src/samples/HawkN.Iso.Countries.Samples.Console/bin/** src/samples/HawkN.Iso.Countries.Samples.WebApi/obj/** diff --git a/README.md b/README.md index da8e706..dda78dc 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,26 @@ [![Build Status](https://img.shields.io/github/actions/workflow/status/HawkN113/HawkN.Iso.Countries/ci.yml?label=Build&style=flat-square)](https://github.com/HawkN113/HawkN.Iso.Countries/actions/workflows/ci.yml) [![CodeQL Security](https://img.shields.io/github/actions/workflow/status/HawkN113/HawkN.Iso.Countries/codeql-analysis.yml?label=CodeQL%20Security&style=flat-square)](https://github.com/HawkN113/HawkN.Iso.Countries/actions/workflows/codeql-analysis.yml) [![NuGet](https://img.shields.io/nuget/v/HawkN.Iso.Countries?label=HawkN.Iso.Countries&color=blue&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries/) -[![Downloads](https://img.shields.io/nuget/dt/HawkN.Iso.Countries?logo=nuget&label=Downloads&color=brightgreen&style=flat-square&cacheSeconds=3600)](https://www.nuget.org/packages/HawkN.Iso.Countries/) -
+[![Downloads](https://img.shields.io/nuget/dt/HawkN.Iso.Countries?logo=nuget&label=&color=brightgreen&style=flat-square&cacheSeconds=3600)](https://www.nuget.org/packages/HawkN.Iso.Countries/) +[![NuGet](https://img.shields.io/nuget/v/HawkN.Iso.Countries.Currencies?label=HawkN.Iso.Countries.Currencies&color=blue&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries.Currencies/) +[![Downloads](https://img.shields.io/nuget/dt/HawkN.Iso.Countries.Currencies?logo=nuget&label=&color=brightgreen&style=flat-square&cacheSeconds=3600)](https://www.nuget.org/packages/HawkN.Iso.Countries.Currencies/) + +
+ [![NuGet Trusted Publishing](https://img.shields.io/badge/NuGet-Trusted_Publishing-blue?logo=nuget&logoColor=white&style=flat-square)](https://learn.microsoft.com/en-us/nuget/nuget-org/trusted-publishing) [![Target Framework](https://img.shields.io/badge/.NET-8.0-512bd4?logo=dotnet&style=flat-square)](https://dotnet.microsoft.com/download) [![NuGet Ribbon](https://img.shields.io/badge/NuGet-Small_Size-success?logo=nuget&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries/) [![GitHub license](https://img.shields.io/github/license/HawkN113/HawkN.Iso.Countries?label=License&style=flat-square)](https://github.com/HawkN113/HawkN.Iso.Countries/blob/main/LICENSE) +[![Data: Unicode CLDR](https://img.shields.io/badge/data-Unicode%20CLDR-lightgrey.svg?label=Data%20license&style=flat-square)](https://unicode.org/license.html) +[![Data: ODbL](https://img.shields.io/badge/data-ODbL%201.0-orange.svg?label=Data%20license&style=flat-square)](https://opendatacommons.org/licenses/odbl/1-0/) | ![HawkN.Iso.Countries](docs/img/HawkN.Iso.Countries.png) | **HawkN.Iso.Countries** provides ISO 3166-1 country codes (Alpha-2, Alpha-3), official names, numeric codes (UN M49), and validation services. | |--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| --- -## Features +## Features +### HawkN.Iso.Countries (Core) - **Comprehensive Country List** โ€“ Provides an up-to-date `ISO 3166-1` country data with numeric codes from `UN M49`. - **Strongly Typed Codes** โ€“ `TwoLetterCode` and `ThreeLetterCode` enums are generated at compile-time. - **Multiple Search Methods** โ€“ Lookup by Alpha-2, Alpha-3, Numeric code, or Country Name. @@ -22,13 +29,21 @@ - **Ultra-Fast Performance** โ€“ O(1) lookups via pre-indexed static dictionaries. - **Lightweight & Dependency-Free** โ€“ Compatible with .NET 8 and above. +### HawkN.Iso.Countries.Currencies (Extension) +- **Primary and Secondary Currencies** โ€“ Get the main currency or all secondary currencies of a country. +- **Fast Lookups** โ€“ O(1) lookups using pre-indexed dictionaries and HashSet for secondary currencies. +- **Currency Validation** โ€“ Check if a country uses a given currency. +- **Seamless Integration** โ€“ Built to work with `HawkN.Iso.Countries` types (`CountryCode.TwoLetterCode`). +- **Lightweight & Dependency-Free** โ€“ Compatible with .NET 8 and above. + --- ## Packages -| Package | Description | -|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------| -| [![NuGet](https://img.shields.io/nuget/v/HawkN.Iso.Countries?label=HawkN.Iso.Countries&color=blue&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries/) | Main library with country models, validation services, and generated ISO enums (Alpha-2, Alpha-3). | +| Package | Description | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [![NuGet](https://img.shields.io/nuget/v/HawkN.Iso.Countries?label=HawkN.Iso.Countries&color=blue&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries/) | Main library with country models, validation services, and generated ISO enums (Alpha-2, Alpha-3). | +| [![NuGet](https://img.shields.io/nuget/v/HawkN.Iso.Countries.Currencies?label=HawkN.Iso.Countries.Currencies&color=blue&style=flat-square)](https://www.nuget.org/packages/HawkN.Iso.Countries.Currencies/) | Provides ISO-based mapping of primary and secondary currencies for countries.It allows you to quickly retrieve the main currency, secondary currencies, all currencies, or check if a currency is used by a specific country. | --- @@ -41,17 +56,29 @@ dotnet add package HawkN.Iso.Countries ```` ### Required Namespaces + +#### HawkN.Iso.Countries (Core) + ```csharp using HawkN.Iso.Countries; using HawkN.Iso.Countries.Abstractions; using HawkN.Iso.Countries.Models; using HawkN.Iso.Countries.Extensions; ``` + +#### HawkN.Iso.Countries.Currencies (Extension) +```csharp +using HawkN.Iso.Countries; +using HawkN.Iso.Currencies; +using HawkN.Iso.Countries.Currencies.Extensions; +``` --- ### Usage Example -#### Registration +#### HawkN.Iso.Countries (Core) + +##### Registration Register the service in your DI container: ```csharp using var host = Host.CreateDefaultBuilder(args) @@ -61,7 +88,7 @@ using var host = Host.CreateDefaultBuilder(args) }) .Build(); ``` -#### Retrieval & Search +##### Retrieval & Search The service provides O(1) lookups via pre-indexed dictionaries and efficient partial searching. ```csharp var service = scope.ServiceProvider.GetRequiredService(); @@ -98,7 +125,7 @@ var suggestions = service.SearchByName("United") // Returns: ["United Arab Emirates", "United Kingdom", "United States", ...] ``` -#### Validation +##### Validation Check if a code or name is valid and retrieve the model simultaneously: ```csharp // Validate by Code @@ -115,7 +142,7 @@ if (!nameResult.IsValid) Console.WriteLine($"Error: {nameResult.Reason}"); } ``` -#### Fluent String Extensions +##### Fluent String Extensions ```csharp string input = "FRA"; @@ -136,7 +163,7 @@ if (validationResult.IsValid) } ``` -#### Emoji Flags Support +##### Emoji Flags Support The library provides an easy way to display country flags using standard Unicode Emoji. This works without any external image assets and is perfect for lightweight UI components. ```csharp @@ -149,6 +176,31 @@ Console.WriteLine($"{flag} {country.Name}"); // Output: ๐Ÿ‡ซ๐Ÿ‡ฎ Finland ``` +#### HawkN.Iso.Countries.Currencies (Extension) + +##### Currency mapping +```csharp +var country = CountryCode.TwoLetterCode.CH; + +// Primary currency +var primary = country.GetPrimaryCurrency(); // CHF + +// Secondary currencies +var secondary = country.GetSecondaryCurrencies(); + +// All currencies +var all = country.GetAllCurrencies(); + +// Check if used +bool usesChe = country.IsCurrencyUsedByCountry(CurrencyCode.CHE); +``` + +##### Validation +```csharp +// Check if used the currency +bool usesChe = country.IsCurrencyUsedByCountry(CurrencyCode.CHE); +``` + --- ### Supported countries @@ -421,11 +473,19 @@ Last updated at `25.12.2025`. ## License -### Code License -The source code of `HawkN.Iso.Countries` is licensed under the [MIT License](LICENSE). +### Code +This projectโ€™s source code is licensed under the [MIT License](LICENSE). + +### Data +This project uses data derived from the following sources: + +- **Unicode Common Locale Data Repository (CLDR)** + Licensed under the [Unicode License Agreement](https://unicode.org/license.html). + +- Country data (`ISO 3166-1` and `UN M49` numeric codes) is sourced from the [UN Statistics Division โ€“ M49 standard](https://unstats.un.org/unsd/methodology/m49/overview) -### Data License -Country data (`ISO 3166-1` and `UN M49` numeric codes) is sourced from the [UN Statistics Division โ€“ M49 standard](https://unstats.un.org/unsd/methodology/m49/overview) +The above data licenses are **permissive and compatible with MIT-licensed code** +when used for reference and code generation. --- @@ -453,4 +513,4 @@ If you want to contribute code, feel free to submit a Pull Request. ### References - [ISO 3166 Standard](https://www.iso.org/iso-3166-country-codes.html) - [UN Statistics Division โ€“ M49 standard](https://unstats.un.org/unsd/methodology/m49/overview) -- [GitHub Repository](https://github.com/HawkN113/HawkN.Iso.Countries) +- [GitHub Repository](https://github.com/HawkN113/HawkN.Iso.Countries) \ No newline at end of file diff --git a/src/HawkN.Iso.Countries.Solution.sln b/src/HawkN.Iso.Countries.Solution.sln index 324009d..e9ef2e6 100644 --- a/src/HawkN.Iso.Countries.Solution.sln +++ b/src/HawkN.Iso.Countries.Solution.sln @@ -18,6 +18,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HawkN.Iso.Countries.Samples EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HawkN.Iso.Countries.Samples.Console", "samples\HawkN.Iso.Countries.Samples.Console\HawkN.Iso.Countries.Samples.Console.csproj", "{6364342A-33F1-46FF-9DAB-DF3B24113905}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HawkN.Iso.Countries.Currencies.Generators", "packages\HawkN.Iso.Countries.Currencies.Generators\HawkN.Iso.Countries.Currencies.Generators.csproj", "{43FCD81D-3ECA-47B8-A321-1A21E5EEB298}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HawkN.Iso.Countries.Currencies", "packages\HawkN.Iso.Countries.Currencies\HawkN.Iso.Countries.Currencies.csproj", "{46A4E3EC-0692-4789-AA53-9076919685BE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HawkN.Iso.Countries.Currencies.Tests", "tests\HawkN.Iso.Countries.Currencies.Tests\HawkN.Iso.Countries.Currencies.Tests.csproj", "{CAE6BB22-420C-4E8B-8E53-F085F6A0A058}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -30,6 +36,9 @@ Global {58ED09AB-F167-4532-B809-F53B8F8CF7CC} = {04424310-F4C5-420F-AFFA-B929A8D07DC4} {6321C47D-C275-424C-ACD7-390367A9968E} = {6602CF55-B7B8-4466-81CB-1A600068CC3F} {6364342A-33F1-46FF-9DAB-DF3B24113905} = {6602CF55-B7B8-4466-81CB-1A600068CC3F} + {43FCD81D-3ECA-47B8-A321-1A21E5EEB298} = {B2038C6B-5338-4A76-AF4F-2A4E8692BF6E} + {46A4E3EC-0692-4789-AA53-9076919685BE} = {B2038C6B-5338-4A76-AF4F-2A4E8692BF6E} + {CAE6BB22-420C-4E8B-8E53-F085F6A0A058} = {04424310-F4C5-420F-AFFA-B929A8D07DC4} EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {B8C15C2C-5F8A-4C9C-927B-AE9946534E9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -56,5 +65,17 @@ Global {6364342A-33F1-46FF-9DAB-DF3B24113905}.Debug|Any CPU.Build.0 = Debug|Any CPU {6364342A-33F1-46FF-9DAB-DF3B24113905}.Release|Any CPU.ActiveCfg = Release|Any CPU {6364342A-33F1-46FF-9DAB-DF3B24113905}.Release|Any CPU.Build.0 = Release|Any CPU + {43FCD81D-3ECA-47B8-A321-1A21E5EEB298}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {43FCD81D-3ECA-47B8-A321-1A21E5EEB298}.Debug|Any CPU.Build.0 = Debug|Any CPU + {43FCD81D-3ECA-47B8-A321-1A21E5EEB298}.Release|Any CPU.ActiveCfg = Release|Any CPU + {43FCD81D-3ECA-47B8-A321-1A21E5EEB298}.Release|Any CPU.Build.0 = Release|Any CPU + {46A4E3EC-0692-4789-AA53-9076919685BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {46A4E3EC-0692-4789-AA53-9076919685BE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {46A4E3EC-0692-4789-AA53-9076919685BE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {46A4E3EC-0692-4789-AA53-9076919685BE}.Release|Any CPU.Build.0 = Release|Any CPU + {CAE6BB22-420C-4E8B-8E53-F085F6A0A058}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CAE6BB22-420C-4E8B-8E53-F085F6A0A058}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CAE6BB22-420C-4E8B-8E53-F085F6A0A058}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CAE6BB22-420C-4E8B-8E53-F085F6A0A058}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/BaseIncrementalGenerator.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/BaseIncrementalGenerator.cs new file mode 100644 index 0000000..027f8c9 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/BaseIncrementalGenerator.cs @@ -0,0 +1,83 @@ +๏ปฟusing System.Reflection; +using System.Text; +using HawkN.Iso.Countries.Currencies.Generators.Factories; +using HawkN.Iso.Countries.Currencies.Generators.Models; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Text; + +namespace HawkN.Iso.Countries.Currencies.Generators; + +public abstract class BaseIncrementalGenerator : IIncrementalGenerator +{ + protected virtual string HintName { get; } = string.Empty; + protected readonly ErrorFactory ErrorFactory = new(); + public abstract void Initialize(IncrementalGeneratorInitializationContext context); + + protected void AddStubIfErrors(SourceProductionContext spc, string hintName, string stubSource, GeneratorType type) + { + if (!ErrorFactory.IsExists()) return; + ErrorFactory.ShowDiagnostics(spc, type); + spc.AddSource(hintName, SourceText.From(stubSource, Encoding.UTF8)); + } + + protected static (string original, string translations) LoadResources(Assembly assembly) + { + return ( + ReadResource("HawkN.Iso.Countries.Currencies.Generators.Content.SupplementalData.xml"), + ReadResource("HawkN.Iso.Countries.Currencies.Generators.Content.Translations.EN.xml") + ); + string ReadResource(string name) + { + using var stream = assembly.GetManifestResourceStream(name) + ?? throw new InvalidOperationException($"{name} not found."); + using var reader = new StreamReader(stream, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false)); + return reader.ReadToEnd(); + } + } + + protected void GenerateSourceOutput((string, string, string) tuple, SourceProductionContext spc) + { + ErrorFactory.Create(new ErrorDescription + { + DiagnosticDescriptor = new DiagnosticDescriptor( + id: CreateDescriptorId("0"), + title: Constants.DiagnosticsTitle, + messageFormat: "Unexpected exception: Unexpected error", + category: string.Empty, + defaultSeverity: DiagnosticSeverity.Error, + isEnabledByDefault: true), + GeneratorType = GeneratorType.Factory + }); + ErrorFactory.ShowDiagnostics(spc, GeneratorType.Factory); + } + + internal static string CreateDescriptorId(string number) + { + return string.Concat(Constants.ErrorPrefixName, number.PadLeft(3, '0')); + } + + internal static StringBuilder CreateSourceBuilder(string generatorName, string @namespace, string[] extendedSourceData, string[]? references = null) + { + var sb = new StringBuilder(); + sb.AppendLine("// "); + sb.AppendLine($"// This file was generated by {generatorName}"); + + if (extendedSourceData.Any()) + { + foreach (var sourceData in extendedSourceData) + sb.AppendLine($"// {sourceData}"); + } + + sb.AppendLine("// Do not modify this file manually."); + sb.AppendLine("// "); + sb.AppendLine("#nullable enable"); + if (references is not null && references.Any()) + { + foreach (var referenceName in references) + sb.AppendLine($"using {referenceName};"); + } + sb.AppendLine($"namespace {@namespace}"); + sb.AppendLine("{"); + return sb; + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/Constants.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Constants.cs new file mode 100644 index 0000000..581f10c --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Constants.cs @@ -0,0 +1,26 @@ +๏ปฟnamespace HawkN.Iso.Countries.Currencies.Generators; + +internal static class Constants +{ + public const string DefaultNamespace = "HawkN.Iso.Countries.Currencies"; + public const string DiagnosticsTitle = "Generator error"; + public const string ErrorMark = "#ERROR:"; + public const string GeneratorName = "HawkN.Iso.Countries.Currencies.Generators source generator"; + public const string ErrorPrefixName = "COUNTRY_CURRENCY_"; + public static readonly string[] ExtendedSourceData = + [ + "Release: release-48", + "CLDR URL: https://github.com/unicode-org/cldr", + ]; + public static readonly string[] SystemNamespaces = [ + "System.Linq", + "System.Collections.Generic", + "System.Collections.Immutable" + ]; + public static readonly string[] ReferencesNamespaces = + [ + "HawkN.Iso.Countries", + "HawkN.Iso.Currencies", + "HawkN.Iso.Countries.Currencies.Models" + ]; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/Content/SupplementalData.xml b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Content/SupplementalData.xml new file mode 100644 index 0000000..25684d3 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Content/SupplementalData.xml @@ -0,0 +1,5748 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + und + hu ja km ko mn si ta te vi yue zh + + + + Dutch official + At most 6% are not fluent in English + Precise data not available, added so Balinese script defaults to Balinese + While Cyrillic is customary, the vast majority of the population can read both.For languages not customarily written, the writing populiation is artificially set to 5% in the absence of better information. + The figure includes 'Vlaams' population from Ethnologue + It is estimated that Walloon is used actively by 10-20% of the total population of Wallonia or between 300,000 and 600,000 people. For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + Precise data not available + Arabic official, the figure is derived from literacy * lang pop + Spanish is the official language, only about 60-70% of the population speaks it at all ; + English official, 81% literacy; the figure is derived from literacy * lang pop + [missing] + Ethnologue: 350k in CAF + 1.6 million 2nd lang speakers + Corsican has been recognized as a language by the French government. Speakers also use French but many are not fluent in it. For languages not customarily written, the writing population is artificially set to 5% + English 1/5 of pop, used 1/5 of pop * literacy rate + Spanish official + Languedocien = Occitan 'Everyone speaks French as first or second language.' For languages not customarily written, the writing population is artificially set to 5% + 100k+ native, plus 1.5 mil 2nd lang speakers. For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + English official; the figure is derived from literacy * lang pop + Regelmรคssig verwendete Sprachen - Percent of people that regularly use the language; literacy is mostly in standard German. For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + [missing] + Actually literacy in Nko writing unknown but historically they used the Latin script + English official, the figure is derived from literacy * lang pop + Actually literacy in Nko writing unknown + Some 99% of users are literate in French or German. For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + 2nd lang literacy 15-25% + Nearly all speakers are literate in a 2nd language. For languages not customarily written, the writing population is artificially set to 5% + Many minor langs; Portuguese official + In this and other sources, such as Ethnologue, there is no estimate for number of users. http://en.wikipedia.org/wiki/Filipino_language http://www.ethnologue.com/show_language.asp?code=fil + Most of the population uses Creole; see also http://www.country-studies.com/haiti/creole,-literacy,-and-education.html http://en.wikipedia.org/wiki/French_language#Haiti + [missing] + Official language, 37-77% literacy + Official language, used in some schools. + http://www.censusindia.net/cendat/datatable26.html + 25% of pop + - Icelandic official + says: All Jordanians, regardless of ethnicity or religion, speak Arabic, the official language of Jordan + English official; Kiribati widespread + [missing] + German official + 2020 Russian Census + 2022 Census + Used CIA literacy figure times population, added 'Vlaams' population + [missing] + 70,000 in 1991, 100,000 who understand it, but do not speak it ; ethnic pop 530,000 in 2002 + Melanesian pidgin in much of the country is lingua franca; English (official; but spoken by only 1%-2% of the population); 120 indigenous languages + English 20% + Lesotho English-using pop estimated at 5%, no figs available. Probably too low. + [missing] + Official language. Probably 2% of the population from East Timor worldwide can function in it + Ethnologue says 80k users of French. No other figures found yet, but this seems too low. + Russian 5.8%. + The figure is from Wikipedia article on English-speaking populations + Albanian 25.1% + English is an official language, not widely spoken + 42.6% of population + [missing] + 4mil 2nd lang speakers, 120k 1st lang, 20k monolinguals. English creole; 40-45% literacy. + A pidginizatino of Motu; 120k 2nd lang speakers, very few 1st lang. + English official on some islands, total 9.4% + http://astro.uchicago.edu/cara/vtour/mcmurdo/ http://www.usap.gov/videoclipsandmaps/mcmwebcam.cfm Winter population is listed. + 1.2mil 1st lang + 240k 2nd lang users, low literacy + Has rotating Norwegian population at Norvegia Station + http://www.mavicanet.com/directory/eng/2436.html + Uninhabited, barren, sub-Antarctic islands + [missing] + Figure for Hindi includes 2nd language users, India Census data. + [missing] + CIA Factbook entry on Kazakhstan + 50k Europeans, mostly French. The figure for writing population is derived from literacy * population, and may be too high. + The figure is from Wikipedia article on http://en.wikipedia.org/wiki/List_of_countries_by_English-speaking_population The figure is from Wikipedia article on English-speaking populations + [missing] + The figure is from Wikipedia article on English-speaking populations + Precise data not available -- listed with 2 speakers as a tie-breaker + CIA Factbook + [missing] + CIA Factbook. See also http://www.jsmp.minihub.org/Reports/jsmpreports/Language%20Report/LanguageReport(english).pdf + CIA Factbook. + The Tonga Chronicle is a government-owned newspaper... It publishes two editions, one in Tongan with a circulation of 5,000, and one in English with a circulation of 1,500; Writing pop figure shown for English is set to 30% of that for Tonga. + 96% bilingual in Turkish. + The Tuvaluan language is spoken by virtually everyone, while Gilbertese is spoken by some people on Nui. English is also an official language, but is not spoken in daily use. Writing pop set to 10% of Tuvalu. + English (official, primary language of commerce, administration, and higher education) + Ethnologue lists 1 million 2nd lang users of English; no other good figures found. + also: http://en.wikipedia.org/wiki/Bosnian_language + [missing] + 2021 Census, counting people who are fluent in the language + 5% writing pop estimated in absence of other data + [missing] + Crude estimate based on import partner data. + [missing] + More than 80 % of the total Thai population speaks the native Thai language. + [missing] + [missing] + [missing] + (= Tai Lu, Xishuangbanna Dai; New Tai Lue script) + [missing] + [missing] + Estimates Indian ethnic 44% ; see also http://en.wikipedia.org/wiki/Non-resident_Indian_and_Person_of_Indian_Origin and http://www.vanuatu.usp.ac.fj/paclangunit/English_South_Pacific.htm + [missing] + [missing] + [missing] + [missing] + Deva is the official script for sd in India; set to 55%. Arab, Guru, Khoj also used. + The lingua franca of 80% of the population + 2016 Census + and https://en.wikipedia.org/wiki/Mru_language + - More than 95% of Pakistanis can speak or understand Urdu as their second or third language + [missing] + http://www.stoletie.ru/vzglyad/derusifikacija_nabirajet_oboroty_934.htm + [missing] + [missing] + [missing] + [missing] + US 2005 census + [missing] + [missing] + CIA Factbook lists spoken language, the entry for Bokmรฅl only on Svalbard and Jan Mayan is an assumption. + http://www.bfs.admin.ch/bfs/portal/de/index/infothek/lexikon/bienvenue___login/blank/zugang_lexikon.Document.62669.xls + No literacy figure available for English in Madagascar; newly adopted official language; 5% is an estimate. + - the script is an assumption, needs a reference + Latin script official, used 98.8% of pop * 10% for the usage figure + Latin script official, used 98.8% of pop * 90% for the usage figure + - five eastern provinces of the DRC are Swahili speaking. Nearly half the 66 million Congolese speak it. + [missing] + 2022 Census number of people in Ethnic group + [missing] + [missing] + - Most educated Kenyans are able to communicate fluently in Swahili, since it is a compulsory subject in school + [missing] + [missing] + 2019 Belarus Census + English is the first language learned by half the children by the time they reach preschool age; using 92.6% of pop for the English figure + Organisation internationale de la Francophonie Meta-study. Data from 2012 and 2016 Eurostat studies on first and second language usage across Europe + - 90 percent of approximately 39 million Tanzanians speak Swahili + - Baganda generally don't speak Swahili, but it is in common use among the 25 million people elsewhere in the country, and is currently being implemented in schools nationwide (use 75% of Cpop for this figure) + [missing] + [missing] + Salminen, T. (2007). Europe and North Asia. In Encyclopedia of the worldโ€™s endangered languages (pp. 211-280). Routledge. + http://www.ofis-bzh.org/fr/langue_bretonne/chiffres_cles/index.php France blocks other languages in state schools; 1.4% attended Breton schools and 3% is estimated as family transmission rate + 15.8% of population + The 2008 estimate is ~2000 speakers due to revival efforts + [missing] + The great majority of Equatorial Guineans speak Spanish, especially those living in the capital, Malabo. Spanish has been an official language since 1844. + Hans literacy is unknown; set to 5% artificially pending better or official figures. + http://www.statemaster.com/encyclopedia/Balinese-language widely used; taught in school as a main lang + widely used in its cultural areas, often in Latin script + http://www.indianetzone.com/7/haryanvi.htm little literature mostly folksongs; writers use std Hindi; claim of 55% literacy + 2nd lang literacy 25-50%, taught formally + 5% writing pop estimated in absence of other data; literacy rate reported at 12% + 5% writing pop estimated in absence of other data; literacy rate reported at ~8% + No estimate available. + 5% writing pop estimated in absence of other data; Japanese is lingua franca here + [missing] + Data completely unknown for Hausa in Arabic in Nigeria + almost all speakers bilingual in English + Pop decline to ~1398 in 2009 + Low literacy, high linguistic diversity; English official (govt) but not widely spoken + [missing] + Spoken by 70% of population, assumed to use Arabic script in Pakistan + Reported to be (regional) official in Chuvashia, central Russia: taught at schools. However: http://cv.wikipedia.org/ Chuvash Wikipedia on-line. + [missing] + 2022 Belize Census + 'A lingua franca and a first language for 10% of the population but understood by 95%' http://en.wikipedia.org/wiki/Krio_language + Dutch is spoken as a mother tongue by about 60% of the Surinamese, while most others speak it as a second or third language. + main language of trade and comm. in Isan region, except ... media where it gives way to Thai; now largely an unwritten language. 10% writing pop estimated in absence of other data + - primarily written using an Arabic-derived alphabet + and https://islandstudies.com/files/2016/11/Guernsey-Herm-Sark.pdf - extrapolated GDP from per capita x population + understood by 10 million, perhaps. Figure is questionable writing pop artificially set to 5% see also: http://en.wikipedia.org/wiki/Low_German (understood by 10 million people, and native to about 3 million people all around northern Germany) + 2018 Census, counting both maternal and secondary language usage + See the 2006 language survey data for 2nd langs = Shimaore + 2018 Census, counting both maternal and secondary language usage. Co-official in Sacatepรฉquez + Common lingua franca, widely used. High literacy. + but subtracting 270,000 per https://en.wikipedia.org/wiki/Swiss_Italian + [missing] + [missing] + [missing] + 98.8% speak Spanish. Also, https://www.cia.gov/library/publications/the-world-factbook/geos/sp.html + [missing] + Colony of France but uninhabited + No indigenous inhabitants. http://en.wikipedia.org/wiki/British_Indian_Ocean_Territory + Many also use Swahili + Latin is not shown as being used, rather Arabic + Used in schools up to University. + Also called Sakha. + No indigenous inhabitants. http://en.wikipedia.org/wiki/French_Southern_Territories + 2022 Census language spoken at home + Shows 50% literacy + Most also use Swahili with 50% literacy. Only 5% monolingual. + Most also use Swahili + [missing] + basically unihabited, officially ; http://www.census.gov/prod/cen2000/phc3-us-pt1.pdf + http://lanic.utexas.edu/project/tilan/reports/rtf359/bolivia1.html Spanish is the official language, only about 60-70% of the population speaks it at all ; + Spanish ""universal"", set to 98% + https://www.cia.gov/library/publications/the-world-factbook/geos/cs.html + [missing] + [missing] + Sirmauri (srx) Mahasui = Himachali, Pahari, Sirmouri, Sirmuri + - 14k reported as native. Taught as elective subject in grades 5-8; not widely spoken as primary communication. + [missing] + [missing] + [missing] + native speaker pop is low, ~6200; but is most widely spoken 2nd language + [missing] + [missing] + (94% of studends in Russia receive primarily Russian-language ed) + Europeans and their languages survey, page 7 + http://ec.europa.eu/public_opinion/archives/ebs/ebs_243_en.pdf Europeans and their languages survey, page 7 + [missing] + 1st lang literacy 8% + low literacy + percentage calculated from http://www.spanishcourses.info/Mains/SpanishSpoken_EN.htm , see also http://www.spanishseo.org/resources/worldwide-spanish-speaking-population + [missing] + www.amar.org.ir + - regional lang community status, taught in some schools + - 52.9% of Tatarstan is ethnic Tatar, the pop figure is an upper bound + http://en.wikipedia.org/wiki/Interlingua#Community Has a regular conf in Sweden, also Brazil; an auxiliary language with tiny population worldwide + This is base pop for """"""""""""""""""""""""""""""""fub"""""""""""""""""""""""""""""""" lang code; ff shows as a macrolanguage + [missing] + (could be higher if 2nd lang included; no data yet) + [missing] + [missing] + [missing] + pop 7k. Figure is questionable writing pop artificially set to 5% see also http://en.wikipedia.org/wiki/Lower_Sorbian + Tigrinya ethnic pop is about 60% + [missing] + English official in education, 36.1% 2000 census + no other info available for now + [missing] + language also called Kamta in India + Modern use of Arabic (Jawi) seems to be minimal, but is co-official with ms; set to 5% for now. + [missing] + [missing] + [missing] + census data + - source for GDP + - source for GDP Level of English usage unclear, but official for govt and education + - estimate 90%of literate pop can use Arabic; Lpop = 99% + http://en.wikipedia.org/wiki/South_Sudan + [missing] + low literacy and >120 langs in country + (used lower figure) + 25-50% literacy + literacy 15-25% + 30% literacy + 2nd lang literacy 30% + 2nd lang literacy 25-50% + [missing] + protected minority, southern Jutland + etimate only based on literacy; no population data currently available + population figure from CLDR-17483 ticket + No Data Available at present. + co-official in South Tyrol + 2018 Census, counting both maternal and secondary language usage. Co-official in Quichรฉ and Totonicapรกn + in Trieste and Gorizia + [missing] + Information on the Latin/Cyrillic script percentages for Montenegro not currently found. + most of population use Afrikaans commonly, about 89% literacy + CIA Factbook entry on Kazakhstan http://windowoneurasia2.blogspot.com/2013/12/window-on-eurasia-de-russianization.html http://www.stoletie.ru/vzglyad/derusifikacija_nabirajet_oboroty_934.htm http://www.stoletie.ru/vzglyad/derusifikacija_nabirajet_oboroty_934.htm + , Podlaskie Voivodeship + official in Vojvodina only + official in Vojvodina only; no pop data yet found + regional in Dagestan, population estimate + [missing] + https://www.cia.gov/library/publications/the-world-factbook/geos/uz.html Latin/Cyrillic balance is estimated, based on literacy; younger education now in Latin + Information on the Latin/Cyrillic script percentages for Kosovo not currently found. + Estimate based on 90% of literate pop > 15 years (71% of Cpop) can use English, for lack of official number of users + low litreracy ~5% + 2nd lang literacy 30% + http://en.wikipedia.org/wiki/Akademio_Internacia_de_la_Sciencoj_San_Marino - estimate 100% of the academy can use Esperanto; the language is used as 1st language of instruction; academy has 300 """"""""""""""""""""""""""""""""members"""""""""""""""""""""""""""""""". + recognized in West Java + Mainly unwritten + 2018 Census, counting both maternal and secondary language usage. Co-official in Quichรฉ + Latin listed as being used (Scriptsource) but no pop figures available. + 2011 Census -- the language is not distinguished in the 2021 census + but no literacy data + Including 1st and 2nd lang speakers + [missing] + regional-official in part of Opole Voivodeship; in Poland 325 schools with primary instr in German, estimate 37000 students. Real figure probably higher. + Census figures cited there seem to put Armenian using pop between 50-75%. Using 50%. + [missing] + unknown literacy + only 10% monolingual + near zero literacy; pop ~80000 (2009) see David Lawrence, Tanzania and its People, page 121, Google books + (baseline) + No population figure yet on use of Latin in Vatican. Estimate 100% of Vatican residents can use Latin. + 2010 Census: Widely Spoken Language of Communication + No figures available for this language. Estimating at 5%. + [missing] + [missing] + [missing] + - near-zero Azeri population in last census http://en.wikipedia.org/wiki/Azerbaijanis_in_Armenia#Current_situation + No figures available for breakdown of Latin vs. N'Ko for Bambara. The 2% figure is an estimate. + pop 13k. Figure is questionable writing pop artificially set to 5% see also http://en.wikipedia.org/wiki/Upper_Sorbian + French mostly used in commerce + Indonesia high literacy; low written use of local languages + - est 50% pop of Veneto area + 5% mainly spoken + [missing] + โ€‹http://www.interlingua.com/statutos leading Interlingua assoc (Union Mundial pro Interlingua) registered French non-profit - real user pop figure is unknown but low + [missing] + Moribund language + [missing] + Estimated. See http://en.wikipedia.org/wiki/Emilian_language + Estimate not available. + [missing] + [missing] + [missing] + Also called Morรฉ + Newly designated official, not so widely used + [missing] + [missing] + syr is a macrolang containing cld and aii) + [missing] + [missing] + [missing] + [missing] + [missing] + No hard figures for this yet, so this is a placeholder figure. + Widely spoken less written, and most speakers know standard German as well + [missing] + and https://www.ethnologue.com/language/yue + [missing] + [missing] + [missing] + [missing] + [missing] + [missing] + [missing] + Mainly in Guangdong Prov, ~70-80 million. Script unspecified so both listed + 2018 Census, counting both maternal and secondary language usage. Co-official in Chiquimula + Analyzed from 2011 UK census and other sources + 2018 Census, counting both maternal and secondary language usage. Co-official in Suchitepรฉquez + 2014 Maldives: 98% literacy in Divehi, 75% in English + [missing] + [missing] + Greek population in Russia -- most ancestrally used Pontic Greek -- modern usage almost certainly has dropped off but we don't have clear statistics on current usage. + [missing] + Lower estimate of Coptic population, actual language literacy unknown + [missing] + Organisation internationale de la Francophonie Meta-study. Data from 2013 Census + Organisation internationale de la Francophonie Meta-study. Data from IVQ survey in 2009 + 2021 Census Knowledge of Language + Organisation internationale de la Francophonie Meta-study. Data from 2014 study + Organisation internationale de la Francophonie Meta-study. Data from 1994 study + Organisation internationale de la Francophonie Meta-study. Data from 2009 and 2012 studies + Regelmรคssig verwendete Sprachen - Percent of people that regularly use the language + Latin alphabet usage for Kurdish also present but actual amount unknown + Organisation internationale de la Francophonie Meta-study. Data from 2014 census + Organisation internationale de la Francophonie Meta-study. Data from 2010 questionnaire + Organisation internationale de la Francophonie Meta-study. Data from 2008 Census + Organisation internationale de la Francophonie Meta-study. Data from 2017 survey from Gabon authorities + Organisation internationale de la Francophonie Meta-study. Data from 2011 IVQ survey + Organisation internationale de la Francophonie Meta-study. Data from 2005 Study + Organisation internationale de la Francophonie Meta-study. Data from 2012 Census + Organisation internationale de la Francophonie Meta-study. Data from 2014 questionnaire + Organisation internationale de la Francophonie Meta-study. Data from 2003 census + Organisation internationale de la Francophonie Meta-study. Data from 2012, mixed methods + Organisation internationale de la Francophonie Meta-study. Data from 2014 Census + Organisation internationale de la Francophonie Meta-study. Data from 2017 questionnaire + Organisation internationale de la Francophonie Meta-study. Data from 2018 census + Organisation internationale de la Francophonie Meta-study. Data from 2009 census + Organisation internationale de la Francophonie Meta-study. Data from IVQ survey in 2014 + Organisation internationale de la Francophonie Meta-study. Data from 2009 Census + Organisation internationale de la Francophonie Meta-study. Data from 2012 census + Organisation internationale de la Francophonie Meta-study. Data from 2017 Census + Organisation internationale de la Francophonie Meta-study. Data from 2018 Census + Organisation internationale de la Francophonie Meta-study. Data from IVQ survey in 2007 + Organisation internationale de la Francophonie Meta-study. Data from 2013 census. Literacy is based on the language of instruction + Organisation internationale de la Francophonie Meta-study. Data from 2014 + Organisation internationale de la Francophonie Meta-study. Data from 2010 census + Organisation internationale de la Francophonie Meta-study. Data from 2007 Census + 1998 SIL study, cited in Ethnologue + from Instituto Cervantes 2021 + from 2013 Honduras census + Canada 2021 Census language 'Knowledge of Language'; official status from Wikipedia Languages_of_Canada + Regis, Riccardo. 'Su pianificazione, standardizzazione, polinomia: due esempi' Zeitschrift fรผr romanische Philologie, vol. 128, no. 1, 2012, pp. 88-133. + Number & script usage hard to pin down because of many speakers in contested Nagorno Karabakh region. + Latin alphabet usage also present but exact breakdown unknown + Cyrillic usage for Kurdish may no longer be as dominant but it used to be + citation from 2016 + 2026 citation + Citation from 2016 + [missing] + [missing] + [missing] + [missing] + [missing] + [missing] + Leclerc (2014) + + diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/Content/Translations/EN.xml b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Content/Translations/EN.xml new file mode 100644 index 0000000..5031963 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Content/Translations/EN.xml @@ -0,0 +1,11523 @@ + + + + + + + + + + + {0} ({1}) + {0}, {1} + {0}: {1} + + + Afar + Abkhazian + Acehnese + Acoli + Adangme + Adyghe + Avestan + Tunisian Arabic + Afrikaans + Afrihili + Aghem + Ainu + Akan + Akkadian + Alabama + Aleut + Gheg Albanian + Southern Altai + Amharic + Aragonese + Old English + Obolo + Angika + Arabic + Modern Standard Arabic + Aramaic + Mapuche + Araona + Arapaho + Algerian Arabic + Najdi Arabic + Arabic, Najdi + Arawak + Moroccan Arabic + Egyptian Arabic + Assamese + Asu + American Sign Language + Asturian + Atikamekw + Avaric + Kotava + Awadhi + Aymara + Azerbaijani + Azeri + Bashkir + Baluchi + Balinese + Bavarian + Basaa + Bamun + Batak Toba + Ghomala + Belarusian + Beja + Bemba + Betawi + Bena + Bafut + Badaga + Bulgarian + Haryanvi + Western Balochi + Bhojpuri + Bislama + Bikol + Bini + Banjar + Kom + Siksikรก + Anii + Tai Dam + Bambara + Bangla + Tibetan + Bishnupriya + Bakhtiari + Luri Bakhtiari + Breton + Braj + Brahui + Bodo + Bosnian + Akoose + Buriat + Buginese + Bulu + Blin + Medumba + Catalan + Caddo + Carib + Cayuga + Atsam + Chakma + Chechen + Cebuano + Chiga + Chamorro + Chibcha + Chagatai + Chuukese + Mari + Chinook Jargon + Choctaw + Chipewyan + Cherokee + Cheyenne + Chickasaw + Central Kurdish + Kurdish + Central + Kurdish, Central + Kurdish, Sorani + Chilcotin + Corsican + Coptic + Capiznon + Cree + Woods Cree + Michif + Crimean Tatar + Southern East Cree + Plains Cree + Northern East Cree + Moose Cree + Carolina Algonquian + Seselwa Creole French + Czech + Kashubian + Swampy Cree + Church Slavic + Chuvash + Welsh + Danish + Dakota + Dargwa + Taita + German + Austrian German + Swiss High German + Delaware + Slave + Dogrib + Dinka + Zarma + Dogri + Lower Sorbian + Central Dusun + Duala + Middle Dutch + Divehi + Jola-Fonyi + Dyula + Dzongkha + Dazaga + Embu + Ewe + Efik + Emilian + Ancient Egyptian + Ekajuk + Greek + Elamite + English + Australian English + Canadian English + British English + UK English + American English + US English + Middle English + Esperanto + Spanish + Latin American Spanish + European Spanish + Mexican Spanish + Central Yupik + Estonian + Basque + Ewondo + Extremaduran + Persian + Dari + Fang + Fanti + Fula + Finnish + Filipino + Tornedalen Finnish + Fijian + Faroese + Fon + French + Canadian French + Swiss French + Cajun French + Middle French + Old French + Arpitan + Northern Frisian + Eastern Frisian + Friulian + Western Frisian + Irish + Ga + Gagauz + Gan Chinese + Gayo + Gbaya + Zoroastrian Dari + Scottish Gaelic + Geez + Gilbertese + Galician + Gilaki + Middle High German + Guarani + Old High German + Gondi + Gorontalo + Gothic + Grebo + Ancient Greek + Swiss German + Gujarati + Wayuu + Frafra + Gusii + Manx + Gwichสผin + Hausa + Haida + Hakka Chinese + Hawaiian + Southern Haida + Hebrew + Hindi + Hindi (Latin) + Hinglish + Fiji Hindi + Hiligaynon + Hittite + Hmong + Hmong Njua + Hiri Motu + Croatian + Upper Sorbian + Xiang Chinese + Haitian Creole + Hungarian + Hupa + Halkomelem + Armenian + Herero + Interlingua + Iban + Ibibio + Indonesian + Interlingue + Igbo + Sichuan Yi + Inupiaq + Western Canadian Inuktitut + Iloko + Ingush + Ido + Icelandic + Italian + Inuktitut + Ingrian + Japanese + Jamaican Creole English + Lojban + Ngomba + Machame + Judeo-Persian + Judeo-Arabic + Jutish + Javanese + Georgian + Kara-Kalpak + Kabyle + Kachin + Jju + Kamba + Kawi + Kabardian + Kanembu + Tyap + Makonde + Kabuverdianu + Qสผeqchiสผ + Kenyang + Koro + Kongo + Kaingang + Khasi + Khotanese + Koyra Chiini + Khowar + Kikuyu + Kirmanjki + Kuanyama + Kazakh + Kako + Kalaallisut + Kalenjin + Khmer + Kimbundu + Kannada + Korean + Komi-Permyak + Konkani + Kosraean + Kpelle + Kanuri + Karachay-Balkar + Krio + Kinaray-a + Karelian + Kurukh + Kashmiri + Shambala + Bafia + Colognian + Kurdish + Kurdish + Kurmanji + Kumyk + Kutenai + Komi + Cornish + Kwakสผwala + Kuvi + Kyrgyz + Kirghiz + Latin + Ladino + Langi + Western Panjabi + Lamba + Luxembourgish + Lezghian + Lingua Franca Nova + Ganda + Limburgish + Ligurian + Lillooet + Livonian + Lakota + Lombard + Lingala + Lao + Mongo + Louisiana Creole + Lozi + Northern Luri + Saamia + Lithuanian + Latgalian + Luba-Katanga + Luba-Lulua + Luiseno + Lunda + Luo + Mizo + Luyia + Latvian + Literary Chinese + Laz + Madurese + Mafa + Magahi + Maithili + Makasar + Mandingo + Masai + Maba + Moksha + Mandar + Mende + Meru + Morisyen + Malagasy + Middle Irish + Makhuwa-Meetto + Metaสผ + Marshallese + Mฤori + Mi'kmaw + Minangkabau + Macedonian + Malayalam + Mongolian + Manchu + Manipuri + Innu-aimun + Mohawk + Mossi + Marathi + Western Mari + Malay + Maltese + Mundang + Multiple languages + Muscogee + Mvskoke + Muscogee + Mirandese + Marwari + Mentawai + Burmese + Myanmar Language + Myene + Erzya + Mazanderani + Nauru + Min Nan Chinese + Neapolitan + Nama + Norwegian Bokmรฅl + North Ndebele + Low German + Low Saxon + Nepali + Newari + Ndonga + Nias + Niuean + Ao Naga + Dutch + Flemish + Kwasio + Norwegian Nynorsk + Ngiemboon + Norwegian + Nogai + Old Norse + Novial + Nโ€™Ko + South Ndebele + Northern Sotho + Nuer + Navajo + Classical Newari + Nyanja + Nyamwezi + Nyankole + Nyoro + Nzima + Occitan + Ojibwa + Northwestern Ojibwa + Central Ojibwa + Oji-Cree + Western Ojibwa + Okanagan + Colville Salish + Oromo + Odia + Ossetic + Osage + Ottoman Turkish + Punjabi + Pangasinan + Pahlavi + Pampanga + Papiamento + Palauan + Picard + Nigerian Pidgin + Pennsylvania German + Plautdietsch + Old Persian + Palatine German + Phoenician + Pali + Pฤli + Pijin + Polish + Piedmontese + Pontic + Pohnpeian + Maliseet-Passamaquoddy + Prussian + Old Provenรงal + Pashto + Pushto + Portuguese + Brazilian Portuguese + European Portuguese + Quechua + Kสผicheสผ + Chimborazo Highland Quichua + Rajasthani + Rapanui + Rarotongan + Romagnol + Rohingya + Riffian + Romansh + Rundi + Romanian + Moldavian + Rombo + Romany + Rotuman + Russian + Rusyn + Roviana + Aromanian + Kinyarwanda + Rwa + Sanskrit + Sandawe + Yakut + Samaritan Aramaic + Samburu + Sasak + Santali + Saurashtra + Ngambay + Sangu + Sardinian + Sicilian + Scots + Sindhi + Sassarese Sardinian + Southern Kurdish + Kurdish + Southern + Northern Sami + Sami, Northern + Seneca + Sena + Seri + Selkup + Koyraboro Senni + Sango + Old Irish + Samogitian + Serbo-Croatian + Tachelhit + Shan + Chadian Arabic + Sinhala + Sidamo + Slovak + Slovenian + Southern Lushootseed + Lower Silesian + Selayar + Samoan + Southern Sami + Sami, Southern + Lule Sami + Sami, Lule + Inari Sami + Sami, Inari + Skolt Sami + Sami, Skolt + Shona + Soninke + Somali + Sogdien + Albanian + Serbian + Montenegrin + Sranan Tongo + Serer + Swati + Saho + Southern Sotho + Saterland Frisian + Straits Salish + Sundanese + Sukuma + Susu + Sumerian + Swedish + Swahili + Congo Swahili + Comorian + Classical Syriac + Syriac + Silesian + Tamil + Southern Tutchone + Tulu + Telugu + Timne + Teso + Tereno + Tetum + Tajik + Tagish + Thai + Tahltan + Tigrinya + Tigre + Tiv + Turkmen + Tokelauan + Tsakhur + Tagalog + Klingon + Tlingit + Talysh + Tamashek + Tswana + Tongan + Nyasa Tonga + Toki Pona + Tok Pisin + Turkish + Turoyo + Taroko + Torwali + Tsonga + Tsakonian + Tsimshian + Tatar + Northern Tutchone + Muslim Tat + Tumbuka + Tuvalu + Twi + Tasawaq + Tahitian + Tuvinian + Central Atlas Tamazight + Udmurt + Uyghur + Uighur + Ugaritic + Ukrainian + Umbundu + Unknown language + Urdu + Uzbek + Vai + Venda + Venetian + Veps + Vietnamese + West Flemish + Main-Franconian + Makhuwa + Volapรผk + Votic + Vรตro + Vunjo + Walloon + Walser + Wolaytta + Waray + Washo + Warlpiri + Wolof + Wu Chinese + Kalmyk + Xhosa + Mingrelian + Kangri + Soga + Yao + Yapese + Yangben + Yemba + Yiddish + Yoruba + Nheengatu + Cantonese + Chinese, Cantonese + Zhuang + Zapotec + Blissymbols + Zeelandic + Zenaga + Standard Moroccan Tamazight + Chinese + Mandarin Chinese + Chinese, Mandarin + Simplified Chinese + Simplified Mandarin Chinese + Traditional Chinese + Traditional Mandarin Chinese + Zulu + Zuni + No linguistic content + Zaza + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + world + Africa + North America + South America + Oceania + Western Africa + Central America + Eastern Africa + Northern Africa + Middle Africa + Southern Africa + Americas + Northern America + Caribbean + Eastern Asia + Southern Asia + Southeast Asia + Southern Europe + Australasia + Melanesia + Micronesian Region + Polynesia + Asia + Central Asia + Western Asia + Europe + Eastern Europe + Northern Europe + Western Europe + Sub-Saharan Africa + Latin America + Ascension Island + Andorra + United Arab Emirates + Afghanistan + Antigua & Barbuda + Anguilla + Albania + Armenia + Angola + Antarctica + Argentina + American Samoa + Austria + Australia + Aruba + ร…land Islands + Azerbaijan + Bosnia & Herzegovina + Bosnia + Barbados + Bangladesh + Belgium + Burkina Faso + Bulgaria + Bahrain + Burundi + Benin + St. Barthรฉlemy + Bermuda + Brunei + Bolivia + Caribbean Netherlands + Brazil + Bahamas + Bhutan + Bouvet Island + Botswana + Belarus + Belize + Canada + Cocos (Keeling) Islands + Cocos Islands + Congo - Kinshasa + Congo (DRC) + Central African Republic + Congo - Brazzaville + Congo (Republic) + Switzerland + Cรดte dโ€™Ivoire + Ivory Coast + Cook Islands + Chile + Cameroon + China + Colombia + Clipperton Island + Sark + Costa Rica + Cuba + Cape Verde + Cabo Verde + Curaรงao + Christmas Island + Cyprus + Czechia + Czech Republic + Germany + Diego Garcia + Djibouti + Denmark + Dominica + Dominican Republic + Algeria + Ceuta & Melilla + Ecuador + Estonia + Egypt + Western Sahara + Eritrea + Spain + Ethiopia + European Union + Eurozone + Finland + Fiji + Falkland Islands + Falkland Islands (Islas Malvinas) + Micronesia + Faroe Islands + France + Gabon + United Kingdom + UK + Grenada + Georgia + French Guiana + Guernsey + Ghana + Gibraltar + Greenland + Gambia + Guinea + Guadeloupe + Equatorial Guinea + Greece + South Georgia & South Sandwich Islands + Guatemala + Guam + Guinea-Bissau + Guyana + Hong Kong SAR China + Hong Kong + Heard & McDonald Islands + Honduras + Croatia + Haiti + Hungary + Canary Islands + Indonesia + Ireland + Israel + Isle of Man + India + British Indian Ocean Territory + British Indian Ocean Territory + Chagos Archipelago + Iraq + Iran + Iceland + Italy + Jersey + Jamaica + Jordan + Japan + Kenya + Kyrgyzstan + Cambodia + Kiribati + Comoros + St. Kitts & Nevis + North Korea + South Korea + Kuwait + Cayman Islands + Kazakhstan + Laos + Lebanon + St. Lucia + Liechtenstein + Sri Lanka + Liberia + Lesotho + Lithuania + Luxembourg + Latvia + Libya + Morocco + Monaco + Moldova + Montenegro + St. Martin + Madagascar + Marshall Islands + North Macedonia + Mali + Myanmar (Burma) + Myanmar + Mongolia + Macao SAR China + Macao + Northern Mariana Islands + Martinique + Mauritania + Montserrat + Malta + Mauritius + Maldives + Malawi + Mexico + Malaysia + Mozambique + Namibia + New Caledonia + Niger + Norfolk Island + Nigeria + Nicaragua + Netherlands + Norway + Nepal + Nauru + Niue + New Zealand + Aotearoa New Zealand + Oman + Panama + Peru + French Polynesia + Papua New Guinea + Philippines + Pakistan + Poland + St. Pierre & Miquelon + Pitcairn Islands + Pitcairn + Puerto Rico + Palestinian Territories + Palestine + Portugal + Palau + Paraguay + Qatar + Outlying Oceania + Rรฉunion + Romania + Serbia + Russia + Rwanda + Saudi Arabia + Solomon Islands + Seychelles + Sudan + Sweden + Singapore + St. Helena + Slovenia + Svalbard & Jan Mayen + Slovakia + Sierra Leone + San Marino + Senegal + Somalia + Suriname + South Sudan + Sรฃo Tomรฉ & Prรญncipe + El Salvador + Sint Maarten + Syria + Eswatini + Swaziland + Tristan da Cunha + Turks & Caicos Islands + Chad + French Southern Territories + Togo + Thailand + Tajikistan + Tokelau + Timor-Leste + East Timor + Turkmenistan + Tunisia + Tonga + Tรผrkiye + Turkey + Trinidad & Tobago + Tuvalu + Taiwan + Tanzania + Ukraine + Uganda + U.S. Outlying Islands + United Nations + UN + United States + US + Uruguay + Uzbekistan + Vatican City + St. Vincent & Grenadines + Venezuela + British Virgin Islands + U.S. Virgin Islands + Vietnam + Vanuatu + Wallis & Futuna + Samoa + Pseudo-Accents + Pseudo-Bidi + Kosovo + Yemen + Mayotte + South Africa + Zambia + Zimbabwe + Unknown Region + + + England + Scotland + Wales + + + Traditional German orthography + Standardized Resian orthography + German orthography of 1996 + Late Middle French to 1606 + Early Modern French + Academic + Orthographic formulation of 1943 + ALA-LC Romanization, 1997 edition + Aluku dialect + Portuguese Language Orthographic Agreement of 1990 + Eastern Armenian + Western Armenian + Unified Turkic Latin Alphabet + Balanka dialect of Anii + Barlavento dialect group of Kabuverdianu + San Giorgio/Bila dialect + Bohoriฤ alphabet + Boontling + Portuguese-Brazilian Orthographic Convention of 1945 + Dajnko alphabet + Serbian with Ekavian pronunciation + Early Modern English + IPA Phonetics + UPA Phonetics + Hepburn romanization + Serbian with Ijekavian pronunciation + Common Orthography + Standard Orthography + The Lipovaz dialect of Resian + Metelko alphabet + Monotonic + Ndyuka dialect + Natisone dialect + Gniva/Njiva dialect + Modern Volapรผk + Oseacco/Osojane dialect + Oxford English Dictionary spelling + Pamaka dialect + Pinyin romanization + Polytonic + Computer + Revised Orthography + Classic Volapรผk + Resian + Saho + Scottish Standard English + Scouse + Stolvizza/Solbica dialect + Sotavento dialect group of Kabuverdianu + Taraskievica orthography + Unified Orthography + Unified Revised Orthography + Unifon phonetic alphabet + Valencian + Wade-Giles romanization + + + Calendar + Currency Format + Ignore Symbols Sorting + Reversed Accent Sorting + Uppercase/Lowercase Ordering + Case Sensitive Sorting + Sort Order + Normalized Sorting + Numeric Sorting + Script/Block Reordering + Sorting Strength + Currency + Transform Destination + Dictionary Break Exclusions + Emoji Presentation + First day of week + Mixed-in + Hour Cycle (12 vs 24) + Input Method + Keyboard + Highest Ignored + CJK Line Break + Line Breaks within Words + Transform Rules + Measurement System + Measurement Unit + Numbers + Region For Supplemental Data + Transform Source + Region Subdivision + Sentence Break After Abbr. + Transform + Machine Translated + Time Zone + Locale Variant + Private-Use + Private-Use Transform + + + Buddhist Calendar + Buddhist + Chinese Calendar + Chinese + Coptic Calendar + Coptic + Dangi Calendar + Dangi + Ethiopic Calendar + Ethiopic + Ethiopic Amete Alem Calendar + Ethiopic Amete Alem + Gregorian Calendar + Gregorian + Hebrew Calendar + Hebrew + Indian National Calendar + Indian National + Hijri Calendar + Hijri + Hijri Calendar (tabular, civil epoch) + Hijri (tabular, civil epoch) + Hijri Calendar (Saudi Arabia, sighting) + + Hijri, Saudi Arabia sighting + Hijri Calendar (tabular, astronomical epoch) + Hijri (tabular, astronomical epoch) + Hijri Calendar (Umm al-Qura) + Hijri (Umm al-Qura) + Gregorian Calendar (ISO 8601 Weeks) + ISO 8601 Weeks + Gregorian + Japanese Calendar + Japanese + Persian Calendar + Persian + Minguo Calendar + Minguo + Accounting Currency Format + Accounting + Standard Currency Format + Standard + Sort Symbols + Sort Ignoring Symbols + Sort Accents Normally + Sort Accents Reversed + Sort Lowercase First + Sort Normal Case Order + Sort Uppercase First + Sort Case Insensitive + Sort Case Sensitive + Previous Sort Order, for compatibility + Compatibility + Dictionary Sort Order + Dictionary + Default Unicode Sort Order + Default Unicode + Emoji Sort Order + Emoji + European Ordering Rules + European rules + Phonebook Sort Order + Phonebook + Phonetic Sort Order + Phonetic + Pinyin Sort Order + Pinyin + General-Purpose Search + Search + Search By Hangul Initial Consonant + Korean initial consonant + Standard Sort Order + Standard + Stroke Sort Order + Stroke + Traditional Sort Order + Traditional + Radical-Stroke Sort Order + Radical-Stroke + Zhuyin Sort Order + Zhuyin + Sort Without Normalization + Sort Unicode Normalized + Sort Digits Individually + Sort Digits Numerically + Currency + Digits + Punctuation + Whitespace + Symbol + Sort All + Sort Base Letters Only + Sort Accents/Case/Width/Kana + Sort Accents + Sort Accents/Case/Width + To Accented Characters From ASCII Sequence + To ASCII + To Casefolded + To Unicode Character Names + To Digit Form Of Accent + To Unicode FCC + To Unicode FCD + To Fullwidth + To Hexadecimal Codes + To Halfwidth + To Lowercase + To Morse Code + To Unicode NFC + To Unicode NFD + To Unicode NFKC + To Unicode NFKD + To Pinyin With Numeric Tones + No Change + To Publishing Characters From ASCII + To Empty String + To Titlecase + To Uppercase + To Zawgyi Myanmar Encoding + Default Presentation For Emoji + Default + Emoji Presentation For Emoji + Emoji + Text Presentation For Emoji + Text + First day of week: Friday + First day of week: Monday + First day of week: Saturday + First day of week: Sunday + First day of week: Thursday + First day of week: Tuesday + First day of week: Wednesday + Hybrid + 12 Hour System (0โ€“11) + 12 (0โ€“11) + 12 Hour System (1โ€“12) + 12 (1โ€“12) + 24 Hour System (0โ€“23) + 24 (0โ€“23) + 24 Hour System (1โ€“24) + 24 (1โ€“24) + Handwriting Input Method + Pinyin Input Method + Unspecified Input Method + Wubi Input Method + 101-Key Keyboard + 102-Key Keyboard + 600 dpi Keyboard + 768 dpi Keyboard + Android Keyboard + AZERTY-Based Keyboard + ChromeOS Keyboard + Colemak Keyboard + Dvorak Keyboard + Dvorak Left-Handed Keyboard + Dvorak Right-Handed Keyboard + Greek 220 Keyboard + Greek 319 Keyboard + Keyboard With Many Extra Characters + Google Virtual Keyboard + Persian ISIRI Keyboard + Legacy Keyboard + Lithuanian LST 1205 Keyboard + Lithuanian LST 1582 Keyboard + Inuktitut Nutaaq Keyboard + macOS Keyboard + Thai Pattachote Keyboard + QWERTY-Based Keyboard + QWERTZ-Based Keyboard + Tamil 99 Keyboard + Unspecified Keyboard + Keyboard Variant + Vietnamese VIQR Keyboard + Windows Keyboard + Ignore Symbols affects spaces, punctuation, all symbols + + Shift Spaces, punctuation, all symbols + Ignore Symbols affects spaces and punctuation only + Shift spaces, punctuation + Ignore Symbols affects spaces only + Shift spaces, punctuation + Ignore Symbols affects spaces, punctuation, non-currency symbols + Shift spaces, punctuation, non-currency symbols + Loose Line Break Style + Loose + Normal Line Break Style + Normal + Strict Line Break Style + Strict + Allow Line Breaks In All Words + Break all + Prevent Line Breaks In All Words + Keep all + Normal Line Breaks For Words + Normal + Prevent Line Breaks In Phrases + Keep in phrases + Encylopedia Aethiopica Transliteration + US ALA-LOC Transliteration + Beta Maแนฃฤแธฅวft Transliteration + US BGN Transliteration + Buckwalter Arabic Transliteration + Hex transform using C11 syntax + Hex transform using CSS syntax + German DIN Transliteration + Ethiopian Standards Agency ES 3842:2014 Ethiopic-Latin Transliteration + Extended Wylie Transliteration Scheme + CIS GOST Transliteration + Gurage Legacy to Modern Transliteration + Yaros Gutgarts Ethiopic-Cyrillic Transliteration + International Alphabet of Sanskrit Transliteration + IES/JES Amharic Transliteration + ISO Transliteration + Hex transform using Java syntax + Thomas Oden Lambdin Ethiopic-Latin Transliteration + Korean MCST Transliteration + Mongolian National Standard Transliteration + Hex transform using percent syntax + Hex transform using Perl syntax + Hex transform with no surrounding syntax + Personal name transliteration variant + Standard Arabic Technical Transliteration + System for Ethiopic Representation in ASCII + Tekie Alibekit Blin-Latin Transliteration + UN GEGN Transliteration + Hex transform using Unicode syntax + Eritrean Ministry of Education Blin-Latin Transliteration + Hex transform using XML syntax + Hex transform using XML decimal syntax + Metric System + Metric + Imperial Measurement System + UK + US Measurement System + US + Celsius + Fahrenheit + Kelvin + Adlam Digits + Ahom Digits + Arabic-Indic Digits + Extended Arabic-Indic Digits + X Arabic-Indic Digits + Extended Arabic-Indic + Armenian Numerals + Armenian Lowercase Numerals + Armenian lowercase + Balinese Digits + Bangla Digits + Bhaiksuki Digits + Brahmi Digits + Chakma Digits + Cham Digits + Cyrillic Numerals + Devanagari Digits + Dives Akuru Digits + Ethiopic Numerals + Financial Numerals + Financial + Full-Width Digits + Full-width + Garay Digits + Georgian Numerals + Gunjala Gondi digits + Masaram Gondi digits + Greek Numerals + Greek Lowercase Numerals + Greek lowercase + Gujarati Digits + Gurung Khema Digits + Gurmukhi Digits + Chinese Calendar Day-of-Month Numerals + Han-character day-of-month numbering for traditional calendars + Chinese Decimal Numerals + Positional decimal system using Chinese number ideographs as digits + Simplified Chinese Numerals + Simplified Chinese Financial Numerals + Simplified Chinese financial + Traditional Chinese Numerals + Traditional Chinese Financial Numerals + Traditional Chinese financial + Hebrew Numerals + Pahawh Hmong Digits + Nyiakeng Puachue Hmong Digits + Javanese Digits + Japanese Numerals + Japanese Financial Numerals + Japanese financial + Japanese Calendar Gannen Year Numerals + Japanese first-year Gannen numbering + Kayah Li Digits + Kawi Digits + Khmer Digits + Kannada Digits + Kirat Rai Digits + Tai Tham Hora Digits + Tai Tham Tham Digits + Tai Tham Tham (ecclesiastical) + Lao Digits + Western Digits + Lepcha Digits + Limbu Digits + Mathematical Bold Digits + Mathematical bold + Mathematical Double-Struck Digits + Mathematical double-struck + Mathematical Monospace Digits + Mathematical monospace + Mathematical Sans-Serif Bold Digits + Mathematical sans-serif bold + Mathematical Sans-Serif Digits + Mathematical sans-serif + Malayalam Digits + Modi Digits + Mongolian Digits + Mro Digits + Meetei Mayek Digits + Myanmar Digits + Myanmar Eastern Pwo Karen Digits + Myanmar Eastern Pwo Karen + Myanmar Pao Digits + Myanmar Pao + Myanmar Shan Digits + Myanmar Shan + Myanmar Tai Laing Digits + Myanmar Tai Laing + Nag Mundari Digits + Native Digits + Native digits + Newa Digits + Nโ€™Ko Digits + Ol Chiki Digits + Ol Onal Digits + Odia Digits + Osmanya Digits + Outlined Digits + Outlined + Hanifi Rohingya digits + Roman Numerals + Roman uppercase + Roman Lowercase Numerals + Roman lowercase + Saurashtra Digits + Segmented Digits + Segmented + Sharada Digits + Khudawadi Digits + Sinhala Lith Digits + Sora Sompeng Digits + Sundanese Digits + Sunuwar Digits + Takri Digits + New Tai Lue Digits + Traditional Tamil Numerals + Tamil Digits + Modern Tamil + Telugu Digits + Thai Digits + Tibetan Digits + Tirhuta Digits + Tangsa Digits + Tolong Siki Digits + Traditional Numerals + Traditional numerals + Vai Digits + Warang Citi Digits + Wancho Digits + From Accented Characters To ASCII Sequence + From ASCII + From Hexadecimal Codes + From Morse Code + From Pinyin With Numeric Tones + From Publishing Punctuation To ASCII + From Zawgyi Myanmar Encoding + Sentence Breaks Without Abbreviation Handling + Off + Suppress Sentence Breaks After Standard Abbreviations + On + Unspecified Machine Translation + POSIX Compliant Locale + POSIX variant + + + Metric + UK + US + + + Language: {0} + Script: {0} + Region: {0} + + + + + titlecase-firstword + titlecase-firstword + + + titlecase-firstword + titlecase-firstword + + + titlecase-firstword + titlecase-firstword + + + titlecase-firstword + titlecase-firstword + + + titlecase-firstword + titlecase-firstword + + + + [a b c d e f g h i j k l m n o p q r s t u v w x y z] + [รกร ฤƒรขรฅรครฃฤ รฆ รง รฉรจฤ•รชรซฤ“ รญรฌฤญรฎรฏฤซ รฑ รณรฒลรดรถรธล ล“ รบรนลญรปรผลซ รฟ] + [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] + [\- โ€‘ , . % โ€ฐ + โˆ’ 0 1 2 3 4 5 6 7 8 9] + [\- โ€โ€‘ โ€“ โ€” , ; \: ! ? . โ€ฆ 'โ€˜โ€™ "โ€œโ€ ( ) \[ \] ยง @ * / \& # โ€  โ€ก โ€ฒ โ€ณ] + [\- โ€โ€‘ , . /] + + + โ€œ + โ€ + โ€˜ + โ€™ + + + + + + + BE + + + + + + + + Mo1 + Mo2 + Mo3 + Mo4 + Mo5 + Mo6 + Mo7 + Mo8 + Mo9 + Mo10 + Mo11 + Mo12 + + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + + + First Month + Second Month + Third Month + Fourth Month + Fifth Month + Sixth Month + Seventh Month + Eighth Month + Ninth Month + Tenth Month + Eleventh Month + Twelfth Month + + + + + Mo1 + Mo2 + Mo3 + Mo4 + Mo5 + Mo6 + Mo7 + Mo8 + Mo9 + Mo10 + Mo11 + Mo12 + + + First Month + Second Month + Third Month + Fourth Month + Fifth Month + Sixth Month + Seventh Month + Eighth Month + Ninth Month + Tenth Month + Eleventh Month + Twelfth Month + + + + + + + + Rat + Ox + Tiger + Rabbit + Dragon + Snake + Horse + Goat + Monkey + Rooster + Dog + Pig + + + + + + + + EEEE, MMMM d, r(U) + rMMMMEEEEd + + + + + MMMM d, r(U) + rMMMMd + + + + + MMM d, r + rMMMd + + + + + M/d/r + rMd + + + + + + + {1}, {0} + + + {1} 'at' {0} + + + {1} 'at' {0} + + + + + {1}, {0} + + + {1} 'at' {0} + + + {1} 'at' {0} + + + + + {1}, {0} + + + + + {1}, {0} + + + + h B + h:mm B + h:mm:ss B + d + ccc + E h B + E h:mm B + E h:mm:ss B + d E + E hโ€ฏa + E h a + E h:mmโ€ฏa + E h:mm a + E HH:mm + E h:mm:ssโ€ฏa + E h:mm:ss a + E HH:mm:ss + r(U) + MMM r + MMM d, r + E, MMM d, r + MMMM r(U) + MMMM d, r(U) + E, MMMM d, r(U) + hโ€ฏa + h a + HH + h:mmโ€ฏa + h:mm a + HH:mm + h:mm:ssโ€ฏa + h:mm:ss a + HH:mm:ss + hโ€ฏa v + h a v + HH'h' v + L + M/d + E, M/d + LLL + MMM d + E, MMM d + MMMM d + mm:ss + M/U + M/d/U + MMM U + MMM d, U + r(U) + r(U) + M/r + M/d/r + E, M/d/r + MMM r + MMM d, r + E, MMM d, r + MMMM r(U) + MMMM d, r(U) + E, MMMM d, r(U) + QQQ r(U) + QQQQ r(U) + + + {0}โ€‰โ€“โ€‰{1} + + h Bโ€‰โ€“โ€‰h B + hโ€‰โ€“โ€‰h B + + + h:mm Bโ€‰โ€“โ€‰h:mm B + h:mmโ€‰โ€“โ€‰h:mm B + h:mmโ€‰โ€“โ€‰h:mm B + + + dโ€‰โ€“โ€‰d + + + hโ€ฏaโ€‰โ€“โ€‰hโ€ฏa + hโ€‰โ€“โ€‰hโ€ฏa + + + HHโ€‰โ€“โ€‰HH + + + h:mmโ€ฏaโ€‰โ€“โ€‰h:mmโ€ฏa + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa + + + HH:mmโ€‰โ€“โ€‰HH:mm + HH:mmโ€‰โ€“โ€‰HH:mm + + + h:mmโ€ฏaโ€‰โ€“โ€‰h:mmโ€ฏa v + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa v + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa v + + + HH:mmโ€‰โ€“โ€‰HH:mm v + HH:mmโ€‰โ€“โ€‰HH:mm v + + + hโ€ฏaโ€‰โ€“โ€‰hโ€ฏa v + hโ€‰โ€“โ€‰hโ€ฏa v + + + HHโ€‰โ€“โ€‰HH v + + + Mโ€‰โ€“โ€‰M + + + M/dโ€‰โ€“โ€‰M/d + M/dโ€‰โ€“โ€‰M/d + + + E, M/dโ€‰โ€“โ€‰E, M/d + E, M/dโ€‰โ€“โ€‰E, M/d + + + MMMโ€‰โ€“โ€‰MMM + + + MMM dโ€‰โ€“โ€‰d + MMM dโ€‰โ€“โ€‰MMM d + + + E, MMM dโ€‰โ€“โ€‰E, MMM d + E, MMM dโ€‰โ€“โ€‰E, MMM d + + + Uโ€‰โ€“โ€‰U + + + M/yโ€‰โ€“โ€‰M/y + M/yโ€‰โ€“โ€‰M/y + + + M/d/yโ€‰โ€“โ€‰M/d/y + M/d/yโ€‰โ€“โ€‰M/d/y + M/d/yโ€‰โ€“โ€‰M/d/y + + + E, M/d/yโ€‰โ€“โ€‰E, M/d/y + E, M/d/yโ€‰โ€“โ€‰E, M/d/y + E, M/d/yโ€‰โ€“โ€‰E, M/d/y + + + MMMโ€‰โ€“โ€‰MMM U + MMM Uโ€‰โ€“โ€‰MMM U + + + MMM dโ€‰โ€“โ€‰d, U + MMM dโ€‰โ€“โ€‰MMM d, U + MMM d, Uโ€‰โ€“โ€‰MMM d, U + + + E, MMM dโ€‰โ€“โ€‰E, MMM d, U + E, MMM dโ€‰โ€“โ€‰E, MMM d, U + E, MMM d, Uโ€‰โ€“โ€‰E, MMM d, U + + + MMMMโ€‰โ€“โ€‰MMMM U + MMMM Uโ€‰โ€“โ€‰MMMM U + + + + + + + + Anno Martyrum + + + AM + + + + + + + + EEEE, MMMM d, y G + GyMMMMEEEEd + + + + + MMMM d, y G + GyMMMMd + + + + + MMM d, y G + GyMMMd + + + + + M/d/y G + GGGGGyMd + + + + + + + {1}, {0} + + + {1} 'at' {0} + + + {1} 'at' {0} + + + + + {1}, {0} + + + {1} 'at' {0} + + + {1} 'at' {0} + + + + + {1}, {0} + + + {1}, {0} + + + {1}, {0} + + + + + {1}, {0} + + + {1}, {0} + + + {1}, {0} + + + + h B + h:mm B + h:mm:ss B + d + ccc + E h B + E h:mm B + E h:mm:ss B + d E + E hโ€ฏa + E h a + E h:mmโ€ฏa + E h:mm a + E HH:mm + E h:mm:ssโ€ฏa + E h:mm:ss a + E HH:mm:ss + y G + M/y G + M/d/y G + E, M/d/y G + MMM y G + MMM d, y G + E, MMM d, y G + hโ€ฏa + h a + HH + h:mmโ€ฏa + h:mm a + HH:mm + h:mm:ssโ€ฏa + h:mm:ss a + HH:mm:ss + hโ€ฏa v + h a v + HH'h' v + L + M/d + E, M/d + LLL + MMM d + E, MMM d + MMMM d + mm:ss + y G + y G + M/y G + M/d/y G + E, M/d/y G + MMM y G + MMM d, y G + E, MMM d, y G + MMMM y G + QQQ y G + QQQQ y G + + + {0} ({2}: {1}) + {0} {1} + {0} {1} + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} {1} + {0} ({2}: {1}) + {0} {1} + + + {0}โ€‰โ€“โ€‰{1} + + h Bโ€‰โ€“โ€‰h B + hโ€‰โ€“โ€‰h B + + + h:mm Bโ€‰โ€“โ€‰h:mm B + h:mmโ€‰โ€“โ€‰h:mm B + h:mmโ€‰โ€“โ€‰h:mm B + + + dโ€‰โ€“โ€‰d + + + y Gโ€‰โ€“โ€‰y G + yโ€‰โ€“โ€‰y G + + + M/y Gโ€‰โ€“โ€‰M/y G + M/yโ€‰โ€“โ€‰M/y G + M/yโ€‰โ€“โ€‰M/y G + + + M/d/yโ€‰โ€“โ€‰M/d/y G + M/d/y Gโ€‰โ€“โ€‰M/d/y G + M/d/yโ€‰โ€“โ€‰M/d/y G + M/d/yโ€‰โ€“โ€‰M/d/y G + + + E, M/d/yโ€‰โ€“โ€‰E, M/d/y G + E, M/d/y Gโ€‰โ€“โ€‰E, M/d/y G + E, M/d/yโ€‰โ€“โ€‰E, M/d/y G + E, M/d/yโ€‰โ€“โ€‰E, M/d/y G + + + MMM y Gโ€‰โ€“โ€‰MMM y G + MMMโ€‰โ€“โ€‰MMM y G + MMM yโ€‰โ€“โ€‰MMM y G + + + MMM dโ€‰โ€“โ€‰d, y G + MMM d, y Gโ€‰โ€“โ€‰MMM d, y G + MMM dโ€‰โ€“โ€‰MMM d, y G + MMM d, yโ€‰โ€“โ€‰MMM d, y G + + + E, MMM dโ€‰โ€“โ€‰E, MMM d, y G + E, MMM d, y Gโ€‰โ€“โ€‰E, MMM d, y G + E, MMM dโ€‰โ€“โ€‰E, MMM d, y G + E, MMM d, yโ€‰โ€“โ€‰E, MMM d, y G + + + hโ€ฏaโ€‰โ€“โ€‰hโ€ฏa + hโ€‰โ€“โ€‰hโ€ฏa + + + HHโ€‰โ€“โ€‰HH + + + h:mmโ€ฏaโ€‰โ€“โ€‰h:mmโ€ฏa + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa + + + HH:mmโ€‰โ€“โ€‰HH:mm + HH:mmโ€‰โ€“โ€‰HH:mm + + + h:mmโ€ฏaโ€‰โ€“โ€‰h:mmโ€ฏa v + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa v + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa v + + + HH:mmโ€‰โ€“โ€‰HH:mm v + HH:mmโ€‰โ€“โ€‰HH:mm v + + + hโ€ฏaโ€‰โ€“โ€‰hโ€ฏa v + hโ€‰โ€“โ€‰hโ€ฏa v + + + HHโ€‰โ€“โ€‰HH v + + + Mโ€‰โ€“โ€‰M + + + M/dโ€‰โ€“โ€‰M/d + M/dโ€‰โ€“โ€‰M/d + + + E, M/dโ€‰โ€“โ€‰E, M/d + E, M/dโ€‰โ€“โ€‰E, M/d + + + MMMโ€‰โ€“โ€‰MMM + + + MMM dโ€‰โ€“โ€‰d + MMM dโ€‰โ€“โ€‰MMM d + + + E, MMM dโ€‰โ€“โ€‰E, MMM d + E, MMM dโ€‰โ€“โ€‰E, MMM d + + + yโ€‰โ€“โ€‰y G + + + M/yโ€‰โ€“โ€‰M/y G + M/yโ€‰โ€“โ€‰M/y G + + + M/d/yโ€‰โ€“โ€‰M/d/y G + M/d/yโ€‰โ€“โ€‰M/d/y G + M/d/yโ€‰โ€“โ€‰M/d/y G + + + E, M/d/yโ€‰โ€“โ€‰E, M/d/y G + E, M/d/yโ€‰โ€“โ€‰E, M/d/y G + E, M/d/yโ€‰โ€“โ€‰E, M/d/y G + + + MMMโ€‰โ€“โ€‰MMM y G + MMM yโ€‰โ€“โ€‰MMM y G + + + MMM dโ€‰โ€“โ€‰d, y G + MMM dโ€‰โ€“โ€‰MMM d, y G + MMM d, yโ€‰โ€“โ€‰MMM d, y G + + + E, MMM dโ€‰โ€“โ€‰E, MMM d, y G + E, MMM dโ€‰โ€“โ€‰E, MMM d, y G + E, MMM d, yโ€‰โ€“โ€‰E, MMM d, y G + + + MMMMโ€‰โ€“โ€‰MMMM y G + MMMM yโ€‰โ€“โ€‰MMMM y G + + + + + + + + + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + + + J + F + M + A + M + J + J + A + S + O + N + D + + + January + February + March + April + May + June + July + August + September + October + November + December + + + + + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + + + J + F + M + A + M + J + J + A + S + O + N + D + + + January + February + March + April + May + June + July + August + September + October + November + December + + + + + + + Sun + Mon + Tue + Wed + Thu + Fri + Sat + + + S + M + T + W + T + F + S + + + Su + Mo + Tu + We + Th + Fr + Sa + + + Sunday + Monday + Tuesday + Wednesday + Thursday + Friday + Saturday + + + + + Sun + Mon + Tue + Wed + Thu + Fri + Sat + + + S + M + T + W + T + F + S + + + Su + Mo + Tu + We + Th + Fr + Sa + + + Sunday + Monday + Tuesday + Wednesday + Thursday + Friday + Saturday + + + + + + + Q1 + Q2 + Q3 + Q4 + + + 1 + 2 + 3 + 4 + + + 1st quarter + 2nd quarter + 3rd quarter + 4th quarter + + + + + Q1 + Q2 + Q3 + Q4 + + + 1 + 2 + 3 + 4 + + + 1st quarter + 2nd quarter + 3rd quarter + 4th quarter + + + + + + + midnight + AM + am + noon + PM + pm + in the morning + in the afternoon + in the evening + at night + + + mi + a + n + p + in the morning + in the afternoon + in the evening + at night + + + midnight + AM + am + noon + PM + pm + in the morning + in the afternoon + in the evening + at night + + + + + midnight + AM + noon + PM + morning + afternoon + evening + night + + + midnight + AM + noon + PM + morning + afternoon + evening + night + + + midnight + AM + noon + PM + morning + afternoon + evening + night + + + + + + Before Christ + Before Common Era + Anno Domini + Common Era + + + BC + BCE + AD + CE + + + B + A + + + + + + EEEE, MMMM d, y + yMMMMEEEEd + + + + + MMMM d, y + yMMMMd + + + + + MMM d, y + yMMMd + + + + + M/d/yy + yyMd + + + + + + + h:mm:ssโ€ฏa zzzz + h:mm:ss a zzzz + ahmmsszzzz + + + + + h:mm:ssโ€ฏa z + h:mm:ss a z + ahmmssz + + + + + h:mm:ssโ€ฏa + h:mm:ss a + ahmmss + + + + + h:mmโ€ฏa + h:mm a + ahmm + + + + + + + {1}, {0} + + + {1} 'at' {0} + + + {1} 'at' {0} + + + + + {1}, {0} + + + {1} 'at' {0} + + + {1} 'at' {0} + + + + + {1}, {0} + + + {1}, {0} + + + {1}, {0} + + + + + {1}, {0} + + + {1}, {0} + + + {1}, {0} + + + + h B + h:mm B + h:mm:ss B + d + ccc + E h B + E h:mm B + E h:mm:ss B + d E + E hโ€ฏa + E h a + E h:mmโ€ฏa + E h:mm a + E HH:mm + E h:mm:ssโ€ฏa + E h:mm:ss a + E HH:mm:ss + y G + M/y G + M/d/y G + E, M/d/y G + MMM y G + MMM d, y G + E, MMM d, y G + hโ€ฏa + h a + HH + h:mmโ€ฏa + h:mm a + HH:mm + h:mm:ssโ€ฏa + h:mm:ss a + HH:mm:ss + h:mm:ssโ€ฏa v + h:mm:ss a v + HH:mm:ss v + h:mmโ€ฏa v + h:mm a v + HH:mm v + hโ€ฏa v + h a v + HH'h' v + L + M/d + E, M/d + LLL + MMM d + E, MMM d + MMMM d + 'week' W 'of' MMMM + 'week' W 'of' MMMM + mm:ss + y + M/y + M/d/y + E, M/d/y + MMM y + MMM d, y + E, MMM d, y + MMMM y + QQQ y + QQQQ y + 'week' w 'of' Y + 'week' w 'of' Y + + + {0} ({2}: {1}) + {0} {1} + {0} {1} + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} {1} + {0} ({2}: {1}) + {0} {1} + + + {0}โ€‰โ€“โ€‰{1} + + h Bโ€‰โ€“โ€‰h B + hโ€‰โ€“โ€‰h B + + + h:mm Bโ€‰โ€“โ€‰h:mm B + h:mmโ€‰โ€“โ€‰h:mm B + h:mmโ€‰โ€“โ€‰h:mm B + + + dโ€‰โ€“โ€‰d + + + y Gโ€‰โ€“โ€‰y G + yโ€‰โ€“โ€‰y G + + + M/y Gโ€‰โ€“โ€‰M/y G + M/yโ€‰โ€“โ€‰M/y G + M/yโ€‰โ€“โ€‰M/y G + + + M/d/yโ€‰โ€“โ€‰M/d/y G + M/d/y Gโ€‰โ€“โ€‰M/d/y G + M/d/yโ€‰โ€“โ€‰M/d/y G + M/d/yโ€‰โ€“โ€‰M/d/y G + + + E, M/d/yโ€‰โ€“โ€‰E, M/d/y G + E, M/d/y Gโ€‰โ€“โ€‰E, M/d/y G + E, M/d/yโ€‰โ€“โ€‰E, M/d/y G + E, M/d/yโ€‰โ€“โ€‰E, M/d/y G + + + MMM y Gโ€‰โ€“โ€‰MMM y G + MMMโ€‰โ€“โ€‰MMM y G + MMM yโ€‰โ€“โ€‰MMM y G + + + MMM dโ€‰โ€“โ€‰d, y G + MMM d, y Gโ€‰โ€“โ€‰MMM d, y G + MMM dโ€‰โ€“โ€‰MMM d, y G + MMM d, yโ€‰โ€“โ€‰MMM d, y G + + + E, MMM dโ€‰โ€“โ€‰E, MMM d, y G + E, MMM d, y Gโ€‰โ€“โ€‰E, MMM d, y G + E, MMM dโ€‰โ€“โ€‰E, MMM d, y G + E, MMM d, yโ€‰โ€“โ€‰E, MMM d, y G + + + hโ€ฏaโ€‰โ€“โ€‰hโ€ฏa + hโ€‰โ€“โ€‰hโ€ฏa + + + HHโ€‰โ€“โ€‰HH + + + h:mmโ€ฏaโ€‰โ€“โ€‰h:mmโ€ฏa + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa + + + HH:mmโ€‰โ€“โ€‰HH:mm + HH:mmโ€‰โ€“โ€‰HH:mm + + + h:mmโ€ฏaโ€‰โ€“โ€‰h:mmโ€ฏa v + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa v + h:mmโ€‰โ€“โ€‰h:mmโ€ฏa v + + + HH:mmโ€‰โ€“โ€‰HH:mm v + HH:mmโ€‰โ€“โ€‰HH:mm v + + + hโ€ฏaโ€‰โ€“โ€‰hโ€ฏa v + hโ€‰โ€“โ€‰hโ€ฏa v + + + HHโ€‰โ€“โ€‰HH v + + + Mโ€‰โ€“โ€‰M + + + M/dโ€‰โ€“โ€‰M/d + M/dโ€‰โ€“โ€‰M/d + + + E, M/dโ€‰โ€“โ€‰E, M/d + E, M/dโ€‰โ€“โ€‰E, M/d + + + MMMโ€‰โ€“โ€‰MMM + + + MMM dโ€‰โ€“โ€‰d + MMM dโ€‰โ€“โ€‰MMM d + + + E, MMM dโ€‰โ€“โ€‰E, MMM d + E, MMM dโ€‰โ€“โ€‰E, MMM d + + + yโ€‰โ€“โ€‰y + + + M/yโ€‰โ€“โ€‰M/y + M/yโ€‰โ€“โ€‰M/y + + + M/d/yโ€‰โ€“โ€‰M/d/y + M/d/yโ€‰โ€“โ€‰M/d/y + M/d/yโ€‰โ€“โ€‰M/d/y + + + E, M/d/yโ€‰โ€“โ€‰E, M/d/y + E, M/d/yโ€‰โ€“โ€‰E, M/d/y + E, M/d/yโ€‰โ€“โ€‰E, M/d/y + + + MMMโ€‰โ€“โ€‰MMM y + MMM yโ€‰โ€“โ€‰MMM y + + + MMM dโ€‰โ€“โ€‰d, y + MMM dโ€‰โ€“โ€‰MMM d, y + MMM d, yโ€‰โ€“โ€‰MMM d, y + + + E, MMM dโ€‰โ€“โ€‰E, MMM d, y + E, MMM dโ€‰โ€“โ€‰E, MMM d, y + E, MMM d, yโ€‰โ€“โ€‰E, MMM d, y + + + MMMMโ€‰โ€“โ€‰MMMM y + MMMM yโ€‰โ€“โ€‰MMMM y + + + + + + + + + Tishri + Heshvan + Kislev + Tevet + Shevat + Adar I + Adar + Adar II + Nisan + Iyar + Sivan + Tamuz + Av + Elul + + + + + Tishri + Heshvan + Kislev + Tevet + Shevat + Adar I + Adar + Adar II + Nisan + Iyar + Sivan + Tamuz + Av + Elul + + + Tishri + Heshvan + Kislev + Tevet + Shevat + Adar I + Adar + Adar II + Nisan + Iyar + Sivan + Tamuz + Av + Elul + + + + + + AM + + + + + + EEEE, d MMMM y + yMMMMEEEEd + + + + + d MMMM y + yMMMMd + + + + + d MMM y + yMMMd + + + + + d MMM y + yMMMd + + + + + + y G + d MMM y G + MMM y G + d MMM y G + E, d MMM y G + L + d MMM + E, d MMM + LLL + d MMM + E, d MMM + d MMMM + y + MMM y + d MMM y + E, d MMM y + MMM y + d MMM y + E, d MMM y + MMMM y + QQQ y + QQQQ y + + + + MMMโ€‰โ€“โ€‰MMM + + + dโ€‰โ€“โ€‰d MMM + d MMMโ€‰โ€“โ€‰d MMM + + + E, d MMMโ€‰โ€“โ€‰E, d MMM + E, d MMMโ€‰โ€“โ€‰E, d MMM + + + MMMโ€‰โ€“โ€‰MMM + + + dโ€‰โ€“โ€‰d MMM + d MMMโ€‰โ€“โ€‰d MMM + + + E, d MMMโ€‰โ€“โ€‰E, d MMM + E, d MMMโ€‰โ€“โ€‰E, d MMM + + + yโ€‰โ€“โ€‰y G + + + MMMโ€‰โ€“โ€‰MMM y + MMM yโ€‰โ€“โ€‰MMM y + + + dโ€‰โ€“โ€‰d MMM y + d MMMโ€‰โ€“โ€‰d MMM y + d MMM yโ€‰โ€“โ€‰d MMM y + + + E, d MMMโ€‰โ€“โ€‰E, d MMM y + E, d MMMโ€‰โ€“โ€‰E, d MMM y + E, d MMM yโ€‰โ€“โ€‰E, d MMM y + + + MMMโ€‰โ€“โ€‰MMM y + MMM yโ€‰โ€“โ€‰MMM y + + + dโ€‰โ€“โ€‰d MMM y + d MMMโ€‰โ€“โ€‰d MMM y + d MMM yโ€‰โ€“โ€‰d MMM y + + + E, d MMMโ€‰โ€“โ€‰E, d MMM y + E, d MMMโ€‰โ€“โ€‰E, d MMM y + E, d MMM yโ€‰โ€“โ€‰E, d MMM y + + + MMMMโ€‰โ€“โ€‰MMMM y + MMMM yโ€‰โ€“โ€‰MMMM y + + + + + + + + + Chaitra + Vaisakha + Jyaistha + Asadha + Sravana + Bhadra + Asvina + Kartika + Agrahayana + Pausa + Magha + Phalguna + + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + + + + + Chaitra + Vaisakha + Jyaistha + Asadha + Sravana + Bhadra + Asvina + Kartika + Agrahayana + Pausa + Magha + Phalguna + + + Chaitra + Vaisakha + Jyaistha + Asadha + Sravana + Bhadra + Asvina + Kartika + Agrahayana + Pausa + Magha + Phalguna + + + + + + + + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + + + + + Muh. + Saf. + Rab. I + Rab. II + Jum. I + Jum. II + Raj. + Sha. + Ram. + Shaw. + Dhuสปl-Q. + Dhuสปl-H. + + + Muharram + Safar + Rabiสป I + Rabiสป II + Jumada I + Jumada II + Rajab + Shaสปban + Ramadan + Shawwal + Dhuสปl-Qiสปdah + Dhuสปl-Hijjah + + + + + + Anno Hegirae + Before Hijrah + + + AH + BH + + + + + + EEEE, MMMM d, y G + + + + + MMMM d, y G + + + + + MMM d, y G + + + + + M/d/y G + + + + + + d + ccc + d E + y G + M/y G + M/d/y G + E, M/d/y G + MMM y G + MMM d, y G + E, MMM d, y G + L + M/d + E, M/d + LLL + MMM d + E, MMM d + MMMM d + y G + y G + M/y G + M/d/y G + E, M/d/y G + MMM y G + MMM d, y G + E, MMM d, y G + MMMM y G + QQQ y G + QQQQ y G + + + + + + + + EEEE, MMMM d, y G + GyMMMMEEEEd + + + + + MMMM d, y G + GyMMMMd + + + + + MMM d, y G + GyMMMd + + + + + M/d/y GGGGG + GGGGGyMd + + + + + + + {1} 'at' {0} + + + {1} 'at' {0} + + + {1} 'at' {0} + + + + + {1} 'at' {0} + + + {1} 'at' {0} + + + {1} 'at' {0} + + + + + {1}, {0} + + + {1}, {0} + + + {1}, {0} + + + + + {1}, {0} + + + {1}, {0} + + + {1}, {0} + + + + d + ccc + d E + EEEE d + y G + M/y GGGGG + M/d/y GGGGG + E, M/d/y GGGGG + MMM y G + MMM d, y G + E, MMM d, y G + EEEE, MMM d, y G + โ†‘โ†‘โ†‘ + โ†‘โ†‘โ†‘ + โ†‘โ†‘โ†‘ + โ†‘โ†‘โ†‘ + โ†‘โ†‘โ†‘ + โ†‘โ†‘โ†‘ + L + M/d + E, M/d + EEEE, M/d + LLL + MMM d + E, MMM d + EEEE, MMM d + MMMM d + โ†‘โ†‘โ†‘ + y G + y G + M/y GGGGG + M/d/y GGGGG + E, M/d/y GGGGG + EEEE, MMMM d, y G + MM y GGGGG + MMM y G + MMM d, y G + E, MMM d, y G + EEEE, MMMM d, y G + MMMM y G + QQQ y G + QQQQ y G + + + + + + + B.R.O.C. + Minguo + + + + + + + era + + + era + + + era + + + year + last year + this year + next year + + in {0} year + in {0} years + + + {0} year ago + {0} years ago + + + + yr. + last yr. + this yr. + next yr. + + in {0} yr. + in {0} yr. + + + {0} yr. ago + {0} yr. ago + + + + yr + last yr. + this yr. + next yr. + + in {0}y + in {0}y + + + {0}y ago + {0}y ago + + + + quarter + last quarter + this quarter + next quarter + + in {0} quarter + in {0} quarters + + + {0} quarter ago + {0} quarters ago + + + + qtr. + last qtr. + this qtr. + next qtr. + + in {0} qtr. + in {0} qtrs. + + + {0} qtr. ago + {0} qtrs. ago + + + + qtr + + in {0}q + in {0}q + + + {0}q ago + {0}q ago + + + + month + last month + this month + next month + + in {0} month + in {0} months + + + {0} month ago + {0} months ago + + + + mo. + last mo. + this mo. + next mo. + + in {0} mo. + in {0} mo. + + + {0} mo. ago + {0} mo. ago + + + + mo + last mo. + this mo. + next mo. + + in {0}mo + in {0}mo + + + {0}mo ago + {0}mo ago + + + + week + last week + this week + next week + + in {0} week + in {0} weeks + + + {0} week ago + {0} weeks ago + + the week of {0} + + + wk. + last wk. + this wk. + next wk. + + in {0} wk. + in {0} wk. + + + {0} wk. ago + {0} wk. ago + + the week of {0} + + + wk + last wk. + this wk. + next wk. + + in {0}w + in {0}w + + + {0}w ago + {0}w ago + + the week of {0} + + + week of month + + + wk. of mo. + + + wk. of mo. + + + day + yesterday + today + tomorrow + + in {0} day + in {0} days + + + {0} day ago + {0} days ago + + + + day + yesterday + today + tomorrow + + in {0} day + in {0} days + + + {0} day ago + {0} days ago + + + + day + yesterday + today + tomorrow + + in {0}d + in {0}d + + + {0}d ago + {0}d ago + + + + day of year + + + day of yr. + + + day of yr. + + + day of the week + + + day of wk. + + + day of wk. + + + weekday of the month + + + wkday. of mo. + + + wkday. of mo. + + + last Sunday + this Sunday + next Sunday + + in {0} Sunday + in {0} Sundays + + + {0} Sunday ago + {0} Sundays ago + + + + last Sun. + this Sun. + next Sun. + + in {0} Sun. + in {0} Sun. + + + {0} Sun. ago + {0} Sun. ago + + + + last Su + this Su + next Su + + in {0} Su + in {0} Su + + + {0} Su ago + {0} Su ago + + + + last Monday + this Monday + next Monday + + in {0} Monday + in {0} Mondays + + + {0} Monday ago + {0} Mondays ago + + + + last Mon. + this Mon. + next Mon. + + in {0} Mon. + in {0} Mon. + + + {0} Mon. ago + {0} Mon. ago + + + + last M + this M + next M + + in {0} M + in {0} M + + + {0} M ago + {0} M ago + + + + last Tuesday + this Tuesday + next Tuesday + + in {0} Tuesday + in {0} Tuesdays + + + {0} Tuesday ago + {0} Tuesdays ago + + + + last Tue. + this Tue. + next Tue. + + in {0} Tue. + in {0} Tue. + + + {0} Tue. ago + {0} Tue. ago + + + + last Tu + this Tu + next Tu + + in {0} Tu + in {0} Tu + + + {0} Tu ago + {0} Tu ago + + + + last Wednesday + this Wednesday + next Wednesday + + in {0} Wednesday + in {0} Wednesdays + + + {0} Wednesday ago + {0} Wednesdays ago + + + + last Wed. + this Wed. + next Wed. + + in {0} Wed. + in {0} Wed. + + + {0} Wed. ago + {0} Wed. ago + + + + last W + this W + next W + + in {0} W + in {0} W + + + {0} W ago + {0} W ago + + + + last Thursday + this Thursday + next Thursday + + in {0} Thursday + in {0} Thursdays + + + {0} Thursday ago + {0} Thursdays ago + + + + last Thu. + this Thu. + next Thu. + + in {0} Thu. + in {0} Thu. + + + {0} Thu. ago + {0} Thu. ago + + + + last Th + this Th + next Th + + in {0} Th + in {0} Th + + + {0} Th ago + {0} Th ago + + + + last Friday + this Friday + next Friday + + in {0} Friday + in {0} Fridays + + + {0} Friday ago + {0} Fridays ago + + + + last Fri. + this Fri. + next Fri. + + in {0} Fri. + in {0} Fri. + + + {0} Fri. ago + {0} Fri. ago + + + + last F + this F + next F + + in {0} F + in {0} F + + + {0} F ago + {0} F ago + + + + last Saturday + this Saturday + next Saturday + + in {0} Saturday + in {0} Saturdays + + + {0} Saturday ago + {0} Saturdays ago + + + + last Sat. + this Sat. + next Sat. + + in {0} Sat. + in {0} Sat. + + + {0} Sat. ago + {0} Sat. ago + + + + last Sa + this Sa + next Sa + + in {0} Sa + in {0} Sa + + + {0} Sa ago + {0} Sa ago + + + + AM/PM + am/pm + + + AM/PM + am/pm + + + AM/PM + + + hour + this hour + + in {0} hour + in {0} hours + + + {0} hour ago + {0} hours ago + + + + hr. + + in {0} hr. + in {0} hr. + + + {0} hr. ago + {0} hr. ago + + + + hr + + in {0}h + in {0}h + + + {0}h ago + {0}h ago + + + + minute + this minute + + in {0} minute + in {0} minutes + + + {0} minute ago + {0} minutes ago + + + + min. + + in {0} min. + in {0} min. + + + {0} min. ago + {0} min. ago + + + + min + + in {0}m + in {0}m + + + {0}m ago + {0}m ago + + + + second + now + + in {0} second + in {0} seconds + + + {0} second ago + {0} seconds ago + + + + sec. + now + + in {0} sec. + in {0} sec. + + + {0} sec. ago + {0} sec. ago + + + + sec + + in {0}s + in {0}s + + + {0}s ago + {0}s ago + + + + time zone + + + zone + + + zone + + + + +HH:mm;-HH:mm + GMT{0} + {0} Time + {0} Daylight Time + {0} Standard Time + {1} ({0}) + + + Coordinated Universal Time + + + + Unknown Location + + + Rothera Station + + + Palmer Land + + + Troll Station + + + Showa Station + + + Mawson Station + + + Vostok Station + + + Casey Station + + + Dumont dโ€™Urville Station + + + McMurdo Station + + + Macquarie Island + + + Lord Howe Island + + + Cocos Islands + + + Easter Island + + + Christmas Island + + + Galรกpagos Islands + + + Canaries + + + Faroes + + + + British Summer Time + + + + + Irish Standard Time + + + + Chagos Archipelago + + + Canton Island + + + Comoros + + + Aktau + + + Kostanay + + + Kyzylorda + + + Kwajalein Atoll + + + Mexico City + + + Norfolk Island + + + Chatham Islands + + + Marquesas Islands + + + Pitcairn Islands + + + Kerguelen Islands + + + Midway Atoll + + + Wake Island + + + Ho Chi Minh City + + + + Acre Time + Acre Standard Time + Acre Summer Time + + + + + Afghanistan Time + + + + + Central Africa Time + + + + + East Africa Time + + + + + South Africa Standard Time + + + + + West Africa Time + + + + + Alaska Time + Alaska Standard Time + Alaska Daylight Time + + + AKT + AKST + AKDT + + + + + Almaty Time + Almaty Standard Time + Almaty Summer Time + + + + + Amazon Time + Amazon Standard Time + Amazon Summer Time + + + + + Central Time + Central Standard Time + Central Daylight Time + + + CT + CST + CDT + + + + + Eastern Time + Eastern Standard Time + Eastern Daylight Time + + + ET + EST + EDT + + + + + Mountain Time + Mountain Standard Time + Mountain Daylight Time + + + MT + MST + MDT + + + + + Pacific Time + Pacific Standard Time + Pacific Daylight Time + + + PT + PST + PDT + + + + + Anadyr Time + Anadyr Standard Time + Anadyr Summer Time + + + + + Samoa Time + Samoa Standard Time + Samoa Daylight Time + + + + + Aqtau Time + Aqtau Standard Time + Aqtau Summer Time + + + + + Aqtobe Time + Aqtobe Standard Time + Aqtobe Summer Time + + + + + Arabian Time + Arabian Standard Time + Arabian Daylight Time + + + + + Argentina Time + Argentina Standard Time + Argentina Summer Time + + + + + Western Argentina Time + Western Argentina Standard Time + Western Argentina Summer Time + + + + + Armenia Time + Armenia Standard Time + Armenia Summer Time + + + + + Atlantic Time + Atlantic Standard Time + Atlantic Daylight Time + + + AT + AST + ADT + + + + + Australian Central Time + Australian Central Standard Time + Australian Central Daylight Time + + + + + Australian Central Western Time + Australian Central Western Standard Time + Australian Central Western Daylight Time + + + + + Australian Eastern Time + Australian Eastern Standard Time + Australian Eastern Daylight Time + + + + + Australian Western Time + Australian Western Standard Time + Australian Western Daylight Time + + + + + Azerbaijan Time + Azerbaijan Standard Time + Azerbaijan Summer Time + + + + + Azores Time + Azores Standard Time + Azores Summer Time + + + + + Bangladesh Time + Bangladesh Standard Time + Bangladesh Summer Time + + + + + Bhutan Time + + + + + Bolivia Time + + + + + Brasilia Time + Brasilia Standard Time + Brasilia Summer Time + + + + + Brunei Time + + + + + Cape Verde Time + Cape Verde Standard Time + Cape Verde Summer Time + + + + + Casey Time + + + + + Chamorro Standard Time + + + + + Chatham Time + Chatham Standard Time + Chatham Daylight Time + + + + + Chile Time + Chile Standard Time + Chile Summer Time + + + + + China Time + China Standard Time + China Daylight Time + + + + + Christmas Island Time + + + + + Cocos Islands Time + + + + + Colombia Time + Colombia Standard Time + Colombia Summer Time + + + + + Cook Islands Time + Cook Islands Standard Time + Cook Islands Summer Time + + + + + Cuba Time + Cuba Standard Time + Cuba Daylight Time + + + + + Davis Time + + + + + Dumont dโ€™Urville Time + + + + + Timor-Leste Time + + + + + Easter Island Time + Easter Island Standard Time + Easter Island Summer Time + + + + + Ecuador Time + + + + + Central European Time + Central European Standard Time + Central European Summer Time + + + + + Eastern European Time + Eastern European Standard Time + Eastern European Summer Time + + + + + Further-eastern European Time + + + + + Western European Time + Western European Standard Time + Western European Summer Time + + + + + Falkland Islands Time + Falkland Islands Standard Time + Falkland Islands Summer Time + + + + + Fiji Time + Fiji Standard Time + Fiji Summer Time + + + + + French Guiana Time + + + + + French Southern & Antarctic Time + + + + + Galapagos Time + + + + + Gambier Time + + + + + Georgia Time + Georgia Standard Time + Georgia Summer Time + + + + + Gilbert Islands Time + + + + + Greenwich Mean Time + + + GMT + + + + + Greenland Time + Greenland Standard Time + Greenland Summer Time + + + + + East Greenland Time + East Greenland Standard Time + East Greenland Summer Time + + + + + West Greenland Time + West Greenland Standard Time + West Greenland Summer Time + + + + + Guam Standard Time + + + + + Gulf Standard Time + + + + + Guyana Time + + + + + Hawaii-Aleutian Standard Time + + + HST + + + + + Hawaii-Aleutian Time + Hawaii-Aleutian Standard Time + Hawaii-Aleutian Daylight Time + + + HAT + HAST + HADT + + + + + Hong Kong Time + Hong Kong Standard Time + Hong Kong Summer Time + + + + + Khovd Time + Khovd Standard Time + Khovd Summer Time + + + + + India Standard Time + + + + + Indian Ocean Time + + + + + Indochina Time + + + + + Central Indonesia Time + + + + + Eastern Indonesia Time + + + + + Western Indonesia Time + + + + + Iran Time + Iran Standard Time + Iran Daylight Time + + + + + Irkutsk Time + Irkutsk Standard Time + Irkutsk Summer Time + + + + + Israel Time + Israel Standard Time + Israel Daylight Time + + + + + Japan Time + Japan Standard Time + Japan Daylight Time + + + + + Kamchatka Time + Kamchatka Standard Time + Kamchatka Summer Time + + + + + Kazakhstan Time + + + + + East Kazakhstan Time + + + + + West Kazakhstan Time + + + + + Korean Time + Korean Standard Time + Korean Daylight Time + + + + + Kosrae Time + + + + + Krasnoyarsk Time + Krasnoyarsk Standard Time + Krasnoyarsk Summer Time + + + + + Kyrgyzstan Time + + + + + Lanka Time + + + + + Line Islands Time + + + + + Lord Howe Time + Lord Howe Standard Time + Lord Howe Daylight Time + + + + + Macao Time + Macao Standard Time + Macao Summer Time + + + + + Magadan Time + Magadan Standard Time + Magadan Summer Time + + + + + Malaysia Time + + + + + Maldives Time + + + + + Marquesas Time + + + + + Marshall Islands Time + + + + + Mauritius Time + Mauritius Standard Time + Mauritius Summer Time + + + + + Mawson Time + + + + + Mexican Pacific Time + Mexican Pacific Standard Time + Mexican Pacific Daylight Time + + + + + Ulaanbaatar Time + Ulaanbaatar Standard Time + Ulaanbaatar Summer Time + + + + + Moscow Time + Moscow Standard Time + Moscow Summer Time + + + + + Myanmar Time + + + + + Nauru Time + + + + + Nepal Time + + + + + New Caledonia Time + New Caledonia Standard Time + New Caledonia Summer Time + + + + + New Zealand Time + New Zealand Standard Time + New Zealand Daylight Time + + + + + Newfoundland Time + Newfoundland Standard Time + Newfoundland Daylight Time + + + + + Niue Time + + + + + Norfolk Island Time + Norfolk Island Standard Time + Norfolk Island Daylight Time + + + + + Fernando de Noronha Time + Fernando de Noronha Standard Time + Fernando de Noronha Summer Time + + + + + Northern Mariana Islands Time + + + + + Novosibirsk Time + Novosibirsk Standard Time + Novosibirsk Summer Time + + + + + Omsk Time + Omsk Standard Time + Omsk Summer Time + + + + + Pakistan Time + Pakistan Standard Time + Pakistan Summer Time + + + + + Palau Time + + + + + Papua New Guinea Time + + + + + Paraguay Time + Paraguay Standard Time + Paraguay Summer Time + + + + + Peru Time + Peru Standard Time + Peru Summer Time + + + + + Philippine Time + Philippine Standard Time + Philippine Summer Time + + + + + Phoenix Islands Time + + + + + St. Pierre & Miquelon Time + St. Pierre & Miquelon Standard Time + St. Pierre & Miquelon Daylight Time + + + + + Pitcairn Time + + + + + Pohnpei Time + + + + + North Korea Time + + + + + Kyzylorda Time + Kyzylorda Standard Time + Kyzylorda Summer Time + + + + + Rรฉunion Time + + + + + Rothera Time + + + + + Sakhalin Time + Sakhalin Standard Time + Sakhalin Summer Time + + + + + Samara Time + Samara Standard Time + Samara Summer Time + + + + + American Samoa Time + American Samoa Standard Time + American Samoa Daylight Time + + + + + Seychelles Time + + + + + Singapore Standard Time + + + + + Solomon Islands Time + + + + + South Georgia Time + + + + + Suriname Time + + + + + Syowa Time + + + + + Tahiti Time + + + + + Taiwan Time + Taiwan Standard Time + Taiwan Daylight Time + + + + + Tajikistan Time + + + + + Tokelau Time + + + + + Tonga Time + Tonga Standard Time + Tonga Summer Time + + + + + Chuuk Time + + + + + Tรผrkiye Time + Tรผrkiye Standard Time + Tรผrkiye Summer Time + + + + + Turkmenistan Time + Turkmenistan Standard Time + Turkmenistan Summer Time + + + + + Tuvalu Time + + + + + Uruguay Time + Uruguay Standard Time + Uruguay Summer Time + + + + + Uzbekistan Time + Uzbekistan Standard Time + Uzbekistan Summer Time + + + + + Vanuatu Time + Vanuatu Standard Time + Vanuatu Summer Time + + + + + Venezuela Time + + + + + Vladivostok Time + Vladivostok Standard Time + Vladivostok Summer Time + + + + + Volgograd Time + Volgograd Standard Time + Volgograd Summer Time + + + + + Vostok Time + + + + + Wake Island Time + + + + + Wallis & Futuna Time + + + + + Yakutsk Time + Yakutsk Standard Time + Yakutsk Summer Time + + + + + Yekaterinburg Time + Yekaterinburg Standard Time + Yekaterinburg Summer Time + + + + + Yukon Time + + + + + + + . + , + ; + % + + + - + E + ร— + โ€ฐ + โˆž + NaN + + + + + #,##0.### + + + + + 0 thousand + 0 thousand + 00 thousand + 00 thousand + 000 thousand + 000 thousand + 0 million + 0 million + 00 million + 00 million + 000 million + 000 million + 0 billion + 0 billion + 00 billion + 00 billion + 000 billion + 000 billion + 0 trillion + 0 trillion + 00 trillion + 00 trillion + 000 trillion + 000 trillion + + + + + 0K + 0K + 00K + 00K + 000K + 000K + 0M + 0M + 00M + 00M + 000M + 000M + 0B + 0B + 00B + 00B + 000B + 000B + 0T + 0T + 00T + 00T + 000T + 000T + + + + + {0}โ„{1} + {0}โ€ฏ{1} + {0}โ {1} + sometimes + + + + + #E0 + + + + + + + #,##0% + + + + + + + ยค#,##0.00 + ยคย #,##0.00 + #,##0.00 + + + ยค#,##0.00;(ยค#,##0.00) + ยคย #,##0.00;(ยคย #,##0.00) + #,##0.00;(#,##0.00) + + + + + ยค0K + ยคย 0K + ยค0K + ยคย 0K + ยค00K + ยคย 00K + ยค00K + ยคย 00K + ยค000K + ยคย 000K + ยค000K + ยคย 000K + ยค0M + ยคย 0M + ยค0M + ยคย 0M + ยค00M + ยคย 00M + ยค00M + ยคย 00M + ยค000M + ยคย 000M + ยค000M + ยคย 000M + ยค0B + ยคย 0B + ยค0B + ยคย 0B + ยค00B + ยคย 00B + ยค00B + ยคย 00B + ยค000B + ยคย 000B + ยค000B + ยคย 000B + ยค0T + ยคย 0T + ยค0T + ยคย 0T + ยค00T + ยคย 00T + ยค00T + ยคย 00T + ยค000T + ยคย 000T + ยค000T + ยคย 000T + + + {0} {1} + {0} {1} + + + + Andorran Peseta + Andorran peseta + Andorran pesetas + + + United Arab Emirates Dirham + UAE dirham + UAE dirhams + AED + + + Afghan Afghani (1927โ€“2002) + Afghan afghani (1927โ€“2002) + Afghan afghanis (1927โ€“2002) + + + Afghan Afghani + Afghan Afghani + Afghan Afghanis + AFN + + + Albanian Lek (1946โ€“1965) + Albanian lek (1946โ€“1965) + Albanian lekรซ (1946โ€“1965) + + + Albanian Lek + Albanian lek + Albanian lekรซ + ALL + + + Armenian Dram + Armenian dram + Armenian drams + AMD + + + Netherlands Antillean Guilder + Netherlands Antillean guilder + Netherlands Antillean guilders + ANG + + + Angolan Kwanza + Angolan kwanza + Angolan kwanzas + AOA + + + Angolan Kwanza (1977โ€“1991) + Angolan kwanza (1977โ€“1991) + Angolan kwanzas (1977โ€“1991) + + + Angolan New Kwanza (1990โ€“2000) + Angolan new kwanza (1990โ€“2000) + Angolan new kwanzas (1990โ€“2000) + + + Angolan Readjusted Kwanza (1995โ€“1999) + Angolan readjusted kwanza (1995โ€“1999) + Angolan readjusted kwanzas (1995โ€“1999) + + + Argentine Austral + Argentine austral + Argentine australs + + + Argentine Peso Ley (1970โ€“1983) + Argentine peso ley (1970โ€“1983) + Argentine pesos ley (1970โ€“1983) + + + Argentine Peso (1881โ€“1970) + Argentine peso (1881โ€“1970) + Argentine pesos (1881โ€“1970) + + + Argentine Peso (1983โ€“1985) + Argentine peso (1983โ€“1985) + Argentine pesos (1983โ€“1985) + + + Argentine Peso + Argentine peso + Argentine pesos + ARS + + + Austrian Schilling + Austrian schilling + Austrian schillings + + + Australian Dollar + Australian dollar + Australian dollars + A$ + + + Aruban Florin + Aruban florin + Aruban florin + AWG + + + Azerbaijani Manat (1993โ€“2006) + Azerbaijani manat (1993โ€“2006) + Azerbaijani manats (1993โ€“2006) + + + Azerbaijani Manat + Azerbaijani manat + Azerbaijani manats + AZN + + + Bosnia-Herzegovina Dinar (1992โ€“1994) + Bosnia-Herzegovina dinar (1992โ€“1994) + Bosnia-Herzegovina dinars (1992โ€“1994) + + + Bosnia-Herzegovina Convertible Mark + Bosnia-Herzegovina convertible mark + Bosnia-Herzegovina convertible marks + BAM + + + Bosnia-Herzegovina New Dinar (1994โ€“1997) + Bosnia-Herzegovina new dinar (1994โ€“1997) + Bosnia-Herzegovina new dinars (1994โ€“1997) + + + Barbadian Dollar + Barbadian dollar + Barbadian dollars + BBD + + + Bangladeshi Taka + Bangladeshi taka + Bangladeshi takas + BDT + + + Belgian Franc (convertible) + Belgian franc (convertible) + Belgian francs (convertible) + + + Belgian Franc + Belgian franc + Belgian francs + + + Belgian Franc (financial) + Belgian franc (financial) + Belgian francs (financial) + + + Bulgarian Hard Lev + Bulgarian hard lev + Bulgarian hard leva + + + Bulgarian Socialist Lev + Bulgarian socialist lev + Bulgarian socialist leva + + + Bulgarian Lev + Bulgarian lev + Bulgarian leva + BGN + + + Bulgarian Lev (1879โ€“1952) + Bulgarian lev (1879โ€“1952) + Bulgarian leva (1879โ€“1952) + + + Bahraini Dinar + Bahraini dinar + Bahraini dinars + BHD + + + Burundian Franc + Burundian franc + Burundian francs + BIF + + + Bermudan Dollar + Bermudan dollar + Bermudan dollars + BMD + + + Brunei Dollar + Brunei dollar + Brunei dollars + BND + + + Bolivian Boliviano + Bolivian boliviano + Bolivian bolivianos + BOB + + + Bolivian Boliviano (1863โ€“1963) + Bolivian boliviano (1863โ€“1963) + Bolivian bolivianos (1863โ€“1963) + + + Bolivian Peso + Bolivian peso + Bolivian pesos + + + Bolivian Mvdol + Bolivian mvdol + Bolivian mvdols + + + Brazilian New Cruzeiro (1967โ€“1986) + Brazilian new cruzeiro (1967โ€“1986) + Brazilian new cruzeiros (1967โ€“1986) + + + Brazilian Cruzado (1986โ€“1989) + Brazilian cruzado (1986โ€“1989) + Brazilian cruzados (1986โ€“1989) + + + Brazilian Cruzeiro (1990โ€“1993) + Brazilian cruzeiro (1990โ€“1993) + Brazilian cruzeiros (1990โ€“1993) + + + Brazilian Real + Brazilian real + Brazilian reals + R$ + + + Brazilian New Cruzado (1989โ€“1990) + Brazilian new cruzado (1989โ€“1990) + Brazilian new cruzados (1989โ€“1990) + + + Brazilian Cruzeiro (1993โ€“1994) + Brazilian cruzeiro (1993โ€“1994) + Brazilian cruzeiros (1993โ€“1994) + + + Brazilian Cruzeiro (1942โ€“1967) + Brazilian cruzeiro (1942โ€“1967) + Brazilian cruzeiros (1942โ€“1967) + + + Bahamian Dollar + Bahamian dollar + Bahamian dollars + BSD + + + Bhutanese Ngultrum + Bhutanese ngultrum + Bhutanese ngultrums + BTN + + + Burmese Kyat + Burmese kyat + Burmese kyats + + + Botswanan Pula + Botswanan pula + Botswanan pulas + BWP + + + Belarusian Ruble (1994โ€“1999) + Belarusian ruble (1994โ€“1999) + Belarusian rubles (1994โ€“1999) + + + Belarusian Ruble + Belarusian ruble + Belarusian rubles + BYN + + + Belarusian Ruble (2000โ€“2016) + Belarusian ruble (2000โ€“2016) + Belarusian rubles (2000โ€“2016) + + + Belize Dollar + Belize dollar + Belize dollars + BZD + + + Canadian Dollar + Canadian dollar + Canadian dollars + CA$ + + + Congolese Franc + Congolese franc + Congolese francs + CDF + + + WIR Euro + WIR euro + WIR euros + + + Swiss Franc + Swiss franc + Swiss francs + CHF + + + WIR Franc + WIR franc + WIR francs + + + Chilean Escudo + Chilean escudo + Chilean escudos + + + Chilean Unit of Account (UF) + Chilean unit of account (UF) + Chilean units of account (UF) + + + Chilean Peso + Chilean peso + Chilean pesos + CLP + + + Chinese Yuan (offshore) + Chinese yuan (offshore) + Chinese yuan (offshore) + CNH + + + Chinese Peopleโ€™s Bank Dollar + Chinese Peopleโ€™s Bank dollar + Chinese Peopleโ€™s Bank dollars + + + Chinese Yuan + Chinese yuan + Chinese yuan + CNยฅ + + + Colombian Peso + Colombian peso + Colombian pesos + COP + + + Colombian Real Value Unit + Colombian real value unit + Colombian real value units + + + Costa Rican Colรณn + Costa Rican colรณn + Costa Rican colรณns + CRC + + + Serbian Dinar (2002โ€“2006) + Serbian dinar (2002โ€“2006) + Serbian dinars (2002โ€“2006) + + + Czechoslovak Hard Koruna + Czechoslovak hard koruna + Czechoslovak hard korunas + + + Cuban Convertible Peso + Cuban convertible peso + Cuban convertible pesos + CUC + + + Cuban Peso + Cuban peso + Cuban pesos + CUP + + + Cape Verdean Escudo + Cape Verdean escudo + Cape Verdean escudos + CVE + + + Cypriot Pound + Cypriot pound + Cypriot pounds + + + Czech Koruna + Czech koruna + Czech korunas + CZK + + + East German Mark + East German mark + East German marks + + + German Mark + German mark + German marks + + + Djiboutian Franc + Djiboutian franc + Djiboutian francs + DJF + + + Danish Krone + Danish krone + Danish kroner + DKK + + + Dominican Peso + Dominican peso + Dominican pesos + DOP + + + Algerian Dinar + Algerian dinar + Algerian dinars + DZD + + + Ecuadorian Sucre + Ecuadorian sucre + Ecuadorian sucres + + + Ecuadorian Unit of Constant Value + Ecuadorian unit of constant value + Ecuadorian units of constant value + + + Estonian Kroon + Estonian kroon + Estonian kroons + + + Egyptian Pound + Egyptian pound + Egyptian pounds + EGP + + + Eritrean Nakfa + Eritrean nakfa + Eritrean nakfas + ERN + + + Spanish Peseta (A account) + Spanish peseta (A account) + Spanish pesetas (A account) + + + Spanish Peseta (convertible account) + Spanish peseta (convertible account) + Spanish pesetas (convertible account) + + + Spanish Peseta + Spanish peseta + Spanish pesetas + + + Ethiopian Birr + Ethiopian birr + Ethiopian birrs + ETB + + + Euro + euro + euros + โ‚ฌ + + + Finnish Markka + Finnish markka + Finnish markkas + + + Fijian Dollar + Fijian dollar + Fijian dollars + FJD + + + Falkland Islands Pound + Falkland Islands pound + Falkland Islands pounds + FKP + + + French Franc + French franc + French francs + + + British Pound + British pound + British pounds + ยฃ + + + Georgian Kupon Larit + Georgian kupon larit + Georgian kupon larits + + + Georgian Lari + Georgian lari + Georgian laris + GEL + + + Ghanaian Cedi (1979โ€“2007) + Ghanaian cedi (1979โ€“2007) + Ghanaian cedis (1979โ€“2007) + + + Ghanaian Cedi + Ghanaian cedi + Ghanaian cedis + GHS + + + Gibraltar Pound + Gibraltar pound + Gibraltar pounds + GIP + + + Gambian Dalasi + Gambian dalasi + Gambian dalasis + GMD + + + Guinean Franc + Guinean franc + Guinean francs + GNF + + + Guinean Syli + Guinean syli + Guinean sylis + + + Equatorial Guinean Ekwele + Equatorial Guinean ekwele + Equatorial Guinean ekwele + + + Greek Drachma + Greek drachma + Greek drachmas + + + Guatemalan Quetzal + Guatemalan quetzal + Guatemalan quetzals + GTQ + + + Portuguese Guinea Escudo + Portuguese Guinea escudo + Portuguese Guinea escudos + + + Guinea-Bissau Peso + Guinea-Bissau peso + Guinea-Bissau pesos + + + Guyanaese Dollar + Guyanaese dollar + Guyanaese dollars + GYD + + + Hong Kong Dollar + Hong Kong dollar + Hong Kong dollars + HK$ + + + Honduran Lempira + Honduran lempira + Honduran lempiras + HNL + + + Croatian Dinar + Croatian dinar + Croatian dinars + + + Croatian Kuna + Croatian kuna + Croatian kunas + HRK + + + Haitian Gourde + Haitian gourde + Haitian gourdes + HTG + + + Hungarian Forint + Hungarian forint + Hungarian forints + HUF + + + Indonesian Rupiah + Indonesian rupiah + Indonesian rupiahs + IDR + + + Irish Pound + Irish pound + Irish pounds + + + Israeli Pound + Israeli pound + Israeli pounds + + + Israeli Shekel (1980โ€“1985) + Israeli shekel (1980โ€“1985) + Israeli shekels (1980โ€“1985) + + + Israeli New Shekel + Israeli new shekel + Israeli new shekels + โ‚ช + + + Indian Rupee + Indian rupee + Indian rupees + โ‚น + + + Iraqi Dinar + Iraqi dinar + Iraqi dinars + IQD + + + Iranian Rial + Iranian rial + Iranian rials + IRR + + + Icelandic Krรณna (1918โ€“1981) + Icelandic krรณna (1918โ€“1981) + Icelandic krรณnur (1918โ€“1981) + + + Icelandic Krรณna + Icelandic krรณna + Icelandic krรณnur + ISK + + + Italian Lira + Italian lira + Italian liras + + + Jamaican Dollar + Jamaican dollar + Jamaican dollars + JMD + + + Jordanian Dinar + Jordanian dinar + Jordanian dinars + JOD + + + Japanese Yen + Japanese yen + Japanese yen + ยฅ + + + Kenyan Shilling + Kenyan shilling + Kenyan shillings + KES + + + Kyrgyz Som + Kyrgyz som + Kyrgyz soms + KGS + + + Cambodian Riel + Cambodian riel + Cambodian riels + KHR + + + Comorian Franc + Comorian franc + Comorian francs + KMF + + + North Korean Won + North Korean won + North Korean won + KPW + + + South Korean Hwan (1953โ€“1962) + South Korean hwan (1953โ€“1962) + South Korean hwan (1953โ€“1962) + + + South Korean Won (1945โ€“1953) + South Korean won (1945โ€“1953) + South Korean won (1945โ€“1953) + + + South Korean Won + South Korean won + South Korean won + โ‚ฉ + + + Kuwaiti Dinar + Kuwaiti dinar + Kuwaiti dinars + KWD + + + Cayman Islands Dollar + Cayman Islands dollar + Cayman Islands dollars + KYD + + + Kazakhstani Tenge + Kazakhstani tenge + Kazakhstani tenges + KZT + + + Laotian Kip + Laotian kip + Laotian kips + LAK + + + Lebanese Pound + Lebanese pound + Lebanese pounds + LBP + + + Sri Lankan Rupee + Sri Lankan rupee + Sri Lankan rupees + LKR + + + Liberian Dollar + Liberian dollar + Liberian dollars + LRD + + + Lesotho Loti + Lesotho loti + Lesotho lotis + LSL + + + Lithuanian Litas + Lithuanian litas + Lithuanian litai + + + Lithuanian Talonas + Lithuanian talonas + Lithuanian talonases + + + Luxembourgian Convertible Franc + Luxembourgian convertible franc + Luxembourgian convertible francs + + + Luxembourgian Franc + Luxembourgian franc + Luxembourgian francs + + + Luxembourg Financial Franc + Luxembourg financial franc + Luxembourg financial francs + + + Latvian Lats + Latvian lats + Latvian lati + + + Latvian Ruble + Latvian ruble + Latvian rubles + + + Libyan Dinar + Libyan dinar + Libyan dinars + LYD + + + Moroccan Dirham + Moroccan dirham + Moroccan dirhams + MAD + + + Moroccan Franc + Moroccan franc + Moroccan francs + + + Monegasque Franc + Monegasque franc + Monegasque francs + + + Moldovan Cupon + Moldovan cupon + Moldovan cupon + + + Moldovan Leu + Moldovan leu + Moldovan lei + MDL + + + Malagasy Ariary + Malagasy ariary + Malagasy ariaries + MGA + + + Malagasy Franc + Malagasy franc + Malagasy francs + + + Macedonian Denar + Macedonian denar + Macedonian denari + MKD + + + Macedonian Denar (1992โ€“1993) + Macedonian denar (1992โ€“1993) + Macedonian denari (1992โ€“1993) + + + Malian Franc + Malian franc + Malian francs + + + Myanmar Kyat + Myanmar kyat + Myanmar kyats + MMK + + + Mongolian Tugrik + Mongolian tugrik + Mongolian tugriks + MNT + + + Macanese Pataca + Macanese pataca + Macanese patacas + MOP + + + Mauritanian Ouguiya (1973โ€“2017) + Mauritanian ouguiya (1973โ€“2017) + Mauritanian ouguiyas (1973โ€“2017) + + + Mauritanian Ouguiya + Mauritanian ouguiya + Mauritanian ouguiyas + MRU + + + Maltese Lira + Maltese lira + Maltese lira + + + Maltese Pound + Maltese pound + Maltese pounds + + + Mauritian Rupee + Mauritian rupee + Mauritian rupees + MUR + + + Maldivian Rupee (1947โ€“1981) + Maldivian rupee (1947โ€“1981) + Maldivian rupees (1947โ€“1981) + + + Maldivian Rufiyaa + Maldivian rufiyaa + Maldivian rufiyaas + MVR + + + Malawian Kwacha + Malawian kwacha + Malawian kwachas + MWK + + + Mexican Peso + Mexican peso + Mexican pesos + MX$ + + + Mexican Silver Peso (1861โ€“1992) + Mexican silver peso (1861โ€“1992) + Mexican silver pesos (1861โ€“1992) + + + Mexican Investment Unit + Mexican investment unit + Mexican investment units + + + Malaysian Ringgit + Malaysian ringgit + Malaysian ringgits + MYR + + + Mozambican Escudo + Mozambican escudo + Mozambican escudos + + + Mozambican Metical (1980โ€“2006) + Mozambican metical (1980โ€“2006) + Mozambican meticals (1980โ€“2006) + + + Mozambican Metical + Mozambican metical + Mozambican meticals + MZN + + + Namibian Dollar + Namibian dollar + Namibian dollars + NAD + + + Nigerian Naira + Nigerian naira + Nigerian nairas + NGN + + + Nicaraguan Cรณrdoba (1988โ€“1991) + Nicaraguan cรณrdoba (1988โ€“1991) + Nicaraguan cรณrdobas (1988โ€“1991) + + + Nicaraguan Cรณrdoba + Nicaraguan cรณrdoba + Nicaraguan cรณrdobas + NIO + + + Dutch Guilder + Dutch guilder + Dutch guilders + + + Norwegian Krone + Norwegian krone + Norwegian kroner + NOK + + + Nepalese Rupee + Nepalese rupee + Nepalese rupees + NPR + + + New Zealand Dollar + New Zealand dollar + New Zealand dollars + NZ$ + + + Omani Rial + Omani rial + Omani rials + OMR + + + Panamanian Balboa + Panamanian balboa + Panamanian balboas + PAB + + + Peruvian Inti + Peruvian inti + Peruvian intis + + + Peruvian Sol + Peruvian sol + Peruvian soles + PEN + + + Peruvian Sol (1863โ€“1965) + Peruvian sol (1863โ€“1965) + Peruvian soles (1863โ€“1965) + + + Papua New Guinean Kina + Papua New Guinean kina + Papua New Guinean kina + PGK + + + Philippine Peso + Philippine peso + Philippine pesos + โ‚ฑ + + + Pakistani Rupee + Pakistani rupee + Pakistani rupees + PKR + + + Polish Zloty + Polish zloty + Polish zlotys + PLN + + + Polish Zloty (1950โ€“1995) + Polish zloty (PLZ) + Polish zlotys (PLZ) + + + Portuguese Escudo + Portuguese escudo + Portuguese escudos + + + Paraguayan Guarani + Paraguayan guarani + Paraguayan guaranis + PYG + + + Qatari Riyal + Qatari riyal + Qatari riyals + QAR + + + Rhodesian Dollar + Rhodesian dollar + Rhodesian dollars + + + Romanian Leu (1952โ€“2006) + Romanian leu (1952โ€“2006) + Romanian Lei (1952โ€“2006) + + + Romanian Leu + Romanian leu + Romanian lei + RON + + + Serbian Dinar + Serbian dinar + Serbian dinars + RSD + + + Russian Ruble + Russian ruble + Russian rubles + RUB + + + Russian Ruble (1991โ€“1998) + Russian ruble (1991โ€“1998) + Russian rubles (1991โ€“1998) + + + Rwandan Franc + Rwandan franc + Rwandan francs + RWF + + + Saudi Riyal + Saudi riyal + Saudi riyals + SAR + + + Solomon Islands Dollar + Solomon Islands dollar + Solomon Islands dollars + SBD + + + Seychellois Rupee + Seychellois rupee + Seychellois rupees + SCR + + + Sudanese Dinar (1992โ€“2007) + Sudanese dinar (1992โ€“2007) + Sudanese dinars (1992โ€“2007) + + + Sudanese Pound + Sudanese pound + Sudanese pounds + SDG + + + Sudanese Pound (1957โ€“1998) + Sudanese pound (1957โ€“1998) + Sudanese pounds (1957โ€“1998) + + + Swedish Krona + Swedish krona + Swedish kronor + SEK + + + Singapore Dollar + Singapore dollar + Singapore dollars + SGD + + + St. Helena Pound + St. Helena pound + St. Helena pounds + SHP + + + Slovenian Tolar + Slovenian tolar + Slovenian tolars + + + Slovak Koruna + Slovak koruna + Slovak korunas + + + Sierra Leonean Leone + Sierra Leonean leone + Sierra Leonean leones + SLE + + + Sierra Leonean Leone (1964โ€”2022) + Sierra Leonean leone (1964โ€”2022) + Sierra Leonean leones (1964โ€”2022) + SLL + + + Somali Shilling + Somali shilling + Somali shillings + SOS + + + Surinamese Dollar + Surinamese dollar + Surinamese dollars + SRD + + + Surinamese Guilder + Surinamese guilder + Surinamese guilders + + + South Sudanese Pound + South Sudanese pound + South Sudanese pounds + SSP + + + Sรฃo Tomรฉ & Prรญncipe Dobra (1977โ€“2017) + Sรฃo Tomรฉ & Prรญncipe dobra (1977โ€“2017) + Sรฃo Tomรฉ & Prรญncipe dobras (1977โ€“2017) + + + Sรฃo Tomรฉ & Prรญncipe Dobra + Sรฃo Tomรฉ & Prรญncipe dobra + Sรฃo Tomรฉ & Prรญncipe dobras + STN + + + Soviet Rouble + Soviet rouble + Soviet roubles + + + Salvadoran Colรณn + Salvadoran colรณn + Salvadoran colones + + + Syrian Pound + Syrian pound + Syrian pounds + SYP + + + Swazi Lilangeni + Swazi lilangeni + Swazi emalangeni + SZL + + + Thai Baht + Thai baht + Thai baht + THB + + + Tajikistani Ruble + Tajikistani ruble + Tajikistani rubles + + + Tajikistani Somoni + Tajikistani somoni + Tajikistani somonis + TJS + + + Turkmenistani Manat (1993โ€“2009) + Turkmenistani manat (1993โ€“2009) + Turkmenistani manat (1993โ€“2009) + + + Turkmenistani Manat + Turkmenistani manat + Turkmenistani manat + TMT + + + Tunisian Dinar + Tunisian dinar + Tunisian dinars + TND + + + Tongan Paสปanga + Tongan paสปanga + Tongan paสปanga + TOP + + + Timorese Escudo + Timorese escudo + Timorese escudos + + + Turkish Lira (1922โ€“2005) + Turkish lira (1922โ€“2005) + Turkish Lira (1922โ€“2005) + + + Turkish Lira + Turkish lira + Turkish Lira + TRY + + + Trinidad & Tobago Dollar + Trinidad & Tobago dollar + Trinidad & Tobago dollars + TTD + + + New Taiwan Dollar + New Taiwan dollar + New Taiwan dollars + NT$ + + + Tanzanian Shilling + Tanzanian shilling + Tanzanian shillings + TZS + + + Ukrainian Hryvnia + Ukrainian hryvnia + Ukrainian hryvnias + UAH + + + Ukrainian Karbovanets + Ukrainian karbovanets + Ukrainian karbovantsiv + + + Ugandan Shilling (1966โ€“1987) + Ugandan shilling (1966โ€“1987) + Ugandan shillings (1966โ€“1987) + + + Ugandan Shilling + Ugandan shilling + Ugandan shillings + UGX + + + US Dollar + US dollar + US dollars + $ + + + US Dollar (Next day) + US dollar (next day) + US dollars (next day) + + + US Dollar (Same day) + US dollar (same day) + US dollars (same day) + + + Uruguayan Peso (Indexed Units) + Uruguayan peso (indexed units) + Uruguayan pesos (indexed units) + + + Uruguayan Peso (1975โ€“1993) + Uruguayan peso (1975โ€“1993) + Uruguayan pesos (1975โ€“1993) + + + Uruguayan Peso + Uruguayan peso + Uruguayan pesos + UYU + + + Uruguayan Nominal Wage Index Unit + Uruguayan nominal wage index unit + Uruguayan nominal wage index units + + + Uzbekistani Som + Uzbekistani som + Uzbekistani som + UZS + + + Venezuelan Bolรญvar (1871โ€“2008) + Venezuelan bolรญvar (1871โ€“2008) + Venezuelan bolรญvars (1871โ€“2008) + + + Bolรญvar Soberano + Bolรญvar Soberano + Bolรญvar Soberanos + + + Venezuelan Bolรญvar (2008โ€“2018) + Venezuelan bolรญvar (2008โ€“2018) + Venezuelan bolรญvars (2008โ€“2018) + + + Venezuelan Bolรญvar + Venezuelan bolรญvar + Venezuelan bolรญvars + VES + + + Vietnamese Dong + Vietnamese dong + Vietnamese dong + โ‚ซ + + + Vietnamese Dong (1978โ€“1985) + Vietnamese dong (1978โ€“1985) + Vietnamese dong (1978โ€“1985) + + + Vanuatu Vatu + Vanuatu vatu + Vanuatu vatus + VUV + + + Samoan Tala + Samoan tala + Samoan tala + WST + + + Central African CFA Franc + Central African CFA franc + Central African CFA francs + FCFA + + + Silver + troy ounce of silver + troy ounces of silver + + + Gold + troy ounce of gold + troy ounces of gold + + + European Composite Unit + European composite unit + European composite units + + + European Monetary Unit + European monetary unit + European monetary units + + + European Unit of Account (XBC) + European unit of account (XBC) + European units of account (XBC) + + + European Unit of Account (XBD) + European unit of account (XBD) + European units of account (XBD) + + + East Caribbean Dollar + East Caribbean dollar + East Caribbean dollars + EC$ + + + Caribbean guilder + Caribbean guilder + Caribbean guilders + + + Special Drawing Rights + special drawing rights + special drawing rights + + + European Currency Unit + European currency unit + European currency units + + + French Gold Franc + French gold franc + French gold francs + + + French UIC-Franc + French UIC-franc + French UIC-francs + + + West African CFA Franc + West African CFA franc + West African CFA francs + Fโ€ฏCFA + + + Palladium + troy ounce of palladium + troy ounces of palladium + + + CFP Franc + CFP franc + CFP francs + CFPF + + + Platinum + troy ounce of platinum + troy ounces of platinum + + + RINET Funds + RINET Funds unit + RINET Funds units + + + Sucre + Sucre + Sucres + + + Testing Currency Code + Testing Currency unit + Testing Currency units + + + ADB Unit of Account + ADB unit of account + ADB units of account + + + Unknown Currency + (unknown unit of currency) + (unknown currency) + + + Yemeni Dinar + Yemeni dinar + Yemeni dinars + + + Yemeni Rial + Yemeni rial + Yemeni rials + YER + + + Yugoslavian Hard Dinar (1966โ€“1990) + Yugoslavian hard dinar (1966โ€“1990) + Yugoslavian hard dinars (1966โ€“1990) + + + Yugoslavian New Dinar (1994โ€“2002) + Yugoslavian new dinar (1994โ€“2002) + Yugoslavian new dinars (1994โ€“2002) + + + Yugoslavian Convertible Dinar (1990โ€“1992) + Yugoslavian convertible dinar (1990โ€“1992) + Yugoslavian convertible dinars (1990โ€“1992) + + + Yugoslavian Reformed Dinar (1992โ€“1993) + Yugoslavian reformed dinar (1992โ€“1993) + Yugoslavian reformed dinars (1992โ€“1993) + + + South African Rand (financial) + South African rand (financial) + South African rands (financial) + + + South African Rand + South African rand + South African rand + ZAR + + + Zambian Kwacha (1968โ€“2012) + Zambian kwacha (1968โ€“2012) + Zambian kwachas (1968โ€“2012) + + + Zambian Kwacha + Zambian kwacha + Zambian kwachas + ZMW + + + Zairean New Zaire (1993โ€“1998) + Zairean new zaire (1993โ€“1998) + Zairean new zaires (1993โ€“1998) + + + Zairean Zaire (1971โ€“1993) + Zairean zaire (1971โ€“1993) + Zairean zaires (1971โ€“1993) + + + Zimbabwean Dollar (1980โ€“2008) + Zimbabwean dollar (1980โ€“2008) + Zimbabwean dollars (1980โ€“2008) + + + Zimbabwean Gold + Zimbabwean gold + Zimbabwean gold + ZWG + + + Zimbabwean Dollar (2009โ€“2024) + Zimbabwean dollar (2009โ€“2024) + Zimbabwean dollars (2009โ€“2024) + + + Zimbabwean Dollar (2008) + Zimbabwean dollar (2008) + Zimbabwean dollars (2008) + + + + {0}+ + + + {0} day + {0} days + Take the {0}rd right. + Take the {0}st right. + Take the {0}th right. + Take the {0}nd right. + + + + + + deci{0} + + + centi{0} + + + milli{0} + + + micro{0} + + + nano{0} + + + pico{0} + + + femto{0} + + + atto{0} + + + zepto{0} + + + yocto{0} + + + ronto{0} + + + quecto{0} + + + deka{0} + + + hecto{0} + + + kilo{0} + + + mega{0} + + + giga{0} + + + tera{0} + + + peta{0} + + + exa{0} + + + zetta{0} + + + yotta{0} + + + ronna{0} + + + quetta{0} + + + kibi{0} + + + mebi{0} + + + gibi{0} + + + tebi{0} + + + pebi{0} + + + exbi{0} + + + zebi{0} + + + yobi{0} + + + {0} per {1} + + + square {0} + square {0} + square {0} + + + cubic {0} + cubic {0} + cubic {0} + + + {0}-{1} + + + g-force + {0} g-force + {0} g-force + + + meters per second squared + {0} meter per second squared + {0} meters per second squared + + + revolutions + {0} revolution + {0} revolutions + + + radians + {0} radian + {0} radians + + + degrees + {0} degree + {0} degrees + + + arcminutes + {0} arcminute + {0} arcminutes + + + arcseconds + {0} arcsecond + {0} arcseconds + + + square kilometers + {0} square kilometer + {0} square kilometers + {0} per square kilometer + + + hectares + {0} hectare + {0} hectares + + + square meters + {0} square meter + {0} square meters + {0} per square meter + + + square centimeters + {0} square centimeter + {0} square centimeters + {0} per square centimeter + + + square miles + {0} square mile + {0} square miles + {0} per square mile + + + acres + {0} acre + {0} acres + + + square yards + {0} square yard + {0} square yards + + + square feet + {0} square foot + {0} square feet + + + square inches + {0} square inch + {0} square inches + {0} per square inch + + + dunams + {0} dunam + {0} dunams + + + karats + {0} karat + {0} karats + + + milligrams per deciliter + {0} milligram per deciliter + {0} milligrams per deciliter + + + millimoles per liter + {0} millimole per liter + {0} millimoles per liter + + + items + {0} item + {0} items + + + parts + {0} part + {0} parts + + + parts per million + {0} part per million + {0} parts per million + + + percent + {0} percent + {0} percent + + + permille + {0} permille + {0} permille + + + permyriad + {0} permyriad + {0} permyriad + + + moles + {0} mole + {0} moles + + + of glucose + {0} of glucose + {0} of glucose + + + liters per kilometer + {0} liter per kilometer + {0} liters per kilometer + + + liters per 100 kilometers + {0} liter per 100 kilometers + {0} liters per 100 kilometers + + + miles per gallon + {0} mile per gallon + {0} miles per gallon + + + miles per Imp. gallon + {0} mile per Imp. gallon + {0} miles per Imp. gallon + + + petabytes + {0} petabyte + {0} petabytes + + + terabytes + {0} terabyte + {0} terabytes + + + terabits + {0} terabit + {0} terabits + + + gigabytes + {0} gigabyte + {0} gigabytes + + + gigabits + {0} gigabit + {0} gigabits + + + megabytes + {0} megabyte + {0} megabytes + + + megabits + {0} megabit + {0} megabits + + + kilobytes + {0} kilobyte + {0} kilobytes + + + kilobits + {0} kilobit + {0} kilobits + + + bytes + {0} byte + {0} bytes + + + bits + {0} bit + {0} bits + + + centuries + {0} century + {0} centuries + + + decades + {0} decade + {0} decades + + + years + {0} year + {0} years + {0} per year + + + quarters + {0} quarter + {0} quarters + {0}/q + + + months + {0} month + {0} months + {0} per month + + + weeks + {0} week + {0} weeks + {0} per week + + + days + {0} day + {0} days + {0} per day + + + hours + {0} hour + {0} hours + {0} per hour + + + minutes + {0} minute + {0} minutes + {0} per minute + + + seconds + {0} second + {0} seconds + {0} per second + + + milliseconds + {0} millisecond + {0} milliseconds + + + microseconds + {0} microsecond + {0} microseconds + + + nanoseconds + {0} nanosecond + {0} nanoseconds + + + amperes + {0} ampere + {0} amperes + + + milliamperes + {0} milliampere + {0} milliamperes + + + ohms + {0} ohm + {0} ohms + + + volts + {0} volt + {0} volts + + + kilocalories + {0} kilocalorie + {0} kilocalories + + + calories + {0} calorie + {0} calories + + + Calories + {0} Calorie + {0} Calories + + + kilojoules + {0} kilojoule + {0} kilojoules + + + joules + {0} joule + {0} joules + + + kilowatt-hours + {0} kilowatt hour + {0} kilowatt-hours + + + electronvolts + {0} electronvolt + {0} electronvolts + + + British thermal units + {0} British thermal unit + {0} British thermal units + + + US therms + {0} US therm + {0} US therms + + + pounds of force + {0} pound of force + {0} pounds of force + + + newtons + {0} newton + {0} newtons + + + kilowatt-hours per 100 kilometers + {0} kilowatt-hour per 100 kilometers + {0} kilowatt-hours per 100 kilometers + + + gigahertz + {0} gigahertz + {0} gigahertz + + + megahertz + {0} megahertz + {0} megahertz + + + kilohertz + {0} kilohertz + {0} kilohertz + + + hertz + {0} hertz + {0} hertz + + + typographic ems + {0} em + {0} ems + + + pixels + {0} pixel + {0} pixels + + + megapixels + {0} megapixel + {0} megapixels + + + pixels per centimeter + {0} pixel per centimeter + {0} pixels per centimeter + + + pixels per inch + {0} pixel per inch + {0} pixels per inch + + + dots per centimeter + {0} dot per centimeter + {0} dots per centimeter + + + dots per inch + {0} dot per inch + {0} dots per inch + + + dots + {0} dot + {0} dots + + + earth radius + {0} earth radius + {0} earth radius + + + kilometers + {0} kilometer + {0} kilometers + {0} per kilometer + + + meters + {0} meter + {0} meters + {0} per meter + + + decimeters + {0} decimeter + {0} decimeters + + + centimeters + {0} centimeter + {0} centimeters + {0} per centimeter + + + millimeters + {0} millimeter + {0} millimeters + + + micrometers + {0} micrometer + {0} micrometers + + + nanometers + {0} nanometer + {0} nanometers + + + picometers + {0} picometer + {0} picometers + + + miles + {0} mile + {0} miles + + + yards + {0} yard + {0} yards + + + feet + {0} foot + {0} feet + {0} per foot + + + inches + {0} inch + {0} inches + {0} per inch + + + parsecs + {0} parsec + {0} parsecs + + + light years + {0} light year + {0} light years + + + astronomical units + {0} astronomical unit + {0} astronomical units + + + furlongs + {0} furlong + {0} furlongs + + + fathoms + {0} fathom + {0} fathoms + + + nautical miles + {0} nautical mile + {0} nautical miles + + + miles-scandinavian + {0} mile-scandinavian + {0} miles-scandinavian + + + points + {0} point + {0} points + + + solar radii + {0} solar radius + {0} solar radii + + + lux + {0} lux + {0} lux + + + candela + {0} candela + {0} candela + + + lumen + {0} lumen + {0} lumen + + + solar luminosities + {0} solar luminosity + {0} solar luminosities + + + metric tons + {0} metric ton + {0} metric tons + + + kilograms + {0} kilogram + {0} kilograms + {0} per kilogram + + + grams + {0} gram + {0} grams + {0} per gram + + + milligrams + {0} milligram + {0} milligrams + + + micrograms + {0} microgram + {0} micrograms + + + tons + {0} ton + {0} tons + + + stones + {0} stone + {0} stones + + + pounds + {0} pound + {0} pounds + {0} per pound + + + ounces + {0} ounce + {0} ounces + {0} per ounce + + + troy ounces + {0} troy ounce + {0} troy ounces + + + carats + {0} carat + {0} carats + + + daltons + {0} dalton + {0} daltons + + + Earth masses + {0} Earth mass + {0} Earth masses + + + solar masses + {0} solar mass + {0} solar masses + + + grains + {0} grain + {0} grains + + + gigawatts + {0} gigawatt + {0} gigawatts + + + megawatts + {0} megawatt + {0} megawatts + + + kilowatts + {0} kilowatt + {0} kilowatts + + + watts + {0} watt + {0} watts + + + milliwatts + {0} milliwatt + {0} milliwatts + + + horsepower + {0} horsepower + {0} horsepower + + + millimeters of mercury + {0} millimeter of mercury + {0} millimeters of mercury + + + of mercury + {0} of mercury + {0} of mercury + + + pounds-force per square inch + {0} pound-force per square inch + {0} pounds-force per square inch + + + inches of mercury + {0} inch of mercury + {0} inches of mercury + + + bars + {0} bar + {0} bars + + + millibars + {0} millibar + {0} millibars + + + atmospheres + {0} atmosphere + {0} atmospheres + + + pascals + {0} pascal + {0} pascals + + + hectopascals + {0} hectopascal + {0} hectopascals + + + kilopascals + {0} kilopascal + {0} kilopascals + + + megapascals + {0} megapascal + {0} megapascals + + + kilometers per hour + {0} kilometer per hour + {0} kilometers per hour + + + meters per second + {0} meter per second + {0} meters per second + + + miles per hour + {0} mile per hour + {0} miles per hour + + + knots + {0} knot + {0} knots + + + Beaufort + Beaufort {0} + Beaufort {0} + + + degrees temperature + {0} degree temperature + {0} degrees temperature + + + degrees Celsius + {0} degree Celsius + {0} degrees Celsius + + + degrees Fahrenheit + {0} degree Fahrenheit + {0} degrees Fahrenheit + + + kelvins + {0} kelvin + {0} kelvins + + + pound-force-feet + {0} pound-force-foot + {0} pound-force-feet + + + newton-meters + {0} newton-meter + {0} newton-meters + + + cubic kilometers + {0} cubic kilometer + {0} cubic kilometers + + + cubic meters + {0} cubic meter + {0} cubic meters + {0} per cubic meter + + + cubic centimeters + {0} cubic centimeter + {0} cubic centimeters + {0} per cubic centimeter + + + cubic miles + {0} cubic mile + {0} cubic miles + + + cubic yards + {0} cubic yard + {0} cubic yards + + + cubic feet + {0} cubic foot + {0} cubic feet + + + cubic inches + {0} cubic inch + {0} cubic inches + + + megaliters + {0} megaliter + {0} megaliters + + + hectoliters + {0} hectoliter + {0} hectoliters + + + liters + {0} liter + {0} liters + {0} per liter + + + deciliters + {0} deciliter + {0} deciliters + + + centiliters + {0} centiliter + {0} centiliters + + + milliliters + {0} milliliter + {0} milliliters + + + metric pints + {0} metric pint + {0} metric pints + + + metric cups + {0} metric cup + {0} metric cups + + + metric fluid ounces + {0} metric fluid ounce + {0} metric fluid ounces + + + acre-feet + {0} acre-foot + {0} acre-feet + + + bushels + {0} bushel + {0} bushels + + + gallons + {0} gallon + {0} gallons + {0} per gallon + + + Imp. gallons + {0} Imp. gallon + {0} Imp. gallons + {0} per Imp. gallon + + + quarts + {0} quart + {0} quarts + + + pints + {0} pint + {0} pints + + + pints Imperial + {0} pint Imperial + {0} pints Imperial + + + cups + {0} cup + {0} cups + + + cups Imperial + {0} cup Imperial + {0} cups Imperial + + + fluid ounces + {0} fluid ounce + {0} fluid ounces + + + Imp. fluid ounces + {0} Imp. fluid ounce + {0} Imp. fluid ounces + + + tablespoons + {0} tablespoon + {0} tablespoons + + + teaspoons + {0} teaspoon + {0} teaspoons + + + barrels + {0} barrel + {0} barrels + + + dessert spoons + {0} dessert spoon + {0} dessert spoons + + + Imp. dessert spoons + {0} Imp. dessert spoon + {0} Imp. dessert spoons + + + drops + {0} drop + {0} drops + + + drams + {0} dram + {0} drams + + + jiggers + {0} jigger + {0} jiggers + + + pinches + {0} pinch + {0} pinches + + + Imp. quarts + {0} Imp. quart + {0} Imp. quarts + + + steradians + {0} steradian + {0} steradians + + + katals + {0} katal + {0} katals + + + coulombs + {0} coulomb + {0} coulombs + + + farads + {0} farad + {0} farads + + + henrys + {0} henry + {0} henrys + + + siemens + {0} siemens + {0} siemens + + + calories [IT] + {0} calorie [IT] + {0} calories [IT] + + + British thermal units [IT] + {0} British thermal unit [IT] + {0} British thermal units [IT] + + + becquerels + {0} becquerel + {0} becquerels + + + sieverts + {0} sievert + {0} sieverts + + + grays + {0} gray + {0} grays + + + kilograms-force + {0} kilogram-force + {0} kilograms-force + + + rods + {0} rod + {0} rods + + + chains + {0} chain + {0} chains + + + teslas + {0} tesla + {0} teslas + + + webers + {0} weber + {0} webers + + + rankines + {0} rankine + {0} rankines + + + fortnights + {0} fortnight + {0} fortnights + + + slugs + {0} slug + {0} slugs + + + of gasoline equivalent + {0} of gasoline equivalent + {0} of gasoline equivalent + + + rin [JP] + {0} rin [JP] + {0} rin [JP] + + + sun [JP] + {0} sun [JP] + {0} sun [JP] + + + shaku [JP] + {0} shaku [JP] + {0} shaku [JP] + + + shaku [cloth, JP] + {0} shaku [cloth, JP] + {0} shaku [cloth, JP] + + + ken [JP] + {0} ken [JP] + {0} ken [JP] + + + jo [JP] + {0} jo [JP] + {0} jo [JP] + + + ri [JP] + {0} ri [JP] + {0} ri [JP] + + + bu [JP] + {0} bu [JP] + {0} bu [JP] + + + se [JP] + {0} se [JP] + {0} se [JP] + + + cho [JP] + {0} cho [JP] + {0} cho [JP] + + + kosaji [JP] + {0} kosaji [JP] + {0} kosaji [JP] + + + osaji [JP] + {0} osaji [JP] + {0} osaji [JP] + + + cup [JP] + {0} cup [JP] + {0} cup [JP] + + + shaku [volume, JP] + {0} shaku [volume, JP] + {0} shaku [volume, JP] + + + sai [JP] + {0} sai [JP] + {0} sai [JP] + + + to [JP] + {0} to [JP] + {0} to [JP] + + + koku [JP] + {0} koku [JP] + {0} koku [JP] + + + light + {0} light + {0} light + + + fun [JP] + {0} fun [JP] + {0} fun [JP] + + + parts per billion + {0} part per billion + {0} parts per billion + + + nights + {0} night + {0} nights + {0} per night + + + cardinal direction + {0} east + {0} north + {0} south + {0} west + + + + + d{0} + + + c{0} + + + m{0} + + + ฮผ{0} + + + n{0} + + + p{0} + + + f{0} + + + a{0} + + + z{0} + + + y{0} + + + r{0} + + + q{0} + + + da{0} + + + h{0} + + + k{0} + + + M{0} + + + G{0} + + + T{0} + + + P{0} + + + E{0} + + + Z{0} + + + Y{0} + + + R{0} + + + Q{0} + + + Ki{0} + + + Mi{0} + + + Gi{0} + + + Ti{0} + + + Pi{0} + + + Ei{0} + + + Zi{0} + + + Yi{0} + + + {0}/{1} + + + {0}ยฒ + {0}ยฒ + {0}ยฒ + + + {0}ยณ + {0}ยณ + {0}ยณ + + + {0}โ‹…{1} + + + g-force + {0} G + {0} G + + + meters/secยฒ + {0} m/sยฒ + {0} m/sยฒ + + + rev + {0} rev + {0} rev + + + radians + {0} rad + {0} rad + + + degrees + {0} deg + {0} deg + + + arcmins + {0} arcmin + {0} arcmins + + + arcsecs + {0} arcsec + {0} arcsecs + + + kmยฒ + {0} kmยฒ + {0} kmยฒ + {0}/kmยฒ + + + hectares + {0} ha + {0} ha + + + metersยฒ + {0} mยฒ + {0} mยฒ + {0}/mยฒ + + + cmยฒ + {0} cmยฒ + {0} cmยฒ + {0}/cmยฒ + + + sq miles + {0} sq mi + {0} sq mi + {0}/miยฒ + + + acres + {0} ac + {0} ac + + + yardsยฒ + {0} ydยฒ + {0} ydยฒ + + + sq feet + {0} sq ft + {0} sq ft + + + inchesยฒ + {0} inยฒ + {0} inยฒ + {0}/inยฒ + + + dunams + {0} dunam + {0} dunam + + + karats + {0} kt + {0} kt + + + mg/dL + {0} mg/dL + {0} mg/dL + + + millimol/liter + {0} mmol/L + {0} mmol/L + + + item + {0} item + {0} items + + + part + {0} part + {0} part + + + parts/million + {0} ppm + {0} ppm + + + percent + {0}% + {0}% + + + permille + {0}โ€ฐ + {0}โ€ฐ + + + permyriad + {0}โ€ฑ + {0}โ€ฑ + + + mole + {0} mol + {0} mol + + + Glc + {0} Glc + {0} Glc + + + liters/km + {0} L/km + {0} L/km + + + L/100 km + {0} L/100 km + {0} L/100 km + + + miles/gal + {0} mpg + {0} mpg + + + miles/gal Imp. + {0} mpg Imp. + {0} mpg Imp. + + + PByte + {0} PB + {0} PB + + + TByte + {0} TB + {0} TB + + + Tbit + {0} Tb + {0} Tb + + + GByte + {0} GB + {0} GB + + + Gbit + {0} Gb + {0} Gb + + + MByte + {0} MB + {0} MB + + + Mbit + {0} Mb + {0} Mb + + + kByte + {0} kB + {0} kB + + + kbit + {0} kb + {0} kb + + + byte + {0} byte + {0} byte + + + bit + {0} bit + {0} bit + + + c + {0} c + {0} c + + + dec + {0} dec + {0} dec + + + years + {0} yr + {0} yrs + {0}/y + + + qtr + {0} qtr + {0} qtrs + {0}/q + + + months + {0} mth + {0} mths + {0}/m + + + weeks + {0} wk + {0} wks + {0}/w + + + days + {0} day + {0} days + {0}/d + + + hours + {0} hr + {0} hr + {0}/h + + + mins + {0} min + {0} min + {0}/min + + + secs + {0} sec + {0} sec + {0}/s + + + millisecs + {0} ms + {0} ms + + + ฮผsecs + {0} ฮผs + {0} ฮผs + + + nanosecs + {0} ns + {0} ns + + + amps + {0} A + {0} A + + + milliamps + {0} mA + {0} mA + + + ohms + {0} ฮฉ + {0} ฮฉ + + + volts + {0} V + {0} V + + + kcal + {0} kcal + {0} kcal + + + cal + {0} cal + {0} cal + + + Cal + {0} Cal + {0} Cal + + + kilojoule + {0} kJ + {0} kJ + + + joules + {0} J + {0} J + + + kW-hour + {0} kWh + {0} kWh + + + electronvolt + {0} eV + {0} eV + + + BTU + {0} Btu + {0} Btu + + + US therm + {0} US therm + {0} US therms + + + pound-force + {0} lbf + {0} lbf + + + newton + {0} N + {0} N + + + kWh/100km + {0} kWh/100km + {0} kWh/100km + + + GHz + {0} GHz + {0} GHz + + + MHz + {0} MHz + {0} MHz + + + kHz + {0} kHz + {0} kHz + + + Hz + {0} Hz + {0} Hz + + + em + {0} em + {0} em + + + pixels + {0} px + {0} px + + + megapixels + {0} MP + {0} MP + + + ppcm + {0} ppcm + {0} ppcm + + + ppi + {0} ppi + {0} ppi + + + dpcm + {0} dpcm + {0} dpcm + + + dpi + {0} dpi + {0} dpi + + + dots + {0} dot + {0} dots + + + earth radius + {0} RโŠ• + {0} RโŠ• + + + km + {0} km + {0} km + {0}/km + + + m + {0} m + {0} m + {0}/m + + + dm + {0} dm + {0} dm + + + cm + {0} cm + {0} cm + {0}/cm + + + mm + {0} mm + {0} mm + + + ฮผmeters + {0} ฮผm + {0} ฮผm + + + nm + {0} nm + {0} nm + + + pm + {0} pm + {0} pm + + + miles + {0} mi + {0} mi + + + yards + {0} yd + {0} yd + + + feet + {0} ft + {0} ft + {0}/ft + + + inches + {0} in + {0} in + {0}/in + + + parsecs + {0} pc + {0} pc + + + light yrs + {0} ly + {0} ly + + + au + {0} au + {0} au + + + furlongs + {0} fur + {0} fur + + + fathoms + {0} fth + {0} fth + + + nmi + {0} nmi + {0} nmi + + + smi + {0} smi + {0} smi + + + points + {0} pt + {0} pt + + + solar radii + {0} Rโ˜‰ + {0} Rโ˜‰ + + + lux + {0} lx + {0} lx + + + candela + {0} cd + {0} cd + + + lumen + {0} lm + {0} lm + + + solar luminosities + {0} Lโ˜‰ + {0} Lโ˜‰ + + + t + {0} t + {0} t + + + kg + {0} kg + {0} kg + {0}/kg + + + grams + {0} g + {0} g + {0}/g + + + mg + {0} mg + {0} mg + + + ฮผg + {0} ฮผg + {0} ฮผg + + + tons + {0} tn + {0} tn + + + stones + {0} st + {0} st + + + pounds + {0} lb + {0} lb + {0}/lb + + + oz + {0} oz + {0} oz + {0}/oz + + + oz troy + {0} oz t + {0} oz t + + + carats + {0} CD + {0} CD + + + daltons + {0} Da + {0} Da + + + Earth masses + {0} MโŠ• + {0} MโŠ• + + + solar masses + {0} Mโ˜‰ + {0} Mโ˜‰ + + + grains + {0} gr + {0} gr + + + GW + {0} GW + {0} GW + + + MW + {0} MW + {0} MW + + + kW + {0} kW + {0} kW + + + watts + {0} W + {0} W + + + mW + {0} mW + {0} mW + + + hp + {0} hp + {0} hp + + + mmHg + {0} mmHg + {0} mmHg + + + of Hg + {0} of Hg + {0} of Hg + + + psi + {0} psi + {0} psi + + + inHg + {0} inHg + {0} inHg + + + bar + {0} bar + {0} bar + + + mbar + {0} mbar + {0} mbar + + + atm + {0} atm + {0} atm + + + Pa + {0} Pa + {0} Pa + + + hPa + {0} hPa + {0} hPa + + + kPa + {0} kPa + {0} kPa + + + MPa + {0} MPa + {0} MPa + + + km/hour + {0} km/h + {0} km/h + + + meters/sec + {0} m/s + {0} m/s + + + miles/hour + {0} mph + {0} mph + + + kn + {0} kn + {0} kn + + + Bft + B {0} + B {0} + + + deg. temp. + {0}ยฐ + {0}ยฐ + + + deg. C + {0}ยฐC + {0}ยฐC + + + deg. F + {0}ยฐF + {0}ยฐF + + + K + {0} K + {0} K + + + lbfโ‹…ft + {0} lbfโ‹…ft + {0} lbfโ‹…ft + + + Nโ‹…m + {0} Nโ‹…m + {0} Nโ‹…m + + + kmยณ + {0} kmยณ + {0} kmยณ + + + mยณ + {0} mยณ + {0} mยณ + {0}/mยณ + + + cmยณ + {0} cmยณ + {0} cmยณ + {0}/cmยณ + + + miยณ + {0} miยณ + {0} miยณ + + + yardsยณ + {0} ydยณ + {0} ydยณ + + + feetยณ + {0} ftยณ + {0} ftยณ + + + inchesยณ + {0} inยณ + {0} inยณ + + + ML + {0} ML + {0} ML + + + hL + {0} hL + {0} hL + + + liters + {0} L + {0} L + {0}/L + + + dL + {0} dL + {0} dL + + + cL + {0} cL + {0} cL + + + mL + {0} mL + {0} mL + + + mpt + {0} mpt + {0} mpt + + + mcup + {0} mc + {0} mc + + + fl oz m. + {0} fl oz m. + {0} fl oz m. + + + acre ft + {0} ac ft + {0} ac ft + + + bushels + {0} bu + {0} bu + + + gal + {0} gal + {0} gal + + + Imp. gal + {0} gal Imp. + {0} gal Imp. + {0}/galImp + + + qts + {0} qt + {0} qt + + + pints + {0} pt + {0} pt + + + pt Imp. + {0} pt Imp. + {0} pt Imp. + + + cups + {0} c + {0} c + + + cup Imp + {0} cup Imp. + {0} cup Imp. + + + fl oz + {0} fl oz + {0} fl oz + + + Imp. fl oz + {0} fl oz Imp. + {0} fl oz Imp. + + + tbsp + {0} tbsp + {0} tbsp + + + tsp + {0} tsp + {0} tsp + + + barrel + {0} bbl + {0} bbl + + + dessert spoons + {0} dsp + {0} dsp + + + Imp. dessert spoons + {0} dsp-Imp. + {0} dsp-Imp. + + + drops + {0} dr + {0} drdrops + + + drams + {0} dram + {0} drams + + + jiggers + {0} jigger + {0} jiggers + + + pinches + {0} pn + {0} pn + + + Imp. quarts + {0} qt-Imp. + {0} qt-Imp. + + + sr + {0} sr + {0} sr + + + kat + {0} kat + {0} kat + + + C + {0} C + {0} C + + + F + {0} F + {0} F + + + H + {0} H + {0} H + + + S + {0} S + {0} S + + + cal-IT + {0} cal-IT + {0} cal-IT + + + BTU-IT + {0} BTU-IT + {0} BT-IT + + + Bq + {0} Bq + {0} Bq + + + Sv + {0} Sv + {0} Sv + + + Gy + {0} Gy + {0} Gy + + + kgf + {0} kgf + {0} kgf + + + rd + {0} rd + {0} rd + + + ch + {0} ch + {0} ch + + + T + {0} T + {0} T + + + Wb + {0} Wb + {0} Wb + + + ยฐR + {0} ยฐR + {0} ยฐR + + + fw + {0} fw + {0} fw + + + slug + {0} slug + {0} slug + + + gas-equiv + {0} gas-equiv + {0} gas-equiv + + + rin [JP] + {0} rin [JP] + {0} rin [JP] + + + sun [JP] + {0} sun [JP] + {0} sun [JP] + + + shaku [JP] + {0} shaku [JP] + {0} shaku [JP] + + + shaku [cloth, JP] + {0} shaku [cloth, JP] + {0} shaku [cloth, JP] + + + ken [JP] + {0} ken [JP] + {0} ken [JP] + + + jo [JP] + {0} jo [JP] + {0} jo [JP] + + + ri [JP] + {0} ri [JP] + {0} ri [JP] + + + bu [JP] + {0} bu [JP] + {0} bu [JP] + + + se [JP] + {0} se [JP] + {0} se [JP] + + + cho [JP] + {0} cho [JP] + {0} cho [JP] + + + kosaji [JP] + {0} kosaji [JP] + {0} kosaji [JP] + + + osaji [JP] + {0} osaji [JP] + {0} osaji [JP] + + + cup [JP] + {0} cup [JP] + {0} cup [JP] + + + shaku [vol, JP] + {0} shaku [vol, JP] + {0} shaku [vol, JP] + + + sai [JP] + {0} sai [JP] + {0} sai [JP] + + + to [JP] + {0} to [JP] + {0} to [JP] + + + koku [JP] + {0} koku [JP] + {0} koku [JP] + + + light + {0} light + {0} light + + + fun [JP] + {0} fun [JP] + {0} fun [JP] + + + parts/billion + {0} ppb + {0} ppb + + + nights + {0} night + {0} nights + {0}/night + + + direction + {0} E + {0} N + {0} S + {0} W + + + + + d{0} + + + c{0} + + + m{0} + + + ฮผ{0} + + + n{0} + + + p{0} + + + f{0} + + + a{0} + + + z{0} + + + y{0} + + + r{0} + + + q{0} + + + da{0} + + + h{0} + + + k{0} + + + M{0} + + + G{0} + + + T{0} + + + P{0} + + + E{0} + + + Z{0} + + + Y{0} + + + R{0} + + + Q{0} + + + Ki{0} + + + Mi{0} + + + Gi{0} + + + Ti{0} + + + Pi{0} + + + Ei{0} + + + Zi{0} + + + Yi{0} + + + {0}/{1} + + + {0}ยฒ + {0}ยฒ + + + {0}ยณ + {0}ยณ + + + {0}โ‹…{1} + + + g-force + {0}G + {0}Gs + + + m/sยฒ + {0}m/sยฒ + {0}m/sยฒ + + + rev + {0}rev + {0}rev + + + rad + {0}rad + {0}rad + + + deg + {0}ยฐ + {0}ยฐ + + + arcmin + {0}โ€ฒ + {0}โ€ฒ + + + arcsec + {0}โ€ณ + {0}โ€ณ + + + kmยฒ + {0}kmยฒ + {0}kmยฒ + {0}/kmยฒ + + + hectare + {0}ha + {0}ha + + + metersยฒ + {0}mยฒ + {0}mยฒ + {0}/mยฒ + + + cmยฒ + {0}cmยฒ + {0}cmยฒ + {0}/cmยฒ + + + miยฒ + {0}miยฒ + {0}miยฒ + {0}/miยฒ + + + acre + {0}ac + {0}ac + + + ydยฒ + {0}ydยฒ + {0}ydยฒ + + + ftยฒ + {0}ftยฒ + {0}ftยฒ + + + inยฒ + {0}inยฒ + {0}inยฒ + {0}/inยฒ + + + dunam + {0}dunam + {0}dunam + + + karat + {0}kt + {0}kt + + + mg/dL + {0}mg/dL + {0}mg/dL + + + mmol/L + {0}mmol/L + {0}mmol/L + + + item + {0}item + {0}items + + + part + {0}โ€ฏpart + {0}โ€ฏpart + + + ppm + {0}ppm + {0}ppm + + + % + {0}% + {0}% + + + โ€ฐ + {0}โ€ฐ + {0}โ€ฐ + + + โ€ฑ + {0}โ€ฑ + {0}โ€ฑ + + + mol + {0}mol + {0}mol + + + Glc + {0}โ€ฏGlc + {0}โ€ฏGlc + + + L/km + {0}L/km + {0}L/km + + + L/100km + {0}L/100km + {0}L/100km + + + mpg + {0}mpg + {0}mpg + + + mpg UK + {0}m/gUK + {0}m/gUK + + + PB + {0}PB + {0}PB + + + TB + {0}TB + {0}TB + + + Tb + {0}Tb + {0}Tb + + + GB + {0}GB + {0}GB + + + Gb + {0}Gb + {0}Gb + + + MB + {0}MB + {0}MB + + + Mb + {0}Mb + {0}Mb + + + kB + {0}kB + {0}kB + + + kb + {0}kb + {0}kb + + + B + {0}B + {0}B + + + bit + {0}bit + {0}bit + + + c + {0}c + {0}c + + + dec + {0}dec + {0}dec + + + yr + {0}y + {0}y + {0}/y + + + qtr + {0}q + {0}q + {0}/q + + + month + {0}m + {0}m + {0}/m + + + wk + {0}w + {0}w + {0}/w + + + day + {0}d + {0}d + {0}/d + + + hour + {0}h + {0}h + {0}/h + + + min + {0}m + {0}m + {0}/min + + + sec + {0}s + {0}s + {0}/s + + + msec + {0}ms + {0}ms + + + ฮผsec + {0}ฮผs + {0}ฮผs + + + ns + {0}ns + {0}ns + + + amp + {0}A + {0}A + + + mA + {0}mA + {0}mA + + + ohm + {0}ฮฉ + {0}ฮฉ + + + volt + {0}V + {0}V + + + kcal + {0}kcal + {0}kcal + + + cal + {0}cal + {0}cal + + + Cal + {0}Cal + {0}Cal + + + kJ + {0}kJ + {0}kJ + + + joule + {0}J + {0}J + + + kWh + {0}kWh + {0}kWh + + + eV + {0}eV + {0}eV + + + BTU + {0}Btu + {0}Btu + + + US therm + {0}US therm + {0}US therms + + + lbf + {0}lbf + {0}lbf + + + N + {0}N + {0}N + + + kWh/100km + {0}kWh/100km + {0}kWh/100km + + + GHz + {0}GHz + {0}GHz + + + MHz + {0}MHz + {0}MHz + + + kHz + {0}kHz + {0}kHz + + + Hz + {0}Hz + {0}Hz + + + em + {0}em + {0}em + + + px + {0}px + {0}px + + + MP + {0}MP + {0}MP + + + ppcm + {0}ppcm + {0}ppcm + + + ppi + {0}ppi + {0}ppi + + + dpcm + {0}dpcm + {0}dpcm + + + dpi + {0}dpi + {0}dpi + + + dot + {0}dot + {0}dot + + + RโŠ• + {0}RโŠ• + {0}RโŠ• + + + km + {0}km + {0}km + {0}/km + + + m + {0}m + {0}m + {0}/m + + + dm + {0}dm + {0}dm + + + cm + {0}cm + {0}cm + {0}/cm + + + mm + {0}mm + {0}mm + + + ฮผm + {0}ฮผm + {0}ฮผm + + + nm + {0}nm + {0}nm + + + pm + {0}pm + {0}pm + + + mi + {0}mi + {0}mi + + + yd + {0}yd + {0}yd + + + ft + {0}โ€ฒ + {0}โ€ฒ + {0}/ft + + + in + {0}โ€ณ + {0}โ€ณ + {0}/in + + + parsec + {0}pc + {0}pc + + + ly + {0}ly + {0}ly + + + au + {0}au + {0}au + + + furlong + {0}fur + {0}fur + + + fathom + {0}fth + {0}fth + + + nmi + {0}nmi + {0}nmi + + + smi + {0}smi + {0}smi + + + pts + {0}pt + {0}pt + + + Rโ˜‰ + {0}Rโ˜‰ + {0}Rโ˜‰ + + + lux + {0}lx + {0}lx + + + cd + {0}cd + {0}cd + + + lm + {0}lm + {0}lm + + + Lโ˜‰ + {0}Lโ˜‰ + {0}Lโ˜‰ + + + t + {0}t + {0}t + + + kg + {0}kg + {0}kg + {0}/kg + + + gram + {0}g + {0}g + {0}/g + + + mg + {0}mg + {0}mg + + + ฮผg + {0}ฮผg + {0}ฮผg + + + ton + {0}tn + {0}tn + + + stone + {0}st + {0}st + + + lb + {0}# + {0}# + {0}/lb + + + oz + {0}oz + {0}oz + {0}/oz + + + oz t + {0}oz t + {0}oz t + + + carat + {0}CD + {0}CD + + + Da + {0}Da + {0}Da + + + MโŠ• + {0}MโŠ• + {0}MโŠ• + + + Mโ˜‰ + {0}Mโ˜‰ + {0}Mโ˜‰ + + + gr + {0}gr + {0}gr + + + GW + {0}GW + {0}GW + + + MW + {0}MW + {0}MW + + + kW + {0}kW + {0}kW + + + watt + {0}W + {0}W + + + mW + {0}mW + {0}mW + + + hp + {0}hp + {0}hp + + + mmHg + {0}mmHg + {0}mmHg + + + of Hg + {0}โ€ฏof Hg + {0}โ€ฏof Hg + + + psi + {0}psi + {0}psi + + + โ€ณ Hg + {0}โ€ณ Hg + {0}โ€ณ Hg + + + bar + {0}bar + {0}bar + + + mbar + {0}mb + {0}mb + + + atm + {0}atm + {0}atm + + + Pa + {0}Pa + {0}Pa + + + hPa + {0}hPa + {0}hPa + + + kPa + {0}kPa + {0}kPa + + + MPa + {0}MPa + {0}MPa + + + km/hr + {0}km/h + {0}km/h + + + m/s + {0}m/s + {0}m/s + + + mi/hr + {0}mph + {0}mph + + + kn + {0}kn + {0}kn + + + Bft + B{0} + B{0} + + + ยฐ + {0}ยฐ + {0}ยฐ + + + ยฐC + {0}ยฐC + {0}ยฐC + + + ยฐF + {0}ยฐ + {0}ยฐ + + + K + {0}K + {0}K + + + lbfโ‹…ft + {0}lbfโ‹…ft + {0}lbfโ‹…ft + + + Nโ‹…m + {0}Nโ‹…m + {0}Nโ‹…m + + + kmยณ + {0}kmยณ + {0}kmยณ + + + mยณ + {0}mยณ + {0}mยณ + {0}/mยณ + + + cmยณ + {0}cmยณ + {0}cmยณ + {0}/cmยณ + + + miยณ + {0}miยณ + {0}miยณ + + + ydยณ + {0}ydยณ + {0}ydยณ + + + ftยณ + {0}ftยณ + {0}ftยณ + + + inยณ + {0}inยณ + {0}inยณ + + + ML + {0}ML + {0}ML + + + hL + {0}hL + {0}hL + + + liter + {0}L + {0}L + {0}/L + + + dL + {0}dL + {0}dL + + + cL + {0}cL + {0}cL + + + mL + {0}mL + {0}mL + + + pt + {0}mpt + {0}mpt + + + mcup + {0}mc + {0}mc + + + fl oz m. + {0}โ€ฏfl oz m. + {0}โ€ฏfl oz m. + + + acre ft + {0}ac ft + {0}ac ft + + + bushel + {0}bu + {0}bu + + + gal + {0}gal + {0}gal + {0}/gal + + + Imp gal + {0}gal-Im + {0}gal-Im + {0}/galIm + + + qt + {0}qt + {0}qt + + + pt + {0}pt + {0}pt + + + pt Imp. + {0}โ€ฏpt Imp. + {0}โ€ฏpt Imp. + + + cup + {0}c + {0}c + + + cup Imp + {0}โ€ฏcup Imp. + {0}โ€ฏcup Imp. + + + fl oz + {0}fl oz + {0}fl oz + + + Imp fl oz + {0}fl oz Im + {0}fl oz Im + + + tbsp + {0}tbsp + {0}tbsp + + + tsp + {0}tsp + {0}tsp + + + bbl + {0}bbl + {0}bbl + + + dsp + {0}dsp + {0}dsp + + + dsp Imp + {0}dsp-Imp + {0}dsp-Imp + + + dr + {0}dr + {0}dr + + + fl.dr. + {0}fl.dr. + {0}fl.dr. + + + jigger + {0}jigger + {0}jigger + + + pn + {0}pn + {0}pn + + + qt Imp + {0}qt-Imp. + {0}qt-Imp. + + + sr + {0}โ€ฏsr + {0}โ€ฏsr + + + kat + {0}โ€ฏkat + {0}โ€ฏkat + + + C + {0}โ€ฏC + {0}โ€ฏC + + + F + {0}โ€ฏF + {0}โ€ฏF + + + H + {0}โ€ฏH + {0}โ€ฏH + + + S + {0}โ€ฏS + {0}โ€ฏS + + + cal-IT + {0}โ€ฏcal-IT + {0}โ€ฏcal-IT + + + BTU-IT + {0}โ€ฏBTU-IT + {0}โ€ฏBT-IT + + + Bq + {0}โ€ฏBq + {0}โ€ฏBq + + + Sv + {0}โ€ฏSv + {0}โ€ฏSv + + + Gy + {0}โ€ฏGy + {0}โ€ฏGy + + + kgf + {0}โ€ฏkgf + {0}โ€ฏkgf + + + rd + {0}โ€ฏrd + {0}โ€ฏrd + + + ch + {0}โ€ฏch + {0}โ€ฏch + + + T + {0}โ€ฏT + {0}โ€ฏT + + + Wb + {0}โ€ฏWb + {0}โ€ฏWb + + + ยฐR + {0}โ€ฏยฐR + {0}โ€ฏยฐR + + + fw + {0}โ€ฏfw + {0}โ€ฏfw + + + slug + {0}โ€ฏslug + {0}โ€ฏslug + + + gas-equiv + {0}gas-equiv + {0}gas-equiv + + + rin [JP] + {0}โ€ฏrin [JP] + {0}โ€ฏrin [JP] + + + sun [JP] + {0}โ€ฏsun [JP] + {0}โ€ฏsun [JP] + + + shaku [JP] + {0}โ€ฏshaku [JP] + {0}โ€ฏshaku [JP] + + + shaku [cloth, JP] + {0}โ€ฏshaku [cloth, JP] + {0}โ€ฏshaku [cloth, JP] + + + ken [JP] + {0}โ€ฏken [JP] + {0}โ€ฏken [JP] + + + jo [JP] + {0}โ€ฏjo [JP] + {0}โ€ฏjo [JP] + + + ri [JP] + {0}โ€ฏri [JP] + {0}โ€ฏri [JP] + + + bu [JP] + {0}โ€ฏbu [JP] + {0}โ€ฏbu [JP] + + + se [JP] + {0}โ€ฏse [JP] + {0}โ€ฏse [JP] + + + cho [JP] + {0}โ€ฏcho [JP] + {0}โ€ฏcho [JP] + + + kosaji [JP] + {0}โ€ฏkosaji [JP] + {0}โ€ฏkosaji [JP] + + + osaji [JP] + {0}โ€ฏosaji [JP] + {0}โ€ฏosaji [JP] + + + cup [JP] + {0}โ€ฏcup [JP] + {0}โ€ฏcup [JP] + + + shaku [vol, JP] + {0}โ€ฏshaku [vol, JP] + {0}โ€ฏshaku [vol, JP] + + + sai [JP] + {0}โ€ฏsai [JP] + {0}โ€ฏsai [JP] + + + to [JP] + {0}โ€ฏto [JP] + {0}โ€ฏto [JP] + + + koku [JP] + {0}โ€ฏkoku [JP] + {0}โ€ฏkoku [JP] + + + light + {0}light + {0}light + + + fun [JP] + {0}โ€ฏfun [JP] + {0}โ€ฏfun [JP] + + + ppb + {0}ppb + {0}ppb + + + nights + {0}night + {0}nights + {0}/night + + + direction + {0}E + {0}N + {0}S + {0}W + + + + + + {0}, {1} + {0}, {1} + {0}, and {1} + {0} and {1} + + + {0}, {1} + {0}, {1} + {0}, or {1} + {0} or {1} + + + {0}, {1} + {0}, {1} + {0}, or {1} + {0} or {1} + + + {0}, {1} + {0}, {1} + {0}, or {1} + {0} or {1} + + + {0}, {1} + {0}, {1} + {0}, {1} + {0}, {1} + + + {0}, {1} + {0}, {1} + {0}, & {1} + {0} & {1} + + + {0}, {1} + {0}, {1} + {0}, {1} + {0}, {1} + + + {0} {1} + {0} {1} + {0} {1} + {0} {1} + + + {0}, {1} + {0}, {1} + {0}, {1} + {0}, {1} + + + + + yes:y + no:n + + + + {0} โ€” all + {0}: {1} + {0} โ€” compatibility + {0} โ€” enclosed + {0} โ€” extended + {0} facing left + {0} facing right + {0} โ€” historic + {0} โ€” miscellaneous + {0} โ€” other + scripts โ€” {0} + {0} stroke + {0} strokes + activity + African script + American script + animal + animal or nature + arrow + body + box drawing + braille + building + bullet or star + consonantal jamo + currency symbol + dash or connector + digit + dingbat + divination symbol + downwards arrow + downwards upwards arrow + East Asian script + emoji + European script + female + flag + flags + food & drink + format + format & whitespace + full-width variant + geometric shape + half-width variant + Han character + Han radical + hanja + Hanzi (simplified) + Hanzi (traditional) + heart + historic script + ideographic desc. character + Japanese kana + kanbun + kanji + keycap + leftwards arrow + leftwards rightwards arrow + letterlike symbol + limited-use + male + math symbol + Middle Eastern script + miscellaneous + modern script + modifier + musical symbol + nature + nonspacing + numbers + object + other + paired + person + phonetic alphabet + pictograph + place + plant + punctuation + rightwards arrow + sign or symbol + small variants + smiley + smiley or person + South Asian script + Southeast Asian script + spacing + sport + symbol + technical symbol + tone mark + travel + travel or place + upwards arrows + variant + vocalic jamo + weather + Western Asian script + whitespace + + + italic + optical size + slant + width + weight + cursive + caption + text + titling + display + poster + backslanted + upright + slanted + extra-slanted + ultracondensed + ultracompressed + ultranarrow + extra-condensed + extra-compressed + extra-narrow + condensed + compressed + compressed + semicondensed + semicompressed + seminarrow + normal + semiexpanded + semiextended + semiwide + expanded + extended + wide + extra-expanded + extra-extended + extra-wide + ultraexpanded + ultraextended + ultrawide + thin + extra-light + ultralight + light + semilight + book + regular + medium + semibold + demibold + bold + extra-bold + black + heavy + extra-black + ultrablack + ultraheavy + vertical fractions + capital spacing + optional ligatures + diagonal fractions + lining numbers + old-style figures + ordinals + proportional numbers + small capitals + tabular numbers + slashed zero + + + und en + ja ko vi yue zh + informal + medium + + {0}. + {0}{1} + + {title} {given} {given2} {surname} {generation}, {credentials} + + + {given-informal} {surname} + + + {title} {surname} + + + {given-informal} + + + {given-monogram-allCaps}{given2-monogram-allCaps}{surname-monogram-allCaps} + + + {given-informal-monogram-allCaps}{surname-monogram-allCaps} + + + {given} {given2-initial} {surname} {generation}, {credentials} + + + {given-informal} {surname} + + + {title} {surname} + + + {given-informal} + + + {surname-monogram-allCaps} + + + {given-informal-monogram-allCaps} + + + {given-initial}{given2-initial} {surname} + + + {given-informal} {surname-initial} + + + {title} {surname} + + + {given-informal} + + + {surname-monogram-allCaps} + + + {given-informal-monogram-allCaps} + + + {surname} {title} {given} {given2} {generation}, {credentials} + + + {surname} {given-informal} + + + {title} {surname} + + + {given-informal} + + + {surname-monogram-allCaps}{given-monogram-allCaps}{given2-monogram-allCaps} + + + {surname-monogram-allCaps}{given-informal-monogram-allCaps} + + + {surname} {given} {given2-initial} {generation}, {credentials} + + + {surname} {given-informal} + + + {title} {surname} + + + {given-informal} + + + {surname-monogram-allCaps} + + + {given-informal-monogram-allCaps} + + + {surname} {given-initial}{given2-initial} + + + {surname} {given-initial} + + + {title} {surname} + + + {given-informal} + + + {surname-monogram-allCaps} + + + {given-informal-monogram-allCaps} + + + {surname-core}, {given} {given2} {surname-prefix} + + + {surname}, {given-informal} + + + {surname-core}, {given} {given2-initial} {surname-prefix} + + + {surname}, {given-informal} + + + {surname-core}, {given-initial}{given2-initial} {surname-prefix} + + + {surname}, {given-informal} + + + + Zendaya + + + Irene + Adler + + + Mary Sue + Hamish + Watson + + + Mr. + Bertram Wilberforce + Bertie + Henry Robert + โˆ…โˆ…โˆ… + Wooster + โˆ…โˆ…โˆ… + Jr + MP + + + Sinbad + + + Kรคthe + Mรผller + + + Zรคzilia + Hamish + Stรถber + + + Prof. Dr. + Ada Cornelia + Neele + Cรฉsar Martรญn + von + Brรผhl + Gonzรกlez Domingo + Jr + MD DDS + + + diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/CountryCurrencySourceGenerator.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/CountryCurrencySourceGenerator.cs new file mode 100644 index 0000000..bd557a0 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/CountryCurrencySourceGenerator.cs @@ -0,0 +1,284 @@ +๏ปฟusing System.Reflection; +using System.Text; +using HawkN.Iso.Countries.Currencies.Generators.Models; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Text; +namespace HawkN.Iso.Countries.Currencies.Generators; + +[Generator] +public class CountryCurrencySourceGenerator : BaseIncrementalGenerator +{ + protected override string HintName => "CountryCurrencyMap.g.cs"; + + private const string StubSource = """ + // + // This file was generated by HawkN.Iso.Currencies.Generators source generator. + // Do not modify this file manually. + // + #nullable enable + using System.Collections.Generic; + using System.Collections.Immutable; + using HawkN.Iso.Countries.Models; + using HawkN.Iso.Currencies.Models; + using HawkN.Iso.Countries.Currencies.Models; + namespace HawkN.Iso.Countries.Currencies + { + /// + /// Provides fast ISO 3166 โ†’ ISO 4217 country-to-currency mapping. + /// Generated from Unicode CLDR supplemental data. + /// + internal static class CountryCurrencyMap + { + /// + /// Raw string-based data generated from CLDR. + /// Parsed and validated at type initialization. + /// + internal static readonly ImmutableArray RawData = + ImmutableArray.Create( + new CountryCurrencyInfoRow[] + { + }); + } + } + """; + + private const string MethodsSource = """ + private static readonly ImmutableArray Data; + private static readonly Dictionary Index; + + /// + /// Attempts to get currency information for a country. + /// + public static bool TryGet(CountryCode.TwoLetterCode country,out CountryCurrencyInfo? info) => Index.TryGetValue(country, out info); + + static CountryCurrencyMap() + { + var dataBuilder = ImmutableArray.CreateBuilder(RawData.Length); + var index = new Dictionary(RawData.Length); + + foreach (var row in RawData.Where(r => Enum.TryParse(r.CountryCode, out CountryCode.TwoLetterCode _))) + { + if (!Enum.TryParse(row.PrimaryCurrency, out CurrencyCode primary)) + continue; + Enum.TryParse(row.CountryCode, out CountryCode.TwoLetterCode country); + + var info = new CountryCurrencyInfo + { + CountryCode = country, + PrimaryCurrency = primary, + SecondaryCurrencies = FilterSecondary(row.SecondaryCurrencies) + }; + + dataBuilder.Add(info); + index[country] = info; + } + + Data = dataBuilder.ToImmutable(); + Index = index; + } + + private static IReadOnlyList FilterSecondary(IReadOnlyList values) + { + if (values.Count == 0) + return Array.Empty(); + + var buffer = new CurrencyCode[values.Count]; + var count = 0; + + foreach (var value in values) + { + if (TryParseCurrency(value, out CurrencyCode code)) + buffer[count++] = code; + } + + if (count == 0) + return Array.Empty(); + + if (count == buffer.Length) + return buffer; + + var result = new CurrencyCode[count]; + Array.Copy(buffer, result, count); + return result; + } + + private static bool TryParseCurrency(string value, out CurrencyCode code) => Enum.TryParse(value, out code); + """; + + public override void Initialize(IncrementalGeneratorInitializationContext context) + { + ErrorFactory.Clear(); + var jsonProvider = context.CompilationProvider.Select(ReadDataResource); + context.RegisterSourceOutput(jsonProvider, (spc, tuple) => GenerateSourceOutput(tuple, spc)); + } + + static (string, string) ReadDataResource(Compilation compilation, CancellationToken ct) + { + try + { + return LoadResources(Assembly.GetExecutingAssembly()); + } + catch (InvalidOperationException ex) + { + var errorMsg = $"{Constants.ErrorMark}:{ex.Message}"; + return (errorMsg, errorMsg); + } + } + + private void GenerateSourceOutput((string originalXml, string translationsXml) tuple, + SourceProductionContext spc) + { + try + { + if (HasResourceErrors(tuple, out var errorMessages)) + { + foreach (var msg in errorMessages) + ReportResourceError(msg); + + AddStubIfErrors(spc, HintName, StubSource, GeneratorType.Database); + return; + } + + var loader = new CurrencyDataLoader(tuple.originalXml, tuple.translationsXml); + var sb = CreateSourceBuilder( + Constants.GeneratorName, + Constants.DefaultNamespace, + Constants.ExtendedSourceData, + Constants.SystemNamespaces + .Concat(Constants.ReferencesNamespaces) + .ToArray()); + + sb.AppendLine(" /// ") + .AppendLine(" /// Provides fast ISO 3166 โ†’ ISO 4217 country-to-currency mapping.") + .AppendLine(" /// Generated from Unicode CLDR supplemental data.") + .AppendLine(" /// ") + .AppendLine(" internal static class CountryCurrencyMap") + .AppendLine(" {"); + + var list = new List(); + foreach (var group in GroupByCountry(loader.ActualCurrencyData)) + { + var current = group.Value.Where(c => c.IsCurrent).ToList(); + if (current.Count == 0) + continue; + var primary = current[0].CurrencyCode; + var secondary = new List(); + for (var i = 1; i < current.Count; i++) + { + var code = current[i].CurrencyCode; + if (!secondary.Contains(code)) + secondary.Add(code); + } + + list.Add(new GeneratedCountryCurrencyRow( + group.Key, + primary, + secondary)); + } + + GenerateDataSection(sb, "RawData", list); + + sb.AppendLine(MethodsSource); + + sb.AppendLine(" }").AppendLine("}"); + + if (ErrorFactory.IsExists()) + { + AddStubIfErrors(spc, HintName, StubSource, GeneratorType.Database); + return; + } + spc.AddSource(HintName, SourceText.From(sb.ToString(), Encoding.UTF8)); + } + catch (Exception ex) when (ex is not OperationCanceledException) + { + ErrorFactory.Create(new ErrorDescription + { + DiagnosticDescriptor = new DiagnosticDescriptor( + CreateDescriptorId("0"), + Constants.DiagnosticsTitle, + $"Unexpected exception: {ex.Message}. Stacktrace: {ex.StackTrace}", + string.Empty, + DiagnosticSeverity.Error, + true), + GeneratorType = GeneratorType.Database + }); + AddStubIfErrors(spc, HintName, StubSource, GeneratorType.Database); + } + } + + private static bool HasResourceErrors((string originalXml, string translationsXml) tuple, + out List messages) + { + messages = []; + if (tuple.originalXml.StartsWith(Constants.ErrorMark)) messages.Add("original:" + tuple.originalXml); + if (tuple.translationsXml.StartsWith(Constants.ErrorMark)) messages.Add("translations:" + tuple.translationsXml); + return messages.Count > 0; + } + + private static void GenerateDataSection(StringBuilder sb, string propertyName, IReadOnlyList data) + { + sb.AppendLine(" /// ") + .AppendLine(" /// Raw string-based data generated from CLDR.") + .AppendLine(" /// Parsed and validated at type initialization.") + .AppendLine(" /// "); + sb.AppendLine( + $" internal static readonly ImmutableArray {propertyName} = ImmutableArray.Create(new CountryCurrencyInfoRow[]") + .AppendLine(" {"); + foreach (var item in data) + { + sb.AppendLine(" new CountryCurrencyInfoRow()"); + sb.AppendLine(" {"); + sb.AppendLine($" CountryCode = \"{item.CountryCode}\","); + sb.AppendLine($" PrimaryCurrency = \"{item.PrimaryCurrency}\","); + if (item.SecondaryCurrencies.Count == 0) + { + sb.AppendLine(" SecondaryCurrencies = []"); + } + else + { + sb.AppendLine(" SecondaryCurrencies = new []"); + sb.AppendLine(" {"); + foreach (var c in item.SecondaryCurrencies) + sb.AppendLine(" \"" + c + "\","); + sb.AppendLine(" }"); + } + sb.AppendLine(" },"); + } + sb.AppendLine(" });"); + } + + private static Dictionary> GroupByCountry( + IReadOnlyList parsed) + { + var dict = new Dictionary>(); + foreach (var p in parsed) + { + if (!dict.TryGetValue(p.CountryCode, out var list)) + { + list = []; + dict[p.CountryCode] = list; + } + list.Add(p); + } + return dict; + } + + private void ReportResourceError(string msg) + { + var parts = msg.Split([':'], 2); + var name = parts[0]; + var text = parts.Length > 1 ? parts[1] : "Unknown error"; + + ErrorFactory.Create(new ErrorDescription + { + DiagnosticDescriptor = new DiagnosticDescriptor( + CreateDescriptorId("1"), + Constants.DiagnosticsTitle, + $"Failed to load {name} resource: {text}", + string.Empty, + DiagnosticSeverity.Error, + true), + GeneratorType = GeneratorType.Database + }); + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/CurrencyDataLoader.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/CurrencyDataLoader.cs new file mode 100644 index 0000000..db2e6b8 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/CurrencyDataLoader.cs @@ -0,0 +1,14 @@ +๏ปฟusing HawkN.Iso.Countries.Currencies.Generators.Handlers; +using HawkN.Iso.Countries.Currencies.Generators.Models; +namespace HawkN.Iso.Countries.Currencies.Generators; + +internal sealed class CurrencyDataLoader +{ + public List ActualCurrencyData { get; } + + public CurrencyDataLoader(string supplementalXml, string enXml) + { + var actual = new CldrCurrencyHandler(supplementalXml).LoadCurrencies(); + ActualCurrencyData = actual; + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/Factories/ErrorFactory.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Factories/ErrorFactory.cs new file mode 100644 index 0000000..759eaf6 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Factories/ErrorFactory.cs @@ -0,0 +1,38 @@ +๏ปฟusing HawkN.Iso.Countries.Currencies.Generators.Models; +using Microsoft.CodeAnalysis; +namespace HawkN.Iso.Countries.Currencies.Generators.Factories; + +public class ErrorFactory +{ + private readonly List _errorDescriptors = []; + public void Create(ErrorDescription descriptor) + { + if (!_errorDescriptors.Exists(q => + q.DiagnosticDescriptor.Id.Equals(descriptor.DiagnosticDescriptor.Id, StringComparison.OrdinalIgnoreCase) && + q.GeneratorType == descriptor.GeneratorType)) + { + _errorDescriptors.Add(descriptor); + } + } + + public bool IsExists() + { + return _errorDescriptors.Any(); + } + + public void Clear() + { + _errorDescriptors.Clear(); + } + + public void ShowDiagnostics(SourceProductionContext context, GeneratorType type) + { + var descriptors = _errorDescriptors.FindAll(q => q.GeneratorType == type); + if (!IsExists()) return; + var list = descriptors.Select(descriptor => + Diagnostic.Create(descriptor.DiagnosticDescriptor, descriptor.Location, descriptor.MessageArgs)) + .ToList(); + foreach (var item in list) + context.ReportDiagnostic(item); + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/Handlers/CldrCurrencyHandler.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Handlers/CldrCurrencyHandler.cs new file mode 100644 index 0000000..12f0cd6 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Handlers/CldrCurrencyHandler.cs @@ -0,0 +1,31 @@ +๏ปฟusing System.Xml.Linq; +using HawkN.Iso.Countries.Currencies.Generators.Models; +namespace HawkN.Iso.Countries.Currencies.Generators.Handlers; + +internal sealed class CldrCurrencyHandler(string xmlContent) +{ + private readonly XDocument _doc = XDocument.Parse(xmlContent); + + public List LoadCurrencies() + { + var currencies = new List(); + ParseRegionCurrencies(currencies); + return currencies; + } + + private void ParseRegionCurrencies(List currencies) + { + foreach (var region in _doc.Descendants("currencyData").Descendants("region")) + { + var countryCode = region.Attribute("iso3166")?.Value; + if (string.IsNullOrEmpty(countryCode)) + continue; + + var order = 0; + currencies.AddRange(region.Elements("currency") + .Select( + currency => new ParsedCurrencyRow(countryCode!, currency.Attribute("iso4217")!.Value, currency.Attribute("to") is null, order++)) + ); + } + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/HawkN.Iso.Countries.Currencies.Generators.csproj b/src/packages/HawkN.Iso.Countries.Currencies.Generators/HawkN.Iso.Countries.Currencies.Generators.csproj new file mode 100644 index 0000000..eb82284 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/HawkN.Iso.Countries.Currencies.Generators.csproj @@ -0,0 +1,64 @@ +๏ปฟ + + + netstandard2.0 + latest + true + true + enable + enable + Analyzer + true + true + true + false + 8.0.0.0 + 8.0.0.0 + Copyright ยฉ 2026 Nikolay Selyutin (HawkN113) + true + false + true + false + true + false + false + false + release-48 + https://raw.githubusercontent.com/unicode-org/cldr/$(CldrVersion)/common/main/en.xml + https://raw.githubusercontent.com/unicode-org/cldr/$(CldrVersion)/common/supplemental/supplementalData.xml + + + + + + + + + + + + + Always + + + + Always + + + + + + + + + + + + + + + + + + + diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/ErrorDescription.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/ErrorDescription.cs new file mode 100644 index 0000000..232e4d1 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/ErrorDescription.cs @@ -0,0 +1,10 @@ +๏ปฟusing Microsoft.CodeAnalysis; +namespace HawkN.Iso.Countries.Currencies.Generators.Models; + +public class ErrorDescription +{ + public DiagnosticDescriptor DiagnosticDescriptor { get; set; } = null!; + public object?[]? MessageArgs { get; set; } + public Location? Location { get; set; } = Location.None; + public GeneratorType GeneratorType { get; set; } = GeneratorType.Factory; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/GeneratedCountryCurrencyRow.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/GeneratedCountryCurrencyRow.cs new file mode 100644 index 0000000..de1f73c --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/GeneratedCountryCurrencyRow.cs @@ -0,0 +1,11 @@ +๏ปฟnamespace HawkN.Iso.Countries.Currencies.Generators.Models; + +public class GeneratedCountryCurrencyRow( + string countryCode, + string primaryCurrency, + IReadOnlyList secondaryCurrencies) +{ + public string CountryCode { get; } = countryCode; + public string PrimaryCurrency { get; } = primaryCurrency; + public IReadOnlyList SecondaryCurrencies { get; } = secondaryCurrencies; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/GeneratorType.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/GeneratorType.cs new file mode 100644 index 0000000..5ea5b3c --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/GeneratorType.cs @@ -0,0 +1,9 @@ +๏ปฟnamespace HawkN.Iso.Countries.Currencies.Generators.Models; + +public enum GeneratorType +{ + Factory = 0, + Currency = 1, + Country = 2, + Database = 3 +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/ParsedCurrency.cs b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/ParsedCurrency.cs new file mode 100644 index 0000000..4ac027d --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies.Generators/Models/ParsedCurrency.cs @@ -0,0 +1,9 @@ +๏ปฟnamespace HawkN.Iso.Countries.Currencies.Generators.Models; + +internal sealed class ParsedCurrencyRow(string countryCode, string currencyCode, bool isCurrent, int order) +{ + public string CountryCode { get; } = countryCode; + public string CurrencyCode { get; } = currencyCode; + public bool IsCurrent { get; } = isCurrent; + public int Order { get; } = order; +} diff --git a/src/packages/HawkN.Iso.Countries.Currencies/CountryCurrencyMap.cs b/src/packages/HawkN.Iso.Countries.Currencies/CountryCurrencyMap.cs new file mode 100644 index 0000000..eee97a2 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies/CountryCurrencyMap.cs @@ -0,0 +1,1703 @@ +๏ปฟ// +// This file was generated by HawkN.Iso.Countries.Currencies.Generators source generator +// Release: release-48 +// CLDR URL: https://github.com/unicode-org/cldr +// Do not modify this file manually. +// +#nullable enable +using System.Linq; +using System.Collections.Generic; +using System.Collections.Immutable; +using HawkN.Iso.Countries; +using HawkN.Iso.Currencies; +using HawkN.Iso.Countries.Currencies.Models; +namespace HawkN.Iso.Countries.Currencies +{ + /// + /// Provides fast ISO 3166 โ†’ ISO 4217 country-to-currency mapping. + /// Generated from Unicode CLDR supplemental data. + /// + internal static class CountryCurrencyMap + { + /// + /// Raw string-based data generated from CLDR. + /// Parsed and validated at type initialization. + /// + internal static readonly ImmutableArray RawData = ImmutableArray.Create(new CountryCurrencyInfoRow[] + { + new CountryCurrencyInfoRow() + { + CountryCode = "AC", + PrimaryCurrency = "SHP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AD", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AE", + PrimaryCurrency = "AED", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AF", + PrimaryCurrency = "AFN", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AG", + PrimaryCurrency = "XCD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AI", + PrimaryCurrency = "XCD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AL", + PrimaryCurrency = "ALL", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AM", + PrimaryCurrency = "AMD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AO", + PrimaryCurrency = "AOA", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AQ", + PrimaryCurrency = "XXX", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AR", + PrimaryCurrency = "ARS", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AS", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AT", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AU", + PrimaryCurrency = "AUD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AW", + PrimaryCurrency = "AWG", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AX", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "AZ", + PrimaryCurrency = "AZN", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BA", + PrimaryCurrency = "BAM", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BB", + PrimaryCurrency = "BBD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BD", + PrimaryCurrency = "BDT", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BE", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BF", + PrimaryCurrency = "XOF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BG", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BH", + PrimaryCurrency = "BHD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BI", + PrimaryCurrency = "BIF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BJ", + PrimaryCurrency = "XOF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BL", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BM", + PrimaryCurrency = "BMD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BN", + PrimaryCurrency = "BND", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BO", + PrimaryCurrency = "BOB", + SecondaryCurrencies = new [] + { + "BOV", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BQ", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BR", + PrimaryCurrency = "BRL", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BS", + PrimaryCurrency = "BSD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BT", + PrimaryCurrency = "BTN", + SecondaryCurrencies = new [] + { + "INR", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BV", + PrimaryCurrency = "NOK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BW", + PrimaryCurrency = "BWP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BY", + PrimaryCurrency = "BYN", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "BZ", + PrimaryCurrency = "BZD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CA", + PrimaryCurrency = "CAD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CC", + PrimaryCurrency = "AUD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CD", + PrimaryCurrency = "CDF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CF", + PrimaryCurrency = "XAF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CG", + PrimaryCurrency = "XAF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CH", + PrimaryCurrency = "CHF", + SecondaryCurrencies = new [] + { + "CHE", + "CHW", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CI", + PrimaryCurrency = "XOF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CK", + PrimaryCurrency = "NZD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CL", + PrimaryCurrency = "CLP", + SecondaryCurrencies = new [] + { + "CLF", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CM", + PrimaryCurrency = "XAF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CN", + PrimaryCurrency = "CNY", + SecondaryCurrencies = new [] + { + "CNH", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CO", + PrimaryCurrency = "COP", + SecondaryCurrencies = new [] + { + "COU", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CP", + PrimaryCurrency = "XXX", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CR", + PrimaryCurrency = "CRC", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CU", + PrimaryCurrency = "CUP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CV", + PrimaryCurrency = "CVE", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CW", + PrimaryCurrency = "XCG", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CX", + PrimaryCurrency = "AUD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CY", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "CZ", + PrimaryCurrency = "CZK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "DE", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "DG", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "DJ", + PrimaryCurrency = "DJF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "DK", + PrimaryCurrency = "DKK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "DM", + PrimaryCurrency = "XCD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "DO", + PrimaryCurrency = "DOP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "DZ", + PrimaryCurrency = "DZD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "EA", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "EC", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "EE", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "EG", + PrimaryCurrency = "EGP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "EH", + PrimaryCurrency = "MAD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ER", + PrimaryCurrency = "ERN", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ES", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ET", + PrimaryCurrency = "ETB", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "EU", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "FI", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "FJ", + PrimaryCurrency = "FJD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "FK", + PrimaryCurrency = "FKP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "FM", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "FO", + PrimaryCurrency = "DKK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "FR", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GA", + PrimaryCurrency = "XAF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GB", + PrimaryCurrency = "GBP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GD", + PrimaryCurrency = "XCD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GE", + PrimaryCurrency = "GEL", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GF", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GG", + PrimaryCurrency = "GBP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GH", + PrimaryCurrency = "GHS", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GI", + PrimaryCurrency = "GIP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GL", + PrimaryCurrency = "DKK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GM", + PrimaryCurrency = "GMD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GN", + PrimaryCurrency = "GNF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GP", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GQ", + PrimaryCurrency = "XAF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GR", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GS", + PrimaryCurrency = "GBP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GT", + PrimaryCurrency = "GTQ", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GU", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GW", + PrimaryCurrency = "XOF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "GY", + PrimaryCurrency = "GYD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "HK", + PrimaryCurrency = "HKD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "HM", + PrimaryCurrency = "AUD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "HN", + PrimaryCurrency = "HNL", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "HR", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "HT", + PrimaryCurrency = "HTG", + SecondaryCurrencies = new [] + { + "USD", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "HU", + PrimaryCurrency = "HUF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IC", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ID", + PrimaryCurrency = "IDR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IE", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IL", + PrimaryCurrency = "ILS", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IM", + PrimaryCurrency = "GBP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IN", + PrimaryCurrency = "INR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IO", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IQ", + PrimaryCurrency = "IQD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IR", + PrimaryCurrency = "IRR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IS", + PrimaryCurrency = "ISK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "IT", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "JE", + PrimaryCurrency = "GBP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "JM", + PrimaryCurrency = "JMD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "JO", + PrimaryCurrency = "JOD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "JP", + PrimaryCurrency = "JPY", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KE", + PrimaryCurrency = "KES", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KG", + PrimaryCurrency = "KGS", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KH", + PrimaryCurrency = "KHR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KI", + PrimaryCurrency = "AUD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KM", + PrimaryCurrency = "KMF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KN", + PrimaryCurrency = "XCD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KP", + PrimaryCurrency = "KPW", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KR", + PrimaryCurrency = "KRW", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KW", + PrimaryCurrency = "KWD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KY", + PrimaryCurrency = "KYD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "KZ", + PrimaryCurrency = "KZT", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LA", + PrimaryCurrency = "LAK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LB", + PrimaryCurrency = "LBP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LC", + PrimaryCurrency = "XCD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LI", + PrimaryCurrency = "CHF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LK", + PrimaryCurrency = "LKR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LR", + PrimaryCurrency = "LRD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LS", + PrimaryCurrency = "ZAR", + SecondaryCurrencies = new [] + { + "LSL", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LT", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LU", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LV", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "LY", + PrimaryCurrency = "LYD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MA", + PrimaryCurrency = "MAD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MC", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MD", + PrimaryCurrency = "MDL", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ME", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MF", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MG", + PrimaryCurrency = "MGA", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MH", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MK", + PrimaryCurrency = "MKD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ML", + PrimaryCurrency = "XOF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MM", + PrimaryCurrency = "MMK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MN", + PrimaryCurrency = "MNT", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MO", + PrimaryCurrency = "MOP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MP", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MQ", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MR", + PrimaryCurrency = "MRU", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MS", + PrimaryCurrency = "XCD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MT", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MU", + PrimaryCurrency = "MUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MV", + PrimaryCurrency = "MVR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MW", + PrimaryCurrency = "MWK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MX", + PrimaryCurrency = "MXN", + SecondaryCurrencies = new [] + { + "MXV", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MY", + PrimaryCurrency = "MYR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "MZ", + PrimaryCurrency = "MZN", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NA", + PrimaryCurrency = "NAD", + SecondaryCurrencies = new [] + { + "ZAR", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NC", + PrimaryCurrency = "XPF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NE", + PrimaryCurrency = "XOF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NF", + PrimaryCurrency = "AUD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NG", + PrimaryCurrency = "NGN", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NI", + PrimaryCurrency = "NIO", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NL", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NO", + PrimaryCurrency = "NOK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NP", + PrimaryCurrency = "NPR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NR", + PrimaryCurrency = "AUD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NU", + PrimaryCurrency = "NZD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "NZ", + PrimaryCurrency = "NZD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "OM", + PrimaryCurrency = "OMR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PA", + PrimaryCurrency = "PAB", + SecondaryCurrencies = new [] + { + "USD", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PE", + PrimaryCurrency = "PEN", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PF", + PrimaryCurrency = "XPF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PG", + PrimaryCurrency = "PGK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PH", + PrimaryCurrency = "PHP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PK", + PrimaryCurrency = "PKR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PL", + PrimaryCurrency = "PLN", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PM", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PN", + PrimaryCurrency = "NZD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PR", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PS", + PrimaryCurrency = "ILS", + SecondaryCurrencies = new [] + { + "JOD", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PT", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PW", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "PY", + PrimaryCurrency = "PYG", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "QA", + PrimaryCurrency = "QAR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "RE", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "RO", + PrimaryCurrency = "RON", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "RS", + PrimaryCurrency = "RSD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "RU", + PrimaryCurrency = "RUB", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "RW", + PrimaryCurrency = "RWF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SA", + PrimaryCurrency = "SAR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SB", + PrimaryCurrency = "SBD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SC", + PrimaryCurrency = "SCR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SD", + PrimaryCurrency = "SDG", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SE", + PrimaryCurrency = "SEK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SG", + PrimaryCurrency = "SGD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SH", + PrimaryCurrency = "SHP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SI", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SJ", + PrimaryCurrency = "NOK", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SK", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SL", + PrimaryCurrency = "SLE", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SM", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SN", + PrimaryCurrency = "XOF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SO", + PrimaryCurrency = "SOS", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SR", + PrimaryCurrency = "SRD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SS", + PrimaryCurrency = "SSP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ST", + PrimaryCurrency = "STN", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SV", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SX", + PrimaryCurrency = "XCG", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SY", + PrimaryCurrency = "SYP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "SZ", + PrimaryCurrency = "SZL", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TA", + PrimaryCurrency = "GBP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TC", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TD", + PrimaryCurrency = "XAF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TF", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TG", + PrimaryCurrency = "XOF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TH", + PrimaryCurrency = "THB", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TJ", + PrimaryCurrency = "TJS", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TK", + PrimaryCurrency = "NZD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TL", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TM", + PrimaryCurrency = "TMT", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TN", + PrimaryCurrency = "TND", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TO", + PrimaryCurrency = "TOP", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TR", + PrimaryCurrency = "TRY", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TT", + PrimaryCurrency = "TTD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TV", + PrimaryCurrency = "AUD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TW", + PrimaryCurrency = "TWD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "TZ", + PrimaryCurrency = "TZS", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "UA", + PrimaryCurrency = "UAH", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "UG", + PrimaryCurrency = "UGX", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "UM", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "US", + PrimaryCurrency = "USD", + SecondaryCurrencies = new [] + { + "USN", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "UY", + PrimaryCurrency = "UYU", + SecondaryCurrencies = new [] + { + "UYI", + "UYW", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "UZ", + PrimaryCurrency = "UZS", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "VA", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "VC", + PrimaryCurrency = "XCD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "VE", + PrimaryCurrency = "VES", + SecondaryCurrencies = new [] + { + "VED", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "VG", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "VI", + PrimaryCurrency = "USD", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "VN", + PrimaryCurrency = "VND", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "VU", + PrimaryCurrency = "VUV", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "WF", + PrimaryCurrency = "XPF", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "WS", + PrimaryCurrency = "WST", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "XK", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "YE", + PrimaryCurrency = "YER", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "YT", + PrimaryCurrency = "EUR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ZA", + PrimaryCurrency = "ZAR", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ZM", + PrimaryCurrency = "ZMW", + SecondaryCurrencies = [] + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ZW", + PrimaryCurrency = "ZWG", + SecondaryCurrencies = new [] + { + "USD", + } + }, + new CountryCurrencyInfoRow() + { + CountryCode = "ZZ", + PrimaryCurrency = "XAD", + SecondaryCurrencies = new [] + { + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XDR", + "XPD", + "XPT", + "XSU", + "XTS", + "XUA", + "XXX", + } + }, + }); + private static readonly ImmutableArray Data; + private static readonly Dictionary Index; + + /// + /// Attempts to get currency information for a country. + /// + public static bool TryGet(CountryCode.TwoLetterCode country,out CountryCurrencyInfo? info) => Index.TryGetValue(country, out info); + + static CountryCurrencyMap() + { + var dataBuilder = ImmutableArray.CreateBuilder(RawData.Length); + var index = new Dictionary(RawData.Length); + + foreach (var row in RawData.Where(r => Enum.TryParse(r.CountryCode, out CountryCode.TwoLetterCode _))) + { + if (!Enum.TryParse(row.PrimaryCurrency, out CurrencyCode primary)) + continue; + Enum.TryParse(row.CountryCode, out CountryCode.TwoLetterCode country); + + var info = new CountryCurrencyInfo + { + CountryCode = country, + PrimaryCurrency = primary, + SecondaryCurrencies = FilterSecondary(row.SecondaryCurrencies) + }; + + dataBuilder.Add(info); + index[country] = info; + } + + Data = dataBuilder.ToImmutable(); + Index = index; + } + + private static IReadOnlyList FilterSecondary(IReadOnlyList values) + { + if (values.Count == 0) + return Array.Empty(); + + var buffer = new CurrencyCode[values.Count]; + var count = 0; + + foreach (var value in values) + { + if (TryParseCurrency(value, out CurrencyCode code)) + buffer[count++] = code; + } + + if (count == 0) + return Array.Empty(); + + if (count == buffer.Length) + return buffer; + + var result = new CurrencyCode[count]; + Array.Copy(buffer, result, count); + return result; + } + + private static bool TryParseCurrency(string value, out CurrencyCode code) => Enum.TryParse(value, out code); + } +} diff --git a/src/packages/HawkN.Iso.Countries.Currencies/Extensions/CountryCurrencyExtensions.cs b/src/packages/HawkN.Iso.Countries.Currencies/Extensions/CountryCurrencyExtensions.cs new file mode 100644 index 0000000..a0c546e --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies/Extensions/CountryCurrencyExtensions.cs @@ -0,0 +1,67 @@ +๏ปฟusing System.Collections.Immutable; +using HawkN.Iso.Currencies; +namespace HawkN.Iso.Countries.Currencies.Extensions; + +/// +/// Provides extension methods for working with country currencies via . +/// Allows retrieving the primary, secondary, or all currencies for a given country. +/// +public static class CountryCurrencyExtensions +{ + /// + /// Gets the primary currency of the specified country. + /// + /// The two-letter country code. + /// The primary currency of the country, or null if the country is not found. + public static CurrencyCode? GetPrimaryCurrency(this CountryCode.TwoLetterCode country) + { + return CountryCurrencyMap.TryGet(country, out var info) ? info?.PrimaryCurrency : null; + } + + /// + /// Gets the secondary currencies of the specified country. + /// + /// The two-letter country code. + /// A read-only list of secondary currencies, or an empty array if the country is not found. + public static IReadOnlyList GetSecondaryCurrencies(this CountryCode.TwoLetterCode country) + { + return CountryCurrencyMap.TryGet(country, out var info) ? info!.SecondaryCurrencies : ImmutableArray.Empty; + } + + /// + /// Gets all currencies (primary and secondary) of the specified country. + /// + /// The two-letter country code. + /// An enumeration of all currencies of the country. Empty if the country is not found. + public static IEnumerable GetAllCurrencies(this CountryCode.TwoLetterCode country) + { + if (!CountryCurrencyMap.TryGet(country, out var info)) + yield break; + + yield return info!.PrimaryCurrency; + + foreach (var c in info.SecondaryCurrencies) + yield return c; + } + + /// + /// Checks if the given country uses the specified currency + /// (either as primary or secondary currency). + /// Optimized with HashSet for fast lookups in large secondary currency lists. + /// + /// The two-letter country code. + /// The currency code to check. + /// true if the country uses the currency; otherwise, false. + public static bool IsCurrencyUsedByCountry(this CountryCode.TwoLetterCode country, CurrencyCode currency) + { + if (!CountryCurrencyMap.TryGet(country, out var info)) + return false; + + if (info?.PrimaryCurrency == currency) + return true; + + if (info?.SecondaryCurrencies.Count <= 0) return false; + var set = new HashSet(info!.SecondaryCurrencies); + return set.Contains(currency); + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj b/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj new file mode 100644 index 0000000..d2ca36c --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj @@ -0,0 +1,71 @@ +๏ปฟ + + net8.0 + enable + enable + 8.0.0.0 + 8.0.0.0 + Library + Copyright ยฉ 2026 Nikolay Selyutin (HawkN113) + true + false + true + false + true + false + false + false + true + 8.0.0 + false + $(GenerateDataFiles) + $(MSBuildProjectDirectory)\CountryCurrencyMap.cs + + + embedded + bin\Debug\HawkN.Iso.Countries.Currencies.xml + ;NU1605 + + + embedded + bin\Release\HawkN.Iso.Countries.Currencies.xml + ;NU1605 + + + + + + + + + + + + + + + Always + + + Always + + + + + + + + <_GeneratedFiles Include="$(CompilerGeneratedFilesOutputPath)\**\*.g.cs" /> + + + + + + + + + + + diff --git a/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.nuspec b/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.nuspec new file mode 100644 index 0000000..7ffa87d --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.nuspec @@ -0,0 +1,40 @@ + + + + HawkN.Iso.Countries.Currencies + 8.0.0 + HawkN.Iso.Countries.Currencies + Nikolay Selyutin (HawkN113) + false + Provides mapping between countries and currencies (primary and secondary). Includes extension methods to query primary, secondary, or all currencies and check usage. + ISO 4217 / ISO 3166 currency-country mapping library with strongly typed codes and utility extensions + iso4217 iso3166 currency currencies countries finance money money-codes dotnet8 dotnet-core dotnet-library csharp currency-code nuget-package + + https://github.com/HawkN113/HawkN.Iso.Countries + MIT + content\HawkN.Iso.Countries.ico.png + content\README.md + en-GB + + - Added support for .NET 8.0 + - Initial release with Country - Currency mapping. + - Lightweight & dependency-free + + Copyright ยฉ 2026 Nikolay Selyutin (HawkN113) + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies/Models/CountryCurrencyInfo.cs b/src/packages/HawkN.Iso.Countries.Currencies/Models/CountryCurrencyInfo.cs new file mode 100644 index 0000000..6fd8b5b --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies/Models/CountryCurrencyInfo.cs @@ -0,0 +1,9 @@ +๏ปฟusing HawkN.Iso.Currencies; +namespace HawkN.Iso.Countries.Currencies.Models; + +internal sealed class CountryCurrencyInfo +{ + public required CountryCode.TwoLetterCode CountryCode { get; init; } + public required CurrencyCode PrimaryCurrency { get; init; } + public required IReadOnlyList SecondaryCurrencies { get; init; } = []; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies/Models/CountryCurrencyInfoRow.cs b/src/packages/HawkN.Iso.Countries.Currencies/Models/CountryCurrencyInfoRow.cs new file mode 100644 index 0000000..bc0b80f --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies/Models/CountryCurrencyInfoRow.cs @@ -0,0 +1,8 @@ +๏ปฟnamespace HawkN.Iso.Countries.Currencies.Models; + +internal sealed class CountryCurrencyInfoRow +{ + public required string CountryCode { get; init; } + public required string PrimaryCurrency { get; init; } + public IReadOnlyList SecondaryCurrencies { get; init; } = []; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/DATA-LICENSE b/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/DATA-LICENSE new file mode 100644 index 0000000..0efef54 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/DATA-LICENSE @@ -0,0 +1,29 @@ +# Data Licenses + +This project includes or derives data from the following sources. + +--- + +## Unicode Common Locale Data Repository (CLDR) + +This project includes data derived from the **Unicode Common Locale Data Repository (CLDR)**. + +Unicode CLDR data is licensed under the **Unicode License Agreement**. + +Copyright ยฉ Unicode, Inc. +All rights reserved. + +Unicode, Inc. hereby grants to any person obtaining a copy of the Unicode data +files and any associated documentation (the "Data Files") a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable license to use, +copy, modify, merge, publish, distribute, and/or sell copies of the Data Files, +and to permit persons to whom the Data Files are furnished to do so, provided +that the above copyright notice(s) and this permission notice appear with all +copies of the Data Files or substantial portions thereof. + +THE DATA FILES ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + +Unicode License Agreement: +https://www.unicode.org/license.html \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/HawkN.Iso.Countries.ico.png b/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/HawkN.Iso.Countries.ico.png new file mode 100644 index 0000000000000000000000000000000000000000..93eaf0b951c971e3963a954aaeedbb532e6570d5 GIT binary patch literal 57886 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 #F;@f;AGt8{jn-bam0Vkp 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[+M2D**VTL&~))PLgRiUSwT7sm&gW6{O^DLAAp&HfG`hUoB#j- M07*qoM6N<$f;(L0VgLXD literal 0 HcmV?d00001 diff --git a/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/NOTICE b/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/NOTICE new file mode 100644 index 0000000..4739920 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/NOTICE @@ -0,0 +1,22 @@ +NOTICE + +HawkN.Iso.Currencies +Copyright ยฉ 2026 Nikolay Selyutin (HawkN113) + +This product includes software developed by the HawkN.Iso.Countries.Currencies project. + +--- + +THIRD-PARTY DATA ATTRIBUTIONS + +This product includes or derives data from the following third-party sources: + +1. Unicode Common Locale Data Repository (CLDR) + Copyright ยฉ Unicode, Inc. + Licensed under the Unicode License Agreement. + https://www.unicode.org/license.html + +--- + +The above notices must be included in all copies or substantial portions of +the software where required by the applicable licenses. \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/README.md b/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/README.md new file mode 100644 index 0000000..e5665d6 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/README.md @@ -0,0 +1,89 @@ +# HawkN.Iso.Countries.Currencies + +**HawkN.Iso.Countries.Currencies** provides ISO-based mapping of primary and secondary currencies for countries. +It allows you to quickly retrieve the main currency, secondary currencies, all currencies, or check if a currency is used by a specific country. + +## Features +- **Primary and Secondary Currencies** โ€“ Get the main currency or all secondary currencies of a country. +- **Fast Lookups** โ€“ O(1) lookups using pre-indexed dictionaries and HashSet for secondary currencies. +- **Currency Validation** โ€“ Check if a country uses a given currency. +- **Seamless Integration** โ€“ Built to work with `HawkN.Iso.Countries` types (`CountryCode.TwoLetterCode`). +- **Lightweight & Dependency-Free** โ€“ Compatible with .NET 8 and above. + +--- + +## Getting Started + +### Install via NuGet + +```bash +dotnet add package HawkN.Iso.Countries.Currencies +```` +#### References +- [HawkN.Iso.Countries](https://www.nuget.org/packages/HawkN.Iso.Countries) โ€“ Provides country codes and models. +- [HawkN.Iso.Currencies](https://www.nuget.org/packages/HawkN.Iso.Currencies) โ€“ Provides currency codes and enums. + +### Required Namespaces +```csharp +using HawkN.Iso.Countries; +using HawkN.Iso.Currencies; +using HawkN.Iso.Countries.Currencies.Extensions; +``` +--- + +### Usage Example + +#### Get Main Currency +```csharp +CurrencyCode.TwoLetterCode? mainCurrency = CountryCode.TwoLetterCode.US.GetMainCurrency(); +Console.WriteLine($"Primary currency of US: {mainCurrency}"); // USD +``` + +#### Get Secondary Currencies +```csharp +var secondaryCurrencies = CountryCode.TwoLetterCode.BO.GetSecondaryCurrencies(); +Console.WriteLine($"Secondary currencies of BO: {string.Join(", ", secondaryCurrencies)}"); // BOV +``` + +### Get all Currencies for specific country +```csharp +var allCurrencies = CountryCode.BO.GetAllCurrencies(); +Console.WriteLine($"All currencies of BO: {string.Join(", ", allCurrencies)}"); // BOB, BOV +``` + +#### Validation + +Check if Currency is Used by Country +```csharp +bool isUsed = CountryCode.BO.IsCurrencyUsedByCountry(CurrencyCode.BOB); // True +bool isUsdUsed = CountryCode.BO.IsCurrencyUsedByCountry(CurrencyCode.USD); // False +```` + +--- + +## License + +### Code +This projectโ€™s source code is licensed under the [MIT License](LICENSE). + +### Data +This project uses data derived from the following sources: + +- **Unicode Common Locale Data Repository (CLDR)** + Licensed under the [Unicode License Agreement](https://unicode.org/license.html). + +- Country data (`ISO 3166-1` and `UN M49` numeric codes) is sourced from the [UN Statistics Division โ€“ M49 standard](https://unstats.un.org/unsd/methodology/m49/overview) + + +The above data licenses are **permissive and compatible with MIT-licensed code** +when used for reference and code generation. + +See [DATA-LICENSE](DATA-LICENSE) for details. + +--- + +### References +- [ISO 3166 Standard](https://www.iso.org/iso-3166-country-codes.html) +- [ISO 4217 Standard](https://www.iso.org/iso-4217-currency-codes.html) +- [UN Statistics Division โ€“ M49 standard](https://unstats.un.org/unsd/methodology/m49/overview) +- [GitHub Repository](https://github.com/HawkN113/HawkN.Iso.Countries) diff --git a/src/packages/HawkN.Iso.Countries.Generators/Constants.cs b/src/packages/HawkN.Iso.Countries.Generators/Constants.cs index bdfb070..168cff4 100644 --- a/src/packages/HawkN.Iso.Countries.Generators/Constants.cs +++ b/src/packages/HawkN.Iso.Countries.Generators/Constants.cs @@ -10,4 +10,12 @@ internal static class Constants [ "Source URL: https://unstats.un.org/unsd/methodology/m49/overview" ]; + public static readonly string[] SystemNamespaces = [ + "System.Collections.Generic", + "System.Collections.Immutable" + ]; + public static readonly string[] ReferencesNamespaces = + [ + "HawkN.Iso.Countries.Models" + ]; } \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json b/src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json deleted file mode 100644 index ee48a43..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json +++ /dev/null @@ -1,1931 +0,0 @@ -{ - "3166-1": [ - { - "alpha_2": "AW", - "alpha_3": "ABW", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ผ", - "name": "Aruba", - "numeric": "533" - }, - { - "alpha_2": "AF", - "alpha_3": "AFG", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ซ", - "name": "Afghanistan", - "numeric": "004", - "official_name": "Islamic Republic of Afghanistan" - }, - { - "alpha_2": "AO", - "alpha_3": "AGO", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ด", - "name": "Angola", - "numeric": "024", - "official_name": "Republic of Angola" - }, - { - "alpha_2": "AI", - "alpha_3": "AIA", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฎ", - "name": "Anguilla", - "numeric": "660" - }, - { - "alpha_2": "AX", - "alpha_3": "ALA", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฝ", - "name": "ร…land Islands", - "numeric": "248" - }, - { - "alpha_2": "AL", - "alpha_3": "ALB", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฑ", - "name": "Albania", - "numeric": "008", - "official_name": "Republic of Albania" - }, - { - "alpha_2": "AD", - "alpha_3": "AND", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฉ", - "name": "Andorra", - "numeric": "020", - "official_name": "Principality of Andorra" - }, - { - "alpha_2": "AE", - "alpha_3": "ARE", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ช", - "name": "United Arab Emirates", - "numeric": "784" - }, - { - "alpha_2": "AR", - "alpha_3": "ARG", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ท", - "name": "Argentina", - "numeric": "032", - "official_name": "Argentine Republic" - }, - { - "alpha_2": "AM", - "alpha_3": "ARM", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฒ", - "name": "Armenia", - "numeric": "051", - "official_name": "Republic of Armenia" - }, - { - "alpha_2": "AS", - "alpha_3": "ASM", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ธ", - "name": "American Samoa", - "numeric": "016" - }, - { - "alpha_2": "AQ", - "alpha_3": "ATA", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ถ", - "name": "Antarctica", - "numeric": "010" - }, - { - "alpha_2": "TF", - "alpha_3": "ATF", - "flag": "๐Ÿ‡น๐Ÿ‡ซ", - "name": "French Southern Territories", - "numeric": "260" - }, - { - "alpha_2": "AG", - "alpha_3": "ATG", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฌ", - "name": "Antigua and Barbuda", - "numeric": "028" - }, - { - "alpha_2": "AU", - "alpha_3": "AUS", - "flag": "๐Ÿ‡ฆ๐Ÿ‡บ", - "name": "Australia", - "numeric": "036" - }, - { - "alpha_2": "AT", - "alpha_3": "AUT", - "flag": "๐Ÿ‡ฆ๐Ÿ‡น", - "name": "Austria", - "numeric": "040", - "official_name": "Republic of Austria" - }, - { - "alpha_2": "AZ", - "alpha_3": "AZE", - "flag": "๐Ÿ‡ฆ๐Ÿ‡ฟ", - "name": "Azerbaijan", - "numeric": "031", - "official_name": "Republic of Azerbaijan" - }, - { - "alpha_2": "BI", - "alpha_3": "BDI", - "flag": "๐Ÿ‡ง๐Ÿ‡ฎ", - "name": "Burundi", - "numeric": "108", - "official_name": "Republic of Burundi" - }, - { - "alpha_2": "BE", - "alpha_3": "BEL", - "flag": "๐Ÿ‡ง๐Ÿ‡ช", - "name": "Belgium", - "numeric": "056", - "official_name": "Kingdom of Belgium" - }, - { - "alpha_2": "BJ", - "alpha_3": "BEN", - "flag": "๐Ÿ‡ง๐Ÿ‡ฏ", - "name": "Benin", - "numeric": "204", - "official_name": "Republic of Benin" - }, - { - "alpha_2": "BQ", - "alpha_3": "BES", - "flag": "๐Ÿ‡ง๐Ÿ‡ถ", - "name": "Bonaire, Sint Eustatius and Saba", - "numeric": "535", - "official_name": "Bonaire, Sint Eustatius and Saba" - }, - { - "alpha_2": "BF", - "alpha_3": "BFA", - "flag": "๐Ÿ‡ง๐Ÿ‡ซ", - "name": "Burkina Faso", - "numeric": "854" - }, - { - "alpha_2": "BD", - "alpha_3": "BGD", - "flag": "๐Ÿ‡ง๐Ÿ‡ฉ", - "name": "Bangladesh", - "numeric": "050", - "official_name": "People's Republic of Bangladesh" - }, - { - "alpha_2": "BG", - "alpha_3": "BGR", - "flag": "๐Ÿ‡ง๐Ÿ‡ฌ", - "name": "Bulgaria", - "numeric": "100", - "official_name": "Republic of Bulgaria" - }, - { - "alpha_2": "BH", - "alpha_3": "BHR", - "flag": "๐Ÿ‡ง๐Ÿ‡ญ", - "name": "Bahrain", - "numeric": "048", - "official_name": "Kingdom of Bahrain" - }, - { - "alpha_2": "BS", - "alpha_3": "BHS", - "flag": "๐Ÿ‡ง๐Ÿ‡ธ", - "name": "Bahamas", - "numeric": "044", - "official_name": "Commonwealth of the Bahamas" - }, - { - "alpha_2": "BA", - "alpha_3": "BIH", - "flag": "๐Ÿ‡ง๐Ÿ‡ฆ", - "name": "Bosnia and Herzegovina", - "numeric": "070", - "official_name": "Republic of Bosnia and Herzegovina" - }, - { - "alpha_2": "BL", - "alpha_3": "BLM", - "flag": "๐Ÿ‡ง๐Ÿ‡ฑ", - "name": "Saint Barthรฉlemy", - "numeric": "652" - }, - { - "alpha_2": "BY", - "alpha_3": "BLR", - "flag": "๐Ÿ‡ง๐Ÿ‡พ", - "name": "Belarus", - "numeric": "112", - "official_name": "Republic of Belarus" - }, - { - "alpha_2": "BZ", - "alpha_3": "BLZ", - "flag": "๐Ÿ‡ง๐Ÿ‡ฟ", - "name": "Belize", - "numeric": "084" - }, - { - "alpha_2": "BM", - "alpha_3": "BMU", - "flag": "๐Ÿ‡ง๐Ÿ‡ฒ", - "name": "Bermuda", - "numeric": "060" - }, - { - "alpha_2": "BO", - "alpha_3": "BOL", - "common_name": "Bolivia", - "flag": "๐Ÿ‡ง๐Ÿ‡ด", - "name": "Bolivia, Plurinational State of", - "numeric": "068", - "official_name": "Plurinational State of Bolivia" - }, - { - "alpha_2": "BR", - "alpha_3": "BRA", - "flag": "๐Ÿ‡ง๐Ÿ‡ท", - "name": "Brazil", - "numeric": "076", - "official_name": "Federative Republic of Brazil" - }, - { - "alpha_2": "BB", - "alpha_3": "BRB", - "flag": "๐Ÿ‡ง๐Ÿ‡ง", - "name": "Barbados", - "numeric": "052" - }, - { - "alpha_2": "BN", - "alpha_3": "BRN", - "flag": "๐Ÿ‡ง๐Ÿ‡ณ", - "name": "Brunei Darussalam", - "numeric": "096" - }, - { - "alpha_2": "BT", - "alpha_3": "BTN", - "flag": "๐Ÿ‡ง๐Ÿ‡น", - "name": "Bhutan", - "numeric": "064", - "official_name": "Kingdom of Bhutan" - }, - { - "alpha_2": "BV", - "alpha_3": "BVT", - "flag": "๐Ÿ‡ง๐Ÿ‡ป", - "name": "Bouvet Island", - "numeric": "074" - }, - { - "alpha_2": "BW", - "alpha_3": "BWA", - "flag": "๐Ÿ‡ง๐Ÿ‡ผ", - "name": "Botswana", - "numeric": "072", - "official_name": "Republic of Botswana" - }, - { - "alpha_2": "CF", - "alpha_3": "CAF", - "flag": "๐Ÿ‡จ๐Ÿ‡ซ", - "name": "Central African Republic", - "numeric": "140" - }, - { - "alpha_2": "CA", - "alpha_3": "CAN", - "flag": "๐Ÿ‡จ๐Ÿ‡ฆ", - "name": "Canada", - "numeric": "124" - }, - { - "alpha_2": "CC", - "alpha_3": "CCK", - "flag": "๐Ÿ‡จ๐Ÿ‡จ", - "name": "Cocos (Keeling) Islands", - "numeric": "166" - }, - { - "alpha_2": "CH", - "alpha_3": "CHE", - "flag": "๐Ÿ‡จ๐Ÿ‡ญ", - "name": "Switzerland", - "numeric": "756", - "official_name": "Swiss Confederation" - }, - { - "alpha_2": "CL", - "alpha_3": "CHL", - "flag": "๐Ÿ‡จ๐Ÿ‡ฑ", - "name": "Chile", - "numeric": "152", - "official_name": "Republic of Chile" - }, - { - "alpha_2": "CN", - "alpha_3": "CHN", - "flag": "๐Ÿ‡จ๐Ÿ‡ณ", - "name": "China", - "numeric": "156", - "official_name": "People's Republic of China" - }, - { - "alpha_2": "CI", - "alpha_3": "CIV", - "flag": "๐Ÿ‡จ๐Ÿ‡ฎ", - "name": "Cรดte d'Ivoire", - "numeric": "384", - "official_name": "Republic of Cรดte d'Ivoire" - }, - { - "alpha_2": "CM", - "alpha_3": "CMR", - "flag": "๐Ÿ‡จ๐Ÿ‡ฒ", - "name": "Cameroon", - "numeric": "120", - "official_name": "Republic of Cameroon" - }, - { - "alpha_2": "CD", - "alpha_3": "COD", - "flag": "๐Ÿ‡จ๐Ÿ‡ฉ", - "name": "Congo, The Democratic Republic of the", - "numeric": "180" - }, - { - "alpha_2": "CG", - "alpha_3": "COG", - "flag": "๐Ÿ‡จ๐Ÿ‡ฌ", - "name": "Congo", - "numeric": "178", - "official_name": "Republic of the Congo" - }, - { - "alpha_2": "CK", - "alpha_3": "COK", - "flag": "๐Ÿ‡จ๐Ÿ‡ฐ", - "name": "Cook Islands", - "numeric": "184" - }, - { - "alpha_2": "CO", - "alpha_3": "COL", - "flag": "๐Ÿ‡จ๐Ÿ‡ด", - "name": "Colombia", - "numeric": "170", - "official_name": "Republic of Colombia" - }, - { - "alpha_2": "KM", - "alpha_3": "COM", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ฒ", - "name": "Comoros", - "numeric": "174", - "official_name": "Union of the Comoros" - }, - { - "alpha_2": "CV", - "alpha_3": "CPV", - "flag": "๐Ÿ‡จ๐Ÿ‡ป", - "name": "Cabo Verde", - "numeric": "132", - "official_name": "Republic of Cabo Verde" - }, - { - "alpha_2": "CR", - "alpha_3": "CRI", - "flag": "๐Ÿ‡จ๐Ÿ‡ท", - "name": "Costa Rica", - "numeric": "188", - "official_name": "Republic of Costa Rica" - }, - { - "alpha_2": "CU", - "alpha_3": "CUB", - "flag": "๐Ÿ‡จ๐Ÿ‡บ", - "name": "Cuba", - "numeric": "192", - "official_name": "Republic of Cuba" - }, - { - "alpha_2": "CW", - "alpha_3": "CUW", - "flag": "๐Ÿ‡จ๐Ÿ‡ผ", - "name": "Curaรงao", - "numeric": "531", - "official_name": "Curaรงao" - }, - { - "alpha_2": "CX", - "alpha_3": "CXR", - "flag": "๐Ÿ‡จ๐Ÿ‡ฝ", - "name": "Christmas Island", - "numeric": "162" - }, - { - "alpha_2": "KY", - "alpha_3": "CYM", - "flag": "๐Ÿ‡ฐ๐Ÿ‡พ", - "name": "Cayman Islands", - "numeric": "136" - }, - { - "alpha_2": "CY", - "alpha_3": "CYP", - "flag": "๐Ÿ‡จ๐Ÿ‡พ", - "name": "Cyprus", - "numeric": "196", - "official_name": "Republic of Cyprus" - }, - { - "alpha_2": "CZ", - "alpha_3": "CZE", - "flag": "๐Ÿ‡จ๐Ÿ‡ฟ", - "name": "Czechia", - "numeric": "203", - "official_name": "Czech Republic" - }, - { - "alpha_2": "DE", - "alpha_3": "DEU", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ช", - "name": "Germany", - "numeric": "276", - "official_name": "Federal Republic of Germany" - }, - { - "alpha_2": "DJ", - "alpha_3": "DJI", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ฏ", - "name": "Djibouti", - "numeric": "262", - "official_name": "Republic of Djibouti" - }, - { - "alpha_2": "DM", - "alpha_3": "DMA", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ฒ", - "name": "Dominica", - "numeric": "212", - "official_name": "Commonwealth of Dominica" - }, - { - "alpha_2": "DK", - "alpha_3": "DNK", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ฐ", - "name": "Denmark", - "numeric": "208", - "official_name": "Kingdom of Denmark" - }, - { - "alpha_2": "DO", - "alpha_3": "DOM", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ด", - "name": "Dominican Republic", - "numeric": "214" - }, - { - "alpha_2": "DZ", - "alpha_3": "DZA", - "flag": "๐Ÿ‡ฉ๐Ÿ‡ฟ", - "name": "Algeria", - "numeric": "012", - "official_name": "People's Democratic Republic of Algeria" - }, - { - "alpha_2": "EC", - "alpha_3": "ECU", - "flag": "๐Ÿ‡ช๐Ÿ‡จ", - "name": "Ecuador", - "numeric": "218", - "official_name": "Republic of Ecuador" - }, - { - "alpha_2": "EG", - "alpha_3": "EGY", - "flag": "๐Ÿ‡ช๐Ÿ‡ฌ", - "name": "Egypt", - "numeric": "818", - "official_name": "Arab Republic of Egypt" - }, - { - "alpha_2": "ER", - "alpha_3": "ERI", - "flag": "๐Ÿ‡ช๐Ÿ‡ท", - "name": "Eritrea", - "numeric": "232", - "official_name": "the State of Eritrea" - }, - { - "alpha_2": "EH", - "alpha_3": "ESH", - "flag": "๐Ÿ‡ช๐Ÿ‡ญ", - "name": "Western Sahara", - "numeric": "732" - }, - { - "alpha_2": "ES", - "alpha_3": "ESP", - "flag": "๐Ÿ‡ช๐Ÿ‡ธ", - "name": "Spain", - "numeric": "724", - "official_name": "Kingdom of Spain" - }, - { - "alpha_2": "EE", - "alpha_3": "EST", - "flag": "๐Ÿ‡ช๐Ÿ‡ช", - "name": "Estonia", - "numeric": "233", - "official_name": "Republic of Estonia" - }, - { - "alpha_2": "ET", - "alpha_3": "ETH", - "flag": "๐Ÿ‡ช๐Ÿ‡น", - "name": "Ethiopia", - "numeric": "231", - "official_name": "Federal Democratic Republic of Ethiopia" - }, - { - "alpha_2": "FI", - "alpha_3": "FIN", - "flag": "๐Ÿ‡ซ๐Ÿ‡ฎ", - "name": "Finland", - "numeric": "246", - "official_name": "Republic of Finland" - }, - { - "alpha_2": "FJ", - "alpha_3": "FJI", - "flag": "๐Ÿ‡ซ๐Ÿ‡ฏ", - "name": "Fiji", - "numeric": "242", - "official_name": "Republic of Fiji" - }, - { - "alpha_2": "FK", - "alpha_3": "FLK", - "flag": "๐Ÿ‡ซ๐Ÿ‡ฐ", - "name": "Falkland Islands (Malvinas)", - "numeric": "238" - }, - { - "alpha_2": "FR", - "alpha_3": "FRA", - "flag": "๐Ÿ‡ซ๐Ÿ‡ท", - "name": "France", - "numeric": "250", - "official_name": "French Republic" - }, - { - "alpha_2": "FO", - "alpha_3": "FRO", - "flag": "๐Ÿ‡ซ๐Ÿ‡ด", - "name": "Faroe Islands", - "numeric": "234" - }, - { - "alpha_2": "FM", - "alpha_3": "FSM", - "flag": "๐Ÿ‡ซ๐Ÿ‡ฒ", - "name": "Micronesia, Federated States of", - "numeric": "583", - "official_name": "Federated States of Micronesia" - }, - { - "alpha_2": "GA", - "alpha_3": "GAB", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฆ", - "name": "Gabon", - "numeric": "266", - "official_name": "Gabonese Republic" - }, - { - "alpha_2": "GB", - "alpha_3": "GBR", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ง", - "name": "United Kingdom", - "numeric": "826", - "official_name": "United Kingdom of Great Britain and Northern Ireland" - }, - { - "alpha_2": "GE", - "alpha_3": "GEO", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ช", - "name": "Georgia", - "numeric": "268" - }, - { - "alpha_2": "GG", - "alpha_3": "GGY", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฌ", - "name": "Guernsey", - "numeric": "831" - }, - { - "alpha_2": "GH", - "alpha_3": "GHA", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ญ", - "name": "Ghana", - "numeric": "288", - "official_name": "Republic of Ghana" - }, - { - "alpha_2": "GI", - "alpha_3": "GIB", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฎ", - "name": "Gibraltar", - "numeric": "292" - }, - { - "alpha_2": "GN", - "alpha_3": "GIN", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ณ", - "name": "Guinea", - "numeric": "324", - "official_name": "Republic of Guinea" - }, - { - "alpha_2": "GP", - "alpha_3": "GLP", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ต", - "name": "Guadeloupe", - "numeric": "312" - }, - { - "alpha_2": "GM", - "alpha_3": "GMB", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฒ", - "name": "Gambia", - "numeric": "270", - "official_name": "Republic of the Gambia" - }, - { - "alpha_2": "GW", - "alpha_3": "GNB", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ผ", - "name": "Guinea-Bissau", - "numeric": "624", - "official_name": "Republic of Guinea-Bissau" - }, - { - "alpha_2": "GQ", - "alpha_3": "GNQ", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ถ", - "name": "Equatorial Guinea", - "numeric": "226", - "official_name": "Republic of Equatorial Guinea" - }, - { - "alpha_2": "GR", - "alpha_3": "GRC", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ท", - "name": "Greece", - "numeric": "300", - "official_name": "Hellenic Republic" - }, - { - "alpha_2": "GD", - "alpha_3": "GRD", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฉ", - "name": "Grenada", - "numeric": "308" - }, - { - "alpha_2": "GL", - "alpha_3": "GRL", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ฑ", - "name": "Greenland", - "numeric": "304" - }, - { - "alpha_2": "GT", - "alpha_3": "GTM", - "flag": "๐Ÿ‡ฌ๐Ÿ‡น", - "name": "Guatemala", - "numeric": "320", - "official_name": "Republic of Guatemala" - }, - { - "alpha_2": "GF", - "alpha_3": "GUF", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ซ", - "name": "French Guiana", - "numeric": "254" - }, - { - "alpha_2": "GU", - "alpha_3": "GUM", - "flag": "๐Ÿ‡ฌ๐Ÿ‡บ", - "name": "Guam", - "numeric": "316" - }, - { - "alpha_2": "GY", - "alpha_3": "GUY", - "flag": "๐Ÿ‡ฌ๐Ÿ‡พ", - "name": "Guyana", - "numeric": "328", - "official_name": "Republic of Guyana" - }, - { - "alpha_2": "HK", - "alpha_3": "HKG", - "flag": "๐Ÿ‡ญ๐Ÿ‡ฐ", - "name": "Hong Kong", - "numeric": "344", - "official_name": "Hong Kong Special Administrative Region of China" - }, - { - "alpha_2": "HM", - "alpha_3": "HMD", - "flag": "๐Ÿ‡ญ๐Ÿ‡ฒ", - "name": "Heard Island and McDonald Islands", - "numeric": "334" - }, - { - "alpha_2": "HN", - "alpha_3": "HND", - "flag": "๐Ÿ‡ญ๐Ÿ‡ณ", - "name": "Honduras", - "numeric": "340", - "official_name": "Republic of Honduras" - }, - { - "alpha_2": "HR", - "alpha_3": "HRV", - "flag": "๐Ÿ‡ญ๐Ÿ‡ท", - "name": "Croatia", - "numeric": "191", - "official_name": "Republic of Croatia" - }, - { - "alpha_2": "HT", - "alpha_3": "HTI", - "flag": "๐Ÿ‡ญ๐Ÿ‡น", - "name": "Haiti", - "numeric": "332", - "official_name": "Republic of Haiti" - }, - { - "alpha_2": "HU", - "alpha_3": "HUN", - "flag": "๐Ÿ‡ญ๐Ÿ‡บ", - "name": "Hungary", - "numeric": "348", - "official_name": "Hungary" - }, - { - "alpha_2": "ID", - "alpha_3": "IDN", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ฉ", - "name": "Indonesia", - "numeric": "360", - "official_name": "Republic of Indonesia" - }, - { - "alpha_2": "IM", - "alpha_3": "IMN", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ฒ", - "name": "Isle of Man", - "numeric": "833" - }, - { - "alpha_2": "IN", - "alpha_3": "IND", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ณ", - "name": "India", - "numeric": "356", - "official_name": "Republic of India" - }, - { - "alpha_2": "IO", - "alpha_3": "IOT", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ด", - "name": "British Indian Ocean Territory", - "numeric": "086" - }, - { - "alpha_2": "IE", - "alpha_3": "IRL", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ช", - "name": "Ireland", - "numeric": "372" - }, - { - "alpha_2": "IR", - "alpha_3": "IRN", - "common_name": "Iran", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ท", - "name": "Iran, Islamic Republic of", - "numeric": "364", - "official_name": "Islamic Republic of Iran" - }, - { - "alpha_2": "IQ", - "alpha_3": "IRQ", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ถ", - "name": "Iraq", - "numeric": "368", - "official_name": "Republic of Iraq" - }, - { - "alpha_2": "IS", - "alpha_3": "ISL", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ธ", - "name": "Iceland", - "numeric": "352", - "official_name": "Republic of Iceland" - }, - { - "alpha_2": "IL", - "alpha_3": "ISR", - "flag": "๐Ÿ‡ฎ๐Ÿ‡ฑ", - "name": "Israel", - "numeric": "376", - "official_name": "State of Israel" - }, - { - "alpha_2": "IT", - "alpha_3": "ITA", - "flag": "๐Ÿ‡ฎ๐Ÿ‡น", - "name": "Italy", - "numeric": "380", - "official_name": "Italian Republic" - }, - { - "alpha_2": "JM", - "alpha_3": "JAM", - "flag": "๐Ÿ‡ฏ๐Ÿ‡ฒ", - "name": "Jamaica", - "numeric": "388" - }, - { - "alpha_2": "JE", - "alpha_3": "JEY", - "flag": "๐Ÿ‡ฏ๐Ÿ‡ช", - "name": "Jersey", - "numeric": "832" - }, - { - "alpha_2": "JO", - "alpha_3": "JOR", - "flag": "๐Ÿ‡ฏ๐Ÿ‡ด", - "name": "Jordan", - "numeric": "400", - "official_name": "Hashemite Kingdom of Jordan" - }, - { - "alpha_2": "JP", - "alpha_3": "JPN", - "flag": "๐Ÿ‡ฏ๐Ÿ‡ต", - "name": "Japan", - "numeric": "392" - }, - { - "alpha_2": "KZ", - "alpha_3": "KAZ", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ฟ", - "name": "Kazakhstan", - "numeric": "398", - "official_name": "Republic of Kazakhstan" - }, - { - "alpha_2": "KE", - "alpha_3": "KEN", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ช", - "name": "Kenya", - "numeric": "404", - "official_name": "Republic of Kenya" - }, - { - "alpha_2": "KG", - "alpha_3": "KGZ", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ฌ", - "name": "Kyrgyzstan", - "numeric": "417", - "official_name": "Kyrgyz Republic" - }, - { - "alpha_2": "KH", - "alpha_3": "KHM", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ญ", - "name": "Cambodia", - "numeric": "116", - "official_name": "Kingdom of Cambodia" - }, - { - "alpha_2": "KI", - "alpha_3": "KIR", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ฎ", - "name": "Kiribati", - "numeric": "296", - "official_name": "Republic of Kiribati" - }, - { - "alpha_2": "KN", - "alpha_3": "KNA", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ณ", - "name": "Saint Kitts and Nevis", - "numeric": "659" - }, - { - "alpha_2": "KR", - "alpha_3": "KOR", - "common_name": "South Korea", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ท", - "name": "Korea, Republic of", - "numeric": "410" - }, - { - "alpha_2": "KW", - "alpha_3": "KWT", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ผ", - "name": "Kuwait", - "numeric": "414", - "official_name": "State of Kuwait" - }, - { - "alpha_2": "LA", - "alpha_3": "LAO", - "common_name": "Laos", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ฆ", - "name": "Lao People's Democratic Republic", - "numeric": "418" - }, - { - "alpha_2": "LB", - "alpha_3": "LBN", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ง", - "name": "Lebanon", - "numeric": "422", - "official_name": "Lebanese Republic" - }, - { - "alpha_2": "LR", - "alpha_3": "LBR", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ท", - "name": "Liberia", - "numeric": "430", - "official_name": "Republic of Liberia" - }, - { - "alpha_2": "LY", - "alpha_3": "LBY", - "flag": "๐Ÿ‡ฑ๐Ÿ‡พ", - "name": "Libya", - "numeric": "434", - "official_name": "Libya" - }, - { - "alpha_2": "LC", - "alpha_3": "LCA", - "flag": "๐Ÿ‡ฑ๐Ÿ‡จ", - "name": "Saint Lucia", - "numeric": "662" - }, - { - "alpha_2": "LI", - "alpha_3": "LIE", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ฎ", - "name": "Liechtenstein", - "numeric": "438", - "official_name": "Principality of Liechtenstein" - }, - { - "alpha_2": "LK", - "alpha_3": "LKA", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ฐ", - "name": "Sri Lanka", - "numeric": "144", - "official_name": "Democratic Socialist Republic of Sri Lanka" - }, - { - "alpha_2": "LS", - "alpha_3": "LSO", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ธ", - "name": "Lesotho", - "numeric": "426", - "official_name": "Kingdom of Lesotho" - }, - { - "alpha_2": "LT", - "alpha_3": "LTU", - "flag": "๐Ÿ‡ฑ๐Ÿ‡น", - "name": "Lithuania", - "numeric": "440", - "official_name": "Republic of Lithuania" - }, - { - "alpha_2": "LU", - "alpha_3": "LUX", - "flag": "๐Ÿ‡ฑ๐Ÿ‡บ", - "name": "Luxembourg", - "numeric": "442", - "official_name": "Grand Duchy of Luxembourg" - }, - { - "alpha_2": "LV", - "alpha_3": "LVA", - "flag": "๐Ÿ‡ฑ๐Ÿ‡ป", - "name": "Latvia", - "numeric": "428", - "official_name": "Republic of Latvia" - }, - { - "alpha_2": "MO", - "alpha_3": "MAC", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ด", - "name": "Macao", - "numeric": "446", - "official_name": "Macao Special Administrative Region of China" - }, - { - "alpha_2": "MF", - "alpha_3": "MAF", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ซ", - "name": "Saint Martin (French part)", - "numeric": "663" - }, - { - "alpha_2": "MA", - "alpha_3": "MAR", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฆ", - "name": "Morocco", - "numeric": "504", - "official_name": "Kingdom of Morocco" - }, - { - "alpha_2": "MC", - "alpha_3": "MCO", - "flag": "๐Ÿ‡ฒ๐Ÿ‡จ", - "name": "Monaco", - "numeric": "492", - "official_name": "Principality of Monaco" - }, - { - "alpha_2": "MD", - "alpha_3": "MDA", - "common_name": "Moldova", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฉ", - "name": "Moldova, Republic of", - "numeric": "498", - "official_name": "Republic of Moldova" - }, - { - "alpha_2": "MG", - "alpha_3": "MDG", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฌ", - "name": "Madagascar", - "numeric": "450", - "official_name": "Republic of Madagascar" - }, - { - "alpha_2": "MV", - "alpha_3": "MDV", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ป", - "name": "Maldives", - "numeric": "462", - "official_name": "Republic of Maldives" - }, - { - "alpha_2": "MX", - "alpha_3": "MEX", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฝ", - "name": "Mexico", - "numeric": "484", - "official_name": "United Mexican States" - }, - { - "alpha_2": "MH", - "alpha_3": "MHL", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ญ", - "name": "Marshall Islands", - "numeric": "584", - "official_name": "Republic of the Marshall Islands" - }, - { - "alpha_2": "MK", - "alpha_3": "MKD", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฐ", - "name": "North Macedonia", - "numeric": "807", - "official_name": "Republic of North Macedonia" - }, - { - "alpha_2": "ML", - "alpha_3": "MLI", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฑ", - "name": "Mali", - "numeric": "466", - "official_name": "Republic of Mali" - }, - { - "alpha_2": "MT", - "alpha_3": "MLT", - "flag": "๐Ÿ‡ฒ๐Ÿ‡น", - "name": "Malta", - "numeric": "470", - "official_name": "Republic of Malta" - }, - { - "alpha_2": "MM", - "alpha_3": "MMR", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฒ", - "name": "Myanmar", - "numeric": "104", - "official_name": "Republic of Myanmar" - }, - { - "alpha_2": "ME", - "alpha_3": "MNE", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ช", - "name": "Montenegro", - "numeric": "499", - "official_name": "Montenegro" - }, - { - "alpha_2": "MN", - "alpha_3": "MNG", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ณ", - "name": "Mongolia", - "numeric": "496" - }, - { - "alpha_2": "MP", - "alpha_3": "MNP", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ต", - "name": "Northern Mariana Islands", - "numeric": "580", - "official_name": "Commonwealth of the Northern Mariana Islands" - }, - { - "alpha_2": "MZ", - "alpha_3": "MOZ", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ฟ", - "name": "Mozambique", - "numeric": "508", - "official_name": "Republic of Mozambique" - }, - { - "alpha_2": "MR", - "alpha_3": "MRT", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ท", - "name": "Mauritania", - "numeric": "478", - "official_name": "Islamic Republic of Mauritania" - }, - { - "alpha_2": "MS", - "alpha_3": "MSR", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ธ", - "name": "Montserrat", - "numeric": "500" - }, - { - "alpha_2": "MQ", - "alpha_3": "MTQ", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ถ", - "name": "Martinique", - "numeric": "474" - }, - { - "alpha_2": "MU", - "alpha_3": "MUS", - "flag": "๐Ÿ‡ฒ๐Ÿ‡บ", - "name": "Mauritius", - "numeric": "480", - "official_name": "Republic of Mauritius" - }, - { - "alpha_2": "MW", - "alpha_3": "MWI", - "flag": "๐Ÿ‡ฒ๐Ÿ‡ผ", - "name": "Malawi", - "numeric": "454", - "official_name": "Republic of Malawi" - }, - { - "alpha_2": "MY", - "alpha_3": "MYS", - "flag": "๐Ÿ‡ฒ๐Ÿ‡พ", - "name": "Malaysia", - "numeric": "458" - }, - { - "alpha_2": "YT", - "alpha_3": "MYT", - "flag": "๐Ÿ‡พ๐Ÿ‡น", - "name": "Mayotte", - "numeric": "175" - }, - { - "alpha_2": "NA", - "alpha_3": "NAM", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฆ", - "name": "Namibia", - "numeric": "516", - "official_name": "Republic of Namibia" - }, - { - "alpha_2": "NC", - "alpha_3": "NCL", - "flag": "๐Ÿ‡ณ๐Ÿ‡จ", - "name": "New Caledonia", - "numeric": "540" - }, - { - "alpha_2": "NE", - "alpha_3": "NER", - "flag": "๐Ÿ‡ณ๐Ÿ‡ช", - "name": "Niger", - "numeric": "562", - "official_name": "Republic of the Niger" - }, - { - "alpha_2": "NF", - "alpha_3": "NFK", - "flag": "๐Ÿ‡ณ๐Ÿ‡ซ", - "name": "Norfolk Island", - "numeric": "574" - }, - { - "alpha_2": "NG", - "alpha_3": "NGA", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฌ", - "name": "Nigeria", - "numeric": "566", - "official_name": "Federal Republic of Nigeria" - }, - { - "alpha_2": "NI", - "alpha_3": "NIC", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฎ", - "name": "Nicaragua", - "numeric": "558", - "official_name": "Republic of Nicaragua" - }, - { - "alpha_2": "NU", - "alpha_3": "NIU", - "flag": "๐Ÿ‡ณ๐Ÿ‡บ", - "name": "Niue", - "numeric": "570", - "official_name": "Niue" - }, - { - "alpha_2": "NL", - "alpha_3": "NLD", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฑ", - "name": "Netherlands", - "numeric": "528", - "official_name": "Kingdom of the Netherlands" - }, - { - "alpha_2": "NO", - "alpha_3": "NOR", - "flag": "๐Ÿ‡ณ๐Ÿ‡ด", - "name": "Norway", - "numeric": "578", - "official_name": "Kingdom of Norway" - }, - { - "alpha_2": "NP", - "alpha_3": "NPL", - "flag": "๐Ÿ‡ณ๐Ÿ‡ต", - "name": "Nepal", - "numeric": "524", - "official_name": "Federal Democratic Republic of Nepal" - }, - { - "alpha_2": "NR", - "alpha_3": "NRU", - "flag": "๐Ÿ‡ณ๐Ÿ‡ท", - "name": "Nauru", - "numeric": "520", - "official_name": "Republic of Nauru" - }, - { - "alpha_2": "NZ", - "alpha_3": "NZL", - "flag": "๐Ÿ‡ณ๐Ÿ‡ฟ", - "name": "New Zealand", - "numeric": "554" - }, - { - "alpha_2": "OM", - "alpha_3": "OMN", - "flag": "๐Ÿ‡ด๐Ÿ‡ฒ", - "name": "Oman", - "numeric": "512", - "official_name": "Sultanate of Oman" - }, - { - "alpha_2": "PK", - "alpha_3": "PAK", - "flag": "๐Ÿ‡ต๐Ÿ‡ฐ", - "name": "Pakistan", - "numeric": "586", - "official_name": "Islamic Republic of Pakistan" - }, - { - "alpha_2": "PA", - "alpha_3": "PAN", - "flag": "๐Ÿ‡ต๐Ÿ‡ฆ", - "name": "Panama", - "numeric": "591", - "official_name": "Republic of Panama" - }, - { - "alpha_2": "PN", - "alpha_3": "PCN", - "flag": "๐Ÿ‡ต๐Ÿ‡ณ", - "name": "Pitcairn", - "numeric": "612" - }, - { - "alpha_2": "PE", - "alpha_3": "PER", - "flag": "๐Ÿ‡ต๐Ÿ‡ช", - "name": "Peru", - "numeric": "604", - "official_name": "Republic of Peru" - }, - { - "alpha_2": "PH", - "alpha_3": "PHL", - "flag": "๐Ÿ‡ต๐Ÿ‡ญ", - "name": "Philippines", - "numeric": "608", - "official_name": "Republic of the Philippines" - }, - { - "alpha_2": "PW", - "alpha_3": "PLW", - "flag": "๐Ÿ‡ต๐Ÿ‡ผ", - "name": "Palau", - "numeric": "585", - "official_name": "Republic of Palau" - }, - { - "alpha_2": "PG", - "alpha_3": "PNG", - "flag": "๐Ÿ‡ต๐Ÿ‡ฌ", - "name": "Papua New Guinea", - "numeric": "598", - "official_name": "Independent State of Papua New Guinea" - }, - { - "alpha_2": "PL", - "alpha_3": "POL", - "flag": "๐Ÿ‡ต๐Ÿ‡ฑ", - "name": "Poland", - "numeric": "616", - "official_name": "Republic of Poland" - }, - { - "alpha_2": "PR", - "alpha_3": "PRI", - "flag": "๐Ÿ‡ต๐Ÿ‡ท", - "name": "Puerto Rico", - "numeric": "630" - }, - { - "alpha_2": "KP", - "alpha_3": "PRK", - "common_name": "North Korea", - "flag": "๐Ÿ‡ฐ๐Ÿ‡ต", - "name": "Korea, Democratic People's Republic of", - "numeric": "408", - "official_name": "Democratic People's Republic of Korea" - }, - { - "alpha_2": "PT", - "alpha_3": "PRT", - "flag": "๐Ÿ‡ต๐Ÿ‡น", - "name": "Portugal", - "numeric": "620", - "official_name": "Portuguese Republic" - }, - { - "alpha_2": "PY", - "alpha_3": "PRY", - "flag": "๐Ÿ‡ต๐Ÿ‡พ", - "name": "Paraguay", - "numeric": "600", - "official_name": "Republic of Paraguay" - }, - { - "alpha_2": "PS", - "alpha_3": "PSE", - "flag": "๐Ÿ‡ต๐Ÿ‡ธ", - "name": "Palestine, State of", - "numeric": "275", - "official_name": "the State of Palestine" - }, - { - "alpha_2": "PF", - "alpha_3": "PYF", - "flag": "๐Ÿ‡ต๐Ÿ‡ซ", - "name": "French Polynesia", - "numeric": "258" - }, - { - "alpha_2": "QA", - "alpha_3": "QAT", - "flag": "๐Ÿ‡ถ๐Ÿ‡ฆ", - "name": "Qatar", - "numeric": "634", - "official_name": "State of Qatar" - }, - { - "alpha_2": "RE", - "alpha_3": "REU", - "flag": "๐Ÿ‡ท๐Ÿ‡ช", - "name": "Rรฉunion", - "numeric": "638" - }, - { - "alpha_2": "RO", - "alpha_3": "ROU", - "flag": "๐Ÿ‡ท๐Ÿ‡ด", - "name": "Romania", - "numeric": "642" - }, - { - "alpha_2": "RU", - "alpha_3": "RUS", - "flag": "๐Ÿ‡ท๐Ÿ‡บ", - "name": "Russian Federation", - "numeric": "643" - }, - { - "alpha_2": "RW", - "alpha_3": "RWA", - "flag": "๐Ÿ‡ท๐Ÿ‡ผ", - "name": "Rwanda", - "numeric": "646", - "official_name": "Rwandese Republic" - }, - { - "alpha_2": "SA", - "alpha_3": "SAU", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฆ", - "name": "Saudi Arabia", - "numeric": "682", - "official_name": "Kingdom of Saudi Arabia" - }, - { - "alpha_2": "SD", - "alpha_3": "SDN", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฉ", - "name": "Sudan", - "numeric": "729", - "official_name": "Republic of the Sudan" - }, - { - "alpha_2": "SN", - "alpha_3": "SEN", - "flag": "๐Ÿ‡ธ๐Ÿ‡ณ", - "name": "Senegal", - "numeric": "686", - "official_name": "Republic of Senegal" - }, - { - "alpha_2": "SG", - "alpha_3": "SGP", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฌ", - "name": "Singapore", - "numeric": "702", - "official_name": "Republic of Singapore" - }, - { - "alpha_2": "GS", - "alpha_3": "SGS", - "flag": "๐Ÿ‡ฌ๐Ÿ‡ธ", - "name": "South Georgia and the South Sandwich Islands", - "numeric": "239" - }, - { - "alpha_2": "SH", - "alpha_3": "SHN", - "flag": "๐Ÿ‡ธ๐Ÿ‡ญ", - "name": "Saint Helena, Ascension and Tristan da Cunha", - "numeric": "654" - }, - { - "alpha_2": "SJ", - "alpha_3": "SJM", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฏ", - "name": "Svalbard and Jan Mayen", - "numeric": "744" - }, - { - "alpha_2": "SB", - "alpha_3": "SLB", - "flag": "๐Ÿ‡ธ๐Ÿ‡ง", - "name": "Solomon Islands", - "numeric": "090" - }, - { - "alpha_2": "SL", - "alpha_3": "SLE", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฑ", - "name": "Sierra Leone", - "numeric": "694", - "official_name": "Republic of Sierra Leone" - }, - { - "alpha_2": "SV", - "alpha_3": "SLV", - "flag": "๐Ÿ‡ธ๐Ÿ‡ป", - "name": "El Salvador", - "numeric": "222", - "official_name": "Republic of El Salvador" - }, - { - "alpha_2": "SM", - "alpha_3": "SMR", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฒ", - "name": "San Marino", - "numeric": "674", - "official_name": "Republic of San Marino" - }, - { - "alpha_2": "SO", - "alpha_3": "SOM", - "flag": "๐Ÿ‡ธ๐Ÿ‡ด", - "name": "Somalia", - "numeric": "706", - "official_name": "Federal Republic of Somalia" - }, - { - "alpha_2": "PM", - "alpha_3": "SPM", - "flag": "๐Ÿ‡ต๐Ÿ‡ฒ", - "name": "Saint Pierre and Miquelon", - "numeric": "666" - }, - { - "alpha_2": "RS", - "alpha_3": "SRB", - "flag": "๐Ÿ‡ท๐Ÿ‡ธ", - "name": "Serbia", - "numeric": "688", - "official_name": "Republic of Serbia" - }, - { - "alpha_2": "SS", - "alpha_3": "SSD", - "flag": "๐Ÿ‡ธ๐Ÿ‡ธ", - "name": "South Sudan", - "numeric": "728", - "official_name": "Republic of South Sudan" - }, - { - "alpha_2": "ST", - "alpha_3": "STP", - "flag": "๐Ÿ‡ธ๐Ÿ‡น", - "name": "Sao Tome and Principe", - "numeric": "678", - "official_name": "Democratic Republic of Sao Tome and Principe" - }, - { - "alpha_2": "SR", - "alpha_3": "SUR", - "flag": "๐Ÿ‡ธ๐Ÿ‡ท", - "name": "Suriname", - "numeric": "740", - "official_name": "Republic of Suriname" - }, - { - "alpha_2": "SK", - "alpha_3": "SVK", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฐ", - "name": "Slovakia", - "numeric": "703", - "official_name": "Slovak Republic" - }, - { - "alpha_2": "SI", - "alpha_3": "SVN", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฎ", - "name": "Slovenia", - "numeric": "705", - "official_name": "Republic of Slovenia" - }, - { - "alpha_2": "SE", - "alpha_3": "SWE", - "flag": "๐Ÿ‡ธ๐Ÿ‡ช", - "name": "Sweden", - "numeric": "752", - "official_name": "Kingdom of Sweden" - }, - { - "alpha_2": "SZ", - "alpha_3": "SWZ", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฟ", - "name": "Eswatini", - "numeric": "748", - "official_name": "Kingdom of Eswatini" - }, - { - "alpha_2": "SX", - "alpha_3": "SXM", - "flag": "๐Ÿ‡ธ๐Ÿ‡ฝ", - "name": "Sint Maarten (Dutch part)", - "numeric": "534", - "official_name": "Sint Maarten (Dutch part)" - }, - { - "alpha_2": "SC", - "alpha_3": "SYC", - "flag": "๐Ÿ‡ธ๐Ÿ‡จ", - "name": "Seychelles", - "numeric": "690", - "official_name": "Republic of Seychelles" - }, - { - "alpha_2": "SY", - "alpha_3": "SYR", - "common_name": "Syria", - "flag": "๐Ÿ‡ธ๐Ÿ‡พ", - "name": "Syrian Arab Republic", - "numeric": "760" - }, - { - "alpha_2": "TC", - "alpha_3": "TCA", - "flag": "๐Ÿ‡น๐Ÿ‡จ", - "name": "Turks and Caicos Islands", - "numeric": "796" - }, - { - "alpha_2": "TD", - "alpha_3": "TCD", - "flag": "๐Ÿ‡น๐Ÿ‡ฉ", - "name": "Chad", - "numeric": "148", - "official_name": "Republic of Chad" - }, - { - "alpha_2": "TG", - "alpha_3": "TGO", - "flag": "๐Ÿ‡น๐Ÿ‡ฌ", - "name": "Togo", - "numeric": "768", - "official_name": "Togolese Republic" - }, - { - "alpha_2": "TH", - "alpha_3": "THA", - "flag": "๐Ÿ‡น๐Ÿ‡ญ", - "name": "Thailand", - "numeric": "764", - "official_name": "Kingdom of Thailand" - }, - { - "alpha_2": "TJ", - "alpha_3": "TJK", - "flag": "๐Ÿ‡น๐Ÿ‡ฏ", - "name": "Tajikistan", - "numeric": "762", - "official_name": "Republic of Tajikistan" - }, - { - "alpha_2": "TK", - "alpha_3": "TKL", - "flag": "๐Ÿ‡น๐Ÿ‡ฐ", - "name": "Tokelau", - "numeric": "772" - }, - { - "alpha_2": "TM", - "alpha_3": "TKM", - "flag": "๐Ÿ‡น๐Ÿ‡ฒ", - "name": "Turkmenistan", - "numeric": "795" - }, - { - "alpha_2": "TL", - "alpha_3": "TLS", - "flag": "๐Ÿ‡น๐Ÿ‡ฑ", - "name": "Timor-Leste", - "numeric": "626", - "official_name": "Democratic Republic of Timor-Leste" - }, - { - "alpha_2": "TO", - "alpha_3": "TON", - "flag": "๐Ÿ‡น๐Ÿ‡ด", - "name": "Tonga", - "numeric": "776", - "official_name": "Kingdom of Tonga" - }, - { - "alpha_2": "TT", - "alpha_3": "TTO", - "flag": "๐Ÿ‡น๐Ÿ‡น", - "name": "Trinidad and Tobago", - "numeric": "780", - "official_name": "Republic of Trinidad and Tobago" - }, - { - "alpha_2": "TN", - "alpha_3": "TUN", - "flag": "๐Ÿ‡น๐Ÿ‡ณ", - "name": "Tunisia", - "numeric": "788", - "official_name": "Republic of Tunisia" - }, - { - "alpha_2": "TR", - "alpha_3": "TUR", - "flag": "๐Ÿ‡น๐Ÿ‡ท", - "name": "Tรผrkiye", - "numeric": "792", - "official_name": "Republic of Tรผrkiye" - }, - { - "alpha_2": "TV", - "alpha_3": "TUV", - "flag": "๐Ÿ‡น๐Ÿ‡ป", - "name": "Tuvalu", - "numeric": "798" - }, - { - "alpha_2": "TW", - "alpha_3": "TWN", - "common_name": "Taiwan", - "flag": "๐Ÿ‡น๐Ÿ‡ผ", - "name": "Taiwan, Province of China", - "numeric": "158", - "official_name": "Taiwan, Province of China" - }, - { - "alpha_2": "TZ", - "alpha_3": "TZA", - "common_name": "Tanzania", - "flag": "๐Ÿ‡น๐Ÿ‡ฟ", - "name": "Tanzania, United Republic of", - "numeric": "834", - "official_name": "United Republic of Tanzania" - }, - { - "alpha_2": "UG", - "alpha_3": "UGA", - "flag": "๐Ÿ‡บ๐Ÿ‡ฌ", - "name": "Uganda", - "numeric": "800", - "official_name": "Republic of Uganda" - }, - { - "alpha_2": "UA", - "alpha_3": "UKR", - "flag": "๐Ÿ‡บ๐Ÿ‡ฆ", - "name": "Ukraine", - "numeric": "804" - }, - { - "alpha_2": "UM", - "alpha_3": "UMI", - "flag": "๐Ÿ‡บ๐Ÿ‡ฒ", - "name": "United States Minor Outlying Islands", - "numeric": "581" - }, - { - "alpha_2": "UY", - "alpha_3": "URY", - "flag": "๐Ÿ‡บ๐Ÿ‡พ", - "name": "Uruguay", - "numeric": "858", - "official_name": "Eastern Republic of Uruguay" - }, - { - "alpha_2": "US", - "alpha_3": "USA", - "flag": "๐Ÿ‡บ๐Ÿ‡ธ", - "name": "United States", - "numeric": "840", - "official_name": "United States of America" - }, - { - "alpha_2": "UZ", - "alpha_3": "UZB", - "flag": "๐Ÿ‡บ๐Ÿ‡ฟ", - "name": "Uzbekistan", - "numeric": "860", - "official_name": "Republic of Uzbekistan" - }, - { - "alpha_2": "VA", - "alpha_3": "VAT", - "flag": "๐Ÿ‡ป๐Ÿ‡ฆ", - "name": "Holy See (Vatican City State)", - "numeric": "336" - }, - { - "alpha_2": "VC", - "alpha_3": "VCT", - "flag": "๐Ÿ‡ป๐Ÿ‡จ", - "name": "Saint Vincent and the Grenadines", - "numeric": "670" - }, - { - "alpha_2": "VE", - "alpha_3": "VEN", - "common_name": "Venezuela", - "flag": "๐Ÿ‡ป๐Ÿ‡ช", - "name": "Venezuela, Bolivarian Republic of", - "numeric": "862", - "official_name": "Bolivarian Republic of Venezuela" - }, - { - "alpha_2": "VG", - "alpha_3": "VGB", - "flag": "๐Ÿ‡ป๐Ÿ‡ฌ", - "name": "Virgin Islands, British", - "numeric": "092", - "official_name": "British Virgin Islands" - }, - { - "alpha_2": "VI", - "alpha_3": "VIR", - "flag": "๐Ÿ‡ป๐Ÿ‡ฎ", - "name": "Virgin Islands, U.S.", - "numeric": "850", - "official_name": "Virgin Islands of the United States" - }, - { - "alpha_2": "VN", - "alpha_3": "VNM", - "common_name": "Vietnam", - "flag": "๐Ÿ‡ป๐Ÿ‡ณ", - "name": "Viet Nam", - "numeric": "704", - "official_name": "Socialist Republic of Viet Nam" - }, - { - "alpha_2": "VU", - "alpha_3": "VUT", - "flag": "๐Ÿ‡ป๐Ÿ‡บ", - "name": "Vanuatu", - "numeric": "548", - "official_name": "Republic of Vanuatu" - }, - { - "alpha_2": "WF", - "alpha_3": "WLF", - "flag": "๐Ÿ‡ผ๐Ÿ‡ซ", - "name": "Wallis and Futuna", - "numeric": "876" - }, - { - "alpha_2": "WS", - "alpha_3": "WSM", - "flag": "๐Ÿ‡ผ๐Ÿ‡ธ", - "name": "Samoa", - "numeric": "882", - "official_name": "Independent State of Samoa" - }, - { - "alpha_2": "YE", - "alpha_3": "YEM", - "flag": "๐Ÿ‡พ๐Ÿ‡ช", - "name": "Yemen", - "numeric": "887", - "official_name": "Republic of Yemen" - }, - { - "alpha_2": "ZA", - "alpha_3": "ZAF", - "flag": "๐Ÿ‡ฟ๐Ÿ‡ฆ", - "name": "South Africa", - "numeric": "710", - "official_name": "Republic of South Africa" - }, - { - "alpha_2": "ZM", - "alpha_3": "ZMB", - "flag": "๐Ÿ‡ฟ๐Ÿ‡ฒ", - "name": "Zambia", - "numeric": "894", - "official_name": "Republic of Zambia" - }, - { - "alpha_2": "ZW", - "alpha_3": "ZWE", - "flag": "๐Ÿ‡ฟ๐Ÿ‡ผ", - "name": "Zimbabwe", - "numeric": "716", - "official_name": "Republic of Zimbabwe" - } - ] -} diff --git a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs b/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs deleted file mode 100644 index c072310..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryHandler.cs +++ /dev/null @@ -1,41 +0,0 @@ -๏ปฟusing System.Text.Json; -using HawkN.Iso.Countries.Generators.Models; -namespace HawkN.Iso.Countries.Generators.Handlers; - -internal sealed class JsonCountryHandler(string jsonContent) -{ - public List LoadActualCountries() - { - var result = new List(); - - if (string.IsNullOrWhiteSpace(jsonContent)) - return result; - - try - { - var data = JsonSerializer.Deserialize(jsonContent); - - if (data?.Countries == null) - return result; - - result.AddRange(from entry in data.Countries - where IsValidEntry(entry) - select new Country(entry.Name.Trim(), entry.Alpha2.Trim().ToUpperInvariant(), - entry.Alpha3.Trim().ToUpperInvariant(), entry.Numeric.Trim(), entry.OfficialName?.Trim())); - } - catch (JsonException ex) - { - throw new InvalidDataException("Failed to parse ISO-3166 JSON data.", ex); - } - - return result; - } - - private static bool IsValidEntry(DebianCountryEntry entry) - { - return !string.IsNullOrWhiteSpace(entry.Name) && - !string.IsNullOrWhiteSpace(entry.Alpha2) && entry.Alpha2.Length == 2 && - !string.IsNullOrWhiteSpace(entry.Alpha3) && entry.Alpha3.Length == 3 && - !string.IsNullOrWhiteSpace(entry.Numeric); - } -} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs b/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs deleted file mode 100644 index dcceeb3..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Handlers/JsonCountryLoader.cs +++ /dev/null @@ -1,18 +0,0 @@ -๏ปฟnamespace HawkN.Iso.Countries.Generators.Handlers; - -internal sealed class JsonCountryLoader -{ - private readonly List _actualCountries = []; - - public List ActualCountries => _actualCountries; - - public JsonCountryLoader(string actualJson) - { - var actual = new JsonCountryHandler(actualJson) - .LoadActualCountries() - .OrderBy(c => c.Name) - .ToList(); - - _actualCountries.AddRange(actual); - } -} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj b/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj index a532ce2..71fecfa 100644 --- a/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj +++ b/src/packages/HawkN.Iso.Countries.Generators/HawkN.Iso.Countries.Generators.csproj @@ -12,7 +12,7 @@ true false 8.0.0.0 - Copyright ยฉ 2025 Nikolay Selyutin (HawkN113) + Copyright ยฉ 2026 Nikolay Selyutin (HawkN113) true false true diff --git a/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs b/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs index 1185aef..42fc840 100644 --- a/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs +++ b/src/packages/HawkN.Iso.Countries.Generators/LocalCountryDatabaseGenerator.cs @@ -73,11 +73,9 @@ static string ReadIsoResource(Compilation compilation, CancellationToken ct) Constants.GeneratorName, Constants.DefaultNamespace, Constants.ExtendedSourceData, - [ - "System.Collections.Generic", - "System.Collections.Immutable", - "HawkN.Iso.Countries.Models" - ]); + Constants.SystemNamespaces + .Concat(Constants.ReferencesNamespaces) + .ToArray()); sb.AppendLine(" /// ") .AppendLine(" /// Country information ISO3166") diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs deleted file mode 100644 index b81794a..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianCountryEntry.cs +++ /dev/null @@ -1,19 +0,0 @@ -๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; - -internal class DebianCountryEntry -{ - [System.Text.Json.Serialization.JsonPropertyName("name")] - public string Name { get; set; } = string.Empty; - - [System.Text.Json.Serialization.JsonPropertyName("official_name")] - public string? OfficialName { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("alpha_2")] - public string Alpha2 { get; set; } = string.Empty; - - [System.Text.Json.Serialization.JsonPropertyName("alpha_3")] - public string Alpha3 { get; set; } = string.Empty; - - [System.Text.Json.Serialization.JsonPropertyName("numeric")] - public string Numeric { get; set; } = string.Empty; -} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs b/src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs deleted file mode 100644 index ca71983..0000000 --- a/src/packages/HawkN.Iso.Countries.Generators/Models/DebianIsoJson.cs +++ /dev/null @@ -1,7 +0,0 @@ -๏ปฟnamespace HawkN.Iso.Countries.Generators.Models; - -internal class DebianIsoJson -{ - [System.Text.Json.Serialization.JsonPropertyName("3166-1")] - public List Countries { get; set; } = []; -} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj index 7e954b2..f4f148b 100644 --- a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj +++ b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj @@ -4,8 +4,9 @@ enable enable 8.0.0.0 + 8.0.0.0 Library - Copyright ยฉ 2025 Nikolay Selyutin (HawkN113) + Copyright ยฉ 2026 Nikolay Selyutin (HawkN113) true false true diff --git a/src/tests/HawkN.Iso.Countries.Currencies.Tests/CountryCurrencyMapTests.cs b/src/tests/HawkN.Iso.Countries.Currencies.Tests/CountryCurrencyMapTests.cs new file mode 100644 index 0000000..29d1c44 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Currencies.Tests/CountryCurrencyMapTests.cs @@ -0,0 +1,151 @@ +๏ปฟusing HawkN.Iso.Countries.Currencies.Models; +using HawkN.Iso.Currencies; +namespace HawkN.Iso.Countries.Currencies.Tests; + +public sealed class CountryCurrencyMapTests +{ + [Fact] + public void TryGet_Should_Return_False_For_Unknown_Country() + { + // Arrange + var result = CountryCurrencyMap.TryGet( + (CountryCode.TwoLetterCode)999, + out var info); + + // Assert + Assert.False(result); + Assert.Null(info); + } + + [Theory] + [InlineData(CountryCode.TwoLetterCode.DE, CurrencyCode.EUR)] + [InlineData(CountryCode.TwoLetterCode.US, CurrencyCode.USD)] + [InlineData(CountryCode.TwoLetterCode.GB, CurrencyCode.GBP)] + [InlineData(CountryCode.TwoLetterCode.JP, CurrencyCode.JPY)] + public void TryGet_Should_Return_Correct_Primary_Currency( + CountryCode.TwoLetterCode country, + CurrencyCode expectedCurrency) + { + // Act + var result = CountryCurrencyMap.TryGet(country, out var info); + + // Assert + Assert.True(result); + Assert.NotNull(info); + Assert.Equal(expectedCurrency, info!.PrimaryCurrency); + } + + [Fact] + public void Countries_With_No_Secondary_Currencies_Should_Return_Empty_List() + { + // Act + var result = CountryCurrencyMap.TryGet( + CountryCode.TwoLetterCode.DE, + out var info); + + // Assert + Assert.True(result); + Assert.NotNull(info); + Assert.NotNull(info!.SecondaryCurrencies); + Assert.Empty(info.SecondaryCurrencies); + } + + [Fact] + public void Countries_With_Secondary_Currencies_Should_Return_Them() + { + // Act + var result = CountryCurrencyMap.TryGet( + CountryCode.TwoLetterCode.CH, + out var info); + + // Assert + Assert.True(result); + Assert.NotNull(info); + Assert.Equal(CurrencyCode.CHF, info!.PrimaryCurrency); + Assert.Contains(CurrencyCode.CHE, info.SecondaryCurrencies); + Assert.Contains(CurrencyCode.CHW, info.SecondaryCurrencies); + } + + [Fact] + public void Secondary_Currencies_Should_Not_Contain_Primary() + { + foreach (var country in Enum + .GetValues() + .Where(c => CountryCurrencyMap.TryGet(c, out _))) + { + // Act + CountryCurrencyMap.TryGet(country, out var info); + + // Assert + foreach (var secondary in info!.SecondaryCurrencies) + { + Assert.NotEqual(info.PrimaryCurrency, secondary); + } + } + } + + [Fact] + public void All_Currency_Codes_Must_Be_Valid_ISO_4217() + { + foreach (var country in Enum + .GetValues() + .Where(c => CountryCurrencyMap.TryGet(c, out _))) + { + // Act + CountryCurrencyMap.TryGet(country, out var info); + + // Assert + Assert.True(Enum.IsDefined(info!.PrimaryCurrency)); + foreach (var secondary in info.SecondaryCurrencies) + { + Assert.True(Enum.IsDefined(secondary)); + } + } + } + + [Fact] + public void Mapping_Should_Be_Deterministic() + { + // Act + var firstResult = CountryCurrencyMap.TryGet( + CountryCode.TwoLetterCode.US, + out var first); + + var secondResult = CountryCurrencyMap.TryGet( + CountryCode.TwoLetterCode.US, + out var second); + + // Assert + Assert.True(firstResult); + Assert.True(secondResult); + Assert.Same(first, second); + } + + [Fact] + public void All_Entries_Should_Have_Primary_Currency() + { + CountryCurrencyInfo? info = null; + foreach (var _ in Enum + .GetValues() + .Where(country => CountryCurrencyMap.TryGet(country, out info))) + { + // Assert + Assert.NotEqual(default, info!.PrimaryCurrency); + } + } + + [Fact] + public void Special_Test_Palestine_Currency_Rule() + { + // Act + var result = CountryCurrencyMap.TryGet( + CountryCode.TwoLetterCode.PS, + out var info); + + // Assert + Assert.True(result); + Assert.NotNull(info); + Assert.Equal(CurrencyCode.ILS, info!.PrimaryCurrency); + Assert.Contains(CurrencyCode.JOD, info.SecondaryCurrencies); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Currencies.Tests/DependencySmokeTests.cs b/src/tests/HawkN.Iso.Countries.Currencies.Tests/DependencySmokeTests.cs new file mode 100644 index 0000000..46d28e0 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Currencies.Tests/DependencySmokeTests.cs @@ -0,0 +1,72 @@ +๏ปฟusing System.Reflection; +using HawkN.Iso.Countries.Currencies.Extensions; +using HawkN.Iso.Currencies; +namespace HawkN.Iso.Countries.Currencies.Tests; + +public sealed class DependencySmokeTests +{ + [Fact] + public void Countries_Package_Version_Should_Be_In_Expected_Range() + { + // Arrange & Act + var assembly = typeof(CountryCode).Assembly; + + var version = GetInformationalVersion(assembly); + + // Assert + Assert.True( + version >= new Version(8, 0, 0) && version < new Version(9, 0, 0), + $"Unexpected HawkN.Iso.Countries version: {version}" + ); + } + + [Fact] + public void Currencies_Package_Version_Should_Be_In_Expected_Range() + { + // Arrange & Act + var assembly = typeof(CurrencyCode).Assembly; + var version = GetInformationalVersion(assembly); + + // Assert + Assert.True( + version >= new Version(8, 0, 0) && version < new Version(9, 0, 0), + $"Unexpected HawkN.Iso.Currencies version: {version}" + ); + } + + [Fact] + public void All_Required_Dependencies_Should_Be_Loaded() + { + // Arrange & Act + var loadedAssemblies = AppDomain.CurrentDomain + .GetAssemblies() + .Select(a => a.GetName().Name) + .ToHashSet(StringComparer.OrdinalIgnoreCase); + + // Assert + Assert.Contains("HawkN.Iso.Countries", loadedAssemblies); + Assert.Contains("HawkN.Iso.Currencies", loadedAssemblies); + } + + [Fact] + public void CountryCurrencyMap_Should_Initialize_Without_Errors() + { + // Arrange + var country = CountryCode.TwoLetterCode.DE; + + // Act + var currency = country.GetPrimaryCurrency(); + + // Assert + Assert.NotNull(currency); + } + + private static Version GetInformationalVersion(Assembly assembly) + { + var attr = assembly + .GetCustomAttribute(); + Assert.NotNull(attr); + var versionText = attr!.Version.Split('+')[0]; + return Version.Parse(versionText); + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Currencies.Tests/Extensions/CountryCurrencyExtensionsTests.cs b/src/tests/HawkN.Iso.Countries.Currencies.Tests/Extensions/CountryCurrencyExtensionsTests.cs new file mode 100644 index 0000000..d276814 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Currencies.Tests/Extensions/CountryCurrencyExtensionsTests.cs @@ -0,0 +1,161 @@ +๏ปฟusing HawkN.Iso.Countries.Currencies.Extensions; +using HawkN.Iso.Currencies; +namespace HawkN.Iso.Countries.Currencies.Tests.Extensions; + +public sealed class CountryCurrencyExtensionsTests +{ + [Fact] + public void GetPrimaryCurrency_Should_Return_Null_For_Unknown_Country() + { + // Arrange + var country = (CountryCode.TwoLetterCode)999; + + // Act + var currency = country.GetPrimaryCurrency(); + + // Assert + Assert.Null(currency); + } + + [Theory] + [InlineData(CountryCode.TwoLetterCode.US, CurrencyCode.USD)] + [InlineData(CountryCode.TwoLetterCode.DE, CurrencyCode.EUR)] + [InlineData(CountryCode.TwoLetterCode.GB, CurrencyCode.GBP)] + public void GetPrimaryCurrency_Should_Return_Correct_Value( + CountryCode.TwoLetterCode country, + CurrencyCode expected) + { + // Act + var currency = country.GetPrimaryCurrency(); + + // Assert + Assert.NotNull(currency); + Assert.Equal(expected, currency); + } + + [Fact] + public void GetSecondaryCurrencies_Should_Return_Empty_For_Unknown_Country() + { + // Arrange + var country = (CountryCode.TwoLetterCode)999; + + // Act + var result = country.GetSecondaryCurrencies(); + + // Assert + Assert.NotNull(result); + Assert.Empty(result); + } + + [Fact] + public void GetSecondaryCurrencies_Should_Not_Contain_Primary_Currency() + { + // Arrange + var country = CountryCode.TwoLetterCode.CH; + + // Act + var primary = country.GetPrimaryCurrency(); + var secondary = country.GetSecondaryCurrencies(); + + // Assert + Assert.NotNull(primary); + foreach (var currency in secondary) + { + Assert.NotEqual(primary, currency); + } + } + + [Fact] + public void GetAllCurrencies_Should_Return_Primary_First() + { + // Arrange + var country = CountryCode.TwoLetterCode.US; + + // Act + var currencies = country.GetAllCurrencies().ToArray(); + + // Assert + Assert.NotEmpty(currencies); + Assert.Equal(country.GetPrimaryCurrency(), currencies[0]); + } + + [Fact] + public void GetAllCurrencies_Should_Return_Empty_For_Unknown_Country() + { + // Arrange + var country = (CountryCode.TwoLetterCode)999; + + // Act + var currencies = country.GetAllCurrencies(); + + // Assert + Assert.Empty(currencies); + } + + [Theory] + [InlineData(CountryCode.TwoLetterCode.US, CurrencyCode.USD)] + [InlineData(CountryCode.TwoLetterCode.DE, CurrencyCode.EUR)] + public void IsCurrencyUsedByCountry_Should_Return_True_For_Primary_Currency( + CountryCode.TwoLetterCode country, + CurrencyCode currency) + { + // Act + var result = country.IsCurrencyUsedByCountry(currency); + + // Assert + Assert.True(result); + } + + [Fact] + public void IsCurrencyUsedByCountry_Should_Return_True_For_Secondary_Currency() + { + // Arrange + var country = CountryCode.TwoLetterCode.CH; + + // Act + var result = country.IsCurrencyUsedByCountry(CurrencyCode.CHE); + + // Assert + Assert.True(result); + } + + [Fact] + public void IsCurrencyUsedByCountry_Should_Return_False_For_Unused_Currency() + { + // Arrange + var country = CountryCode.TwoLetterCode.US; + + // Act + var result = country.IsCurrencyUsedByCountry(CurrencyCode.EUR); + + // Assert + Assert.False(result); + } + + [Fact] + public void IsCurrencyUsedByCountry_Should_Return_False_For_Unknown_Country() + { + // Arrange + var country = (CountryCode.TwoLetterCode)999; + + // Act + var result = country.IsCurrencyUsedByCountry(CurrencyCode.USD); + + // Assert + Assert.False(result); + } + + [Fact] + public void IsCurrencyUsedByCountry_Should_Work_For_All_Returned_Currencies() + { + // Arrange + var country = CountryCode.TwoLetterCode.CH; + + // Act + foreach (var currency in country.GetAllCurrencies()) + { + // Assert + Assert.True(country.IsCurrencyUsedByCountry(currency)); + } + } +} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Currencies.Tests/HawkN.Iso.Countries.Currencies.Tests.csproj b/src/tests/HawkN.Iso.Countries.Currencies.Tests/HawkN.Iso.Countries.Currencies.Tests.csproj new file mode 100644 index 0000000..827c793 --- /dev/null +++ b/src/tests/HawkN.Iso.Countries.Currencies.Tests/HawkN.Iso.Countries.Currencies.Tests.csproj @@ -0,0 +1,22 @@ + + + net8.0 + enable + enable + + false + true + + + + + + + + + + + + + + diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs deleted file mode 100644 index e3537c1..0000000 --- a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryHandlerTests.cs +++ /dev/null @@ -1,61 +0,0 @@ -๏ปฟusing HawkN.Iso.Countries.Generators.Handlers; -namespace HawkN.Iso.Countries.Generators.Tests.Handlers; - -public class JsonCountryHandlerTests -{ - [Fact] - public void LoadActualCountries_ValidJson_ReturnsParsedData() - { - // Arrange - var json = @"{ - ""3166-1"": [ - { - ""name"": ""Afghanistan"", - ""alpha_2"": ""af"", - ""alpha_3"": ""afg"", - ""numeric"": ""004"", - ""official_name"": ""Islamic Republic of Afghanistan"" - } - ] - }"; - var handler = new JsonCountryHandler(json); - - // Act - var results = handler.LoadActualCountries(); - - // Assert - Assert.Single(results); - Assert.Equal("Afghanistan", results[0].Name); - Assert.Equal("AF", results[0].CodeAlpha2); - Assert.Equal("AFG", results[0].CodeAlpha3); - } - - [Fact] - public void LoadActualCountries_InvalidEntry_SkipsIt() - { - // Arrange - // ะŸั€ะพะฟัƒัะบะฐะตะผ alpha_2 (ะฒะฐะปะธะดะฐั†ะธั ั‚ั€ะตะฑัƒะตั‚ ะดะปะธะฝัƒ 2) - var json = @"{ - ""3166-1"": [ - { ""name"": ""Bad"", ""alpha_2"": ""A"", ""alpha_3"": ""AAA"", ""numeric"": ""001"" } - ] - }"; - var handler = new JsonCountryHandler(json); - - // Act - var results = handler.LoadActualCountries(); - - // Assert - Assert.Empty(results); - } - - [Fact] - public void LoadActualCountries_MalformedJson_ThrowsException() - { - // Arrange - var handler = new JsonCountryHandler("invalid json"); - - // Act & Assert - Assert.Throws(() => handler.LoadActualCountries()); - } -} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs b/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs deleted file mode 100644 index b4c13ba..0000000 --- a/src/tests/HawkN.Iso.Countries.Generators.Tests/Handlers/JsonCountryLoaderTests.cs +++ /dev/null @@ -1,63 +0,0 @@ -๏ปฟusing HawkN.Iso.Countries.Generators.Handlers; -namespace HawkN.Iso.Countries.Generators.Tests.Handlers; - -public class JsonCountryLoaderTests -{ - private const string ValidJson = @"{ - ""3166-1"": [ - { ""name"": ""Germany"", ""alpha_2"": ""de"", ""alpha_3"": ""deu"", ""numeric"": ""276"" }, - { ""name"": ""Austria"", ""alpha_2"": ""at"", ""alpha_3"": ""aut"", ""numeric"": ""040"" }, - { ""name"": ""France"", ""alpha_2"": ""fr"", ""alpha_3"": ""fra"", ""numeric"": ""250"" } - ] - }"; - - [Fact] - public void Constructor_ValidJson_PopulatesAndSortsCountriesByName() - { - // Act - var loader = new JsonCountryLoader(ValidJson); - - // Assert - Assert.Equal(3, loader.ActualCountries.Count); - - Assert.Equal("Austria", loader.ActualCountries[0].Name); - Assert.Equal("France", loader.ActualCountries[1].Name); - Assert.Equal("Germany", loader.ActualCountries[2].Name); - } - - [Fact] - public void Constructor_EmptyJson_ReturnsEmptyList() - { - // Arrange - var emptyJson = @"{ ""3166-1"": [] }"; - - // Act - var loader = new JsonCountryLoader(emptyJson); - - // Assert - Assert.Empty(loader.ActualCountries); - } - - [Theory] - [InlineData("")] - [InlineData(" ")] - [InlineData(null)] - public void Constructor_InvalidInput_ReturnsEmptyList(string? input) - { - // Act - var loader = new JsonCountryLoader(input!); - - // Assert - Assert.Empty(loader.ActualCountries); - } - - [Fact] - public void Constructor_MalformedJson_ThrowsInvalidDataException() - { - // Arrange - var malformedJson = "{ \"3166-1\": [ { \"name\": \"Missing Brackets\" "; - - // Act & Assert - Assert.Throws(() => new JsonCountryLoader(malformedJson)); - } -} \ No newline at end of file diff --git a/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs b/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs index 2367ab1..6f6fce4 100644 --- a/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs +++ b/src/tests/HawkN.Iso.Countries.Tests/Services/CountryCodeServiceTests.cs @@ -77,7 +77,7 @@ public void Get_ByNumericInt_ReturnsCorrectCountry() // Assert Assert.NotNull(country); - Assert.Equal("Germany", country!.Name); + Assert.Equal("Germany", country.Name); } [Fact] From 537c3f1f1dc1468ba96510ae9cead86980978a76 Mon Sep 17 00:00:00 2001 From: Nikolay Selyutin <81760946+HawkN113@users.noreply.github.com> Date: Fri, 16 Jan 2026 13:27:07 +0100 Subject: [PATCH 7/7] docs: Fix issue with docs for HawkN.Iso.Countries.Currencies package (#9) --- .../HawkN.Iso.Countries.Currencies.csproj | 2 +- .../HawkN.Iso.Countries.Currencies.nuspec | 2 +- .../Package/Content/README.md | 13 ++++++++----- .../HawkN.Iso.Countries/HawkN.Iso.Countries.csproj | 2 +- .../HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec | 4 ++-- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj b/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj index d161487..0bd48b0 100644 --- a/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj +++ b/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.csproj @@ -16,7 +16,7 @@ false false true - 8.0.0 + 8.0.2 false $(GenerateDataFiles) $(MSBuildProjectDirectory)\CountryCurrencyMap.cs diff --git a/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.nuspec b/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.nuspec index 3ebfc10..4f89b98 100644 --- a/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.nuspec +++ b/src/packages/HawkN.Iso.Countries.Currencies/HawkN.Iso.Countries.Currencies.nuspec @@ -3,7 +3,7 @@ HawkN.Iso.Countries.Currencies HawkN.Iso.Countries.Currencies - 8.0.1 + 8.0.2 Nikolay Selyutin (HawkN113) false Provides mapping between countries and currencies (primary and secondary). Includes extension methods to query primary, secondary, or all currencies and check usage. diff --git a/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/README.md b/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/README.md index e5665d6..3ff7080 100644 --- a/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/README.md +++ b/src/packages/HawkN.Iso.Countries.Currencies/Package/Content/README.md @@ -25,8 +25,11 @@ dotnet add package HawkN.Iso.Countries.Currencies ### Required Namespaces ```csharp -using HawkN.Iso.Countries; using HawkN.Iso.Currencies; +using HawkN.Iso.Countries; +using HawkN.Iso.Countries.Abstractions; +using HawkN.Iso.Countries.Extensions; +using HawkN.Iso.Currencies.Extensions; using HawkN.Iso.Countries.Currencies.Extensions; ``` --- @@ -35,7 +38,7 @@ using HawkN.Iso.Countries.Currencies.Extensions; #### Get Main Currency ```csharp -CurrencyCode.TwoLetterCode? mainCurrency = CountryCode.TwoLetterCode.US.GetMainCurrency(); +var mainCurrency = CountryCode.TwoLetterCode.US.GetPrimaryCurrency(); Console.WriteLine($"Primary currency of US: {mainCurrency}"); // USD ``` @@ -47,7 +50,7 @@ Console.WriteLine($"Secondary currencies of BO: {string.Join(", ", secondaryCurr ### Get all Currencies for specific country ```csharp -var allCurrencies = CountryCode.BO.GetAllCurrencies(); +var allCurrencies = CountryCode.TwoLetterCode.BO.GetAllCurrencies(); Console.WriteLine($"All currencies of BO: {string.Join(", ", allCurrencies)}"); // BOB, BOV ``` @@ -55,8 +58,8 @@ Console.WriteLine($"All currencies of BO: {string.Join(", ", allCurrencies)}"); Check if Currency is Used by Country ```csharp -bool isUsed = CountryCode.BO.IsCurrencyUsedByCountry(CurrencyCode.BOB); // True -bool isUsdUsed = CountryCode.BO.IsCurrencyUsedByCountry(CurrencyCode.USD); // False +bool isUsed = CountryCode.TwoLetterCode.BO.IsCurrencyUsedByCountry(CurrencyCode.BOB); // True +bool isUsdUsed = CountryCode.TwoLetterCode.BO.IsCurrencyUsedByCountry(CurrencyCode.USD); // False ```` --- diff --git a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj index e8cc9f3..9be0f72 100644 --- a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj +++ b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.csproj @@ -16,7 +16,7 @@ false false true - 8.0.0 + 8.0.2 false $(MSBuildProjectDirectory)\CountryCode.cs diff --git a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec index f7af2c0..d4ca20f 100644 --- a/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec +++ b/src/packages/HawkN.Iso.Countries/HawkN.Iso.Countries.nuspec @@ -3,7 +3,7 @@ HawkN.Iso.Countries HawkN.Iso.Countries - 8.0.1 + 8.0.2 Nikolay Selyutin (HawkN113) false Provides strongly typed ISO 3166-1 country and region codes (Alpha-2, Alpha-3) generated at compile time from UN M49 numeric codes. Includes lookup service (ICountryCodeService). Lightweight and optimized for .NET 8 applications. @@ -22,7 +22,7 @@ - Includes ICountryCodeService for lookups - Lightweight & dependency-free - Copyright ยฉ 2025 Nikolay Selyutin (HawkN113) + Copyright ยฉ 2026 Nikolay Selyutin (HawkN113)

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 z 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%0A{=DIBy<8{6e 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�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 -``` -- Save changes; -- Rebuild the solution; -- Review changes in ``CurrencyCode.cs`` and ``LocalDatabase.cs``files; -- The parameter setting ``GenerateCurrencyFiles`` set `false` value; -- Save changes again; -- Rebuild the solution again. - -### How to update countries -- Open https://unstats.un.org/unsd/methodology/m49/overview/ -- Download a CSV file -- Save data in the file ``Content\UNSDโ€”Methodology.csv`` -- Use command from section How to use source generator \ No newline at end of file diff --git a/src/packages/Country.Reference.Iso3166/Class1.cs b/src/packages/Country.Reference.Iso3166/Class1.cs deleted file mode 100644 index 5dffc6a..0000000 --- a/src/packages/Country.Reference.Iso3166/Class1.cs +++ /dev/null @@ -1,5 +0,0 @@ -๏ปฟnamespace Country.Reference.Iso3166; - -public class Class1 -{ -} \ No newline at end of file diff --git a/src/packages/Country.Reference.Iso3166/Country.Reference.Iso3166.csproj b/src/packages/Country.Reference.Iso3166/Country.Reference.Iso3166.csproj deleted file mode 100644 index 58c3c21..0000000 --- a/src/packages/Country.Reference.Iso3166/Country.Reference.Iso3166.csproj +++ /dev/null @@ -1,48 +0,0 @@ -๏ปฟ - - - net8.0 - enable - enable - 8.0.0.0 - Library - Copyright ยฉ 2025 Nikolay Selyutin (HawkN113) - true - false - true - false - true - false - false - false - true - 8.0.0 - - false - true - $(BaseIntermediateOutputPath)\Generated - - - - embedded - bin\Debug\Country.Reference.Iso3166.xml - ;NU1605 - - - - embedded - bin\Release\Country.Reference.Iso3166.xml - ;NU1605 - - - - - - - - - - - - - diff --git a/src/packages/HawkN.Iso.Countries.Generators/BaseIncrementalGenerator.cs b/src/packages/HawkN.Iso.Countries.Generators/BaseIncrementalGenerator.cs new file mode 100644 index 0000000..5991800 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/BaseIncrementalGenerator.cs @@ -0,0 +1,74 @@ +๏ปฟusing System.Reflection; +using System.Text; +using HawkN.Iso.Countries.Generators.Factories; +using HawkN.Iso.Countries.Generators.Models; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Text; +namespace HawkN.Iso.Countries.Generators; + +public abstract class BaseIncrementalGenerator : IIncrementalGenerator +{ + protected virtual string HintName { get; } = string.Empty; + protected readonly ErrorFactory ErrorFactory = new(); + public abstract void Initialize(IncrementalGeneratorInitializationContext context); + + protected void AddStubIfErrors(SourceProductionContext spc, string hintName, string stubSource, GeneratorType type) + { + if (!ErrorFactory.IsExists()) return; + ErrorFactory.ShowDiagnostics(spc, type); + spc.AddSource(hintName, SourceText.From(stubSource, Encoding.UTF8)); + } + + protected static string LoadResources(Assembly assembly) + { + string ReadResource(string name) + { + using var stream = assembly.GetManifestResourceStream(name) + ?? throw new InvalidOperationException($"{name} not found."); + using var reader = new StreamReader(stream, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false)); + return reader.ReadToEnd(); + } + return ReadResource("HawkN.Iso.Countries.Generators.Content.iso_3166-1.json"); + } + + protected void GenerateSourceOutput(string content, SourceProductionContext spc) + { + ErrorFactory.Create(new ErrorDescription + { + DiagnosticDescriptor = new DiagnosticDescriptor( + id: DiagnosticDescriptors.UnexpectedErrorId, + title: Constants.DiagnosticsTitle, + messageFormat: "Unexpected exception: Unexpected error", + category: string.Empty, + defaultSeverity: DiagnosticSeverity.Error, + isEnabledByDefault: true), + GeneratorType = GeneratorType.Factory + }); + ErrorFactory.ShowDiagnostics(spc, GeneratorType.Factory); + } + + internal static StringBuilder CreateSourceBuilder(string generatorName, string @namespace, string[] extendedSourceData, string[]? references = null) + { + var sb = new StringBuilder(); + sb.AppendLine("// "); + sb.AppendLine($"// This file was generated by {generatorName}"); + + if (extendedSourceData.Any()) + { + foreach (var sourceData in extendedSourceData) + sb.AppendLine($"// {sourceData}"); + } + + sb.AppendLine("// Do not modify this file manually."); + sb.AppendLine("// "); + sb.AppendLine("#nullable enable"); + if (references is not null && references.Any()) + { + foreach (var referenceName in references) + sb.AppendLine($"using {referenceName};"); + } + sb.AppendLine($"namespace {@namespace}"); + sb.AppendLine("{"); + return sb; + } +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Constants.cs b/src/packages/HawkN.Iso.Countries.Generators/Constants.cs new file mode 100644 index 0000000..40508d2 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Constants.cs @@ -0,0 +1,15 @@ +๏ปฟnamespace HawkN.Iso.Countries.Generators; + +internal static class Constants +{ + public const string DefaultNamespace = "HawkN.Iso.Countries"; + public const string DiagnosticsTitle = "Generator error"; + public const string ErrorMark = "#ERROR:"; + public const string GeneratorName = "HawkN.Iso.Countries.Generators source generator"; + public static readonly string[] ExtendedSourceData = + [ + "Data Source: iso-codes project (Debian Salsa)", + "License: GNU Lesser General Public License v2.1", + "Source URL: https://salsa.debian.org/iso-codes-team/iso-codes" + ]; +} \ No newline at end of file diff --git a/src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json b/src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json new file mode 100644 index 0000000..ee48a43 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/Content/iso_3166-1.json @@ -0,0 +1,1931 @@ +{ + "3166-1": [ + { + "alpha_2": "AW", + "alpha_3": "ABW", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ผ", + "name": "Aruba", + "numeric": "533" + }, + { + "alpha_2": "AF", + "alpha_3": "AFG", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ซ", + "name": "Afghanistan", + "numeric": "004", + "official_name": "Islamic Republic of Afghanistan" + }, + { + "alpha_2": "AO", + "alpha_3": "AGO", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ด", + "name": "Angola", + "numeric": "024", + "official_name": "Republic of Angola" + }, + { + "alpha_2": "AI", + "alpha_3": "AIA", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ฎ", + "name": "Anguilla", + "numeric": "660" + }, + { + "alpha_2": "AX", + "alpha_3": "ALA", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ฝ", + "name": "ร…land Islands", + "numeric": "248" + }, + { + "alpha_2": "AL", + "alpha_3": "ALB", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ฑ", + "name": "Albania", + "numeric": "008", + "official_name": "Republic of Albania" + }, + { + "alpha_2": "AD", + "alpha_3": "AND", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ฉ", + "name": "Andorra", + "numeric": "020", + "official_name": "Principality of Andorra" + }, + { + "alpha_2": "AE", + "alpha_3": "ARE", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ช", + "name": "United Arab Emirates", + "numeric": "784" + }, + { + "alpha_2": "AR", + "alpha_3": "ARG", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ท", + "name": "Argentina", + "numeric": "032", + "official_name": "Argentine Republic" + }, + { + "alpha_2": "AM", + "alpha_3": "ARM", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ฒ", + "name": "Armenia", + "numeric": "051", + "official_name": "Republic of Armenia" + }, + { + "alpha_2": "AS", + "alpha_3": "ASM", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ธ", + "name": "American Samoa", + "numeric": "016" + }, + { + "alpha_2": "AQ", + "alpha_3": "ATA", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ถ", + "name": "Antarctica", + "numeric": "010" + }, + { + "alpha_2": "TF", + "alpha_3": "ATF", + "flag": "๐Ÿ‡น๐Ÿ‡ซ", + "name": "French Southern Territories", + "numeric": "260" + }, + { + "alpha_2": "AG", + "alpha_3": "ATG", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ฌ", + "name": "Antigua and Barbuda", + "numeric": "028" + }, + { + "alpha_2": "AU", + "alpha_3": "AUS", + "flag": "๐Ÿ‡ฆ๐Ÿ‡บ", + "name": "Australia", + "numeric": "036" + }, + { + "alpha_2": "AT", + "alpha_3": "AUT", + "flag": "๐Ÿ‡ฆ๐Ÿ‡น", + "name": "Austria", + "numeric": "040", + "official_name": "Republic of Austria" + }, + { + "alpha_2": "AZ", + "alpha_3": "AZE", + "flag": "๐Ÿ‡ฆ๐Ÿ‡ฟ", + "name": "Azerbaijan", + "numeric": "031", + "official_name": "Republic of Azerbaijan" + }, + { + "alpha_2": "BI", + "alpha_3": "BDI", + "flag": "๐Ÿ‡ง๐Ÿ‡ฎ", + "name": "Burundi", + "numeric": "108", + "official_name": "Republic of Burundi" + }, + { + "alpha_2": "BE", + "alpha_3": "BEL", + "flag": "๐Ÿ‡ง๐Ÿ‡ช", + "name": "Belgium", + "numeric": "056", + "official_name": "Kingdom of Belgium" + }, + { + "alpha_2": "BJ", + "alpha_3": "BEN", + "flag": "๐Ÿ‡ง๐Ÿ‡ฏ", + "name": "Benin", + "numeric": "204", + "official_name": "Republic of Benin" + }, + { + "alpha_2": "BQ", + "alpha_3": "BES", + "flag": "๐Ÿ‡ง๐Ÿ‡ถ", + "name": "Bonaire, Sint Eustatius and Saba", + "numeric": "535", + "official_name": "Bonaire, Sint Eustatius and Saba" + }, + { + "alpha_2": "BF", + "alpha_3": "BFA", + "flag": "๐Ÿ‡ง๐Ÿ‡ซ", + "name": "Burkina Faso", + "numeric": "854" + }, + { + "alpha_2": "BD", + "alpha_3": "BGD", + "flag": "๐Ÿ‡ง๐Ÿ‡ฉ", + "name": "Bangladesh", + "numeric": "050", + "official_name": "People's Republic of Bangladesh" + }, + { + "alpha_2": "BG", + "alpha_3": "BGR", + "flag": "๐Ÿ‡ง๐Ÿ‡ฌ", + "name": "Bulgaria", + "numeric": "100", + "official_name": "Republic of Bulgaria" + }, + { + "alpha_2": "BH", + "alpha_3": "BHR", + "flag": "๐Ÿ‡ง๐Ÿ‡ญ", + "name": "Bahrain", + "numeric": "048", + "official_name": "Kingdom of Bahrain" + }, + { + "alpha_2": "BS", + "alpha_3": "BHS", + "flag": "๐Ÿ‡ง๐Ÿ‡ธ", + "name": "Bahamas", + "numeric": "044", + "official_name": "Commonwealth of the Bahamas" + }, + { + "alpha_2": "BA", + "alpha_3": "BIH", + "flag": "๐Ÿ‡ง๐Ÿ‡ฆ", + "name": "Bosnia and Herzegovina", + "numeric": "070", + "official_name": "Republic of Bosnia and Herzegovina" + }, + { + "alpha_2": "BL", + "alpha_3": "BLM", + "flag": "๐Ÿ‡ง๐Ÿ‡ฑ", + "name": "Saint Barthรฉlemy", + "numeric": "652" + }, + { + "alpha_2": "BY", + "alpha_3": "BLR", + "flag": "๐Ÿ‡ง๐Ÿ‡พ", + "name": "Belarus", + "numeric": "112", + "official_name": "Republic of Belarus" + }, + { + "alpha_2": "BZ", + "alpha_3": "BLZ", + "flag": "๐Ÿ‡ง๐Ÿ‡ฟ", + "name": "Belize", + "numeric": "084" + }, + { + "alpha_2": "BM", + "alpha_3": "BMU", + "flag": "๐Ÿ‡ง๐Ÿ‡ฒ", + "name": "Bermuda", + "numeric": "060" + }, + { + "alpha_2": "BO", + "alpha_3": "BOL", + "common_name": "Bolivia", + "flag": "๐Ÿ‡ง๐Ÿ‡ด", + "name": "Bolivia, Plurinational State of", + "numeric": "068", + "official_name": "Plurinational State of Bolivia" + }, + { + "alpha_2": "BR", + "alpha_3": "BRA", + "flag": "๐Ÿ‡ง๐Ÿ‡ท", + "name": "Brazil", + "numeric": "076", + "official_name": "Federative Republic of Brazil" + }, + { + "alpha_2": "BB", + "alpha_3": "BRB", + "flag": "๐Ÿ‡ง๐Ÿ‡ง", + "name": "Barbados", + "numeric": "052" + }, + { + "alpha_2": "BN", + "alpha_3": "BRN", + "flag": "๐Ÿ‡ง๐Ÿ‡ณ", + "name": "Brunei Darussalam", + "numeric": "096" + }, + { + "alpha_2": "BT", + "alpha_3": "BTN", + "flag": "๐Ÿ‡ง๐Ÿ‡น", + "name": "Bhutan", + "numeric": "064", + "official_name": "Kingdom of Bhutan" + }, + { + "alpha_2": "BV", + "alpha_3": "BVT", + "flag": "๐Ÿ‡ง๐Ÿ‡ป", + "name": "Bouvet Island", + "numeric": "074" + }, + { + "alpha_2": "BW", + "alpha_3": "BWA", + "flag": "๐Ÿ‡ง๐Ÿ‡ผ", + "name": "Botswana", + "numeric": "072", + "official_name": "Republic of Botswana" + }, + { + "alpha_2": "CF", + "alpha_3": "CAF", + "flag": "๐Ÿ‡จ๐Ÿ‡ซ", + "name": "Central African Republic", + "numeric": "140" + }, + { + "alpha_2": "CA", + "alpha_3": "CAN", + "flag": "๐Ÿ‡จ๐Ÿ‡ฆ", + "name": "Canada", + "numeric": "124" + }, + { + "alpha_2": "CC", + "alpha_3": "CCK", + "flag": "๐Ÿ‡จ๐Ÿ‡จ", + "name": "Cocos (Keeling) Islands", + "numeric": "166" + }, + { + "alpha_2": "CH", + "alpha_3": "CHE", + "flag": "๐Ÿ‡จ๐Ÿ‡ญ", + "name": "Switzerland", + "numeric": "756", + "official_name": "Swiss Confederation" + }, + { + "alpha_2": "CL", + "alpha_3": "CHL", + "flag": "๐Ÿ‡จ๐Ÿ‡ฑ", + "name": "Chile", + "numeric": "152", + "official_name": "Republic of Chile" + }, + { + "alpha_2": "CN", + "alpha_3": "CHN", + "flag": "๐Ÿ‡จ๐Ÿ‡ณ", + "name": "China", + "numeric": "156", + "official_name": "People's Republic of China" + }, + { + "alpha_2": "CI", + "alpha_3": "CIV", + "flag": "๐Ÿ‡จ๐Ÿ‡ฎ", + "name": "Cรดte d'Ivoire", + "numeric": "384", + "official_name": "Republic of Cรดte d'Ivoire" + }, + { + "alpha_2": "CM", + "alpha_3": "CMR", + "flag": "๐Ÿ‡จ๐Ÿ‡ฒ", + "name": "Cameroon", + "numeric": "120", + "official_name": "Republic of Cameroon" + }, + { + "alpha_2": "CD", + "alpha_3": "COD", + "flag": "๐Ÿ‡จ๐Ÿ‡ฉ", + "name": "Congo, The Democratic Republic of the", + "numeric": "180" + }, + { + "alpha_2": "CG", + "alpha_3": "COG", + "flag": "๐Ÿ‡จ๐Ÿ‡ฌ", + "name": "Congo", + "numeric": "178", + "official_name": "Republic of the Congo" + }, + { + "alpha_2": "CK", + "alpha_3": "COK", + "flag": "๐Ÿ‡จ๐Ÿ‡ฐ", + "name": "Cook Islands", + "numeric": "184" + }, + { + "alpha_2": "CO", + "alpha_3": "COL", + "flag": "๐Ÿ‡จ๐Ÿ‡ด", + "name": "Colombia", + "numeric": "170", + "official_name": "Republic of Colombia" + }, + { + "alpha_2": "KM", + "alpha_3": "COM", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ฒ", + "name": "Comoros", + "numeric": "174", + "official_name": "Union of the Comoros" + }, + { + "alpha_2": "CV", + "alpha_3": "CPV", + "flag": "๐Ÿ‡จ๐Ÿ‡ป", + "name": "Cabo Verde", + "numeric": "132", + "official_name": "Republic of Cabo Verde" + }, + { + "alpha_2": "CR", + "alpha_3": "CRI", + "flag": "๐Ÿ‡จ๐Ÿ‡ท", + "name": "Costa Rica", + "numeric": "188", + "official_name": "Republic of Costa Rica" + }, + { + "alpha_2": "CU", + "alpha_3": "CUB", + "flag": "๐Ÿ‡จ๐Ÿ‡บ", + "name": "Cuba", + "numeric": "192", + "official_name": "Republic of Cuba" + }, + { + "alpha_2": "CW", + "alpha_3": "CUW", + "flag": "๐Ÿ‡จ๐Ÿ‡ผ", + "name": "Curaรงao", + "numeric": "531", + "official_name": "Curaรงao" + }, + { + "alpha_2": "CX", + "alpha_3": "CXR", + "flag": "๐Ÿ‡จ๐Ÿ‡ฝ", + "name": "Christmas Island", + "numeric": "162" + }, + { + "alpha_2": "KY", + "alpha_3": "CYM", + "flag": "๐Ÿ‡ฐ๐Ÿ‡พ", + "name": "Cayman Islands", + "numeric": "136" + }, + { + "alpha_2": "CY", + "alpha_3": "CYP", + "flag": "๐Ÿ‡จ๐Ÿ‡พ", + "name": "Cyprus", + "numeric": "196", + "official_name": "Republic of Cyprus" + }, + { + "alpha_2": "CZ", + "alpha_3": "CZE", + "flag": "๐Ÿ‡จ๐Ÿ‡ฟ", + "name": "Czechia", + "numeric": "203", + "official_name": "Czech Republic" + }, + { + "alpha_2": "DE", + "alpha_3": "DEU", + "flag": "๐Ÿ‡ฉ๐Ÿ‡ช", + "name": "Germany", + "numeric": "276", + "official_name": "Federal Republic of Germany" + }, + { + "alpha_2": "DJ", + "alpha_3": "DJI", + "flag": "๐Ÿ‡ฉ๐Ÿ‡ฏ", + "name": "Djibouti", + "numeric": "262", + "official_name": "Republic of Djibouti" + }, + { + "alpha_2": "DM", + "alpha_3": "DMA", + "flag": "๐Ÿ‡ฉ๐Ÿ‡ฒ", + "name": "Dominica", + "numeric": "212", + "official_name": "Commonwealth of Dominica" + }, + { + "alpha_2": "DK", + "alpha_3": "DNK", + "flag": "๐Ÿ‡ฉ๐Ÿ‡ฐ", + "name": "Denmark", + "numeric": "208", + "official_name": "Kingdom of Denmark" + }, + { + "alpha_2": "DO", + "alpha_3": "DOM", + "flag": "๐Ÿ‡ฉ๐Ÿ‡ด", + "name": "Dominican Republic", + "numeric": "214" + }, + { + "alpha_2": "DZ", + "alpha_3": "DZA", + "flag": "๐Ÿ‡ฉ๐Ÿ‡ฟ", + "name": "Algeria", + "numeric": "012", + "official_name": "People's Democratic Republic of Algeria" + }, + { + "alpha_2": "EC", + "alpha_3": "ECU", + "flag": "๐Ÿ‡ช๐Ÿ‡จ", + "name": "Ecuador", + "numeric": "218", + "official_name": "Republic of Ecuador" + }, + { + "alpha_2": "EG", + "alpha_3": "EGY", + "flag": "๐Ÿ‡ช๐Ÿ‡ฌ", + "name": "Egypt", + "numeric": "818", + "official_name": "Arab Republic of Egypt" + }, + { + "alpha_2": "ER", + "alpha_3": "ERI", + "flag": "๐Ÿ‡ช๐Ÿ‡ท", + "name": "Eritrea", + "numeric": "232", + "official_name": "the State of Eritrea" + }, + { + "alpha_2": "EH", + "alpha_3": "ESH", + "flag": "๐Ÿ‡ช๐Ÿ‡ญ", + "name": "Western Sahara", + "numeric": "732" + }, + { + "alpha_2": "ES", + "alpha_3": "ESP", + "flag": "๐Ÿ‡ช๐Ÿ‡ธ", + "name": "Spain", + "numeric": "724", + "official_name": "Kingdom of Spain" + }, + { + "alpha_2": "EE", + "alpha_3": "EST", + "flag": "๐Ÿ‡ช๐Ÿ‡ช", + "name": "Estonia", + "numeric": "233", + "official_name": "Republic of Estonia" + }, + { + "alpha_2": "ET", + "alpha_3": "ETH", + "flag": "๐Ÿ‡ช๐Ÿ‡น", + "name": "Ethiopia", + "numeric": "231", + "official_name": "Federal Democratic Republic of Ethiopia" + }, + { + "alpha_2": "FI", + "alpha_3": "FIN", + "flag": "๐Ÿ‡ซ๐Ÿ‡ฎ", + "name": "Finland", + "numeric": "246", + "official_name": "Republic of Finland" + }, + { + "alpha_2": "FJ", + "alpha_3": "FJI", + "flag": "๐Ÿ‡ซ๐Ÿ‡ฏ", + "name": "Fiji", + "numeric": "242", + "official_name": "Republic of Fiji" + }, + { + "alpha_2": "FK", + "alpha_3": "FLK", + "flag": "๐Ÿ‡ซ๐Ÿ‡ฐ", + "name": "Falkland Islands (Malvinas)", + "numeric": "238" + }, + { + "alpha_2": "FR", + "alpha_3": "FRA", + "flag": "๐Ÿ‡ซ๐Ÿ‡ท", + "name": "France", + "numeric": "250", + "official_name": "French Republic" + }, + { + "alpha_2": "FO", + "alpha_3": "FRO", + "flag": "๐Ÿ‡ซ๐Ÿ‡ด", + "name": "Faroe Islands", + "numeric": "234" + }, + { + "alpha_2": "FM", + "alpha_3": "FSM", + "flag": "๐Ÿ‡ซ๐Ÿ‡ฒ", + "name": "Micronesia, Federated States of", + "numeric": "583", + "official_name": "Federated States of Micronesia" + }, + { + "alpha_2": "GA", + "alpha_3": "GAB", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ฆ", + "name": "Gabon", + "numeric": "266", + "official_name": "Gabonese Republic" + }, + { + "alpha_2": "GB", + "alpha_3": "GBR", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ง", + "name": "United Kingdom", + "numeric": "826", + "official_name": "United Kingdom of Great Britain and Northern Ireland" + }, + { + "alpha_2": "GE", + "alpha_3": "GEO", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ช", + "name": "Georgia", + "numeric": "268" + }, + { + "alpha_2": "GG", + "alpha_3": "GGY", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ฌ", + "name": "Guernsey", + "numeric": "831" + }, + { + "alpha_2": "GH", + "alpha_3": "GHA", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ญ", + "name": "Ghana", + "numeric": "288", + "official_name": "Republic of Ghana" + }, + { + "alpha_2": "GI", + "alpha_3": "GIB", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ฎ", + "name": "Gibraltar", + "numeric": "292" + }, + { + "alpha_2": "GN", + "alpha_3": "GIN", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ณ", + "name": "Guinea", + "numeric": "324", + "official_name": "Republic of Guinea" + }, + { + "alpha_2": "GP", + "alpha_3": "GLP", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ต", + "name": "Guadeloupe", + "numeric": "312" + }, + { + "alpha_2": "GM", + "alpha_3": "GMB", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ฒ", + "name": "Gambia", + "numeric": "270", + "official_name": "Republic of the Gambia" + }, + { + "alpha_2": "GW", + "alpha_3": "GNB", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ผ", + "name": "Guinea-Bissau", + "numeric": "624", + "official_name": "Republic of Guinea-Bissau" + }, + { + "alpha_2": "GQ", + "alpha_3": "GNQ", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ถ", + "name": "Equatorial Guinea", + "numeric": "226", + "official_name": "Republic of Equatorial Guinea" + }, + { + "alpha_2": "GR", + "alpha_3": "GRC", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ท", + "name": "Greece", + "numeric": "300", + "official_name": "Hellenic Republic" + }, + { + "alpha_2": "GD", + "alpha_3": "GRD", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ฉ", + "name": "Grenada", + "numeric": "308" + }, + { + "alpha_2": "GL", + "alpha_3": "GRL", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ฑ", + "name": "Greenland", + "numeric": "304" + }, + { + "alpha_2": "GT", + "alpha_3": "GTM", + "flag": "๐Ÿ‡ฌ๐Ÿ‡น", + "name": "Guatemala", + "numeric": "320", + "official_name": "Republic of Guatemala" + }, + { + "alpha_2": "GF", + "alpha_3": "GUF", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ซ", + "name": "French Guiana", + "numeric": "254" + }, + { + "alpha_2": "GU", + "alpha_3": "GUM", + "flag": "๐Ÿ‡ฌ๐Ÿ‡บ", + "name": "Guam", + "numeric": "316" + }, + { + "alpha_2": "GY", + "alpha_3": "GUY", + "flag": "๐Ÿ‡ฌ๐Ÿ‡พ", + "name": "Guyana", + "numeric": "328", + "official_name": "Republic of Guyana" + }, + { + "alpha_2": "HK", + "alpha_3": "HKG", + "flag": "๐Ÿ‡ญ๐Ÿ‡ฐ", + "name": "Hong Kong", + "numeric": "344", + "official_name": "Hong Kong Special Administrative Region of China" + }, + { + "alpha_2": "HM", + "alpha_3": "HMD", + "flag": "๐Ÿ‡ญ๐Ÿ‡ฒ", + "name": "Heard Island and McDonald Islands", + "numeric": "334" + }, + { + "alpha_2": "HN", + "alpha_3": "HND", + "flag": "๐Ÿ‡ญ๐Ÿ‡ณ", + "name": "Honduras", + "numeric": "340", + "official_name": "Republic of Honduras" + }, + { + "alpha_2": "HR", + "alpha_3": "HRV", + "flag": "๐Ÿ‡ญ๐Ÿ‡ท", + "name": "Croatia", + "numeric": "191", + "official_name": "Republic of Croatia" + }, + { + "alpha_2": "HT", + "alpha_3": "HTI", + "flag": "๐Ÿ‡ญ๐Ÿ‡น", + "name": "Haiti", + "numeric": "332", + "official_name": "Republic of Haiti" + }, + { + "alpha_2": "HU", + "alpha_3": "HUN", + "flag": "๐Ÿ‡ญ๐Ÿ‡บ", + "name": "Hungary", + "numeric": "348", + "official_name": "Hungary" + }, + { + "alpha_2": "ID", + "alpha_3": "IDN", + "flag": "๐Ÿ‡ฎ๐Ÿ‡ฉ", + "name": "Indonesia", + "numeric": "360", + "official_name": "Republic of Indonesia" + }, + { + "alpha_2": "IM", + "alpha_3": "IMN", + "flag": "๐Ÿ‡ฎ๐Ÿ‡ฒ", + "name": "Isle of Man", + "numeric": "833" + }, + { + "alpha_2": "IN", + "alpha_3": "IND", + "flag": "๐Ÿ‡ฎ๐Ÿ‡ณ", + "name": "India", + "numeric": "356", + "official_name": "Republic of India" + }, + { + "alpha_2": "IO", + "alpha_3": "IOT", + "flag": "๐Ÿ‡ฎ๐Ÿ‡ด", + "name": "British Indian Ocean Territory", + "numeric": "086" + }, + { + "alpha_2": "IE", + "alpha_3": "IRL", + "flag": "๐Ÿ‡ฎ๐Ÿ‡ช", + "name": "Ireland", + "numeric": "372" + }, + { + "alpha_2": "IR", + "alpha_3": "IRN", + "common_name": "Iran", + "flag": "๐Ÿ‡ฎ๐Ÿ‡ท", + "name": "Iran, Islamic Republic of", + "numeric": "364", + "official_name": "Islamic Republic of Iran" + }, + { + "alpha_2": "IQ", + "alpha_3": "IRQ", + "flag": "๐Ÿ‡ฎ๐Ÿ‡ถ", + "name": "Iraq", + "numeric": "368", + "official_name": "Republic of Iraq" + }, + { + "alpha_2": "IS", + "alpha_3": "ISL", + "flag": "๐Ÿ‡ฎ๐Ÿ‡ธ", + "name": "Iceland", + "numeric": "352", + "official_name": "Republic of Iceland" + }, + { + "alpha_2": "IL", + "alpha_3": "ISR", + "flag": "๐Ÿ‡ฎ๐Ÿ‡ฑ", + "name": "Israel", + "numeric": "376", + "official_name": "State of Israel" + }, + { + "alpha_2": "IT", + "alpha_3": "ITA", + "flag": "๐Ÿ‡ฎ๐Ÿ‡น", + "name": "Italy", + "numeric": "380", + "official_name": "Italian Republic" + }, + { + "alpha_2": "JM", + "alpha_3": "JAM", + "flag": "๐Ÿ‡ฏ๐Ÿ‡ฒ", + "name": "Jamaica", + "numeric": "388" + }, + { + "alpha_2": "JE", + "alpha_3": "JEY", + "flag": "๐Ÿ‡ฏ๐Ÿ‡ช", + "name": "Jersey", + "numeric": "832" + }, + { + "alpha_2": "JO", + "alpha_3": "JOR", + "flag": "๐Ÿ‡ฏ๐Ÿ‡ด", + "name": "Jordan", + "numeric": "400", + "official_name": "Hashemite Kingdom of Jordan" + }, + { + "alpha_2": "JP", + "alpha_3": "JPN", + "flag": "๐Ÿ‡ฏ๐Ÿ‡ต", + "name": "Japan", + "numeric": "392" + }, + { + "alpha_2": "KZ", + "alpha_3": "KAZ", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ฟ", + "name": "Kazakhstan", + "numeric": "398", + "official_name": "Republic of Kazakhstan" + }, + { + "alpha_2": "KE", + "alpha_3": "KEN", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ช", + "name": "Kenya", + "numeric": "404", + "official_name": "Republic of Kenya" + }, + { + "alpha_2": "KG", + "alpha_3": "KGZ", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ฌ", + "name": "Kyrgyzstan", + "numeric": "417", + "official_name": "Kyrgyz Republic" + }, + { + "alpha_2": "KH", + "alpha_3": "KHM", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ญ", + "name": "Cambodia", + "numeric": "116", + "official_name": "Kingdom of Cambodia" + }, + { + "alpha_2": "KI", + "alpha_3": "KIR", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ฎ", + "name": "Kiribati", + "numeric": "296", + "official_name": "Republic of Kiribati" + }, + { + "alpha_2": "KN", + "alpha_3": "KNA", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ณ", + "name": "Saint Kitts and Nevis", + "numeric": "659" + }, + { + "alpha_2": "KR", + "alpha_3": "KOR", + "common_name": "South Korea", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ท", + "name": "Korea, Republic of", + "numeric": "410" + }, + { + "alpha_2": "KW", + "alpha_3": "KWT", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ผ", + "name": "Kuwait", + "numeric": "414", + "official_name": "State of Kuwait" + }, + { + "alpha_2": "LA", + "alpha_3": "LAO", + "common_name": "Laos", + "flag": "๐Ÿ‡ฑ๐Ÿ‡ฆ", + "name": "Lao People's Democratic Republic", + "numeric": "418" + }, + { + "alpha_2": "LB", + "alpha_3": "LBN", + "flag": "๐Ÿ‡ฑ๐Ÿ‡ง", + "name": "Lebanon", + "numeric": "422", + "official_name": "Lebanese Republic" + }, + { + "alpha_2": "LR", + "alpha_3": "LBR", + "flag": "๐Ÿ‡ฑ๐Ÿ‡ท", + "name": "Liberia", + "numeric": "430", + "official_name": "Republic of Liberia" + }, + { + "alpha_2": "LY", + "alpha_3": "LBY", + "flag": "๐Ÿ‡ฑ๐Ÿ‡พ", + "name": "Libya", + "numeric": "434", + "official_name": "Libya" + }, + { + "alpha_2": "LC", + "alpha_3": "LCA", + "flag": "๐Ÿ‡ฑ๐Ÿ‡จ", + "name": "Saint Lucia", + "numeric": "662" + }, + { + "alpha_2": "LI", + "alpha_3": "LIE", + "flag": "๐Ÿ‡ฑ๐Ÿ‡ฎ", + "name": "Liechtenstein", + "numeric": "438", + "official_name": "Principality of Liechtenstein" + }, + { + "alpha_2": "LK", + "alpha_3": "LKA", + "flag": "๐Ÿ‡ฑ๐Ÿ‡ฐ", + "name": "Sri Lanka", + "numeric": "144", + "official_name": "Democratic Socialist Republic of Sri Lanka" + }, + { + "alpha_2": "LS", + "alpha_3": "LSO", + "flag": "๐Ÿ‡ฑ๐Ÿ‡ธ", + "name": "Lesotho", + "numeric": "426", + "official_name": "Kingdom of Lesotho" + }, + { + "alpha_2": "LT", + "alpha_3": "LTU", + "flag": "๐Ÿ‡ฑ๐Ÿ‡น", + "name": "Lithuania", + "numeric": "440", + "official_name": "Republic of Lithuania" + }, + { + "alpha_2": "LU", + "alpha_3": "LUX", + "flag": "๐Ÿ‡ฑ๐Ÿ‡บ", + "name": "Luxembourg", + "numeric": "442", + "official_name": "Grand Duchy of Luxembourg" + }, + { + "alpha_2": "LV", + "alpha_3": "LVA", + "flag": "๐Ÿ‡ฑ๐Ÿ‡ป", + "name": "Latvia", + "numeric": "428", + "official_name": "Republic of Latvia" + }, + { + "alpha_2": "MO", + "alpha_3": "MAC", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ด", + "name": "Macao", + "numeric": "446", + "official_name": "Macao Special Administrative Region of China" + }, + { + "alpha_2": "MF", + "alpha_3": "MAF", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ซ", + "name": "Saint Martin (French part)", + "numeric": "663" + }, + { + "alpha_2": "MA", + "alpha_3": "MAR", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ฆ", + "name": "Morocco", + "numeric": "504", + "official_name": "Kingdom of Morocco" + }, + { + "alpha_2": "MC", + "alpha_3": "MCO", + "flag": "๐Ÿ‡ฒ๐Ÿ‡จ", + "name": "Monaco", + "numeric": "492", + "official_name": "Principality of Monaco" + }, + { + "alpha_2": "MD", + "alpha_3": "MDA", + "common_name": "Moldova", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ฉ", + "name": "Moldova, Republic of", + "numeric": "498", + "official_name": "Republic of Moldova" + }, + { + "alpha_2": "MG", + "alpha_3": "MDG", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ฌ", + "name": "Madagascar", + "numeric": "450", + "official_name": "Republic of Madagascar" + }, + { + "alpha_2": "MV", + "alpha_3": "MDV", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ป", + "name": "Maldives", + "numeric": "462", + "official_name": "Republic of Maldives" + }, + { + "alpha_2": "MX", + "alpha_3": "MEX", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ฝ", + "name": "Mexico", + "numeric": "484", + "official_name": "United Mexican States" + }, + { + "alpha_2": "MH", + "alpha_3": "MHL", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ญ", + "name": "Marshall Islands", + "numeric": "584", + "official_name": "Republic of the Marshall Islands" + }, + { + "alpha_2": "MK", + "alpha_3": "MKD", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ฐ", + "name": "North Macedonia", + "numeric": "807", + "official_name": "Republic of North Macedonia" + }, + { + "alpha_2": "ML", + "alpha_3": "MLI", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ฑ", + "name": "Mali", + "numeric": "466", + "official_name": "Republic of Mali" + }, + { + "alpha_2": "MT", + "alpha_3": "MLT", + "flag": "๐Ÿ‡ฒ๐Ÿ‡น", + "name": "Malta", + "numeric": "470", + "official_name": "Republic of Malta" + }, + { + "alpha_2": "MM", + "alpha_3": "MMR", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ฒ", + "name": "Myanmar", + "numeric": "104", + "official_name": "Republic of Myanmar" + }, + { + "alpha_2": "ME", + "alpha_3": "MNE", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ช", + "name": "Montenegro", + "numeric": "499", + "official_name": "Montenegro" + }, + { + "alpha_2": "MN", + "alpha_3": "MNG", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ณ", + "name": "Mongolia", + "numeric": "496" + }, + { + "alpha_2": "MP", + "alpha_3": "MNP", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ต", + "name": "Northern Mariana Islands", + "numeric": "580", + "official_name": "Commonwealth of the Northern Mariana Islands" + }, + { + "alpha_2": "MZ", + "alpha_3": "MOZ", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ฟ", + "name": "Mozambique", + "numeric": "508", + "official_name": "Republic of Mozambique" + }, + { + "alpha_2": "MR", + "alpha_3": "MRT", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ท", + "name": "Mauritania", + "numeric": "478", + "official_name": "Islamic Republic of Mauritania" + }, + { + "alpha_2": "MS", + "alpha_3": "MSR", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ธ", + "name": "Montserrat", + "numeric": "500" + }, + { + "alpha_2": "MQ", + "alpha_3": "MTQ", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ถ", + "name": "Martinique", + "numeric": "474" + }, + { + "alpha_2": "MU", + "alpha_3": "MUS", + "flag": "๐Ÿ‡ฒ๐Ÿ‡บ", + "name": "Mauritius", + "numeric": "480", + "official_name": "Republic of Mauritius" + }, + { + "alpha_2": "MW", + "alpha_3": "MWI", + "flag": "๐Ÿ‡ฒ๐Ÿ‡ผ", + "name": "Malawi", + "numeric": "454", + "official_name": "Republic of Malawi" + }, + { + "alpha_2": "MY", + "alpha_3": "MYS", + "flag": "๐Ÿ‡ฒ๐Ÿ‡พ", + "name": "Malaysia", + "numeric": "458" + }, + { + "alpha_2": "YT", + "alpha_3": "MYT", + "flag": "๐Ÿ‡พ๐Ÿ‡น", + "name": "Mayotte", + "numeric": "175" + }, + { + "alpha_2": "NA", + "alpha_3": "NAM", + "flag": "๐Ÿ‡ณ๐Ÿ‡ฆ", + "name": "Namibia", + "numeric": "516", + "official_name": "Republic of Namibia" + }, + { + "alpha_2": "NC", + "alpha_3": "NCL", + "flag": "๐Ÿ‡ณ๐Ÿ‡จ", + "name": "New Caledonia", + "numeric": "540" + }, + { + "alpha_2": "NE", + "alpha_3": "NER", + "flag": "๐Ÿ‡ณ๐Ÿ‡ช", + "name": "Niger", + "numeric": "562", + "official_name": "Republic of the Niger" + }, + { + "alpha_2": "NF", + "alpha_3": "NFK", + "flag": "๐Ÿ‡ณ๐Ÿ‡ซ", + "name": "Norfolk Island", + "numeric": "574" + }, + { + "alpha_2": "NG", + "alpha_3": "NGA", + "flag": "๐Ÿ‡ณ๐Ÿ‡ฌ", + "name": "Nigeria", + "numeric": "566", + "official_name": "Federal Republic of Nigeria" + }, + { + "alpha_2": "NI", + "alpha_3": "NIC", + "flag": "๐Ÿ‡ณ๐Ÿ‡ฎ", + "name": "Nicaragua", + "numeric": "558", + "official_name": "Republic of Nicaragua" + }, + { + "alpha_2": "NU", + "alpha_3": "NIU", + "flag": "๐Ÿ‡ณ๐Ÿ‡บ", + "name": "Niue", + "numeric": "570", + "official_name": "Niue" + }, + { + "alpha_2": "NL", + "alpha_3": "NLD", + "flag": "๐Ÿ‡ณ๐Ÿ‡ฑ", + "name": "Netherlands", + "numeric": "528", + "official_name": "Kingdom of the Netherlands" + }, + { + "alpha_2": "NO", + "alpha_3": "NOR", + "flag": "๐Ÿ‡ณ๐Ÿ‡ด", + "name": "Norway", + "numeric": "578", + "official_name": "Kingdom of Norway" + }, + { + "alpha_2": "NP", + "alpha_3": "NPL", + "flag": "๐Ÿ‡ณ๐Ÿ‡ต", + "name": "Nepal", + "numeric": "524", + "official_name": "Federal Democratic Republic of Nepal" + }, + { + "alpha_2": "NR", + "alpha_3": "NRU", + "flag": "๐Ÿ‡ณ๐Ÿ‡ท", + "name": "Nauru", + "numeric": "520", + "official_name": "Republic of Nauru" + }, + { + "alpha_2": "NZ", + "alpha_3": "NZL", + "flag": "๐Ÿ‡ณ๐Ÿ‡ฟ", + "name": "New Zealand", + "numeric": "554" + }, + { + "alpha_2": "OM", + "alpha_3": "OMN", + "flag": "๐Ÿ‡ด๐Ÿ‡ฒ", + "name": "Oman", + "numeric": "512", + "official_name": "Sultanate of Oman" + }, + { + "alpha_2": "PK", + "alpha_3": "PAK", + "flag": "๐Ÿ‡ต๐Ÿ‡ฐ", + "name": "Pakistan", + "numeric": "586", + "official_name": "Islamic Republic of Pakistan" + }, + { + "alpha_2": "PA", + "alpha_3": "PAN", + "flag": "๐Ÿ‡ต๐Ÿ‡ฆ", + "name": "Panama", + "numeric": "591", + "official_name": "Republic of Panama" + }, + { + "alpha_2": "PN", + "alpha_3": "PCN", + "flag": "๐Ÿ‡ต๐Ÿ‡ณ", + "name": "Pitcairn", + "numeric": "612" + }, + { + "alpha_2": "PE", + "alpha_3": "PER", + "flag": "๐Ÿ‡ต๐Ÿ‡ช", + "name": "Peru", + "numeric": "604", + "official_name": "Republic of Peru" + }, + { + "alpha_2": "PH", + "alpha_3": "PHL", + "flag": "๐Ÿ‡ต๐Ÿ‡ญ", + "name": "Philippines", + "numeric": "608", + "official_name": "Republic of the Philippines" + }, + { + "alpha_2": "PW", + "alpha_3": "PLW", + "flag": "๐Ÿ‡ต๐Ÿ‡ผ", + "name": "Palau", + "numeric": "585", + "official_name": "Republic of Palau" + }, + { + "alpha_2": "PG", + "alpha_3": "PNG", + "flag": "๐Ÿ‡ต๐Ÿ‡ฌ", + "name": "Papua New Guinea", + "numeric": "598", + "official_name": "Independent State of Papua New Guinea" + }, + { + "alpha_2": "PL", + "alpha_3": "POL", + "flag": "๐Ÿ‡ต๐Ÿ‡ฑ", + "name": "Poland", + "numeric": "616", + "official_name": "Republic of Poland" + }, + { + "alpha_2": "PR", + "alpha_3": "PRI", + "flag": "๐Ÿ‡ต๐Ÿ‡ท", + "name": "Puerto Rico", + "numeric": "630" + }, + { + "alpha_2": "KP", + "alpha_3": "PRK", + "common_name": "North Korea", + "flag": "๐Ÿ‡ฐ๐Ÿ‡ต", + "name": "Korea, Democratic People's Republic of", + "numeric": "408", + "official_name": "Democratic People's Republic of Korea" + }, + { + "alpha_2": "PT", + "alpha_3": "PRT", + "flag": "๐Ÿ‡ต๐Ÿ‡น", + "name": "Portugal", + "numeric": "620", + "official_name": "Portuguese Republic" + }, + { + "alpha_2": "PY", + "alpha_3": "PRY", + "flag": "๐Ÿ‡ต๐Ÿ‡พ", + "name": "Paraguay", + "numeric": "600", + "official_name": "Republic of Paraguay" + }, + { + "alpha_2": "PS", + "alpha_3": "PSE", + "flag": "๐Ÿ‡ต๐Ÿ‡ธ", + "name": "Palestine, State of", + "numeric": "275", + "official_name": "the State of Palestine" + }, + { + "alpha_2": "PF", + "alpha_3": "PYF", + "flag": "๐Ÿ‡ต๐Ÿ‡ซ", + "name": "French Polynesia", + "numeric": "258" + }, + { + "alpha_2": "QA", + "alpha_3": "QAT", + "flag": "๐Ÿ‡ถ๐Ÿ‡ฆ", + "name": "Qatar", + "numeric": "634", + "official_name": "State of Qatar" + }, + { + "alpha_2": "RE", + "alpha_3": "REU", + "flag": "๐Ÿ‡ท๐Ÿ‡ช", + "name": "Rรฉunion", + "numeric": "638" + }, + { + "alpha_2": "RO", + "alpha_3": "ROU", + "flag": "๐Ÿ‡ท๐Ÿ‡ด", + "name": "Romania", + "numeric": "642" + }, + { + "alpha_2": "RU", + "alpha_3": "RUS", + "flag": "๐Ÿ‡ท๐Ÿ‡บ", + "name": "Russian Federation", + "numeric": "643" + }, + { + "alpha_2": "RW", + "alpha_3": "RWA", + "flag": "๐Ÿ‡ท๐Ÿ‡ผ", + "name": "Rwanda", + "numeric": "646", + "official_name": "Rwandese Republic" + }, + { + "alpha_2": "SA", + "alpha_3": "SAU", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฆ", + "name": "Saudi Arabia", + "numeric": "682", + "official_name": "Kingdom of Saudi Arabia" + }, + { + "alpha_2": "SD", + "alpha_3": "SDN", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฉ", + "name": "Sudan", + "numeric": "729", + "official_name": "Republic of the Sudan" + }, + { + "alpha_2": "SN", + "alpha_3": "SEN", + "flag": "๐Ÿ‡ธ๐Ÿ‡ณ", + "name": "Senegal", + "numeric": "686", + "official_name": "Republic of Senegal" + }, + { + "alpha_2": "SG", + "alpha_3": "SGP", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฌ", + "name": "Singapore", + "numeric": "702", + "official_name": "Republic of Singapore" + }, + { + "alpha_2": "GS", + "alpha_3": "SGS", + "flag": "๐Ÿ‡ฌ๐Ÿ‡ธ", + "name": "South Georgia and the South Sandwich Islands", + "numeric": "239" + }, + { + "alpha_2": "SH", + "alpha_3": "SHN", + "flag": "๐Ÿ‡ธ๐Ÿ‡ญ", + "name": "Saint Helena, Ascension and Tristan da Cunha", + "numeric": "654" + }, + { + "alpha_2": "SJ", + "alpha_3": "SJM", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฏ", + "name": "Svalbard and Jan Mayen", + "numeric": "744" + }, + { + "alpha_2": "SB", + "alpha_3": "SLB", + "flag": "๐Ÿ‡ธ๐Ÿ‡ง", + "name": "Solomon Islands", + "numeric": "090" + }, + { + "alpha_2": "SL", + "alpha_3": "SLE", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฑ", + "name": "Sierra Leone", + "numeric": "694", + "official_name": "Republic of Sierra Leone" + }, + { + "alpha_2": "SV", + "alpha_3": "SLV", + "flag": "๐Ÿ‡ธ๐Ÿ‡ป", + "name": "El Salvador", + "numeric": "222", + "official_name": "Republic of El Salvador" + }, + { + "alpha_2": "SM", + "alpha_3": "SMR", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฒ", + "name": "San Marino", + "numeric": "674", + "official_name": "Republic of San Marino" + }, + { + "alpha_2": "SO", + "alpha_3": "SOM", + "flag": "๐Ÿ‡ธ๐Ÿ‡ด", + "name": "Somalia", + "numeric": "706", + "official_name": "Federal Republic of Somalia" + }, + { + "alpha_2": "PM", + "alpha_3": "SPM", + "flag": "๐Ÿ‡ต๐Ÿ‡ฒ", + "name": "Saint Pierre and Miquelon", + "numeric": "666" + }, + { + "alpha_2": "RS", + "alpha_3": "SRB", + "flag": "๐Ÿ‡ท๐Ÿ‡ธ", + "name": "Serbia", + "numeric": "688", + "official_name": "Republic of Serbia" + }, + { + "alpha_2": "SS", + "alpha_3": "SSD", + "flag": "๐Ÿ‡ธ๐Ÿ‡ธ", + "name": "South Sudan", + "numeric": "728", + "official_name": "Republic of South Sudan" + }, + { + "alpha_2": "ST", + "alpha_3": "STP", + "flag": "๐Ÿ‡ธ๐Ÿ‡น", + "name": "Sao Tome and Principe", + "numeric": "678", + "official_name": "Democratic Republic of Sao Tome and Principe" + }, + { + "alpha_2": "SR", + "alpha_3": "SUR", + "flag": "๐Ÿ‡ธ๐Ÿ‡ท", + "name": "Suriname", + "numeric": "740", + "official_name": "Republic of Suriname" + }, + { + "alpha_2": "SK", + "alpha_3": "SVK", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฐ", + "name": "Slovakia", + "numeric": "703", + "official_name": "Slovak Republic" + }, + { + "alpha_2": "SI", + "alpha_3": "SVN", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฎ", + "name": "Slovenia", + "numeric": "705", + "official_name": "Republic of Slovenia" + }, + { + "alpha_2": "SE", + "alpha_3": "SWE", + "flag": "๐Ÿ‡ธ๐Ÿ‡ช", + "name": "Sweden", + "numeric": "752", + "official_name": "Kingdom of Sweden" + }, + { + "alpha_2": "SZ", + "alpha_3": "SWZ", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฟ", + "name": "Eswatini", + "numeric": "748", + "official_name": "Kingdom of Eswatini" + }, + { + "alpha_2": "SX", + "alpha_3": "SXM", + "flag": "๐Ÿ‡ธ๐Ÿ‡ฝ", + "name": "Sint Maarten (Dutch part)", + "numeric": "534", + "official_name": "Sint Maarten (Dutch part)" + }, + { + "alpha_2": "SC", + "alpha_3": "SYC", + "flag": "๐Ÿ‡ธ๐Ÿ‡จ", + "name": "Seychelles", + "numeric": "690", + "official_name": "Republic of Seychelles" + }, + { + "alpha_2": "SY", + "alpha_3": "SYR", + "common_name": "Syria", + "flag": "๐Ÿ‡ธ๐Ÿ‡พ", + "name": "Syrian Arab Republic", + "numeric": "760" + }, + { + "alpha_2": "TC", + "alpha_3": "TCA", + "flag": "๐Ÿ‡น๐Ÿ‡จ", + "name": "Turks and Caicos Islands", + "numeric": "796" + }, + { + "alpha_2": "TD", + "alpha_3": "TCD", + "flag": "๐Ÿ‡น๐Ÿ‡ฉ", + "name": "Chad", + "numeric": "148", + "official_name": "Republic of Chad" + }, + { + "alpha_2": "TG", + "alpha_3": "TGO", + "flag": "๐Ÿ‡น๐Ÿ‡ฌ", + "name": "Togo", + "numeric": "768", + "official_name": "Togolese Republic" + }, + { + "alpha_2": "TH", + "alpha_3": "THA", + "flag": "๐Ÿ‡น๐Ÿ‡ญ", + "name": "Thailand", + "numeric": "764", + "official_name": "Kingdom of Thailand" + }, + { + "alpha_2": "TJ", + "alpha_3": "TJK", + "flag": "๐Ÿ‡น๐Ÿ‡ฏ", + "name": "Tajikistan", + "numeric": "762", + "official_name": "Republic of Tajikistan" + }, + { + "alpha_2": "TK", + "alpha_3": "TKL", + "flag": "๐Ÿ‡น๐Ÿ‡ฐ", + "name": "Tokelau", + "numeric": "772" + }, + { + "alpha_2": "TM", + "alpha_3": "TKM", + "flag": "๐Ÿ‡น๐Ÿ‡ฒ", + "name": "Turkmenistan", + "numeric": "795" + }, + { + "alpha_2": "TL", + "alpha_3": "TLS", + "flag": "๐Ÿ‡น๐Ÿ‡ฑ", + "name": "Timor-Leste", + "numeric": "626", + "official_name": "Democratic Republic of Timor-Leste" + }, + { + "alpha_2": "TO", + "alpha_3": "TON", + "flag": "๐Ÿ‡น๐Ÿ‡ด", + "name": "Tonga", + "numeric": "776", + "official_name": "Kingdom of Tonga" + }, + { + "alpha_2": "TT", + "alpha_3": "TTO", + "flag": "๐Ÿ‡น๐Ÿ‡น", + "name": "Trinidad and Tobago", + "numeric": "780", + "official_name": "Republic of Trinidad and Tobago" + }, + { + "alpha_2": "TN", + "alpha_3": "TUN", + "flag": "๐Ÿ‡น๐Ÿ‡ณ", + "name": "Tunisia", + "numeric": "788", + "official_name": "Republic of Tunisia" + }, + { + "alpha_2": "TR", + "alpha_3": "TUR", + "flag": "๐Ÿ‡น๐Ÿ‡ท", + "name": "Tรผrkiye", + "numeric": "792", + "official_name": "Republic of Tรผrkiye" + }, + { + "alpha_2": "TV", + "alpha_3": "TUV", + "flag": "๐Ÿ‡น๐Ÿ‡ป", + "name": "Tuvalu", + "numeric": "798" + }, + { + "alpha_2": "TW", + "alpha_3": "TWN", + "common_name": "Taiwan", + "flag": "๐Ÿ‡น๐Ÿ‡ผ", + "name": "Taiwan, Province of China", + "numeric": "158", + "official_name": "Taiwan, Province of China" + }, + { + "alpha_2": "TZ", + "alpha_3": "TZA", + "common_name": "Tanzania", + "flag": "๐Ÿ‡น๐Ÿ‡ฟ", + "name": "Tanzania, United Republic of", + "numeric": "834", + "official_name": "United Republic of Tanzania" + }, + { + "alpha_2": "UG", + "alpha_3": "UGA", + "flag": "๐Ÿ‡บ๐Ÿ‡ฌ", + "name": "Uganda", + "numeric": "800", + "official_name": "Republic of Uganda" + }, + { + "alpha_2": "UA", + "alpha_3": "UKR", + "flag": "๐Ÿ‡บ๐Ÿ‡ฆ", + "name": "Ukraine", + "numeric": "804" + }, + { + "alpha_2": "UM", + "alpha_3": "UMI", + "flag": "๐Ÿ‡บ๐Ÿ‡ฒ", + "name": "United States Minor Outlying Islands", + "numeric": "581" + }, + { + "alpha_2": "UY", + "alpha_3": "URY", + "flag": "๐Ÿ‡บ๐Ÿ‡พ", + "name": "Uruguay", + "numeric": "858", + "official_name": "Eastern Republic of Uruguay" + }, + { + "alpha_2": "US", + "alpha_3": "USA", + "flag": "๐Ÿ‡บ๐Ÿ‡ธ", + "name": "United States", + "numeric": "840", + "official_name": "United States of America" + }, + { + "alpha_2": "UZ", + "alpha_3": "UZB", + "flag": "๐Ÿ‡บ๐Ÿ‡ฟ", + "name": "Uzbekistan", + "numeric": "860", + "official_name": "Republic of Uzbekistan" + }, + { + "alpha_2": "VA", + "alpha_3": "VAT", + "flag": "๐Ÿ‡ป๐Ÿ‡ฆ", + "name": "Holy See (Vatican City State)", + "numeric": "336" + }, + { + "alpha_2": "VC", + "alpha_3": "VCT", + "flag": "๐Ÿ‡ป๐Ÿ‡จ", + "name": "Saint Vincent and the Grenadines", + "numeric": "670" + }, + { + "alpha_2": "VE", + "alpha_3": "VEN", + "common_name": "Venezuela", + "flag": "๐Ÿ‡ป๐Ÿ‡ช", + "name": "Venezuela, Bolivarian Republic of", + "numeric": "862", + "official_name": "Bolivarian Republic of Venezuela" + }, + { + "alpha_2": "VG", + "alpha_3": "VGB", + "flag": "๐Ÿ‡ป๐Ÿ‡ฌ", + "name": "Virgin Islands, British", + "numeric": "092", + "official_name": "British Virgin Islands" + }, + { + "alpha_2": "VI", + "alpha_3": "VIR", + "flag": "๐Ÿ‡ป๐Ÿ‡ฎ", + "name": "Virgin Islands, U.S.", + "numeric": "850", + "official_name": "Virgin Islands of the United States" + }, + { + "alpha_2": "VN", + "alpha_3": "VNM", + "common_name": "Vietnam", + "flag": "๐Ÿ‡ป๐Ÿ‡ณ", + "name": "Viet Nam", + "numeric": "704", + "official_name": "Socialist Republic of Viet Nam" + }, + { + "alpha_2": "VU", + "alpha_3": "VUT", + "flag": "๐Ÿ‡ป๐Ÿ‡บ", + "name": "Vanuatu", + "numeric": "548", + "official_name": "Republic of Vanuatu" + }, + { + "alpha_2": "WF", + "alpha_3": "WLF", + "flag": "๐Ÿ‡ผ๐Ÿ‡ซ", + "name": "Wallis and Futuna", + "numeric": "876" + }, + { + "alpha_2": "WS", + "alpha_3": "WSM", + "flag": "๐Ÿ‡ผ๐Ÿ‡ธ", + "name": "Samoa", + "numeric": "882", + "official_name": "Independent State of Samoa" + }, + { + "alpha_2": "YE", + "alpha_3": "YEM", + "flag": "๐Ÿ‡พ๐Ÿ‡ช", + "name": "Yemen", + "numeric": "887", + "official_name": "Republic of Yemen" + }, + { + "alpha_2": "ZA", + "alpha_3": "ZAF", + "flag": "๐Ÿ‡ฟ๐Ÿ‡ฆ", + "name": "South Africa", + "numeric": "710", + "official_name": "Republic of South Africa" + }, + { + "alpha_2": "ZM", + "alpha_3": "ZMB", + "flag": "๐Ÿ‡ฟ๐Ÿ‡ฒ", + "name": "Zambia", + "numeric": "894", + "official_name": "Republic of Zambia" + }, + { + "alpha_2": "ZW", + "alpha_3": "ZWE", + "flag": "๐Ÿ‡ฟ๐Ÿ‡ผ", + "name": "Zimbabwe", + "numeric": "716", + "official_name": "Republic of Zimbabwe" + } + ] +} diff --git a/src/packages/HawkN.Iso.Countries.Generators/CountryCodeEnumsGenerator.cs b/src/packages/HawkN.Iso.Countries.Generators/CountryCodeEnumsGenerator.cs new file mode 100644 index 0000000..70211e0 --- /dev/null +++ b/src/packages/HawkN.Iso.Countries.Generators/CountryCodeEnumsGenerator.cs @@ -0,0 +1,182 @@ +๏ปฟusing System.Reflection; +using System.Text; +using HawkN.Iso.Countries.Generators.Handlers; +using HawkN.Iso.Countries.Generators.Models; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Text; +namespace HawkN.Iso.Countries.Generators; + +[Generator] +public class CountryCodeEnumsGenerator : BaseIncrementalGenerator +{ + protected override string HintName => "CountryCode.g.cs"; + + private const string StubSource = """ + // + // This file was generated by HawkN.Iso.Countries.Generators source generator. + // Do not modify this file manually. + // + #nullable enable + using System.Collections.Generic; + namespace HawkN.Iso.Countries + { + ///

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