моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Решение проблем интернационализации и локализации в Spring Boot
Привет всем, я редактор Weizhuan Taoke System 3.0, а также программист, который не носит длинные кальсоны зимой, но все равно должен сохранять прохладу в холодную погоду!
Обзор интернационализации и локализации
Интернационализация (сокращенно i18n) и локализация (сокращенно l10n) являются очень важными факторами при разработке приложений для глобальных пользователей. Интернационализация подразумевает разработку и внедрение программных продуктов таким образом, чтобы они могли адаптироваться к потребностям различных языков и культурных традиций. Локализация основана на интернационализации и адаптации в соответствии с конкретными регионами или языковыми привычками, чтобы обеспечить более удобный интерфейс.
В Spring Boot интернационализация и локализация в основном достигаются с помощью файлов ресурсов и соответствующей поддержки, предоставляемой Spring. Давайте сначала посмотрим, как настроить и использовать эти функции.
В проекте Spring Boot вы можете использовать файлы свойств (*.properties) или файлы YAML для определения текстовой информации на разных языках. Обычно мы создаем соответствующий файл ресурсов для каждого языка, например messages.properties (файл по умолчанию), messages_en.properties (английский), messages_zh_CN.properties (упрощенный китайский) и т. д.
Пример файла ресурсов messages.properties:
greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
В Spring Boot пройдитеMessageSource
иLocaleResolver
Загружать и анализировать файлы ресурсов на разных языках и адаптировать их в соответствии с языковыми стандартами пользователя.
package cn.juwatech.localization;
import cn.juwatech.Application;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;
import java.util.Locale;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public LocaleResolver localeResolver() {
AcceptHeaderLocaleResolver resolver = new AcceptHeaderLocaleResolver();
resolver.setDefaultLocale(Locale.US); // 设置默认Locale
return resolver;
}
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
В контроллере или службе передайтеMessageSource
Чтобы получить текстовую информацию в определенной локали.
package cn.juwatech.localization;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GreetingController {
@Autowired
private MessageSource messageSource;
@GetMapping("/greeting")
public String greeting() {
Locale locale = LocaleContextHolder.getLocale();
return messageSource.getMessage("greeting.message", null, locale);
}
}
Помимо базовой настройки и использования, эффекты интернационализации и локализации можно дополнительно оптимизировать следующими способами:
В этой статье рассказывается, как решить проблемы интернационализации и локализации в проектах Spring Boot, а также добиться многоязычной и региональной адаптации путем настройки файлов ресурсов, использования поддержки интернационализации, предоставляемой Spring, и лучших практик. Эти технологии и методы помогают разработчикам создавать удобные и профессиональные приложения для пользователей по всему миру.
Выпущено редактором Micro-earning Taoke System 3.0, это должен быть качественный продукт. При перепечатке указывайте источник!