Translation extension for Pebble template engine, which use Spring messages interface
Provide the t
function for Pebble template engine, which retrive message from Spring MessageSource.
{{ t('users.show.title') }}
Function support "layzy" lookup, so you can look up users.show.title
message inside users/show.html
like:
{{ t('.title') }}
You can look up users.my_message
message inside users/show.html
like:
{{ t('..my_message') }}
{{ t('.title', 'arg1', 'arg2', 'arg3') }}
You need add extension to Pabble engine and provide Spring MessageSource:
@Autowired
private ServletContext context;
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource ms = new ResourceBundleMessageSource();
ms.setBasename("i18n/messages");
return ms;
}
@Bean
public PebbleEngine pebbleEngine() {
PebbleEngine pe = new PebbleEngine(new ServletLoader(context));
pe.addExtension(new TranslateExtension(messageSource()));
return pe;
}