您可以为此使用超类的ie
changeLang(Stringpre)方法
play.mvc.Controller。
然后,您需要告诉您的语言解析器,哪个域使用我们默认的语言,为此使用探查
application.conf或数据库记录。接下来,根据您要实现的目标,只需使用Global类来拦截您的所有请求,或者创建一个简单的 *** 作即可更改语言,然后它们将返回同一页面(因此用户可以自己决定要使用哪种语言)
。
这是一种基于cookie的机制,因此我不确定是否不需要执行强制页面重新加载(即,通过重定向到同一路径),我想您会告诉我们何时进行检查; )
编辑:
那可能就是 喜欢
public Action onRequest(final Http.Request request, final Method actionMethod) { if (request.host().equals("de.yourdomain.tld") && (request.cookie("PLAY_LANG") == null || !request.cookie("PLAY_LANG").value().equals("de"))) { return new Action.Simple() { public Result call(Http.Context ctx) throws Throwable { ctx.changeLang("de"); return redirect(request.path()); } }; } else { return super.onRequest(request, actionMethod); }}
只需确保已
de添加lang
application.conf,否则您将获得漂亮的,无尽的重定向循环。这
PLAY_LANG是用于存储所选语言的典型Play曲奇名称。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)