View Source IsoLang Cheatsheet

Quick reference for using IsoLang.

lookup-a-single-language

Lookup a Single Language

Specify :alpha2 if you want to lookup by the 2-character code:

iex> IsoLang.get("de", by: :alpha2)
{:ok,
 %IsoLang{
   alpha2: "de",
   alpha3b: "ger",
   alpha3t: "deu",
   name: "German",
   native_name: "Deutsch"
 }}

Specify :alpha3b if you want to lookup a language by the "common" 3-character code:

iex> IsoLang.get("eng", by: :alpha3b)
{:ok,
 %IsoLang{
   alpha2: "en",
   alpha3b: "eng",
   alpha3t: "",
   name: "English",
   native_name: "English"
 }}

Some languages are also identified by an :alpha3t 3-character code, but these are somewhat rare.

search-languages

Search Languages

If you don't have a unique identifier, use IsoLang.find/2. By default, the field to be searched will be the :name field. This will perform a case-insensitive search of all available languages.

iex> IsoLang.find("eng", by: :name)
{:ok,
 [
   %IsoLang{
     alpha2: "",
     alpha3b: "ang",
     alpha3t: "",
     name: "English, Old (ca.450-1100)",
     native_name: nil
   },
   %IsoLang{
     alpha2: "bn",
     alpha3b: "ben",
     alpha3t: "",
     name: "Bengali",
     native_name: "বাংলা"
   },
   %IsoLang{
     alpha2: "",
     alpha3b: "cpe",
     alpha3t: "",
     name: "Creoles and pidgins, English based",
     native_name: nil
   },
   %IsoLang{
     alpha2: "en",
     alpha3b: "eng",
     alpha3t: "",
     name: "English",
     native_name: "English"
   },
   %IsoLang{
     alpha2: "",
     alpha3b: "enm",
     alpha3t: "",
     name: "English, Middle (1100-1500)",
     native_name: nil
   }
 ]}