i18n in Jakarta EE

i18n with JSTL

  • Для работы с механизмом интернационализации JSTL необходимо подключить к странице библиотеку fmt:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

Set language

Установка текущей Locale:

<fmt:setLocale value="en_US"/>
<fmt:setLocale value="${sessionScope.language}"/>

Установка bundle (набора .properties-файлов с переводами)

<fmt:setBundle basename="translations" var="myBundle"/>

How use it?

<fmt:message key="login.username" bundle="${currentBundle}"/>
<fmt:message key="login.password" bundle="${currentBundle}"/>
<fmt:message key="login.submit" bundle="${currentBundle}"/>

What contains Bundle?

translations_en_US.properties:

login.username=Username
login.password=Password
login.submit=Submit

translations_by_BY.properties:

login.username=Імя карыстальніка
login.password=Пароль
login.submit=Увайсці