README.md

[![Build Status](https://travis-ci.org/jxs/phoenix_linguist.svg?branch=master)](https://travis-ci.org/jxs/phoenix_linguist)

#PhoenixLinguist

A project that integrates [Phoenix](http://github.com/phoenixframework/phoenix) with [Linguist](https://github.com/chrismccord/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

##Requirements

Elixir 1.0.2

[Phoenix](http://www.phoenixframework.org) 0.10.0

##Instructions

Define your I18n Module on `config.ex` next to other Endpoint Settings

```elixir
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

```elixir
  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:

```elixir
  def view do
    quote do
      use Phoenix.View, root: "web/templates"

      import MyAPP.Router.Helpers
      use Phoenix.HTML
      import PhoenixLinguist.Helpers
    end
  end

```