在 Google 翻译 API 方面需要帮助
Need Help on Google Translate API
我正在处理第 1 个要求,其中我给出一组英语单词,这些单词将以数组格式作为输入,输出将是西班牙语和法语的相应元素
例如:
输入:
["One", "Two", "Three"]
输出:
["One", "french translate One "," Spanish translate One "]
["Two","french translate Two "," Spanish translate Two "]
我们如何使用 google 翻译 API 使用 javascript 来实现这一点。
请指教
根据Google云翻译APIFAQ page,您只能设置一种目标语言。但是,您可以解决此问题。通过对每种目标语言进行单独的 API 调用并将结果放入一个数组中,您可以使其工作。
下面是我根据 APIs documentation 为 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");
我正在处理第 1 个要求,其中我给出一组英语单词,这些单词将以数组格式作为输入,输出将是西班牙语和法语的相应元素
例如:
输入:
["One", "Two", "Three"]
输出:
["One", "french translate One "," Spanish translate One "]
["Two","french translate Two "," Spanish translate Two "]
我们如何使用 google 翻译 API 使用 javascript 来实现这一点。 请指教
根据Google云翻译APIFAQ page,您只能设置一种目标语言。但是,您可以解决此问题。通过对每种目标语言进行单独的 API 调用并将结果放入一个数组中,您可以使其工作。
下面是我根据 APIs documentation 为 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");