我的服务是解析XML并使用exception.getMessage() (exception.getMessage()返回相同的)生成解析器错误列表(确切地说是解析器错误列表),这是人类可以读取和理解的。如何将此异常消息本地化为英语以外的语言?
发布于 2013-12-11 13:59:51
我找到解决办法了。首先需要从XMLSchemaMessages.properties获得Apache Xerces。我从Xerces-J-src.2.11.0.tar.gz下载了http://xerces.apache.org/,解压缩并从location:...\src\org\apache\xerces\impl\msg获得了这个文件。
现在将这个文件重命名为XMLSchemaMessages_pl.properties或您需要的本地化,并放置在类路径中。我在Maven中有一个项目,所以我把这个文件放在:src\main\resources\com\sun\org\apache\xerces\internal\impl\msg中。
仅此而已。此文件的更改将在异常消息中可见。
发布于 2013-09-26 12:07:24
根据爪哇文档,您需要扩展SAXParseException并覆盖getLocalizedMessage,默认实现返回与getMessage相同的内容。
编辑:您可以对每种语言都有单独的属性文件,在每种语言中都可以有code和local message。在引发SAXParseException时,根据locale和某些code返回适当的message。
MySAXParseException ex = new MySAXParseException(<code>);https://stackoverflow.com/questions/19027681
复制相似问题