如何使用微软的Bing translation Web Service??

qytty 发布于 2012/07/26 12:17
阅读 1K+
收藏 0

想在wp7上做个汉译英翻译软件,感觉微软的Bing translation的翻译效果还算满意,但不知道怎么调用?好像还要注册什么的、、、自己也搞不清楚、、、

请哪位同仁指教?

以下是问题补充:

@qytty:Bing translation Web Service的url: http://msdn.microsoft.com/en-us/library/dd576287 (2012/07/26 12:22)
加载中
0
SinwaJackstraw
SinwaJackstraw

我们已经做了一个翻译相关的windows phone app,

http://www.windowsphone.com/zh-CN/apps/ae51a76f-49b6-4045-bd56-7a850ebdba84, 大概思路如下:

1.  https://datamarket.azure.com/dataset/bing/microsofttranslator, 用你的live account 登陆并订阅;在“我的账户”中你可以得到“主账户密钥”: accountKey,后面要用到;

2. 下载 .NET C# 类库 帮助,并添加到你的项目中,其中包含TranslatorContainer类;

3. 在你的调用类中加入 var serviceUri = new Uri("https://api.datamarket.azure.com/Bing/MicrosoftTranslator/");

            string accountKey = "你的accountKey"; // 

            TranslatorContainer translatorContainer = new Microsoft.TranslatorContainer(serviceUri);

            translatorContainer.Credentials = new NetworkCredential(accountKey, accountKey);

接着异步调用,

                var detectquery = translatorContainer.Detect(source);

                detectquery.BeginExecute(OnDetectQueryComplete, detectquery);

自动检测源文本语言;

                var query = translatorContainer.Translate(source, to, from);

                query.BeginExecute(OnQueryComplete, query); 

翻译;

            var getalllanguagesquery = translatorContainer.GetLanguagesForTranslation(source);

                 getalllanguagesquery  .BeginExecute(OnGetAllLanguagesQueryComplete, detectquery);

获取所有支持语言等。

下面我列出其中自动检查的回调代码

 public void OnDetectQueryComplete(IAsyncResult result)

        {

            var query = (DataServiceQuery<DetectedLanguage>)result.AsyncState;

            var enumerableLanguages = query.EndExecute(result);

 

            string detectedLanguageCode= "";

            foreach (DetectedLanguage lang in enumerableLanguages)

            {

                 detectedLanguageCode += lang.Code;

            }

 

            if (!string.IsNullOrEmpty( detectedLanguageCode ))

            {

                   Console.Write( detectedLanguageCode );    //fromResult即为检查语言code,如en-US, zh-CN等

            }

        }

 

 

返回顶部
顶部