中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot如何實現前后端分離國際化

發布時間:2023-02-22 11:44:38 來源:億速云 閱讀:190 作者:iii 欄目:開發技術

這篇“SpringBoot如何實現前后端分離國際化”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“SpringBoot如何實現前后端分離國際化”文章吧。

前言

Springboot國際化可以幫助使用者在不同語言環境中構建應用程序,這樣應用程序可以有效地適應不同語言文化背景下的用戶需求。

此外,Springboot國際化也可以方便多語言應用程序重用和維護,從而減少了系統部署的時間成本和維護的費用。

要實現Springboot國際化應用,主要有三個步驟。

1、設置國際化屬性文件

定義國際化資源文件,使用properties格式的文件,將不同的多國語言文本資源放在不同的文件中,每個文件的命名采用【locale】+【messages】的方式,如zh_CN.properties、en_US.properties等。

SpringBoot如何實現前后端分離國際化

message.properties文件內容可為空。

message.en_US.properties內容示例:

40001=Hello

message.zh_CN.properties內容示例:

40001=你好

2、創建解析器和攔截器

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);
			}
		};
	}
}

3、啟動配置文件設置

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

4、控制器示例

Springboot的國際化是通過一個稱為“messageSource”的bean實現的。

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;
	}

}

5、小結

Springboot國際化可以幫助使用者在不同語言環境中構建應用程序,這樣應用程序可以有效地適應不同語言文化背景下的用戶需求。

此外,Springboot國際化也可以方便多語言應用程序重用和維護,從而減少了系統部署的時間成本和維護的費用。要實現Springboot國際化應用,主要有三個步驟。

1.設置國際化屬性文件:要實現Springboot國際化,首先要準備一系列國際化屬性文件,包括語言和地區信息。

2.注冊國際化消息資源:將屬性文件中的語言和地區信息注冊到Springboot應用程序中,并指定默認值,以便在擴展多語言時可以快速、高效地訪問相關屬性資源。

3.定義多語言捆綁文件:將已定義的國際化屬性文件與應用程序結合起來,形成多語言捆綁文件,以便在用戶選擇不同語言時可以及時調整應用程序語言版本。

以上就是關于“SpringBoot如何實現前后端分離國際化”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

库车县| 江油市| 鱼台县| 五莲县| 仁化县| 仪陇县| 邻水| 岳西县| 双牌县| 武义县| 青田县| 奇台县| 宿迁市| 赤水市| 乌拉特前旗| 华池县| 珲春市| 垫江县| 扎兰屯市| 桐梓县| 淳化县| 天祝| 金阳县| 盘山县| 奉新县| 乐陵市| 蒙阴县| 肥西县| 偏关县| 黔南| 四会市| 恭城| 大足县| 岳西县| 南投市| 华宁县| 龙岩市| 博客| 晋江市| 崇信县| 浦县|