一、配置
因为没有写过国际化的介绍,这里顺带补上
1.Java代码
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.ResourceBundleMessageSource; import org.springframework.web.servlet.i18n.CookieLocaleResolver; import java.util.Locale; /** * @author 幻幻Fate * @create 2018/1/9 * @since */ @Configuration public class LanguageConfig { @Bean public ResourceBundleMessageSource messageSource() { ResourceBundleMessageSource resourceBundleMessageSource = new ResourceBundleMessageSource(); //设置语言文件的路径 resourceBundleMessageSource.setBasename("languages/message"); resourceBundleMessageSource.setAlwaysUseMessageFormat(true); return resourceBundleMessageSource; } @Bean public CookieLocaleResolver localeResolver() { //Cookie配置 CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); cookieLocaleResolver.setCookieMaxAge(604800); //配置默认语言为英语,如果要中文:Locale.SIMPLIFIED_CHINESE cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH); cookieLocaleResolver.setCookieName("Language"); return cookieLocaleResolver; } }
2.语言包文件
在resources文件夹下新建language文件夹(就是上面配置的路径),创建语言文件message_xx.properties,比如:message_en.properties,message_zh_CN.properties
文件内的格式:Key=Value
User=User
如果要输入中文,默认是不识别的,需要转换成Unicode。IDEA下Properties文件中文与unicode自动转码
3.页面中的使用
此处以FreeMarker为例
在页面头部加上
文字部分替换
二、升级Spring Boot2.0
其他地方都一样,就一个变化,原本空格可以使用
表示,升级后会被当成字符串处理,改成\u0020
即可