配置IDEA
在文件夹中创建配置文件login.properties
再创建login_zh_CN.properties
配置不同语言的properties
en-US 英国(美国)
zh-CN 中文(简体,中国大陆)
zh-SG 中文(简体,新加坡)
zh-HK 中文(繁体,香港)
zh-MO 中文(繁体,澳门)
zh-TW 中文(繁体,台湾)
IDEA同时配多语言
通过MessageSourceAutoConfiguration这个类
@Bean
public MessageSource messageSource(MessageSourceProperties properties) {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
if (StringUtils.hasText(properties.getBasename())) {
messageSource.setBasenames(StringUtilcnblogs.commaDelimitedListToStringArray(StringUtils.trimAllWhitespace(properties.getBasename())));
}
if (properties.getEncoding() != null) {
messageSource.setDefaultEncoding(properties.getEncoding().name());
}
messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale());
Duration cacheDuration = properties.getCacheDuration();
if (cacheDuration != null) {
messageSource.setCacheMillis(cacheDuration.toMillis());
}
messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat());
messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage());
return messageSource;
}
进入MessageSourceProperties 得到需要配置 message
在application.properties中配置message 这里需要配置我们默认的位置
在i18n下的login
#我们的配置文件的真实位置
spring.messages.basename=i18n.login
HTML中对链接进行请求参数
English
中文
参考源码:AcceptHeaderLocaleResolver类中的重写方法,创建地域解析器
public class MyLocaleResolver implements LocaleResolver {
//解析请求
@Override
public Locale resolveLocale(HttpServletRequest request) {
//获得请求中的语言参数
String language = request.getParameter("l");
Locale locale = Locale.getDefault();//如果没有就使用默认的
//如果请求的链接携带了国际化参数
if(!StringUtils.isEmpty(language)){
//zh_CN
String[] split = language.split("_");
//国家,地区
locale = new Locale(split[0], split[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
}
}
在config中通过Bean 注入
//自定义国际化组件生效
@Bean
public LocaleResolver localeResolver(){
return new MyLocaleResolver();
}
}
初始Html
Signin Template for Bootstrap
${...}
*{...}
#{...}
@{...}
~{...}
'one text'
, 'Another one!'
,…0
, 34
, 3.0
, 12.3
,…true
, false
null
one
, sometext
, main
,…+
|The name is ${name}|
+
, -
, *
, /
, %
-
and
, or
!
, not
>
, , >=
, (gt
, lt
, ge
, le
)
==
, !=
(eq
, ne
)(if) ? (then)
(if) ? (then) : (else)
(value) ?: (defaultvalue)
_
Signin Template for Bootstrap
1.首页配置:所有静态资源都需要使用thymeleaf接管;
2页面国际化:
LocaleResolver
@Bean
参与评论
手机查看
返回顶部