GetTranslations Method
Retrieves an array of translations for a given language pair from the store and the MT engine. GetTranslations differs from Translate as it returns all available translations.
| Request URI |
|---|
| http://api.microsofttranslator.com/V2/Ajax.svc/GetTranslations |
| Parameter | Description |
|---|---|
|
appId |
Required. A string containing "Bearer" + " " + access token. |
|
text |
Required. A string representing the text to translate. The size of the text must not exceed 10000 characters. |
|
from |
Required. A string representing the language code of the translation text. |
|
to |
Required. A string representing the language code to translate the text into. |
|
maxTranslations |
Required. An int representing the maximum number of translations to return. |
|
options |
Optional. A TranslateOptions object which contains the values
listed below. They are all optional and default to the most common settings.
|
| Name | Description |
|---|---|
| GetTranslationsResponse |
A GetTranslationsResponse containing the following values:
|
| TranslationMatch |
A TranslationMatch object consists of the following:
|
Note
|
|---|
|
Bing App ID is deprecated and is no longer supported. Please obtain an access token to use the Microsoft Translator API. For details, go here. |
Example
Obtain an Access Token on the server-side
[System.Web.Services.WebMethod]
public static AdmAccessToken GetAccessToken()
{
AdmAccessToken admToken;
string headerValue;
//Get Client Id and Client Secret from https://datamarket.azure.com/developer/applications/
AdmAuthentication admAuth = new AdmAuthentication("clientid", "clientsecret");
admToken = admAuth.GetAccessToken();
// Create a header with the access_token property of the returned token
headerValue = "Bearer" + " " + HttpUtility.UrlEncode(admToken.access_token);
return admToken;
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var languageFrom = "es";
var languageTo = "en";
var text = "una importante contribución a la rentabilidad de la empresa";
var options = "{\"User\":\"TestUserId\"}";
function getTranslations() {
PageMethods.GetAccessToken(OnSucceeded, OnFailed);
}
function OnSucceeded(result, usercontext, methodName) {
window.mycallback = function (response) {
var array = response.Translations;
var translations = "Available translations for source text '" + text + "' are <br />";
for (var i = 0; i < array.length; i++) {
translations = translations + "Translated text: " + array[i].TranslatedText + "<br />Rating: " + array[i].Rating + "<br />Count: " + array[i].Count + "<br /><br />";
}
document.getElementById('<%= lblResult.ClientID %>').innerHTML = translations;
}
var s = document.createElement("script");
s.src = "http://api.microsofttranslator.com/V2/Ajax.svc/GetTranslations?oncomplete=mycallback&appId=Bearer " + encodeURIComponent(result.access_token) + "&text=" + encodeURIComponent(text) + "&from=" + languageFrom +
"&to=" + languageTo + "&maxTranslations=5&options=" + options;
document.getElementsByTagName("head")[0].appendChild(s);
}
function OnFailed(error, userContext, methodName) {
alert("Error");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager" runat="server" EnablePageMethods="true" />
<asp:Button ID="buttonGetTrans" runat="server" Text="GetTranslations" OnClientClick="getTranslations();return false;" />
<br />
<asp:Label ID="lblResult" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
Note