Full Rewrite.

Some notes...

Don't include nuget package DLLs in source control.

Keep the user interface of your classes small.

.NET already has CultureInfo support which enumerates specific and parent cultures for us.
Which reminds me... decimal should be supported for currency, too. Commit incoming.