【问题标题】:How to set up Play to read message files from a custom directory?如何设置 Play 以从自定义目录读取消息文件?
【发布时间】:2014-01-21 03:24:45
【问题描述】:

build.scala中,我将消息文件的路径更改如下:

val main = play.Project(appName, appVersion, appDependencies).settings(
    lessEntryPoints <<= baseDirectory(_ / "app" / "assets" / "stylesheets" ** "main.less"),
    resolvers += "Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository",
    resolvers += "maven2 repository" at "http://repo1.maven.org/maven2/",
    unmanagedBase <<= baseDirectory(_ / ".." / "messagesFiles")
  )

messagesFiles 文件夹包含 messagesmessages.fr 文件。

在应用程序启动时没有显示翻译文本。为什么?

如何设置播放应用程序以读取存在于conf 文件夹之外的自定义位置的消息文件?

【问题讨论】:

    标签: playframework-2.0 sbt


    【解决方案1】:

    你没有描述你的环境关于播放版本,所以让我假设你使用最新版本的 Play 2.2.2-RC1。我的是……

    [myFirstApp] $ show playVersion
    [info] 2.2.2-RC1
    

    给定播放版本,在大多数情况下,您可以使用build.sbt 配置项目。如果您的项目中没有,请创建一个。

    将以下行添加到 build.sbt 以指向特定语言消息文件所在的自定义目录。

    unmanagedResourceDirectories in Compile += baseDirectory.value / "messagesFiles"
    

    我不确定这是否是最推荐的方法来指定消息目录,但考虑到 sbt 的工作原理,它可以解决问题。

    您可以将showunmanagedResourceDirectories的值设置如下:

    [myFirstApp] $ show unmanagedResourceDirectories
    [info] List(/Users/jacek/sandbox/play-ground/myFirstApp/conf, /Users/jacek/sandbox/play-ground/myFirstApp/messagesFiles)
    

    以上输出假设build.sbt中的上述设置。

    在以前版本的 Play(以及因此的 SBT)中,project/Build.scala 中的以下内容可以解决问题:

    unmanagedResourceDirectories in Compile <+= baseDirectory(_ / ".." / "messagesFiles" )
    

    【讨论】:

    • 我使用的是 Play 2.1.0 版本。如果我在我的 Build.scala 中的 Compile += baseDirectory.value / "messagesFiles" 中包含这一行 unmanagedResourceDirectories,我会收到错误消息,因为“值值不是 sbt.SettingKey [java.io.File] 的成员”。除此之外,我无法在此 link 中找到“unmanagedResourceDirectories”键
    • 您能否编辑我的答案或用解决方案对其进行评论,以便我添加对您有用的内容?
    • 我必须在 build.scala 的设置方法中添加以下行:编译中的 unmanagedResourceDirectories
    • 谢谢!我已经添加了对您有用的内容,因此您可以批准我的答案作为解决方案。
    猜你喜欢
    • 1970-01-01
    • 2016-10-18
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 2020-03-17
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多