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

时间:2008-10-13 15:38:46

标签: jsp internationalization jstl

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

大多数IDE(例如,NetBeans)都为Java代码提供了这样的功能。但是,对于NetBeans,JSP文件不存在此类功能。

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

5 个答案:

答案 0 :(得分:2)

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

当遇到同样的问题时,我把(a)一个用于在JSP中以URL格式本地化字符串的方法(在源JSP中保留英语)和(b)一个可以在JSP中找到这样的字符串的Ant任务。生成Gettext POT文件。

(a)由WebGettext提供,它为诸如${messages["Hello {0}"][username]}之类的表达式提供EL解析器。解析器为请求用户的语言环境查找转换,并使用MessageFormat替换任何参数。

(b)由Regex2PotTask提供,它有点像xgettext但是对于可配置的正则表达式而不是C,Java,Perl等函数调用,例如gettext(“my string”)。

Tennera's home page就在这里。

Example JSP project - 请参阅RUNNING.txt

目前这有点粗糙,但我认为基础知识都存在。如果有人表达了兴趣,我甚至可能会“正确”地记录它......

答案 1 :(得分:1)

我找到了一个试图解决问题的Eclipse插件:http://bravo.heliohost.org/

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

答案 2 :(得分:0)

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

  1. JSP编译为servlet,因此请为文件系统上的每个JSP找到相应的servlet类。在Tomcat的情况下,这将是'work'目录。
  2. 将关联的servlet .java文件导入IDE,然后使用IDE的常规国际化工具:外部化字符串... (Eclipse)/ 国际化向导(NetBeans )。

答案 3 :(得分:0)

这是针对您的问题的一个强大的产品/解决方案:Globalyzer

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

最后我们决定不去参加Globalyzer,但这纯粹是成本问题。

答案 4 :(得分:0)

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