【发布时间】:2014-06-28 15:22:17
【问题描述】:
我正在尝试将 HTML 文本从一种语言替换为另一种语言的相应文本,而不更改页面的标记和布局。为了解析 HTML,我使用 JSOUP Java 库。
doc.title(MTClient.translate(doc.title()));
这将占用页面的标题并将其替换为 MTClient.translate(待翻译的文本) 接收到的翻译文本字符串输出。这工作正常并替换了标题。
但是当我在 HTML 页面的元素上做同样的事情时,使用下面的代码:
Elements Nodes = doc.children();
for(Element node : Nodes){
node.text(MTClient.translate(node.text()));
}
它正在删除页面的整个布局,只将翻译后的文本简单地存储在页面中。
我阅读了 JSOUP 的 javadocs,上面写着:
public Element text(String text)
设置此元素的文本。任何现有内容(文本或元素)都将被清除。
并且所有子元素都被移除了。
我也在 java 中尝试过 HTMLPARSER lib,但它似乎也不支持这种类型的替换。
如何替换文字??
提前感谢您的帮助。
【问题讨论】:
-
顺便说一句,高质量的机器翻译是一个非常困难的问题。除非您的词汇量非常有限(例如,一组表格),否则您不太可能获得好的结果。您可能会考虑使用 Google Translate API 之类的东西,即使它不是免费的。
-
@JeffreyBosboom 谷歌翻译无济于事,因为我的语言翻译对有区域语言。 Google 不支持这些语言。
-
我的目标是提供印度地区语言版本的维基百科..
标签: parsing html-parsing jsoup