bing transaltion fonction js
Bonjour,
Je cherche a traduire via bing transaltion, un resultat Json. Je me base sur ce tuto qui a l'air simple : http://msdn.microsoft.com/en-us/library/dd877846.aspx
Mon fichier Json fonctionne très bien.
J'utilise des includes dans mon php, comme ceci :
Code:
1 2 3 4 5 6 7
| include("./include/header.php");
include("./include/conn.php");
$sql=mysql_query(requete);
include("./include/lec.php");
include("./include/dec.php"); |
Mes fonctions javascript ce trouve dans mon header :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Bing API 2.2 Translation Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script id="searchCallback" type="text/javascript" src="">
</script>
<script type="text/javascript">
// Remplacer la chaîne suivante à la AppId vous avez reçu de Centre
// Bing Developer. var AppId = "Insérez votre AppId ici";
// Bing API échantillon de code 2.2 démontrant l'utilisation de l'SourceType
var AppId = "App"; //Dans mon code ce champs est bien renseigner
// Traduction sur le protocole JSON.
function Search()
{
var requestStr = "http://api.bing.net/json.aspx?"
// Champs de demande commune (requis)
+ "AppId=" + AppId
+ "&Query=Espero"
+ "&Sources=Translation"
// champs de demande commune (facultatif)
+ "&Version=2.2"
// SourceType champs spécifiques (requis)
+ "&Translation.SourceLanguage=fr"
+ "&Translation.TargetLanguage=en"
// JSON champs spécifiques demande (option)
+ "&JsonType=callback"
+ "&JsonCallback=SearchCompleted";
var requestScript = document.getElementById("searchCallback");
requestScript.src = requestStr;
alert(requestStr);//voir en bas de la conversation
}
function SearchCompleted(response)
{
//alert(response);
var errors = response.SearchResponse.Errors;
if (errors != null)
{
// / Il ya des erreurs dans la réponse. Afficher les détails d'erreur
DisplayErrors(errors);
}
else
{
// Il n'y avait aucune erreur dans la réponse. Affichage des résultats
// Traduction
DisplayResults(response);
}
}
function DisplayResults(response)
{
var output = document.getElementById("output");
var resultsHeader = document.createElement("h4");
var resultsList = document.createElement("ul");
output.appendChild(resultsHeader);
output.appendChild(resultsList);
var results = response.SearchResponse.Translation.Results;
// Affichage de la tête des résultats.
resultsHeader.innerHTML = "Bing API Version "
+ response.SearchResponse.Version
+ "<br />Translation results for "
+ response.SearchResponse.Query.SearchTerms
+ "<br />";
// affichage des résultats de traduction.
var resultsListItem = null;
for (var i = 0; i < results.length; ++i)
{
resultsListItem = document.createElement("li");
resultsList.appendChild(resultsListItem);
resultsListItem.innerText = results[0].TranslatedTerm;
}
}
function DisplayErrors(errors)
{
var output = document.getElementById("output");
var errorsHeader = document.createElement("h4");
var errorsList = document.createElement("ul");
output.appendChild(errorsHeader);
output.appendChild(errorsList);
// Itérer sur la liste des erreurs et afficher les détails d'erreur.
errorsHeader.innerHTML = "Errors:";
var errorsListItem = null;
for (var i = 0; i < errors.length; ++i)
{
errorsListItem = document.createElement("li");
errorsList.appendChild(errorsListItem);
errorsListItem.innerHTML = "";
for (var errorDetail in errors[i])
{
errorsListItem.innerHTML += errorDetail
+ ": "
+ errors[i][errorDetail]
+ "<br />";
}
errorsListItem.innerHTML += "<br />";
}
}
</script>
</head>
<body onload="Search()">
<div id="output"> |
La fin de mon div et body se trouve dans mon fichier dec et j'ai bien une variable $output qui se trouve dans lec.php (qui est inclu).
Alors en mettant des alert je me suis aperçu que je rentrais bien dans la fonction Search mais pas dans les autres.
Lien que je recupere via mon alert(requestStr) est :http://api.bing.net/json.aspx?AppId=...earchCompleted.
En allant sur ce lien je vois :
Code:
if(typeof SearchCompleted == 'function') SearchCompleted({"SearchResponse":{"Version":"2.2","Query":{"SearchTerms":"Espero"},"Translation":{"Results":[{"TranslatedTerm":"Espero"}]}}} /* pageview_candidate */);
Personnellement je vois pas comment il peut rentrée dans mes autres fonctions (SearchCompleted, DisplayResults ou DisplayErrors) car je note nul par SearchCompleted(response) par exemple.