【问题标题】:Play framework localisation is not working in productionPlay 框架本地化在生产中不起作用
【发布时间】:2014-04-09 13:46:42
【问题描述】:

如果我使用“play run”运行我的播放框架应用程序,本地化就可以了。但是,如果我执行“play dist”然后使用 start 命令,则会出现原始英文消息。 我发现,如果我在启动脚本中更改类路径顺序,将包含我的消息文件的 jar 放在首位,那么本地化就可以了。 有没有更好的方法来做到这一点?

如果我将conf/messages复制到conf/messages.hu并在application.conf中设置application.langs="hu",也是一样的。 并且保持不变,如果我更改我的浏览器设置,所以这在请求标头中:“Accept-Language:hu,en-US;q=0.8,en;q=0.6”。仍然是英文消息(仅当它们是内置键时。我的自定义键已正确翻译)。

【问题讨论】:

    标签: scala playframework localization


    【解决方案1】:

    我们已经解决了。

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

    解决方案是这样的:@elements.errors(elements.lang)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-30
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多