Cldr.validate_locale
You're seeing just the function
validate_locale
, go back to Cldr module for more information.
Specs
validate_locale(Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), backend()) :: {:ok, Cldr.LanguageTag.t()} | {:error, {module(), String.t()}}
Normalise and validate a locale name.
Arguments
locale
is any valid locale name returned byCldr.known_locale_names/1
or aCldr.LanguageTag
struct returned byCldr.Locale.new!/2
backend
is any module that includesuse Cldr
and therefore is aCldr
backend module. The default isCldr.default_backend/0
. Note thatCldr.default_backend/0
will raise an exception if no:default_backend
is configured under the:ex_cldr
key inconfig.exs
.
Returns
{:ok, language_tag}
{:error, reason}
Examples
iex> Cldr.validate_locale("en", TestBackend.Cldr)
{:ok,
%Cldr.LanguageTag{
backend: TestBackend.Cldr,
canonical_locale_name: "en",
cldr_locale_name: "en",
extensions: %{},
gettext_locale_name: "en",
language: "en",
locale: %{},
private_use: [],
rbnf_locale_name: "en",
requested_locale_name: "en",
script: :Latn,
territory: :US,
transform: %{},
language_variants: []
}}
iex> Cldr.validate_locale("zzz", TestBackend.Cldr)
{:error, {Cldr.InvalidLanguageError, "The language \"zzz\" is invalid"}}