为i18n使用jquery i18n插件?

时间:2013-08-30 10:56:17

标签: javascript jquery html5 internationalization

我使用jquery i18n插件(http://code.google.com/p/jquery-i18n-properties/)来国际化jquery / js中的消息。 我有以下项目结构。

enter image description here

我在some.js文件夹中有js个文件,在some.js文件中我必须引用位于properties文件夹src/main/resources文件夹中的属性文件。我可以这样做吗?在properties文件夹的src/main/resources文件夹中,我放置了Messages.propertiesMessages_en_US.properties。在两个属性文件中,我放置了myForm.success.msg=Success属性。现在我想尝试如下访问它。但是下面的代码没有得到myForm.success.msg键的值。 instead of giving value, it is giving the key itself but not the value。我错误地引用了属性文件吗?我的属性文件是否正确?请帮帮我。

JSP代码:

    <script type="text/javascript" src="./public/js/some.js"></script>
    <script type="text/javascript" src="./public/js/jquery.i18n.properties-min-1.0.9.js"></script>

some.js

jQuery.i18n.properties({
    name:'Messages', 
    path:'properties/',  //as i have properties file in properties folder of src/main/resources 
    mode:'both',
    callback: function() {
    alert("message "+jQuery.i18n.prop('myForm.success.msg'));
}

});

2 个答案:

答案 0 :(得分:0)

我不尝试,但我认为您应该将*.properties文件放在public/resources目录中。

路径应该是:

jQuery.i18n.properties({
    name:'Messages', 
    path:'../resources/', // changed here 
    mode:'both',
    callback: function() {
    alert("message "+jQuery.i18n.prop('myForm.success.msg'));
}

试试吧。

答案 1 :(得分:0)

不幸的是,这不起作用。 JQuery插件将始终查找webcontent文件夹中的属性文件。试试这个:

  1. 将这些属性文件复制到webapp文件夹中,并使用实际路径对其进行测试。例如resources/custom/i18n/ [注意 - 这里我将属性文件放在i18n文件夹中,并在resources]下放置了webapp文件夹。这将解决您的问题!

  2. 现在我们可以管理两个文件了,但我们真的需要它吗?最简单的方法是将文件仅放在src/main/resources文件夹中,但作为构建步骤的一部分,将此属性文件复制到第二个位置(即webapp文件夹内)。