用 systran API 替换 google 翻译 API

问题描述 投票:0回答:1

使用google翻译API进行翻译:

function translate() {
  const inputText = inputTextElem.value;
  const inputLanguage =
    inputLanguageDropdown.querySelector(".selected").dataset.value;
  const outputLanguage =
    outputLanguageDropdown.querySelector(".selected").dataset.value;
  const url = `https://translate.googleapis.com/translate_a/single?client=gtx&sl=${inputLanguage}&tl=${outputLanguage}&dt=t&q=${encodeURI(inputText
  )}`;
  fetch(url)
    .then((response) => response.json())//fetches response
    .then((json) => {
      console.log(json);//prints output
      outputTextElem.value = json[0].map((item) => item[0]).join("");//maps the item where to connect and print
    })
    .catch((error) => {
      console.log(error);//Exception Handling
    });
}

根据说明更改了 systran 翻译 API 的用法:https://docs.systran.net/translateAPI/translation/

function translate() {
  const inputText = inputTextElem.value;
  const inputLanguage = inputLanguageDropdown.querySelector(".selected").dataset.value;
  const outputLanguage = outputLanguageDropdown.querySelector(".selected").dataset.value;
  const apiKey = "YOUR_API_KEY";
  const url = `https://api.example.com/translation?source=${inputLanguage}&target=${outputLanguage}&input=${encodeURIComponent(inputText)}`;
  const headers = {
    "Authorization": `Key ${apiKey}`
  };

  fetch(url, {
    method: "GET",
    headers: headers
  })
  .then(response => response.json())
  .then(json => {
    console.log(json);
    outputTextElem.value = json.translation;
  })
  .catch(error => {
    console.error("Translation error:", error);
  });
}

不起作用。问题是什么?请帮忙。

javascript html json response
1个回答
0
投票
 fetchFunction(input,source,target){
         fetch(
        "https://api-platform.systran.net/translation/text/translate?key=cd0a8c75-2107-43c7-801a-421edeadb008&input="+input+"&        source="+source+"&target="+target+"")
.then(response => response.json())
.then(data =>{
    console.log(data['outputs'][0].output);
    let output = data['outputs'][0].output;
    let outputElement = document.querySelector(".OutputView#Translate .OutputPara");
    outputElement.innerHTML = output;
})
.catch(err => {
    console.log(err);
});
    }
© www.soinside.com 2019 - 2024. All rights reserved.