Firell.Standards 1.0.0

Prefix Reserved
dotnet add package Firell.Standards --version 1.0.0
                    
NuGet\Install-Package Firell.Standards -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Firell.Standards" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Firell.Standards" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Firell.Standards" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Firell.Standards --version 1.0.0
                    
#r "nuget: Firell.Standards, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Firell.Standards@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Firell.Standards&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Firell.Standards&version=1.0.0
                    
Install as a Cake Tool

International Standards

Working with international standards data can be tricky. It is often hard to find and even harder to keep up to date across multiple projects. This library gives .NET developers a straightforward alternative to building or collecting their own data. Its simple interface lets you access a wide range of information with minimal code.

The library is broken into smaller NuGet packages so you can pick only the standards you need, keeping your projects lean and clutter-free. If you want everything, the main package bundles all sub-packages for convenience.

ISO 3166

This package includes international standard country codes, along with related information that may be useful in different contexts.

Features

  • Country codes (numeric, alpha-2, alpha-3)
  • Common, official and native country names
  • Regions and capital cities
  • Spoken languages and active currencies
  • International dialing codes

Usage

Get countries & regions

Access the list of countries or regions using predefined properties in the ISO3166 class, or filter countries by region.

var countries = ISO3166.Countries;
var regions = ISO3166.Regions;
var europe = ISO3166.GetCountriesByRegion(Region.Europe);
var northernEurope = ISO3166.GetCountriesBySubregion(Subregion.NorthernEurope);

Alternatively, you can get specific countries using their predefined country property or their international codes:

var canada = CountryInfo.Canada;
var germany = ISO3166.GetCountryByCode("276");
var denmark = ISO3166.GetCountryByCode("DK");
var unitedStates = ISO3166.GetCountryByCode("USA");

Models

public record CountryInfo
{
    public string CommonName { get; init; }
    public string CommonNativeName { get; init; }
    public string OfficialName { get; init; }
    public string OfficialNativeName { get; init; }
    public string NumericCode { get; init; }
    public string TwoLetterCode { get; init; }
    public string ThreeLetterCode { get; init; }
    public string Region { get; init; }
    public string Subregion { get; init; }
    public string Capital { get; init; }
    public Dictionary<string, string> Languages { get; init; }
    public Dictionary<string, string> Currencies { get; init; }
    public string DialingCode { get; init; }
}

Each model includes a custom string representation for easy printing and debugging:

Common Name: Denmark
Common Native Name: Danmark
Official Name: Kingdom of Denmark
Official Native Name: Kongeriget Danmark
Numeric Code: 208
Two Letter Code: DK
Three Letter Code: DNK
Region: Europe
Subregion: Northern Europe
Capital: Copenhagen
Languages: Danish (DAN)
Currencies: Danish krone (DKK)
Dialing Code: +45

ISO 4217

This package includes international standard currency codes, along with related information that may be useful in different contexts.

Features

  • Currency codes (numeric, alphabetic)
  • Official, native, and common currency names
  • Currency symbols
  • Minor units
  • Country associations
  • Commodities and specialized currencies

Usage

Get currencies & commodities

Access the different lists of currencies using predefined properties in the ISO4217 class.

var currencies = ISO4217.Currencies;
var specializedCurrencies = ISO4217.SpecializedCurrencies;
var commodities = ISO4217.Commodities;

Alternatively, you can get specific currencies using their predefined currency property or their international codes:

var euro = CurrencyInfo.Euro;
var danishKrone = ISO4217.GetCurrencyByCode("DKK");
var unitedStatesDollar = ISO4217.GetCurrencyByCode("840");

Models

public partial record CurrencyInfo
{
    public string CommonName { get; init; }
    public string NativeName { get; init; }
    public string OfficialName { get; init; }
    public string? Symbol { get; init; }
    public string NumericCode { get; init; }
    public string AlphabeticCode { get; init; }
    public Dictionary<string, string> Countries { get; init; }
    public int? MinorUnit { get; init; }
}

Each model includes a custom string representation for easy printing and debugging:

Common Name: Krone
Native Name: Dansk Krone
Official Name: Danish Krone
Symbol: kr.
Numeric Code: 208
Alphabetic Code: DKK
Countries: Kingdom of Denmark (DNK), Faroe Islands (FRO), Greenland (GRL)
Minor Unit: 2

Planned Standards

Additional international standards will be added over time, either upon request or as needed.

  • ISO3166 (Country codes)
  • ISO4217 (Currency codes)
  • ISO639 (Language codes)
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 159 11/15/2025