Packages

A library to serve your Phoenix app in differnt locales

Current section

Files

Jump to
alternate lib plug.ex
Raw

lib/plug.ex

defmodule Alternate.Plug do
def locale_assign_key do
Application.get_env(:alternate, :locale_assign_key, :alternate_locale)
end
def gettext do
Application.get_env(:alternate, :gettext_module, nil)
end
def init(opts), do: opts
def call(%Plug.Conn{assigns: assigns} = conn, _opts) do
case gettext do
nil -> conn
gettext -> case Map.get(assigns, locale_assign_key, nil) do
nil ->
conn
locale ->
Gettext.put_locale(gettext, locale)
conn
end
end
end
end