我有一个问题,即谷歌翻译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>
(如果有的话)。
低技术解决方法:
简单的文本程序,如微软写作或记事本或自由办公作家。 写在那里,然后复制/过去到谷歌翻译。保留换行符。