Please see the original project for updates. This fork solely fixes a mix dependency which breaks PhoenixLinguist to work after making a release with e.g. distillery.
#PhoenixLinguist
A project that integrates Phoenix with Linguist, providing a plug and view helpers
PhoenixLinguistPlug
checks if there's a :locale param on the requested route, if there is and matches the existing locales, puts the locale on the session. If the requested :locale does not exist, forwards the user to the ErrorView
404
handler defined. If there isn't a :locale defined, PhoenixLinguistPlug
puts the default locale on the session
PhoenixLinguist.Helpers
are a couple of view helpers that can be used on templates to help determine user's prefered locale
You can see the online documentation for more information.
##Requirements
Elixir 1.0.2
Phoenix 0.10.0
##Instructions
Define your I18n Module on config.ex
next to other Endpoint Settings
config :my_app, MyApp.Endpoint,
url: [host: "localhost"],
secret_key_base: "l6M/YRIzkiqMk5Irn9UNm7ANo1BoHIF0XchxNmcUJWhdKZdERA45ASDFIxZ",
debug_errors: false,
i18n: MyApp.I18n
Add PhoenixLinguist.Plug
to the plug list on your routes file, on the browser pipeline after Phoenix plugs
pipeline :browser do
plug :accepts, ~w(html)
plug :fetch_session
plug :fetch_flash
plug :protect_from_forgery
plug PhoenixLinguist.Plug
end
If you need to use the helper functions, add PhoenixLinguist.Helpers
to your web module:
def view do
quote do
use Phoenix.View, root: "web/templates"
import MyAPP.Router.Helpers
use Phoenix.HTML
import PhoenixLinguist.Helpers
end
end
Check the online documentation for the list of helpers available