前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让你的.NET程序翻译语言

让你的.NET程序翻译语言

作者头像
KurtNiu
发布2019-02-25 14:18:51
5450
发布2019-02-25 14:18:51
举报
文章被收录于专栏:Kurt Niu 的博客Kurt Niu 的博客

今天没事干,再看Bing的SDK。全他妈是英文,不过总算有点成果,那就是翻译。以后自己也可以写个程序翻译了。。

     如果再配合钩子函数,完全可以做一个屏幕取词翻译工具,就想金山词霸那样。

     在配合我上次写的那个,引用system.Speech。程序集,还可以让翻译的结果说出来。。

代码语言:javascript
复制
using System;
using System.Net;
using System.Xml;
using System.IO;
using ConsoleApplication1;
static class TranslationSample
{
    static void Main()
    {
        //AppId 就是 ApplicationId的缩写,这个是必须参数,需要用户自己创建,可能是微软想知道是谁在用他的东西。
        //需要在bing开发中心(http://cn.bing.com/developers)注册并创建AppID那个是英文网站,这里就用我的吧。
        string AppId = "305713700E4A0E87E1BD013C0E784E204E9163B6";

        //你要翻译的文字
        string query = "what the fuck is English";

        //翻译的原语言,这个不是乱写的,有规定,简体中文zh-cn 中文繁体zh-tw 英式英语en-gb 美式英语en-us
        string soureLanguage = "en-us";
        //翻译的目标语言
        string targetLanguage = "zh-cn";

        string requestString = string.Format("http://api.search.live.net/xml.aspx?AppId={0}&Query={1}&Sources=Translation&Translation.SourceLanguage={2}&Translation.TargetLanguage={3}",
            AppId, query, soureLanguage, targetLanguage);
        //其实以上这个URL返回的是一个XML文件,
        //<?xml version="1.0" encoding="utf-8" ?> 
        //  <?pageview_candidate ?> 
        //- <SearchResponse xmlns="http://schemas.microsoft.com/LiveSearch/2008/04/XML/element" Version="2.2">
        //- <Query>
        //  <SearchTerms>what the fuck is English</SearchTerms> 
        //  </Query>
        //- <tra:Translation xmlns:tra="http://schemas.microsoft.com/LiveSearch/2008/04/XML/translation">
        //- <tra:Results>
        //- <tra:TranslationResult>
        //  <tra:TranslatedTerm>他妈的是英语</tra:TranslatedTerm> 
        //  </tra:TranslationResult>
        //  </tra:Results>
        //  </tra:Translation>
        //  </SearchResponse>

        //如果换成http://api.search.live.net/json.aspx?这个路径,参数不变。他就会返回一个Json格式的文件。当然还可以返回SOAP格式.
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestString);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        XmlDocument document = new XmlDocument();
        document.Load(response.GetResponseStream());

        //读取结果,其实读取结果很复杂,具体要看官方示例。因为返回有时候会有几个列表,或者报错,等等。。这个只是示例,所以只有一句话。
        Console.WriteLine(document.InnerText);
        Console.Read();
    }
 
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-04-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档