springboot 사용자 정의 LocaleResolver 전환 언어 구현

우리 가 프로젝트 를 할 때 많은 프로젝트 가 사용자 의 수요 에 따라 서로 다른 언어 를 전환 하고 국제 화 를 사용 하면 쉽게 해결 할 수 있다.
저 희 는 사용자 정의springboot중의LocaleResolver를 통 해 간단 한 국제 화 처 리 를 할 수 있 습 니 다.다음은 간단 한 Demo 를 통 해 국제 화 를 간단하게 이해 할 수 있 습 니 다.
아래 데모 에서 저 는 thymeleaf 템 플 릿 엔진 라벨 형식 으로 국제 화 를 평가 합 니 다.
1.pom 에 thymeleaf 템 플 릿 엔진 도입

//  thymeleaf
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
저 는 로그 인 화면 을 예 로 들 면...

2.resources 아래 i18n 폴 더 를 만 든 다음 login.properties 를 만 듭 니 다.

login.propertie:       
login.button=  
login.password=  
login.remember=   
login.tip=   
login.username=   
login_en_US.properties:  (  )
login.button=Sign In
login.password=PassWord
login.remember=Remember Me
login.tip=Please sign in
login.username=UserName
login_zh_CN.properties:  
login.button=  
login.password=  
login.remember=   
login.tip=   
login.username=   
3.로그 인 페이지 에서 thymeleaf 라벨 을 통 해 국제 화 도입

메모:input 탭 은[[]]로 값 을 추출 해 야 합 니 다.
4.프로젝트 를 실행 하고 브 라 우 저 언어 를 영어(미국)또는 중국어 로 설정 하면 우리 페이지 는 언어 를 전환 합 니 다.


그러나 브 라 우 저 언어 를 수 동 으로 설정 해 야 중 영문 전환 이 가능 합 니 다.최종 효 과 는 페이지 의 중국어 와 영 어 를 클릭 하여 언어 를 전환 하 는 것 입 니 다.다음은 이 기능 을 실현 하 는 것 입 니 다.
1.SpringBoot 는 우리 에 게LocaleResolver구성 요 소 를 자동 으로 설정 해 주 었 습 니 다.국제 화 를 실현 하려 면 사용자 정의LocaleResolver가 필요 합 니 다.코드 는 다음 과 같 습 니 다.

**
 * Describe:    
 * Copyright: ITfxsen
 * Date: 2019/10/17
 * Time: 16:18
 * @author fu.qiang
 * @version 1.0
 */
@Configuration
public class MyLocaleResolver implements LocaleResolver {
  @Override
  public Locale resolveLocale(HttpServletRequest httpServletRequest) {
    String l = httpServletRequest.getParameter("l");
    if (StringUtils.isEmpty(l)){
      Locale locale = Locale.getDefault();
      return locale;
    }else {
      String[] split = l.split("_");
      return new Locale(split[0],split[1]);
    }
  }
2.사용자 정의 Locale Resolver 를 spring 용기 에 주입 합 니 다.

/**
   * Describe:       LocaleResolver
   * @param
   * @return
   * @Time: 2019/10/18 9:38
   * @autho: fu.qiang
   * @version 1.0
   */
  @Bean
  public LocaleResolver localeResolver(){
    return new MyLocaleResolver();
  }
3.페이지 에 Thymeleaf 템 플 릿 엔진 을 사용 하여 영어 로 전환 한 a 태그 의 href 속성 을 덮어 씁 니 다.

<a class="btn btn-sm" th:href="@{/login(l='zh_CN')}" rel="external nofollow" >  </a>
<a class="btn btn-sm"th:href="@{/login(l='en_US')}" rel="external nofollow" >
 English</a>
4.최종 효 과 를 살 펴 보 겠 습 니 다(왼쪽 상단 주소 의 변화 에 주의 하 세 요).

총결산
위 에서 말 한 것 은 소 편 이 소개 한 springboot 사용자 정의 Locale Resolver 가 언어 전환 을 실현 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기