MyApp.Cldr.validate_locale
You're seeing just the function
validate_locale
, go back to MyApp.Cldr module for more information.
Specs
validate_locale(Cldr.Locale.locale_name() | Cldr.LanguageTag.t()) :: {:ok, Cldr.LanguageTag.t()} | {:error, {module(), String.t()}}
Normalise and validate a locale name.
Arguments
locale
is any valid locale name returned byMyApp.Cldr.known_locale_names/0
or aCldr.LanguageTag
struct returned byMyApp.Cldr.Locale.new!/1
Returns
{:ok, language_tag}
{:error, reason}
Notes
See rfc5646 for the specification of a language tag.
Examples
iex> MyApp.Cldr.validate_locale("en")
{:ok,
%Cldr.LanguageTag{
backend: MyApp.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> MyApp.Cldr.validate_locale MyApp.Cldr.default_locale()
{:ok,
%Cldr.LanguageTag{
backend: MyApp.Cldr,
canonical_locale_name: "en-001",
cldr_locale_name: "en-001",
extensions: %{},
gettext_locale_name: "en",
language: "en",
locale: %{},
private_use: [],
rbnf_locale_name: "en",
requested_locale_name: "en-001",
script: :Latn,
territory: :"001",
transform: %{},
language_variants: []
}}
iex> MyApp.Cldr.validate_locale("zzz")
{:error, {Cldr.InvalidLanguageError, "The language \"zzz\" is invalid"}}