我有一个问题,即Google Translate 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
问题是提交给Google Translate 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,它不显示响应中的换行符。
有任何想法吗?
translate api有一个参数format
,你可以设置为text
。这将保留换行符。见https://cloud.google.com/translate/docs/reference/translate。
通过在输入字符串中用\r\n
替换<br>
来实现它。
用\r\n
替换<br>
确实有效,但它似乎认为它是一个句子的结尾,因此限制了翻译评估的范围,导致翻译不够理想。该行的第一个字符也成为大写字母,这就是我的线索。
我所做的是用\r\n
替换<code>0</code>
,然后在翻译后再回来 - 这给了一个很好的翻译,因为它没有看到<code>0</code>
有助于判决。不理想,但提供更好的翻译。
低技术解决方案:
简单的文本程序,如微软写或记事本或自由写作。写在那里,然后复制/过去谷歌翻译。换行保留。