无法在 Google 翻译响应中保留换行符



我有一个问题,即谷歌翻译API的翻译文本中没有换行符。

我有一个这样的原始查询字符串:

RELATED WORK .
Studies of group work have shown the importance of

我为查询字符串做了一个 URL 编码,它显示了以下内容:

RELATED%20WORK%20.%0D%0A%0D%0AStudies%20of%20group%20work%20have%20shown%20the%20importance%20of

问题在于提交到谷歌翻译 API 时:

https://www.googleapis.com/language/translate/v2?key=<key>&source=en&target=ja&q=RELATED%20WORK%20.%0D%0A%0D%0AStudies%20of%20group%20work%20have%20shown%20the%20importance%20of

我只在一行中得到回复(没有换行符):

{
"data": {
"translations": [
{
"translatedText": "関連作業 。グループワークの研究は、"
}
]
}
}

我的最终目标是逐行解析翻译后的文本以进行正确的渲染。

即使只是通过浏览器访问它,我只是显示 URL,它也不会在响应中显示换行符。

有什么想法吗?

翻译 api 有一个参数format_您可以将其设置为text。这将保留换行符。请参阅此链接以供参考。

更新format_参数中添加了下划线。

通过在输入字符串中用<br>替换rn来让它工作。

<br>替换rn确实有效,但它似乎认为这是一个句子的结尾,因此限制了翻译评估的延伸,导致翻译不太理想。此外,该行的第一个字符变成了大写字母,这对我来说是线索。

我所做的是用<code>0</code>替换rn,然后在翻译后再次替换 - 这给出了一个很好的翻译,因为它不认为<code>0</code>对句子有贡献。不理想,但提供了更好的翻译。

如果你使用wordpress,它可能很有用,有一个wpautop()函数

因此,您可以像这样将每个全文块包装到此函数中:

urlencode(wpautop($text))

因此,结果将被包装在<p>标签中,里面有一些<br>(如果有的话)。

低技术解决方法:

简单的文本程序,如微软写作或记事本或自由办公作家。 写在那里,然后复制/过去到谷歌翻译。保留换行符。

最新更新