Springboot 국제화는 사용자가 다양한 언어 환경에서 애플리케이션을 구축하는 데 도움이 되므로 애플리케이션은 다양한 언어 및 문화적 배경의 사용자 요구에 효과적으로 적응할 수 있습니다.
또한 Springboot 국제화는 다국어 애플리케이션의 재사용 및 유지 관리를 용이하게 하여 시스템 배포에 드는 시간 비용과 유지 관리 비용을 줄일 수 있습니다.
Springboot 국제 애플리케이션을 구현하려면 세 가지 주요 단계가 있습니다.
국제 리소스 파일을 정의하고, 속성 형식 파일을 사용하고, 다양한 다국어 텍스트 리소스를 여러 파일에 넣고, zh_CN.properties와 같은 [로케일] + [메시지] 메서드를 사용하여 각 파일의 이름을 지정합니다. , en_US.properties 등
message.properties 파일 콘텐츠는 비어 있을 수 있습니다.
message.en_US.properties 콘텐츠 예시:
40001=Hello
message.zh_CN.properties 콘텐츠 예시:
40001=Hello
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; import org.springframework.web.servlet.i18n.SessionLocaleResolver; import java.util.Locale; @Configuration public class LocaleConfig { @Bean public SessionLocaleResolver localeResolver() { SessionLocaleResolver localeResolver = new SessionLocaleResolver(); localeResolver.setDefaultLocale(Locale.CHINA); return localeResolver; } @Bean public WebMvcConfigurer localeInterceptor() { return new WebMvcConfigurer() { @Override public void addInterceptors(InterceptorRegistry registry) { LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor(); localeInterceptor.setParamName("lang"); registry.addInterceptor(localeInterceptor); } }; } }
application.properties
#i18n spring.messages.basename=i18n.messages spring.messages.cache-duration=3600 spring.messages.encoding=UTF-8
application.yml
spring: messages: basename: i18n/messages
Springboot의 국제화는 "messageSource"라는 빈을 통해 구현됩니다.
import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/test") public class TestControler { @Autowired private MessageSource messageSource; @GetMapping("/hello") public Map<Object, Object> test() { Map<Object, Object> result = new HashMap<Object, Object>(); result.put("code", 40001); result.put("msg", messageSource.getMessage("40001", null, LocaleContextHolder.getLocale())); return result; } }
Springboot 국제화는 사용자가 다양한 언어 환경에서 애플리케이션을 구축하는 데 도움이 되므로 애플리케이션은 다양한 언어 및 문화적 배경의 사용자 요구에 효과적으로 적응할 수 있습니다.
또한 Springboot 국제화는 다국어 애플리케이션의 재사용 및 유지 관리를 용이하게 하여 시스템 배포에 드는 시간 비용과 유지 관리 비용을 줄일 수 있습니다. Springboot 국제 애플리케이션을 구현하려면 세 가지 주요 단계가 있습니다.
1. 국제 속성 파일 설정: Springboot 국제화를 구현하려면 먼저 언어 및 지역 정보를 포함한 일련의 국제 속성 파일을 준비해야 합니다.
2. 국제화된 메시지 리소스 등록: 속성 파일의 언어 및 지역 정보를 Springboot 애플리케이션에 등록하고, 여러 언어로 확장할 때 관련 속성 리소스에 빠르고 효율적으로 액세스할 수 있도록 기본값을 지정합니다.
3. 다중 언어 번들 파일 정의: 정의된 국제화 속성 파일을 애플리케이션과 결합하여 사용자가 다른 언어를 선택할 때 애플리케이션 언어 버전을 조정할 수 있도록 다중 언어 번들 파일을 구성합니다.
위 내용은 SpringBoot가 프런트엔드와 백엔드 분리를 통해 국제화를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!