我正在寻找here,但有一个基本示例,如下所示:
const request = require('request')
const uuidv4 = require('uuid/v4')
const YAML = require('js-yaml')
const subscriptionKey = '<mykey>'
// https://docs.microsoft.com/en-us/azure/cognitive-services/translator/translator-text-how-to-signup
const input = process.argv[2]
let LANGS = {
"af": "Afrikaans",
"bn": "Bangla",
"bs": "Bosnian (Latin)",
"bg": "Bulgarian",
"yue": "Cantonese (Traditional)",
"ca": "Catalan",
"zh-Hans": "Chinese Simplified",
"zh-Hant": "Chinese Traditional",
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
"nl": "Dutch",
"en": "English",
"et": "Estonian",
"fj": "Fijian",
"fil": "Filipino",
"fi": "Finnish",
"fr": "French",
"de": "German",
"el": "Greek",
"ht": "Haitian Creole",
"he": "Hebrew",
"hi": "Hindi",
"mww": "Hmong Daw",
"hu": "Hungarian",
"is": "Icelandic",
"id": "Indonesian",
"it": "Italian",
"ja": "Japanese",
"sw": "Kiswahili",
"tlh": "Klingon",
"tlh-Qaak": "Klingon (plqaD)",
"ko": "Korean",
"lv": "Latvian",
"lt": "Lithuanian",
"mg": "Malagasy",
"ms": "Malay",
"mt": "Maltese",
"nb": "Norwegian",
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
"otq": "Queretaro Otomi",
"ro": "Romanian",
"ru": "Russian",
"sm": "Samoan",
"sr-Cyrl": "Serbian (Cyrillic)",
"sr-Latn": "Serbian (Latin)",
"sk": "Slovak",
"sl": "Slovenian",
"es": "Spanish",
"sv": "Swedish",
"ty": "Tahitian",
"ta": "Tamil",
"te": "Telugu",
"th": "Thai",
"to": "Tongan",
"tr": "Turkish",
"uk": "Ukrainian",
"ur": "Urdu",
"vi": "Vietnamese",
"cy": "Welsh",
"yua": "Yucatec Maya",
"gu": "Gujarati",
"kn": "Kannada",
"ml": "Malayalam",
"mr": "Marathi",
"or": "Oriya",
"pa": "Punjabi"
}
let langs = Object.keys(LANGS)
let i = 0
let out = {}
next(() => {
console.log(JSON.stringify(out, null, 2))
})
function next(fn) {
let lang = langs[i++]
if (!lang) return fn()
let options = {
method: 'POST',
baseUrl: 'https://api.cognitive.microsofttranslator.com/',
url: 'translate',
qs: {
'api-version': '3.0',
'to': [lang]
},
headers: {
'Ocp-Apim-Subscription-Key': subscriptionKey,
'Content-type': 'application/json',
'X-ClientTraceId': uuidv4().toString()
},
body: [{
'text': input
}],
json: true
};
console.log('translating to ' + lang)
request(options, function(err, res, body){
if (body.error) return next(fn)
let translations = body[0].translations
translations.forEach(translation => {
out[LANGS[translation.to].toLowerCase()] = translation.text
})
setImmediate(function(){
next(fn)
})
});
}
但是,它仅以已翻译单词的text
作为响应。它不包含:
我想知道是否有一种方法(暂时)只是词性。
更具体地说,我想知道,如果我搜索“见证人”一词,它将确切地起作用。我不确定是否为每个翻译返回名词(“见证人”)或动词(“见证人”)。我也不确定返回的单词的感觉。我不确定在脑海中举个例子,但说您有一个像“乐队”这样的词,它的意思是“一个音乐乐队”,“一群人”或“一个像橡皮筋的乐队” ”或“条带”。我怎么知道翻译的文本是哪一个?
我只想执行以下操作:
想知道我该怎么做。