Google 翻译 API: 启用单词转换
Google Translate API: Enable word conversion
我正在使用 google translate API 翻译一个单词列表,但是我注意到对于它无法翻译的单词,它 returns 源语言中的同一个单词.
例如我们观察下面的单词数组从英语到希伯来语的转换请求:
const response = await axios.post<TranslateResponse>(`https://translation.googleapis.com/language/translate/v2?key=xxxxxxx`,
{
"q": ["SUNFINSH", "DOG"],
"source": "en",
"target": "he",
"format": "text"
});
返回的对象是
{"data":{"translations":[{"translatedText":"SUNFINSH"},{"translatedText":"כֶּלֶב"}]}}
在上面的例子中,你可以看到它翻译了“DOG”,但无法翻译“SUNFISH”。
但是,如果我转到 translate.google.com,并输入“SUNFISH”,即使它没有在右侧面板上翻译它 UI,它确实提供了一种“文字”翻译,就好像它可以简单地将单词转换成希伯来语的发音。
问题是,如何使用 Google 翻译 API?
得到相同的结果
您可以尝试将“SUNFISH”更改为“sunfish”,它将return与您使用[=30=提供的屏幕截图相同的预期输出] 翻译 UI.
如使用 Google 翻译 UI 提供的屏幕截图所示,Google 首先将“SUNFISH”转换为“翻车鱼”,然后从那里将其翻译成希伯来语。
请看我测试的截图。
我还使用“Sunfish”进行了测试,并且在希伯来语中仍然得到了预期的结果。
另外,如官方所说google支持forum,
Google Translate must be case sensitive as no two languages follow the same Capitalization rule.
下面是我测试时使用的示例代码,供大家参考。
// Imports the Google Cloud client library
const {Translate} = require('@google-cloud/translate').v2;
// Creates a client
const translate = new Translate();
const text = ['sunfish', 'DOG'];
const target = 'he';
async function translateText() {
// Translates the text into the target language. "text" can be a string for
// translating a single piece of text, or an array of strings for translating
// multiple texts.
let [translations] = await translate.translate(text, target);
translations = Array.isArray(translations) ? translations : [translations];
console.log('Translations:');
translations.forEach((translation, i) => {
console.log(`${text[i]} => (${target}) ${translation}`);
});
}
translateText();
我正在使用 google translate API 翻译一个单词列表,但是我注意到对于它无法翻译的单词,它 returns 源语言中的同一个单词.
例如我们观察下面的单词数组从英语到希伯来语的转换请求:
const response = await axios.post<TranslateResponse>(`https://translation.googleapis.com/language/translate/v2?key=xxxxxxx`,
{
"q": ["SUNFINSH", "DOG"],
"source": "en",
"target": "he",
"format": "text"
});
返回的对象是
{"data":{"translations":[{"translatedText":"SUNFINSH"},{"translatedText":"כֶּלֶב"}]}}
在上面的例子中,你可以看到它翻译了“DOG”,但无法翻译“SUNFISH”。
但是,如果我转到 translate.google.com,并输入“SUNFISH”,即使它没有在右侧面板上翻译它 UI,它确实提供了一种“文字”翻译,就好像它可以简单地将单词转换成希伯来语的发音。
问题是,如何使用 Google 翻译 API?
得到相同的结果您可以尝试将“SUNFISH”更改为“sunfish”,它将return与您使用[=30=提供的屏幕截图相同的预期输出] 翻译 UI.
如使用 Google 翻译 UI 提供的屏幕截图所示,Google 首先将“SUNFISH”转换为“翻车鱼”,然后从那里将其翻译成希伯来语。
请看我测试的截图。
我还使用“Sunfish”进行了测试,并且在希伯来语中仍然得到了预期的结果。
另外,如官方所说google支持forum,
Google Translate must be case sensitive as no two languages follow the same Capitalization rule.
下面是我测试时使用的示例代码,供大家参考。
// Imports the Google Cloud client library
const {Translate} = require('@google-cloud/translate').v2;
// Creates a client
const translate = new Translate();
const text = ['sunfish', 'DOG'];
const target = 'he';
async function translateText() {
// Translates the text into the target language. "text" can be a string for
// translating a single piece of text, or an array of strings for translating
// multiple texts.
let [translations] = await translate.translate(text, target);
translations = Array.isArray(translations) ? translations : [translations];
console.log('Translations:');
translations.forEach((translation, i) => {
console.log(`${text[i]} => (${target}) ${translation}`);
});
}
translateText();