Cldr.Number.System.system_name_from
system_name_from
, go back to Cldr.Number.System module for more information.
Specs
system_name_from( system_name(), Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.backend() ) :: {:ok, atom()} | {:error, {module(), String.t()}}
Returns a number system name for a given locale and number system reference.
Arguments
system_name
is any number system name returned byCldr.known_number_systems/0
or a number system type returned byCldr.known_number_system_types/0
locale
is any valid locale name returned byCldr.known_locale_names/0
or aCldr.LanguageTag
struct returned byCldr.Locale.new!/2
backend
is anyCldr
backend. That is, any module that containsuse Cldr
Notes
Number systems can be references in one of two ways:
As a number system type such as :default, :native, :traditional and :finance. This allows references to a number system for a locale in a consistent fashion for a given use
WIth the number system name directly, such as :latn, :arab or any of the other 70 or so
This function dereferences the supplied system_name
and returns the
actual system name.
Examples
ex> Cldr.Number.System.system_name_from(:default, "en", TestBackend.Cldr)
{:ok, :latn}
iex> Cldr.Number.System.system_name_from("latn", "en", TestBackend.Cldr)
{:ok, :latn}
iex> Cldr.Number.System.system_name_from(:native, "en", TestBackend.Cldr)
{:ok, :latn}
iex> Cldr.Number.System.system_name_from(:nope, "en", TestBackend.Cldr)
{
:error,
{Cldr.UnknownNumberSystemError, "The number system :nope is unknown"}
}
Note that return value is not guaranteed to be a valid number system for the given locale as demonstrated in the third example.