如何将 Google 云翻译器用于 HTML 文本并保留换行符?

How to use Google Cloud translator for HTML text and preserve the line breaks?

我正在使用 Google Cloud Translator API 翻译一些 HTML 文本。我将格式设置为 HTML,翻译质量非常好(它保持所有标签不翻译,只翻译标签之间的文本)。但是,它通常会删除 HTML 文本中的所有换行符。例如,我选择了英德选项,

<p><a class="selfLink" id="notes" href="#notes" rel="help"><strong>Notes</strong></a>
<ul>
<li><a class="selfLink" id="disclaimer" href="#disclaimer" rel="help">DISCLAIMER OF LIABILITY</a> 
...

变成

<p><a class="selfLink" id="notes" href="#notes" rel="help"><strong>Anmerkungen</strong></a><ul><li> <a class="selfLink" id="disclaimer" href="#disclaimer" rel="help">...

翻译后的文字排成一行,阅读起来非常困难。我知道我可以将翻译器模式设置为将输入文本视为“文本”以保留换行符,但在文本模式下,翻译器无法识别 HTML 个实体并确定一段文本是否应该翻译与否。手动添加换行符不是一种理想的方法。我可以做些什么来提高 HTML 翻译的可读性?

消失的换行符是HTML模式的特点之一,另一个是一些Unicode字符会变成HTML实体。你迟早会 运行 :-)

解决方法是在将文本发送到Google翻译API之前将所有换行符替换为<br/>,并在获得翻译后将<br/>替换为换行符+制作HTML解码。