translate - v1.0.8

translate

GitHub Actions npm ru en

A library for free and not only using various translation APIs, which supports working with JavaScript, TypeScript, and also has built-in separated types for Typebox.

Installation via Bun:

bun add @toil/translate

Installation via NPM:

npm install @toil/translate

To start working with the API, you need to create a Translation Client. This can be done using the code provided below.

const client = new TranslationClient({
service: TranslationService.yandexbrowser,
});

const translatedResult = await client.translate(
"The quick brown fox jumps over the lazy dog",
);

const detectResult = await client.detect(
"The quick brown fox jumps over the lazy dog",
);

const langs = await client.getLangs();

You can see more code examples here

Status Service Functions Limits
YandexBrowser Translate
Detect
GetLangs
10k chars/req
10k chars/req
YandexCloud Translate
Detect
GetLangs
2k chars/req
1k chars/req
YandexTranslate Translate
Detect
GetLangs
10k chars/req
10k chars/req
YandexGPT*¹ Translate
Detect
GetLangs
10k chars/req
10k chars/req
MSEdge Translate
Detect
GetLangs
50k chars/req
50k chars/req
Bing Translate
Detect
GetLangs
1k chars/req
1k chars/req
LibreTranslate*² Translate
Detect
GetLangs
2k chars/req
2k chars/req
OperaAria*³ Translate
Detect
GetLangs
1k chars/req
6k chars/req

*¹ - translation using YandexGPT only works for the en-ru pair, For all other cases, a translation similar to YandexTranslate is used

*² - by default, obtaining a secret key is disabled. Please install apiKey or enable allowUnsafeEval when creating the client. With allowUnsafeEval some requests may result in an error, probably due to some hard limits on the service side

*³ - translation using OperaAria prohibits the translation of certain forbidden topics and also has geo-restrictions for some countries. The translation is performed using a neural network and may return unexpected results

To build, you must have:

Don't forget to install the dependencies:

bun install

Start building:

bun build:all

The library has minimal test coverage to check it's performance.

Run the tests:

bun test