linguist integration functions into phoenix
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Build Status


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.


Elixir 1.0.2

Phoenix 0.10.0


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

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

Check the online documentation for the list of helpers available