2016-03-29 33 views
7

Freemarker (predefinito) uses the locale to build the file names it looks for durante il caricamento e l'inclusione di modelli. Per esempio, il caricamento tos.ftl (il modello) con la locale en_US avrebbe cercato:Can Thymeleaf esegue ricerche di template localizzate come Freemarker?

  1. tos_en_US.ftl
  2. tos_en.ftl
  3. tos.ftl

Questo può essere utile a tradurre intere pagine quando le pagine sono completamente diverse tra lingue diverse. Ad esempio, una pagina "Termini di servizio" potrebbe essere prevalentemente statica, quindi lingue diverse avrebbero contenuti completamente diversi. In questo caso, è una seccatura esternalizzare l'intero contenuto ai messaggi caricati dai pacchetti di messaggi.

Ora sto imparando Thymeleaf e non riesco a trovare alcuna informazione su una funzionalità simile. So che Thymeleaf utilizza localized message bundles per inserire gli elementi , ma può caricare versioni localizzate dei file modello ?

Nota: sto usando Primavera Boot

+1

Ho aperto una richiesta di funzionalità per questo: https://github.com/thymeleaf/thymeleaf/issues/497 – bernie

risposta

1

comportamento di Thymeleaf lo stesso Spring 4 MVC Internationalization (Immagino che si utilizza Thymeleaf con Primavera ??), utilizza messages.properties per rendersi conto che. Per esempio si dispone di un modello con #{hello} messaggio:

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:th="http://www.thymeleaf.org"> 
<head> 
    <title></title> 
</head> 
<body> 
    <span th:text="#{hello}"> 
</body> 

#{hello} testo sarà binded alla messages.properties proprty hello.

Se si locale sarebbe un altro, ad es. ru_RU è sufficiente aggiungere messages_ru_RU.properties e modificare il locale della propria applicazione.

Successivamente, il messaggio verrà preso dal file delle proprietà localizzato. Si noti che necessariamente deve avere il file messages.properties se si utilizza un file di messaggi localizzato.

+0

Grazie per la risposta, ma manca il significato desiderato. Conosco pacchetti di messaggi, ma mi chiedevo se il file di modello stesso avesse versioni localizzate. Chiarirò la domanda. – bernie