Packages

ex_cldr

2.24.0-rc.5
2.47.5 2.47.4 2.47.3 2.47.2 2.47.1 2.47.0 2.46.0 2.45.2 2.45.1 2.45.0 2.44.1 2.44.0 2.43.2 2.43.1 2.43.0 2.42.0 2.41.1 2.41.0 2.40.4 2.40.3 2.40.2 2.40.1 2.40.0 2.39.2 2.39.1 2.39.0 2.38.1 2.38.0 2.37.5 2.37.4 2.37.3 retired 2.37.2 2.37.1 2.37.0 2.36.0 2.35.1 2.35.0 retired 2.34.2 2.34.1 2.34.0 2.33.2 2.33.1 2.33.1-rc.0 2.33.0 2.32.1 2.32.0 2.31.0 2.30.0 2.29.0 2.28.0 2.27.1 2.27.0 retired 2.26.3 2.26.2 2.26.1 2.26.0 2.25.0 2.24.2 2.24.1 2.24.0 2.24.0-rc.6 2.24.0-rc.5 2.24.0-rc.4 2.24.0-rc.3 2.24.0-rc.2 2.24.0-rc.1 2.24.0-rc.0 2.23.2 2.23.1 2.23.0 2.22.1 2.22.0 2.21.0 2.20.0 2.20.0-rc.3 2.20.0-rc.2 2.20.0-rc.1 2.20.0-rc.0 2.19.1 2.19.0 2.18.2 2.18.1 2.18.0 2.18.0-rc.0 2.17.2 2.17.1 2.17.0 2.16.2 2.16.1 2.16.1-rc.0 2.16.0 2.15.0 2.14.1 2.14.0 2.14.0-rc.0 2.13.0 2.12.1 2.12.0 2.11.1 2.11.0 2.10.2 2.10.1 2.10.0 retired 2.9.0 2.8.1 2.8.0 2.7.2 2.7.1 2.7.0 2.6.2 2.6.1 2.6.0 2.5.0 2.4.3 2.4.2 2.4.1 2.4.0 2.3.2 2.3.1 2.3.0 2.2.7 2.2.6 2.2.5 2.2.4 2.2.3 2.2.2 2.2.1 2.2.0 2.1.0 2.0.4 2.0.3 2.0.2 2.0.1 2.0.0 2.0.0-rc.3 retired 2.0.0-rc.2 retired 2.0.0-rc.1 retired 2.0.0-rc.0 retired 1.8.2 1.8.1 1.8.0 1.7.1 1.7.0 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.2 1.5.1 1.5.0 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 retired 1.4.0-rc.3 retired 1.4.0-rc.2 retired 1.4.0-rc.1 retired 1.4.0-rc.0 retired 1.3.2 1.3.1 1.3.0 1.2.0 1.1.0 1.0.0 1.0.0-rc.3 retired 1.0.0-rc.2 retired 1.0.0-rc.1 retired 1.0.0-rc.0 retired 0.13.1 0.13.0 0.12.2 retired 0.12.1 retired 0.12.0 retired 0.11.0 retired 0.10.0 retired 0.9.0 retired 0.8.3 retired 0.8.2 retired 0.8.1 retired 0.8.0 retired 0.7.0 retired 0.6.2 retired 0.6.1 retired 0.6.0 retired 0.5.2 retired 0.5.1 retired 0.5.0 retired 0.4.2 retired 0.4.1 retired 0.4.0 retired 0.3.0 retired 0.2.1 retired 0.2.0 retired 0.1.3 retired 0.1.2 retired 0.1.1 retired 0.1.0 retired 0.0.20 retired 0.0.19 retired 0.0.18 retired 0.0.17 retired 0.0.16 retired 0.0.15 retired 0.0.14 retired 0.0.13 retired 0.0.12 retired 0.0.11 retired 0.0.10 retired 0.0.8 retired 0.0.7 retired 0.0.6 retired 0.0.5 retired 0.0.4 retired 0.0.3 retired

Common Locale Data Repository (CLDR) functions for Elixir to localize and format numbers, dates, lists, messages, languages, territories and units with support for over 700 locales for internationalized (i18n) and localized (L10N) applications.

Current section

Files

Jump to
ex_cldr lib cldr backend locale.ex
Raw

lib/cldr/backend/locale.ex

defmodule Cldr.Locale.Backend do
@moduledoc false
def define_locale_backend(config) do
quote location: :keep, bind_quoted: [config: Macro.escape(config)] do
defmodule Locale do
@moduledoc false
if Cldr.Config.include_module_docs?(config.generate_docs) do
@moduledoc """
Backend module that provides functions
to define new locales and display human-readable
locale names for presentation purposes.
"""
end
def new(locale_name), do: Cldr.Locale.new(locale_name, unquote(config.backend))
def new!(locale_name), do: Cldr.Locale.new!(locale_name, unquote(config.backend))
@doc """
Returns the territory from a language tag or
locale name.
## Arguments
* `locale` is any language tag returned by
`#{inspect(__MODULE__)}.new/1`
or a locale name in the list returned by
`#{inspect(config.backend)}.known_locale_names/0`
## Returns
* A territory code as an atom
## Examples
iex> #{inspect(__MODULE__)}.territory_from_locale "en-US"
:US
iex> #{inspect(__MODULE__)}.territory_from_locale "en-US-u-rg-GBzzzz"
:GB
"""
@spec territory_from_locale(Cldr.LanguageTag.t() | Cldr.Locale.locale_name()) ::
Cldr.Locale.territory()
@doc since: "2.18.2"
def territory_from_locale(locale) when is_binary(locale) do
Cldr.Locale.territory_from_locale(locale, unquote(config.backend))
end
def territory_from_locale(%LanguageTag{} = locale) do
Cldr.Locale.territory_from_locale(locale)
end
@doc """
Returns the time zone from a language tag or
locale name.
## Arguments
* `locale` is any language tag returned by
`#{inspect(__MODULE__)}.new/1`
or a locale name in the list returned by
`#{inspect(config.backend)}.known_locale_names/0`
## Returns
* A time zone ID as a string or
* `:error` if no time zone can be determined
## Examples
iex> #{inspect(__MODULE__)}.timezone_from_locale "en-US-u-tz-ausyd"
"Australia/Sydney"
"""
@doc since: "2.19.0"
@spec timezone_from_locale(Cldr.LanguageTag.t() | Cldr.Locale.locale_name()) ::
String.t() | {:error, {module(), String.t()}}
def timezone_from_locale(locale) when is_binary(locale) do
Cldr.Locale.timezone_from_locale(locale, unquote(config.backend))
end
def timezone_from_locale(%LanguageTag{} = locale) do
Cldr.Locale.timezone_from_locale(locale)
end
end
end
end
end