如何使用Spring I18N将Javascript内容国际化?

时间:2014-09-11 07:03:40

标签: spring spring-mvc internationalization

如何在构建 Spring MVC WebApp时将 Javascript 文件中的字符串国际化?

我使用<spring:message code="label1" />国际化一些静态字符串在 JSP 文件中,但是例如我的js文件中的错误消息呢?有没有办法解决国际化而不在jsp文件中包含普通的js代码?

我考虑创建一个值列表,每个错误一个,并在刷新页面时继续执行ajax调用,这样我就可以根据 lang 变量的值获取正确的消息,但这样做是明智的吗?!

1 个答案:

答案 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);

enter image description here