0

Play 2.6アプリを開発モードで実行すると、要求された言語に適切にローカライズされています。ただし、プロダクションモードでは、メッセージのプレースホルダは実際の値に置き換えられません。言い換えれば:Play 2.6 I18N Twirlがプロダクションモードで失敗する

messages.enで私が持っている:私トワールテンプレートで

home.location = Germany 

を私は持っている:

@()(implicit messages: MessagesProvider) 
... 
<span>@messages.messages("home.location")</span> 

とコントローラで:

class HomeController @Inject()(components: ControllerComponents, langs: Langs) 
    extends AbstractController(components) 
    with I18nSupport { 

    def home: Action[AnyContent] = Action { implicit request => 
    Ok(views.html.home()) 
    } 
} 

私がDEVで実行されるとモードでは、レンダリングされます。

<span>Germany</span> 

しかしPRODモードで:

<span>home.location</span> 

私はsbt-native-packagerでそれをパッケージ化し、スタンドアロンで実行するとき、私はまた、SBTにPRODモードで実行し、場合に発生します。私はそれを間違っていますか?

答えて

0

build.sbtに "LauncherJarPlugin"オプションを指定する必要があります。例えば

、 "怠惰なヴァル・ルート=(ファイル内のプロジェクト("。 "))。EnablePlugins(PlayScala、LauncherJarPlugin)"

私は同じ問題を抱えていたが、私はこのようにそれを修正しました。

幸運。

+0

ありがとうございますが、役に立たないです。 – Haspemulator

+0

使用 @メッセージ( "home.location")。 MessageAbstractControllerを継承して実装します。私はそれを好きでした。 – terdong

関連する問題