View Source PlugLocale.Sanitizer (plug_locale v0.1.1)

The default implementation is a function like fn x -> x end, which does nothing. But, in practice, you will need to set it to something meaningful.

For example:

def sanitize(locale) do
  case locale do
    # explicit matching on supported locales
    locale when locale in ["en", "zh"] ->
      locale

    # fuzzy matching on en locale
    "en-" <> _ ->
      "en"

    # fuzzy matching on zh locale
    "zh-" <> _ ->
      "zh"

    # fallback for unsupported locales
    _ ->
      "en"
  end
end