Play Markup: Как динамически вызывать представление из имени строкового представления в зависимости от i18n? - PullRequest
0 голосов
/ 26 сентября 2019

Я работаю над приложением Scala Play 2.7, и некоторые страницы содержат много текста, поэтому не имеет смысла использовать систему сообщений, а иметь отдельные представления для каждого языка, например

footer_en.scala.html
footer_es.scala.html

Затем я делаю следующее, и это работает:

<!-- Show footer -->
@if(messages.lang.code == "en") {
    @footer_en()
} else if(messages.lang.code == "es") {
    @footer_es()
}

Однако это не очень легко обслуживать, и многие из этих вариантов использования с разделением представлений и поддержкой большего количества языков растут с точки зрения обслуживания.

Следовательно, этот OP, как я могу динамически делегировать определенное представление, зависящее от языка?Что-то вроде (это не работает):

@footer_@{messages.lang.code}()

или

executeView("footer_%s".format(messages.lang.code))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...