Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/plainheart/bing-translate-api
A simple and free API for Bing & Microsoft Translator for Node.js
https://github.com/plainheart/bing-translate-api
api azure bing bing-translator free javascript microsoft microsoft-translator node translate translator
Last synced: about 14 hours ago
JSON representation
A simple and free API for Bing & Microsoft Translator for Node.js
- Host: GitHub
- URL: https://github.com/plainheart/bing-translate-api
- Owner: plainheart
- License: mit
- Created: 2021-03-02T04:12:24.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-03-13T10:46:32.000Z (8 months ago)
- Last Synced: 2024-04-14T03:05:29.516Z (7 months ago)
- Topics: api, azure, bing, bing-translator, free, javascript, microsoft, microsoft-translator, node, translate, translator
- Language: JavaScript
- Homepage: https://github.com/plainheart/bing-translate-api
- Size: 150 KB
- Stars: 143
- Watchers: 5
- Forks: 25
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bing-translate-api
[![NPM version](https://img.shields.io/npm/v/bing-translate-api.svg?style=flat)](https://www.npmjs.org/package/bing-translate-api)
[![Auto Test](https://github.com/plainheart/bing-translate-api/actions/workflows/autotest.yml/badge.svg)](https://github.com/plainheart/bing-translate-api/actions/workflows/autotest.yml)
[![NPM Downloads](https://img.shields.io/npm/dm/bing-translate-api.svg)](https://npmcharts.com/compare/bing-translate-api?minimal=true)
[![License](https://img.shields.io/npm/l/bing-translate-api.svg)](https://github.com/plainheart/bing-translate-api/blob/master/LICENSE)A **simple** and **free** API for [Bing Translator](https://bing.com/translator) and [Microsoft Translator](https://learn.microsoft.com/azure/ai-services/translator/) for Node.js.
## Install
```
npm install bing-translate-api
```## Usage
### Microsoft Translator 🆕
Added since v4.0.0. More stable and powerful. Both free service and paid service are supported. Feel free to give it a try!
Read the [README](./src/met/README.md) for more details.
### Bing Translator
From auto-detected language to English:
```js
const { translate } = require('bing-translate-api');translate('ä½ å¥½', null, 'en').then(res => {
console.log(res.translation);
}).catch(err => {
console.error(err);
});
```Translation result
```js
{
// original text
"text": "ä½ å¥½",
// user-specified language code
"userLang": "auto-detect",
// translated text
"translation": "Hello",
// `correctedText` is returned only when `correct` is set as `true`
// supported since v1.1.0
"correctedText": "",
// detected language
"language": {
// language code of translated text
"to": "en",
// detected language code of original text
"from": "zh-Hans",
// score of language detection
// supported since v1.1.0
"score": 1
}
}
```## API
### translate(text, [from], [to], [correct], [raw], [userAgent], [proxyAgents])
#### _text_
Type: `string`The text to be translated, can't be blank. The **maximum** text length is **1000**.
**NOTE:**
1) The maximum text length is up to **5000** characters only in **China**.
2) In EPT mode (since `v3.0.0`), the maximum text length is currently **3000**.##### _from_
Type: `string` Default: `auto-detect`The language code of source text.
**MUST** be `auto-detect` or one of the codes/names (not case sensitive) contained in [lang.json](src/lang.json)
**NOTE:** The EPT mode (since `v3.0.0`) only supports the languages contained in [src/config.json#eptLangs](src/config.json#L31). Any other language will fall back to the legacy mode, in which a 429 (Too Many Requests) error often occurs.
##### _to_
Type: `string` Default: `en`The language in which the text should be translated.
**MUST** be one of the codes/names (not case sensitive) contained in [lang.json](src/lang.json).
**NOTE:** The EPT mode (since `v3.0.0`) only supports the languages contained in [src/config.json#eptLangs](src/config.json#L31). Any other language will fall back to the legacy mode, in which a 429 (Too Many Requests) error often occurs.
##### _correct_
Type: `boolean` Default: `false` Since: `v1.1.0`Whether to correct the input text.
Note that:
1) There is currently a **limit** of **50 characters** for correction service.
2) **Only** [the languages in the list](src/config.json#L9-L30) are supported to be corrected.##### _raw_
Type: `boolean` Default: `false`Whether the translation result contains raw response from Bing API.
##### _userAgent_
Type: `string`The header value of `user-agent` used in API requests.
Refer to [src/config.json#userAgent](src/config.json#L111) for the default user agent.
##### _proxyAgents_
Type: [`Got['Agents']`](https://github.com/sindresorhus/got/blob/v11.8.6/source/core/index.ts#L60-L64) Default: `undefined` Since: `v2.4.0`Set [agents](https://github.com/sindresorhus/got/blob/main/documentation/tips.md#proxying) of [`got`](https://github.com/sindresorhus/got) for proxy.
## License
MIT © 2021-2024 [plainheart](https://github.com/plainheart).
## Thanks
Great thanks to [Bing Translator](https://bing.com/translator) for providing such an excellent translation service.