2012-02-23 2 views
2

У меня есть вопрос относительно интернационализации в шаблонах.Playframework - интернационализация внутри набор тегов

Обычно мы используем & {'key'} внутри шаблона, чтобы заменить его локализованным сообщением.

У меня есть шаблон somthing, как показано ниже.

#{extends 'base.html' /} 
#{set pageTitle:'Opps - 404 Error'/} 

что-то вроде

"&{'404.message'}" 

не работает.

Есть ли у кого-нибудь предложения?

Спасибо.

ответ

9

у вас есть два варианта. Вы можете сделать

#{set pageTitle: messages.get('404.message') /} 

или

#{set 'pageTitle'} 
    &{'404.message'} 
#{/set} 

Я предпочитаю второй подход.

+0

Второй подход более читаем в течение шести месяцев :-) – adis

+0

Спасибо, я пошел со вторым путем. Он более последователен и читабельен. – Nasir

4

От guillaume.bort:

@{Application.index()} is a shortcut for ${actionBridge.Application.index().url} 

@@{Application.index()} is a shortcut for ${request.base + 
actionBridge.Application.index().url} 

&{'hello'} is a shortcut for ${messages.get('hello')} 

&{'hello', name} is a shortcut for ${messages.get('hello', name)} 

#{get 'title' /} is a shortcut for ${get('title')} 

Таким образом, ответ на ваш вопрос может быть #{set pageTitle: messages.get('error_msg', 404)/}

+0

Спасибо, я не знал, что теги были ярлыками. Это может пригодиться в будущем :) – Nasir

+0

wow .. thats very handy ... Я хотел бы, чтобы у SO была функция закладок, поэтому я мог бы добавить этот ответ для дальнейших ссылок! –

Смежные вопросы