【问题标题】:Need Help on Google Translate API在 Google 翻译 API 上需要帮助
【发布时间】:2023-03-31 06:34:01
【问题描述】:
我正在处理一项要求,即我给出一组英语单词,这些单词将以数组格式作为输入,输出将是西班牙语和法语的对应元素
例如:
输入:
["One", "Two", "Three"]
输出:
["One", "french translate One "," Spanish translate One "]
["Two","french translate Two "," Spanish translate Two "]
我们如何通过使用 javascript 的谷歌翻译 API 来实现这一点。
请指教
【问题讨论】:
标签:
javascript
google-translate
translate
【解决方案1】:
根据 Google Cloud Translate API FAQ page,您只能设置一种目标语言。但是,您可以解决此问题。通过对每种目标语言进行单独的 API 调用并将结果放入数组中,您可以使其工作。
这是我在APIs documentation for Node JS 之后提出的解决方案示例:
const Translate = require('@google-cloud/translate');
// Your Google Cloud Platform project ID
const projectId = 'YOUR_PROJECT_ID';
// Instantiates a client
const translate = new Translate({
projectId: projectId,
});
//Targated languages
var targets = ['fr','es'];
var result = [];
var word;
//Recursive function
var targetLanguage = function(x)
{
if(x < targets.length)
{
translate
.translate(word, targets[x])
.then(results => {
const translation = results[0];
result.push(`${translation}`);
//Calling the function for the next target language.
targetLanguage(x+1);
})
.catch(err => {
console.error('ERROR:', err);
});
}
else
{
console.log(result);
result = [];
}
}
//Function that takes the word to be translated
function translateWord(originalWord)
{
word = originalWord;
result.push(word);
targetLanguage(0);
}
//Calling the function
translateWord("One");