Весной вы можете использовать ResourceBundleMessageSource
для разрешения текстовых сообщений из файла свойств на основе выбранных языков. См. Следующий пример:
1. Структура каталогов
Просмотрите структуру каталогов в этом примере.
2. Файл свойств
Создайте два файла свойств, один для английских символов ( messages_en_US.properties
), другой для китайских символов ( messages_zh_CN.properties
). Поместите его в путь к классу проекта (см. Рисунок выше).
Файл: Файл:
customer.name=Yong Mook Kim, age : {0}, URL : {1}
Файл: messages_zh_CN.свойства
customer.name=\ufeff\u6768\u6728\u91d1, age : {0}, URL : {1}
‘ \ufeff\u6768\u6728\u91d1 ‘ – это символы Юникода на китайском языке.
3. Файл конфигурации компонента
Включите файл свойств в файл конфигурации компонента. Оба ” messages_en_US.properties ” и ” messages_zh_CN.properties ” рассматривают один файл в Spring, вам просто нужно один раз указать имя файла, и Spring автоматически найдет правильный язык.
locale\customer\messages
P.S Предположим, что оба файла находятся в папке “ресурсы\локаль\клиент\”.
4. Запустите его
package com.mkyong.common; import java.util.Locale; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("locale.xml"); String name = context.getMessage("customer.name", new Object[] { 28,"http://www.mkyong.com" }, Locale.US); System.out.println("Customer name (English) : " + name); String namechinese = context.getMessage("customer.name", new Object[] {28, "http://www.mkyong.com" }, Locale.SIMPLIFIED_CHINESE); System.out.println("Customer name (Chinese) : " + namechinese); } }
Выход
Объяснение
1. В context.GetMessage()
второй аргумент – параметры сообщения, вы должны передать его как массив объектов. Вы можете просто передать значение null, если значения параметров недоступны.
context.getMessage("customer.name",null, Locale.US);
2. местный. Мы будем извлекать сообщения из ‘ messages_en_US.properties ‘, в то время как язык. SIMPLIFIED_CHINESE будет извлекать сообщения из ‘ messages_zh_cn.свойства ‘.
Скачать Исходный Код
Оригинал: “https://mkyong.com/spring/spring-resource-bundle-with-resourcebundlemessagesource-example/”