帮助JSP中字符串国际化的工具

帮助JSP中字符串国际化的工具,jsp,internationalization,jstl,Jsp,Internationalization,Jstl,是否有任何工具可以帮助JSP文件中字符串的国际化 大多数IDE(例如)都为Java代码提供了这样的特性。但是,在NetBeans的情况下,JSP文件不存在这样的特性 例如,有各种工具可以帮助从代码中提取文本字符串。类似JSP的东西会很棒 我发现这是解决这个问题的一个办法。这远非理想,但允许您使用IDE搜索所有字符串。解释解决方案: JSP编译为servlet,因此为文件系统上的每个JSP找到相应的servlet类。对于Tomcat,这将是“工作”目录 将关联的servlet.java文件导入ID

是否有任何工具可以帮助JSP文件中字符串的国际化

大多数IDE(例如)都为Java代码提供了这样的特性。但是,在NetBeans的情况下,JSP文件不存在这样的特性

例如,有各种工具可以帮助从代码中提取文本字符串。类似JSP的东西会很棒

我发现这是解决这个问题的一个办法。这远非理想,但允许您使用IDE搜索所有字符串。解释解决方案:

  • JSP编译为servlet,因此为文件系统上的每个JSP找到相应的servlet类。对于Tomcat,这将是“工作”目录
  • 将关联的servlet.java文件导入IDE,然后使用IDE的常规国际化工具:外部化字符串。。。(Eclipse)/国际化向导(NetBeans)

  • 这是解决您问题的强大产品/解决方案:

    我自己也没有用过,但我在前一个雇主的一个项目中做了一些研究。我们需要从大量Java代码和JSP中提取所有字符串。我们发现Globalyzer满足了我们所有的需求


    最后,我们决定不使用Globalyzer,但这纯粹是成本问题。

    如果我碰到一个老问题,希望没有人介意

    当面临同样的问题时,我将(a)一个用于以Gettext样式在JSP中本地化字符串的方法(将英语保留在源JSP中)和(b)一个Ant任务组合在一起,该任务可以在JSP中找到此类字符串并生成Gettext POT文件

    (a) 由WebGettext提供,它为表达式提供EL解析器,例如
    ${messages[“Hello{0}”][username]}
    。解析器查找请求用户的区域设置的翻译,并使用MessageFormat替换任何参数

    (b) 是由Regex2PotTask提供的,它有点像xgettext,但用于可配置的regex表达式,而不是C、Java、Perl等函数调用,如gettext(“我的字符串”)

    在这里

    -请参阅RUNNING.txt


    目前一切都有点粗糙,但我认为基本的都在那里。如果有人表示感兴趣,我甚至可能会被激励“正确地”记录它。…

    通常,您可以使用
    xgettext
    命令从源代码中提取可翻译字符串。它支持各种语言,也支持Java,但不支持JSP。不过,我发现将language参数设置为
    PHP
    可以正确解析JSP文件,因为PHP和JSP具有相似的语法。

    我发现了一个Eclipse插件,试图解决这个问题:


    但我自己无法尝试,因为我的配置不受支持。

    我没有您最初问题的解决方案,我看不出这有什么帮助。如果您查看生成的servlet代码,就会发现为每个html标记创建了静态字符串。这意味着您将国际化许多无意义的字符串。