/phoenix_linguist

Linguist integration functions into phoenix (without mix dependency)

Primary LanguageElixirMIT LicenseMIT

Build Status

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