@orta/markdown-translator
Version:
Directly translate markdown file using Azure Text Translate API
44 lines (38 loc) • 1.02 kB
JavaScript
const merge = require('lodash.merge');
const request = require('request');
const uuidv4 = require('uuid/v4');
module.exports.translate = (textArr, {
from, to, subscriptionKey, region
}) => {
return new Promise((resolve, reject) => {
if (!subscriptionKey) {
reject(new Error('Your subscription key is not set.'))
};
const options = {
method: 'POST',
baseUrl: 'https://api.cognitive.microsofttranslator.com/',
url: 'translate',
qs: merge({
'api-version': '3.0',
'from': 'en',
'to': 'zh'
}, { from, to }),
headers: {
'Ocp-Apim-Subscription-Key': subscriptionKey,
'Content-type': 'application/json',
'X-ClientTraceId': uuidv4().toString()
},
body: textArr,
json: true,
};
if (region) {
options.headers['Ocp-Apim-Subscription-Region'] = region;
}
request(options, function (err, res, body) {
if (err) {
reject(err);
}
resolve(body);
});
})
}