Skip to content

A library that provides access to ISO standards, including ISO 639 (language codes), ISO 3166 (country codes), and ISO 4217 (currency codes). Countries, languages and currencies.

License

Notifications You must be signed in to change notification settings

alexibraimov/ISO.csharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISO.csharp

A library that provides access to ISO standards, including ISO 639 (language codes), ISO 3166 (country codes), and ISO 4217 (currency codes).

NuGet version (ISOLib) ISOLib NuGet Downloads

Usage

Language lang = Languages.Collection["eng"];
if (lang == Languages.ENG || lang == Languages.KIR)
   Console.WriteLine(lang);

Country[] countries = Countries.Collection.Where(c => c.Name[0] == 'A').ToArray();
foreach (Country country in countries)
{
   Language[] langs = country.GetLanguages();
   Currency[] currencies = country.GetCurrencies();
   string langsColumn = string.Join(',', langs.Select(l => l.Name));
   string currenciesColumn = string.Join(',', currencies.Select(l=>l.Alpha3));
   Console.WriteLine($"{country.Alpha2};{country.Name};{currenciesColumn};{langsColumn}");
}

Currency[] supportedCurrencies = Currencies.FilterCurrencies("USD", "KGS", "RUB");
foreach (var currency in supportedCurrencies)
{
   Console.WriteLine(currency);   
}

Models

Country model

class Country
{
    public string Alpha2 { get; }
    public string Alpha3 { get; }
    public string Name { get; }
    public string Name2 { get; }
    public string NativeName { get; }
    public string Capital { get; }
    public string CountryCode { get; }
    public string Continent { get; }
    public string ContinentAlpha2 { get; }
    public string Wiki { get; }
    public string Flag { get; }
    public int[] Phones { get; }
    public string[] Currencies { get; }
    public string[] Languages { get; }
}

Language model

class Language
{
    public string Alpha2 { get; }
    public string Alpha3 { get; }
    public string Name { get; }
    public string Name2 { get; }
    public string NativeName { get; }
    public string Family { get; }
}

Currency model

class Currency
{
  public string Name { get; }
  public string Alpha2 { get; }
  public string Alpha3 { get; }
  public string Number { get; }
  public int MinorUnit { get; }
}

List of Countries

Alpha-2 Alpha-3 Name Capital Continent Phone Codes Currency Codes Languages Flag Wikipedia
AF AFG Afghanistan Kabul Asia +93 AFN ps, uz, tk 🇦🇫 Link
AX ALA Åland Islands Mariehamn Europe +358 EUR sv 🇦🇽 Link
AL ALB Albania Tirana Europe +355 ALL sq 🇦🇱 Link
DZ DZA Algeria Algiers Africa +213 DZD ar 🇩🇿 Link
... ... ... ... ... ... ... ... ... ...

List of Languages

Alpha-2 Alpha-3 Name Native Name Family
aa aar Afar Afar Afro-Asiatic
ab abk Abkhaz Аҧсуа Northwest Caucasian
ae ave Avestan avesta Indo-European
af afr Afrikaans Afrikaans Indo-European
... ... ... ... ...

List of Currencies

Alpha-3 Name Number Minor Unit
AED United Arab Emirates dirham 784 2
AFN Afghan afghani 971 2
ALL Albanian lek 8 2
AMD Armenian dram 51 2
... ... ... ...

About

A library that provides access to ISO standards, including ISO 639 (language codes), ISO 3166 (country codes), and ISO 4217 (currency codes). Countries, languages and currencies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages