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

时间:2017-06-08 20:22:53

标签: line-breaks google-translate

我遇到的问题是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

问题在于提交给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,即使只是通过浏览器访问它,它也不会显示响应中的换行符。

有什么想法吗?

4 个答案:

答案 0 :(得分:6)

翻译api有一个参数format,您可以将其设置为text。这将保留换行符。请参阅https://cloud.google.com/translate/docs/reference/translate

答案 1 :(得分:4)

通过在输入字符串中将\r\n替换为<br>来实现它。

答案 2 :(得分:1)

\r\n替换<br>确实有用,但它似乎认为它是一个句子的结尾,因此限制了翻译评估的范围,从而导致翻译不够理想。该行的第一个字符也成为大写字母,这就是我的线索。

我所做的是用\r\n替换<code>0</code>,然后在翻译后再回来 - 这给了一个很好的翻译,因为它没有看到<code>0</code>对句子的贡献。不理想,但提供了更好的翻译。

答案 3 :(得分:0)

技术含量较低的解决方法:

简单的文本程序,例如microsoft write或note pad或libre office writer。 写在那里,然后复制/粘贴到Google翻译中。保留换行符。