如何在构建 Spring MVC WebApp时将 Javascript 文件中的字符串国际化?
我使用<spring:message code="label1" />
国际化一些静态字符串在 JSP 文件中,但是例如我的js文件中的错误消息呢?有没有办法解决国际化而不在jsp文件中包含普通的js代码?
我考虑创建一个值列表,每个错误一个,并在刷新页面时继续执行ajax调用,这样我就可以根据 lang 变量的值获取正确的消息,但这样做是明智的吗?!
答案 0 :(得分:2)
将这段代码包含在一些常见的jsp中,比如header.jsp
。
<script type="text/javascript">
function getSystemLocale() {
var systemLocale ='<%=RequestContextUtils.getLocale(request)%>';
return systemLocale;
}
function getResource(){
jQuery.i18n.properties({
name:'JS_Messages',
path: getContextPath()+'/resource-bundles/JS_Messages/',
mode:'both',
language:getSystemLocale(),
callback: function() {
jQuery.i18n.prop('error_message');
}
});
}
</script>
结构将如下所示。它将从给定路径加载所有属性文件,并根据区域设置搜索变量。
记住文件的命名约定,以locale结尾。
需要包含jquery.i18n.properties-min-1.0.9
。
只需在javascript中,您就可以访问key
alert(error_occured);