gpt4 book ai didi

javascript - 翻译 API 仅转换文本部分(而不是 HTML)

转载 作者:行者123 更新时间:2023-11-28 09:50:06 27 4
gpt4 key购买 nike

我的 HTML 文件中有一些文本内容,我需要根据用户输入动态地将其翻译为不同的语言。我正在使用 Microsoft Translator AJAX 界面来执行相同的操作。

现在 HTML 文件类似于;

<h1><u>CSS3 Media Query Support in IE7/8<o:p></o:p></u></h1>
<p class=MsoNormal>Some other text content to be translated as well ...Some other text content to be translated as well ...Some other text content to be translated as well </p>

现在这只是我在这里展示的一个小片段。实际上这是一个巨大的标记(有很多样式标签)

我使用如下API进行翻译;

s.src = "http://api.microsofttranslator.com/V2/Ajax.svc/Translate?oncomplete=mycallback&appId=8B841CA7C1A03443682C52AD07B7775A7BD5B3AA&from=" + languageFrom + "&to=" + languageTo + "&text=" + text;

相同的引用是 http://msdn.microsoft.com/en-us/library/ff512404

我的问题是,是否有任何方法可以让我只能传递要翻译的文本(并且应该忽略标签)。我知道可以使用innerText 属性代替innerHTML。但缺点是我只得到原始文本输出作为响应,为此我需要重新创建 HTML 样式。

最佳答案

对于使用innerHTML 获取的文本,只需确保在翻译API 调用中包含contentType=text/html 即可获得成功。

否则,您需要遍历 html,一次提取文本来翻译一个部分,可能会调用 BreakSentences API 来提取单个句子,进行翻译,然后用翻译替换。批量处理片段并调用 TranslateArray 会更高效。这些方法可以通过遍历 html 并仅传递带有内联标记的部分来混合。

无论如何,您可能都被迫遍历 html,以适应正在传递到 API 大小限制的文本。

关于javascript - 翻译 API 仅转换文本部分(而不是 HTML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11176160/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com