Cldr.validate_locale

You're seeing just the function validate_locale, go back to Cldr module for more information.
Link to this function

validate_locale(locale, backend \\ nil)

View Source

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

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"}}