Scala 游戏框架本地化在生产中不起作用

Scala 游戏框架本地化在生产中不起作用,scala,playframework,localization,Scala,Playframework,Localization,如果我用play run运行play framework应用程序,本地化就可以了。但是,如果我执行playdist,然后使用start命令,则会显示原始的英语消息。 我发现,如果我在开始脚本中更改类路径顺序,将包含消息文件的jar放在第一位,那么本地化就可以了。 有没有更好的办法 如果我将conf/messages复制到conf/messages.hu并在application.conf中设置application.langs=hu,情况也是一样的。 并且保持不变,如果我更改我的浏览器设置,这是

如果我用play run运行play framework应用程序,本地化就可以了。但是,如果我执行playdist,然后使用start命令,则会显示原始的英语消息。 我发现,如果我在开始脚本中更改类路径顺序,将包含消息文件的jar放在第一位,那么本地化就可以了。 有没有更好的办法

如果我将conf/messages复制到conf/messages.hu并在application.conf中设置application.langs=hu,情况也是一样的。
并且保持不变,如果我更改我的浏览器设置,这是在请求头中:接受语言:hu,en-US;q=0.8,en;q=0.6。如果它们是内置键,则仅限英文消息。我的自定义密钥已正确翻译。

我们已经找到了答案

有一个用过的。我的假设是,它使用隐式lang参数,但事实并非如此。必须将lang作为参数提供给elements.errors,并且当前lang设置存储在elements.lang属性中。这在文件中有说明,但我们遗漏了。因此,不应在字段模板中使用隐式lang参数,因为它包含错误的值

解决方案是:@elements.errorselements.lang

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