Play框架本地化在生产中不起作用

时间:2014-04-09 13:46:43

标签: scala playframework localization

如果我使用&#34运行我的播放框架应用程序;播放"本地化很好。但如果我做了一个"播放dist"然后使用start命令,然后出现原始的英文消息。 我发现,如果我在启动脚本中更改类路径顺序,将包含我的消息文件的jar放到第一位,那么本地化就可以了。 有没有更好的方法呢?

如果我将conf / messages复制到conf / messages.hu并设置application.langs =" hu"在application.conf中。 并保持不变,如果我更改我的浏览器设置,那么这是在请求标题中:"接受语言:hu,en-US; q = 0.8,en; q = 0.6"。仍为英文消息(仅限于内置密钥。我的自定义密钥已正确翻译)。

1 个答案:

答案 0 :(得分:0)

我们已经弄清楚了。

使用了custom field constructor。我的假设是,它使用隐式lang 参数,但事实并非如此。必须将lang()作为参数赋予lang,并将当前的lang设置存储在elements.lang属性中。这在文档中说明,但我们错过了它。因此隐式lang参数不应在字段模板中使用,因为它包含错误的值。

解决方案是:@ elements.errors( elements.lang

    @elements.input
    <span class="errors">@elements.errors(elements.lang).mkString(", ")</span>