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

问题描述 投票:4回答:3

我有一个问题,即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,它不显示响应中的换行符。

有任何想法吗?

line-breaks google-translate
3个回答
8
投票

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


4
投票

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


2
投票

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

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


0
投票

低技术解决方案:

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

© www.soinside.com 2019 - 2024. All rights reserved.