2016-03-29 7 views
7

Freemarker (standardmäßig) uses the locale to build the file names it looks for beim Laden und Einschließen von Vorlagen. Zum Beispiel Laden tos.ftl (die Vorlage) mit dem en_US locale würde sucht:Kann Thymeleaf lokalisierte Template-Lookups wie Freemarker?

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

Dies kann nützlich sein, zu übersetzen ganze Seiten, wenn die Seiten in verschiedenen Sprachen völlig unterschiedlich sind. Zum Beispiel könnte eine "Nutzungsbedingungen" -Seite größtenteils statisch sein, so dass verschiedene Sprachen völlig unterschiedliche Inhalte haben würden. In diesem Fall ist es mühsam, den gesamten Inhalt auf Nachrichten zu verteilen, die aus Nachrichtenbündeln geladen werden.

Ich lerne jetzt Thymeleaf und kann keine Informationen über eine ähnliche Funktionalität finden. Ich weiß, dass Thymeleaf localized message bundles verwendet, um th:text Elemente auszufüllen, aber kann es lokalisierte Versionen der Vorlagendateien laden?

Hinweis: Ich bin mit Frühlings-Boot-

+1

Ich öffnete eine Feature-Anfrage dafür: https://github.com/thymeleaf/thymeleaf/issues/497 – bernie

Antwort

1

Thymeleaf Verhalten der gleichen wie Spring 4 MVC Internationalization (Ich denke, man Thymeleaf mit Frühling ?? verwenden), verwendet es messages.properties die zu verwirklichen. Zum Beispiel haben Sie eine Vorlage mit #{hello} Nachricht:

<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} Text wird den messages.properties proprty hello binded werden.

Wenn Sie locale wäre ein anderes, z. ru_RU Sie fügen einfach messages_ru_RU.properties hinzu und ändern Sie die locale Ihrer Anwendung.

Danach wird Ihre Nachricht aus der lokalisierten Eigenschaftendatei übernommen. Beachten Sie, dass unbedingt messages.properties Datei haben, wenn Sie lokalisierte Nachrichten Datei verwenden.

+0

Danke für Ihre Antwort, aber es vermisst meine beabsichtigte Bedeutung. Ich weiß über Nachrichtenpakete Bescheid, aber ich habe mich gefragt, ob die eigentliche Vorlagendatei selbst lokalisierte Versionen enthält. Ich werde die Frage klären. – bernie