我正在開發使用鳳凰框架鳳凰本地化
至今一個多語種的應用,路由器這個樣子的:
scope "/:locale", App do
pipe_through [:browser, :browser_session]
get "/", PageController, :index
get "/otherpage", OtherpageController, :index
end
scope "/", App do
end
我使用的文檔插件:http://www.phoenixframework.org/docs/understanding-plug#section-module-plugs
而且爲了使「語言環境」在應用程序中保留,我使用Phoenix.Controller模塊中的自定義動作來執行此操作:
def action(conn, _) do
apply(__MODULE__, action_name(conn), [conn,
conn.params,
conn.assigns.locale])
end
所以現在我生成一個控制器每次我要補充上述自定義操作,並在新的控制器改變每一個動作注入區域
def index(conn, _params, locale) do
list = Repo.all(List)
render conn, "index.html", list: list
end
有兩件事情,我掙扎:
1 -這是正確的方法嗎?或者我正在搞點什麼?
2 -而如何使範圍 「/」將被重定向到範圍 「/:區域設置」與像一個默認值:「恩」?
編輯
我喜歡這個URL: 「example.com/en」
凱恩
這可能有助於http://sevenseacat.net/2015/12/20/i18n-in-phoenix-apps.html –
謝謝Sasha,我之前檢查過它,但它沒有回答我的問題。 – kayne
這非常有趣。還必須處理排序規則?我想知道如何解決這個問題。 – helcim