Cldr.Calendar.Preference (Cldr Calendars v1.15.0) View Source
Link to this section Summary
Functions
Return the calendar module for a locale.
Returns the calendar module preferred for a territory.
Link to this section Functions
Return the calendar module for a locale.
Arguments
:localeis any locale or locale name validated byCldr.validate_locale/2. The default isCldr.get_locale()which returns the locale set for the current process
Returns
{:ok, calendar_module}or{:error, {exception, reason}}
Examples
iex> Cldr.Calendar.Preference.calendar_from_locale "en-GB"
{:ok, Cldr.Calendar.GB}
iex> Cldr.Calendar.Preference.calendar_from_locale "en-GB-u-ca-gregory"
{:ok, Cldr.Calendar.GB}
iex> Cldr.Calendar.Preference.calendar_from_locale "en"
{:ok, Cldr.Calendar.US}
iex> Cldr.Calendar.Preference.calendar_from_locale "fa-IR"
{:ok, Cldr.Calendar.Persian}
iex> Cldr.Calendar.Preference.calendar_from_locale "fa-IR-u-ca-gregory"
{:ok, Cldr.Calendar.IR}
Returns the calendar module preferred for a territory.
Arguments
territoryis any valid ISO3166-2 code as anString.tor upcasedatom()
Returns
{:ok, calendar_module}or{:error, {exception, reason}}
Examples
iex> Cldr.Calendar.Preference.calendar_from_territory :US
{:ok, Cldr.Calendar.US}
iex> Cldr.Calendar.Preference.calendar_from_territory :YY
{:error, {Cldr.UnknownTerritoryError, "The territory :YY is unknown"}}Notes
The overwhelming majority of territories have
:gregorian as their first preferred calendar
and therefore Cldr.Calendar.Gregorian
will be returned for most territories.
Returning any other calendar module would require:
That another calendar is preferred over
:gregorianfor a territoryThat a calendar module is available to support that calendar.
As an example, Iran (territory :IR) prefers the
:persian calendar. If the optional library
ex_cldr_calendars_persian
is installed, the calendar module Cldr.Calendar.Persian will
be returned. If it is not installed, Cldr.Calendar.Gregorian
will be returned as :gregorian is the second preference
for :IR.