0

Lorsque j'exécute mon application Play 2.6 en mode dev, elle est correctement localisée dans la langue demandée. Cependant, en mode production, les espaces réservés aux messages ne sont pas remplacés par leurs valeurs réelles. En d'autres termes:Lecture 2.6 I18N Twirl échoue en mode production

à messages.en je:

home.location = Germany 

Dans mon modèle Twirl je:

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

Et dans le contrôleur:

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

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

Quand je lance en dev mode, il est rendu

<span>Germany</span> 

Mais en mode prod comme:

<span>home.location</span> 

Cela se produit lorsque je lance en mode prod dans SBT et aussi quand j'emballer avec sbt-native-packager et exécuter autonome. Est-ce que je le tiens mal?

Répondre

0

Vous devez mettre l'option "LauncherJarPlugin" dans build.sbt.

Par exemple, "racine val = paresseux (projet dans le fichier (". ")). EnablePlugins (PlayScala, LauncherJarPlugin)"

J'ai eu le même problème, mais je l'ai fixé comme ça.

Bonne chance.

+0

Merci, mais ça n'aide pas. – Haspemulator

+0

utilisez @Messages ("home.location"). Hérite et implémente "MessagesAbstractController". Je l'ai fait comme ça. – terdong