首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将整个段落传递给Google翻译API v2?

如何将整个段落传递给Google翻译API v2?
EN

Stack Overflow用户
提问于 2013-08-01 11:52:31
回答 1查看 560关注 0票数 2

我已经使用翻译api v2翻译简单的词或text.but,现在我想翻译整个段落。我试着通过整段,但都没成功。

这是我的密码:

代码语言:javascript
复制
public String requestTranslation( String txt, String src, String dst ) 
    {
        if(txt.length()>0)
        {
            String request = requestURL + requestKey + requestSrc + src + requestDst + dst + requestTxt;   
            StringBuffer sb = new StringBuffer();
            try {
                request += URLEncoder.encode( txt, "UTF-8" );
                URL url = new URL( request );
                URLConnection connection = url.openConnection();
                connection.setConnectTimeout(0);
                connection.connect();

                InputStreamReader inputStreamReader = new InputStreamReader( connection.getInputStream(), "UTF-8" );
                BufferedReader in =  new BufferedReader( inputStreamReader, 512 );

                String line;
                while ( ( line = in.readLine() ) != null ) {
                    sb.append( line );
                }
                in.close();

                JSONObject jObj;
                JSONArray data = null;

                    jObj = new JSONObject(sb.toString());
                    jObj = jObj.getJSONObject("data");
                    data = jObj.getJSONArray("translations");

                    for(int i = 0; i < data.length(); i++)
                    {
                        JSONObject c = data.getJSONObject(i);
                        // Storing each json item in variable
                        txt = c.getString("translatedText");
                    } 
                    return txt;
                //return sb.toString();
            } 
            catch ( Exception e ) 
            {
                e.printStackTrace();
            }

        }
        return null;
    }

我已经通过了“你好吗?”而且它工作得很完美。但是当我传递整个段落时,它就会从http连接中得到异常。

该段内容如下:

"wiki使社区能够使用简单的标记语言和web浏览器协作编写文档。wiki网站中的单个页面被称为“wiki页”,而整个页面集合(通常通过超链接连接得很好)是“wiki”。wiki本质上是一个用于创建、浏览和搜索信息的数据库。wiki允许非线性的、进化的、复杂的、网络的文本、争论和交互。“

因此,基本上我的问题是,如何将段落传递给谷歌,翻译api v2并得到翻译的响应??我搜索了几个帖子,但都找不到适合我的。

希望你们能理解我想要的。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-07 11:19:45

为了解决这个问题,我用预定义的范围将段落插入到多个字符串中。所以它运作得很好。它只有一个问题,当我们使用预定义的范围时,它会破坏单词,所以它不能被翻译。否则,它会起作用:

代码语言:javascript
复制
StringBuilder sb = new StringBuilder();
                    if(Message.length()>200)
                    {
                        //sb.append(requestTranslation(Message,"en", "gu"));
                        for(int i=0;i<Message.length();)
                        {
                            if(i+200<=Message.length())
                            {
                                sb.append(requestTranslation(Message.substring(i, i+200),"en", "gu"));
                                i+=200;
                            }
                            else
                            {
                                sb.append(requestTranslation(Message.substring(i, Message.length()),"en", "gu"));
                                i+=200;
                            }
                        }
                        Log.d("Translated Text:- ", sb.toString());
                        Message = sb.toString();
                    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17993316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档