为i18n使用jquery i18n插件?

问题描述 投票:4回答:3

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

我在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'));
}

});
javascript jquery html5 internationalization
3个回答
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'));
}

试试吧。


0
投票

将您的应用程序部署到服务器,例如。 Tomcat,然后通过服务器访问页面。问题的根本原因是html页面无法跨域访问属性文件。


0
投票

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

  1. 将这些属性文件复制到webapp文件夹中,并使用实际路径对其进行测试。例如resources/custom/i18n/ [注意 - 这里我将属性文件放在i18n文件夹中,并在resources下放置了一个webapp文件夹]。这将解决您的问题!
  2. 现在我们可以管理两个文件,但我们真的需要它吗?最简单的方法是将文件仅保存在src/main/resources文件夹中,但作为构建步骤的一部分,将此属性文件复制到第二个位置(即在webapp文件夹中)。
© www.soinside.com 2019 - 2024. All rights reserved.