IsoEnums 1.0.0

dotnet add package IsoEnums --version 1.0.0
                    
NuGet\Install-Package IsoEnums -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="IsoEnums" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="IsoEnums" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="IsoEnums" />
                    
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 IsoEnums --version 1.0.0
                    
#r "nuget: IsoEnums, 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.
#addin nuget:?package=IsoEnums&version=1.0.0
                    
Install IsoEnums as a Cake Addin
#tool nuget:?package=IsoEnums&version=1.0.0
                    
Install IsoEnums as a Cake Tool

Enums for ISO languages, countries and currencies

Common

All enums have the value 0 as Uninitialized

ISO639 Language

The Language enum contains 7319 languages.

// Every language is available in the Language-enum
Language l = Language.English;
// Every Language has a 639-3 3-letter-code
String iso639_3Code = Language.English.Get3Code();  // eng
// A few languages have 2-letter-code
String iso639_2Code = Language.English.Get2Code();  // en
String nonexistant_2Code = Language.Dari.Get2Code();  // ??

// Lookup any language by their code (Char or Byte)
Language english = LanguageHelper.GetLanguageByCode("en");
Language english = LanguageHelper.GetLanguageByCode("en-us");
Language english = LanguageHelper.GetLanguageByCode("eng");

// There are also specific lookups if you know what type you want to look up
Language english = LanguageHelper.GetLanguageBy2Code("en");
Language english = LanguageHelper.GetLanguageBy2Code("en-us");
Language english = LanguageHelper.GetLanguageBy3Code("eng");


// For many lookup use Dictionaries from LanguageHelper
FrozenDictionary<String, Language> lookup = LanguageHelper.CreateFast2CodeLookup();
Language english = lookup["en"];

// The dictionary lookup will not work for language-country lookups
Language english = lookup["en-us"];

There are a few SpecialLanguageCodes as defined by the standard

  • Language.Uninitialized - The zero (0) enum value
  • Language.Uncoded_languages - not used
  • Language.Multiple_languages - not used
  • Language.Undetermined - returned by GetLanguageByCode for unknown language codes
  • Language.No_linguistic_content - not used

ISO3166 Countries

The Country enum contains 252 countries.

ISO4217 Currency

The Currency enum contains 171 currencies.

Product Compatible and additional computed target framework versions.
.NET 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 was computed.  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.
  • net9.0

    • No dependencies.

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 144 4/23/2025