Bing翻译实例(microsoft translator API)

68 篇文章 0 订阅
15 篇文章 0 订阅

一直喜欢用Google Translate API进行在线翻译,但是,后来,大家都知道的,Google的服务越来越慢,无法忍受,只好寻找更快的在线翻译接口,后来找到Microsoft Translate,觉得非常好用,我用SOAP方式做一个示例,希望给有相同需求的小盆友一点参考,老鸟就不用看了,没什么技术含量的。

 

首先,需要一个Bing开发人员中心,注册一个应用,获得一个Appid,这是必须滴~,注册地址如下:

http://cn.bing.com/developers?

 

 

如上图所示,点击“开发人员”,点“Add”,输入基本资料后,等待片刻,刷新页面,则会看到一个Application ID,记下来。

 DF9E54CA96F73F2E289AEC059F407DE8295A6515

[此APPID至2014年2月15号仍有效,之后是否有效请自行确认]

 

然后进入MSDN文档

http://msdn.microsoft.com/en-us/library/dd576287.aspx

根据文档编写代码即可,下面我以SOAP为例,写一个简单的翻译程序。

 

在VS2010 新建一个应用程序,(或桌面程序或控制台或网站均可),

右键应用,点击“添加服务引用”,输入

http://api.microsofttranslator.com/V2/Soap.svc

点击“前往”,点击服务可查看相关操作和方法

然后在下面输入一个命名空间,如ServiceReference1

点击确定,如下图所示:

 

 

然后在窗体上添加两个richTextBox,再添加一个button按扭,在单击事件中写入

1 string result;
2 ServiceReference1.LanguageServiceClient client =new ServiceReference1.LanguageServiceClient();
3 result = client.Translate("前面申到的APPID", richTextBox1.Text,"en", "zh-CHS","text/html", "general");
4 richTextBox2.Text = result;

 

点运行,在richTextBox1中输入要翻译的英文,点按扭,翻译成功。

 

SOAP貌似无1000字节翻译长度限制,HTTP和AJAX方式是有长度限制的。

 

对于翻译的准确率,我觉得微软的翻译接口还是相当给力的,尤其是技术方面的翻译,相当给力,速度也很快,推荐大家使用。

 

 

 

 

public static String Translate(String strTranslateString, string flang, string tlang)
    {
        string appId = "AFC76A66CF4F434ED080D245C30CF1E71C22959C"//http://www.bing.com/toolbox/bingdeveloper/ 申请自己的appid
        string uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?appId=" + appId + "&text=" + System.Web.HttpUtility.UrlEncode(strTranslateString) + "&from=" + flang + "&to=" + tlang + "";
        HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
        WebResponse response = null;
        try
        {
            response = httpWebRequest.GetResponse();
            using (Stream stream = response.GetResponseStream())
            {
                System.Runtime.Serialization.DataContractSerializer dcs = new System.Runtime.Serialization.DataContractSerializer(Type.GetType("System.String"));
                return (string)dcs.ReadObject(stream);
            }
        }
        catch (WebException)
        {
            return "翻译失败";
        }
        finally
        {
            if (response != null)
            {
                response.Close();
                response = null;
            }
        }
    }

 

更多内容,请关注博主的github:

----------------------------------------------------------

如果解决了您的问题,请有烦,github多点star。 算是对本人的感谢,鼓励作者继续帮助大家:

更多多技术关注,请follow本人的gith, 多给一些star

https://github.com/kkman2008/

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值