0.0.6 • Published 22 days ago
microsoft-translate-api v0.0.6
Microsoft Translate API
A stable and powerful zero-dependency free translator for Microsoft Translator designed for Node.js.
Install
NPM
npm install microsoft-translate-api
Bun
bun add microsoft-translate-api
Basic Usage
Translate from Auto-Detected Language to Another Language
const { translate } = require('microsoft-translate-api')
translate('你好,很高兴认识你!', null, 'en').then(res => {
console.log(res);
}).catch(err => {
console.error(err);
});
[
{
"detectedLanguage": {
"language": "zh-Hans",
"score": 1
},
"translations": [
{
"text": "Hello, nice to meet you!",
"to": "en"
}
]
}
]
Translate from Auto-Detected Language to Multiple Languages
const { translate } = require('microsoft-translate-api')
translate('你好,很高兴认识你!', null, ['en', 'ja']).then(res => {
console.log(res);
}).catch(err => {
console.error(err);
});
[
{
"detectedLanguage": {
"language": "zh-Hans",
"score": 1
},
"translations": [
{
"text": "Hello, nice to meet you!",
"to": "en"
},
{
"text": "こんにちは、はじめまして!",
"to": "ja"
}
]
}
]
Translate HTML text
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);
});
[
{
"detectedLanguage": {
"language": "en",
"score": 1
},
"translations": [
{
"text": "<div class=\"notranslate\">This will not be translated.</div>\n<div>这将被翻译。</div>",
"to": "zh-Hans"
}
]
}
]
Optional Translation Options
interface TranslateOptions {
translateOptions?: Record<string, object>;
authenticationHeaders?: Record<string, string>;
userAgent?: string;
fetchOptions?: RequestInit;
}
Full Translation Results
interface TranslationResult {
translations: {
text: string;
to: string;
sentLen?: {
srcSentLen: number[];
transSentLen: number[];
};
transliteration?: {
script: string;
text: string;
};
alignment?: object;
}[];
detectedLanguage?: {
language: string;
score: number;
};
}
Supported Languages
Refer to lang.json.
Service Limits
!NOTE Note that the correction service is not available.
Use Paid Service With Your Private Keys
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.
Credits
bing-translate-api - This package literally would never exist without this.