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