lib/plug_locale/sanitizer.ex

defmodule PlugLocale.Sanitizer do
  @moduledoc """
  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

  """

  @doc false
  def sanitize(locale), do: locale
end