# `Cldr.LanguageTag.Sigil`
[🔗](https://github.com/elixir-cldr/cldr/blob/v2.47.3/lib/cldr/language_tag/sigil.ex#L1)

Implements a `sigil_l/2` macro to
constructing `t:Cldr.LanguageTag` structs.

# `sigil_l`
*macro* 

Handles sigil `~l` for language tags.

## Arguments

* `locale_name` is either a [BCP 47](https://unicode-org.github.io/cldr/ldml/tr35.html#Identifiers)
locale name as a string or

* `locale_name` | `backend` where backend is a backend module name.

## Options

* `u` Will parse the locale but will not add
  likely subtags and its not guaranteed that this
  language tag is known to the backend module.

## Returns

* a `t:Cldr.LanguageTag.t/0` struct or

* raises an exception.

## Examples

    iex> import Cldr.LanguageTag.Sigil
    iex> inspect(~l(en-US-u-ca-gregory))
    "TestBackend.Cldr.Locale.new!(\"en-US-u-ca-gregory\")"

    iex> import Cldr.LanguageTag.Sigil
    iex> inspect(~l(en-US-u-ca-gregory|MyApp.Cldr))
    "MyApp.Cldr.Locale.new!(\"en-US-u-ca-gregory\")"

    iex> import Cldr.LanguageTag.Sigil
    iex> inspect(~l(en))
    "TestBackend.Cldr.Locale.new!(\"en-US\")"

    iex> import Cldr.LanguageTag.Sigil
    iex> inspect(~l(en)u)
    "TestBackend.Cldr.Locale.new!(\"en\")"

---

*Consult [api-reference.md](api-reference.md) for complete listing*
