我正在开发使用凤凰框架凤凰本地化
至今一个多语种的应用,路由器这个样子的:
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