A stable and powerful zero-dependency free translator for Microsoft Translator designed for Node.js.
NPM
npm install microsoft-translate-api
Bun
bun add microsoft-translate-api
const { translate } = require('microsoft-translate-api')
translate('你好,很高兴认识你!', null, 'en').then(res => {
console.log(res);
}).catch(err => {
console.error(err);
});
Translation result
[
{
"detectedLanguage": {
"language": "zh-Hans",
"score": 1
},
"translations": [
{
"text": "Hello, nice to meet you!",
"to": "en"
}
]
}
]
const { translate } = require('microsoft-translate-api')
translate('你好,很高兴认识你!', null, ['en', 'ja']).then(res => {
console.log(res);
}).catch(err => {
console.error(err);
});
Translation result
[
{
"detectedLanguage": {
"language": "zh-Hans",
"score": 1
},
"translations": [
{
"text": "Hello, nice to meet you!",
"to": "en"
},
{
"text": "こんにちは、はじめまして!",
"to": "ja"
}
]
}
]
const { translate } = require('microsoft-translate-api')
const htmlText = `
<div class="notranslate">This will not be translated.</div>
<div>This will be translated.</div>
`;
translate(htmlText, null, 'zh-Hans', {
translateOptions: {
// Explicitly set textType as `html`. Defaults to `plain`.
textType: 'html'
}
}).then(res => {
console.log(res);
}).catch(err => {
console.error(err);
});
Translation result
[
{
"detectedLanguage": {
"language": "en",
"score": 1
},
"translations": [
{
"text": "<div class=\"notranslate\">This will not be translated.</div>\n<div>这将被翻译。</div>",
"to": "zh-Hans"
}
]
}
]
interface TranslateOptions {
translateOptions?: Record<string, object>;
authenticationHeaders?: Record<string, string>;
userAgent?: string;
fetchOptions?: RequestInit;
}
interface TranslationResult {
translations: {
text: string;
to: string;
sentLen?: {
srcSentLen: number[];
transSentLen: number[];
};
transliteration?: {
script: string;
text: string;
};
alignment?: object;
}[];
detectedLanguage?: {
language: string;
score: number;
};
}
Refer to lang.json.
Note
Note that the correction service is not available.
const { translate } = require('microsoft-translate-api')
translate('你好,很高兴认识你!', null, 'en', {
authenticationHeaders: {
// Use private subscription key
'Ocp-Apim-Subscription-Key': 'YOUR KEY',
// Or use a JWT token
'Authorization': 'YOUR TOKEN'
}
}).then(res => {
console.log(res);
}).catch(err => {
console.error(err);
});
See also https://learn.microsoft.com/azure/ai-services/translator/reference/v3-0-reference#authentication
Note
Note that using your private keys, the translator will skip to fetch the free authorization and you will have to check if the authorization is expired by yourself.
bing-translate-api - This package literally would never exist without this.