1

为 windows phone 7 处理旧的翻译示例代码。

最近,我 在我的项目中从这个http://api.microsofttranslator.com/V2/Soap.svc下载了 LanguageServiceClient 或翻译 Api。

我注意到 TranslateAsync 的方法发生了变化

在我的页面中使用这个旧方法调用这个方法

_proxy.TranslateAsync(APP_ID, txtInput.Text, from.Code, to.Code);

这抛出错误信息:

方法“TranslateAsync”没有重载需要 4 个参数

我在旧的示例代码中发现,它有:

旧示例代码中存在旧签名:

public void TranslateAsync(string appId, string text, string from, string to) {
    this.TranslateAsync(appId, text, from, to, null);

但是这个 RECENT Translator api 中的新签名是这样的:

 public void TranslateAsync(string appId, string text, string from, string to, string contentType, string category) {
     this.TranslateAsync(appId, text, from, to, contentType, category, null);
 }

我如何使用这个新签名?什么是 contentTye, category ?我在哪里可以获得这些信息或使用这些信息的示例代码?

请帮忙。谢谢

4

2 回答 2

1

微软翻译服务的开发者中心在这里: http: //www.microsofttranslator.com/dev/提供的文档位于:http: //msdn.microsoft.com/en-us/library/ff512423.aspx . 该Translate方法的文档表明contentType参数用于指定所提供内容的格式并接受值"text/plain""text/html"。如果指定 HTML,则 HTML 必须格式正确。category参数支持单个值:general

于 2011-03-08T11:43:45.080 回答
0

不是直接回答您的问题,但您可能会发现使用 REST api 进行翻译服务而不是 SOAP 服务更容易 - 使用直接 HTTPWebRequest 或使用像 Hammock 这样的 REST 客户端库非常容易调用此 API。

我已经在这个 ruby​​ 脚本http://script.iron7.com/#/Script/Detail?scriptId=46ea32cd1aa4436fa7089d70722f7de8&userLowerCaseName=stuart中使用了这个 API (并再次在应用程序http://www.wp7comp.com/translate-a -bull-get-multilingual-get-bovine/ )

我发现针对原始 HTTP REST 而不是针对生成的 SOAP 进行编码更容易 - 例如 Translate 是:

http://api.microsofttranslator.com/V2/Http.svc/Translate?appId=YOUR_KEY&from=from+lang&to=to+lang&text=what+you+want+to+translate
于 2011-03-08T12:30:25.513 回答