All Projects → vsetka → Deepl Translator

vsetka / Deepl Translator

Licence: apache-2.0
This module provides promised methods for translating text using DeepL Translator (https://www.deepl.com/translator) undocumented API.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Deepl Translator

Deeply
PHP client for the DeepL.com translation API (unofficial)
Stars: ✭ 152 (+4.83%)
Mutual labels:  translation, machine-translation, translate
Seq2seq
A general-purpose encoder-decoder framework for Tensorflow
Stars: ✭ 5,455 (+3662.07%)
Mutual labels:  translation, machine-translation
Polyglot
🌏 The missing Safari extension that translates selected text into your native language.
Stars: ✭ 387 (+166.9%)
Mutual labels:  translation, translate
Sockeye
Sequence-to-sequence framework with a focus on Neural Machine Translation based on Apache MXNet
Stars: ✭ 990 (+582.76%)
Mutual labels:  translation, machine-translation
whats
🌐 a terminal translation tool
Stars: ✭ 16 (-88.97%)
Mutual labels:  translation, translate
linguist
Linguist is a powerful browser extension for translate pages and text, which are ready to replace your favorite translate service
Stars: ✭ 21 (-85.52%)
Mutual labels:  translation, translate
Libretranslate
Free and Open Source Machine Translation API. 100% self-hosted, no limits, no ties to proprietary services. Built on top of Argos Translate.
Stars: ✭ 834 (+475.17%)
Mutual labels:  translation, translate
Deep Translator
A flexible free and unlimited python tool to translate between different languages in a simple way using multiple translators.
Stars: ✭ 233 (+60.69%)
Mutual labels:  translation, translate
React Intl Hooks
React hooks for internationalization without the hassle ⚛️🌍
Stars: ✭ 64 (-55.86%)
Mutual labels:  translation, translate
Google Translate Php
🌐 Free Google Translate API PHP Package. Translates totally free of charge.
Stars: ✭ 1,131 (+680%)
Mutual labels:  translation, translate
Androiddeepl
Unofficial Android application of DeepL Translator
Stars: ✭ 86 (-40.69%)
Mutual labels:  translation, translate
LMPHP
Multi-language management and support on the site.
Stars: ✭ 19 (-86.9%)
Mutual labels:  translation, translate
pygtrans
谷歌翻译, 支持 APIKEY 一口气翻译十万条
Stars: ✭ 60 (-58.62%)
Mutual labels:  translation, translate
Translators
🌏🌍🌎Translators🌎🌍🌏 is a library which aims to bring free, multiple, enjoyable translation to individuals and students in Python. Translators是一个旨在用Python为个人和学生带来免费、多样、愉快翻译的库。
Stars: ✭ 295 (+103.45%)
Mutual labels:  translation, translate
SimpleTranslationSystem
A simple C# translation system
Stars: ✭ 14 (-90.34%)
Mutual labels:  translation, translate
Fluent
Fluent — planning, spec and documentation
Stars: ✭ 818 (+464.14%)
Mutual labels:  translation, translate
Dynamictranslator
Instant translation application for windows in .NET 🎪
Stars: ✭ 131 (-9.66%)
Mutual labels:  translation, translate
Modernmt
Neural Adaptive Machine Translation that adapts to context and learns from corrections.
Stars: ✭ 231 (+59.31%)
Mutual labels:  translation, machine-translation
Tms
基于频道模式的团队沟通协作+轻量级任务看板,支持mardown、富文本、在线表格和思维导图的团队博文wiki,i18n国际化翻译管理的响应式web开源团队协作系统。
Stars: ✭ 232 (+60%)
Mutual labels:  translation, translate
Bartycrouch
Localization/I18n: Incrementally update/translate your Strings files from .swift, .h, .m(m), .storyboard or .xib files.
Stars: ✭ 1,032 (+611.72%)
Mutual labels:  translation, machine-translation

deepl-translator

Coverage Status Build Status Known Vulnerabilities npm version styled with prettier

This unofficial node module provides promised methods for detecting language and translating text using DeepL Translator (https://www.deepl.com/translator) undocumented API.

DeepL has done a great job with their deep learning translation model which outperforms the competition by a wide margin. An excerpt from their page on that topic:

Blind test

100 sentences were translated by DeepL Translator, Google Translate, Microsoft Translator, and Facebook. Professional translators assessed the translations, without knowing which system produced which results. The translators preferred our translations over the competition's by a factor of 3:1. Here are the results of a test run in August 2017:

Stats

Supported languages:

Language code Language
EN English
DE German
FR French
ES Spanish
IT Italian
NL Dutch
PL Polish

Install

yarn add deepl-translator

This package can also be used on the client since it provides an XHR shim for the HTTP request helper implementation. The shim is defined as a mapping in the browser property of the package.json so it should be picked up automatically by most of the popular bundlers.

Usage

const { translate, detectLanguage, wordAlternatives, translateWithAlternatives } = require('deepl-translator');

// Translate text with explicit source and target languages
translate('Die Übersetzungsqualität von deepl ist erstaunlich!', 'EN', 'DE')
  .then(res => console.log(`Translation: ${res.translation}`))
  .catch(console.error);

// Translate short text with this method to get a few translation alternatives
translateWithAlternatives(
  'Die Übersetzungsqualität von deepl ist erstaunlich!',
  'EN'
)
  .then(res =>
    console.log(
      `Translation alternatives: ${res.translationAlternatives.join(', ')}`
    )
  )
  .catch(console.error);

// Leave out the source language or specify 'auto' to autodetect the input
translate('This is a representative chunk of text in english.', 'DE')
  .then(res => console.log(`Translation: ${res.translation}`))
  .catch(console.error);

// Detect the text language without giving back the translation
detectLanguage('Deepl también puede detectar un idioma. ¿Qué idioma es este?')
  .then(res => console.log(`Detected language: ${res.languageName}`))
  .catch(console.error);

// Multi-line translations work as well, even with different source languages mixed in
translate(
  `Das ist der erste Satz... Das der zweite.

  C'est la troisième phrase.


  Y ese es el cuarto.
  I piąta.`,
  'EN'
)
  .then(res => console.log(`Translation: ${res.translation}, Resolved languages: ${res.resolvedSourceLanguage}`))
  .catch(console.error);

  // This method allows for tweaking the translation. By providing a beginning, we define a word or a phrase
  // for which we want alternative translations within the context of a larger body of text (a sentence).
  // One of the returned alternatives can then be selected and passed into translateWithAlternatives
  // as an overriding word/phrase for the beginning of the whole translation.
  {
    const text = 'Die Übersetzungsqualität von deepl ist erstaunlich!';
    // Translates to: 'The translation quality of deepl is amazing!'
    wordAlternatives(text, 'EN', 'DE', 'The translation')
      .then(res => {
        console.log(`3 Alternative beginnings:`);
        res.alternatives.slice(0, 3).forEach(alt => console.log(alt));
        // Choose the third alternetive
        return res.alternatives[2];
      })
      .then(beginning => {
        // Request translation with selected alternative beginning
        return translateWithAlternatives(text, 'EN', 'DE', beginning);
      })
      .then(res => console.log(`Alternative: ${res.translation}`));
  }

API

translate(text, targetLanguage, sourceLanguage) -> object

This method translates the input text into a specified target language. Source language can be autodetected. Multi-line text translation is possible with line breaks preserved.

text (string) Input text to be translated

targetLanguage (string) Language code of the language to translate to

sourceLanguage (string) Language code of the input text language. Can be left out or set to auto for automatic language detection.

Returns

{
  targetLanguage: 'XY', // Language code(s) of the language that was translate to
  resolvedSourceLanguage: 'YZ', // Language code(s) of the input language (resolved automatically for autodetect)
  translation: 'Translated text' // Translated text
}

translateWithAlternatives(text, targetLanguage, sourceLanguage, beginning) -> object

This method translates the input text into a specified target language. Source language can be autodetected. Optionally, a sentence beginning override can be given (should be used in conjunction with wordAlternatives which gives contextual phrase/word translations).

text (string) Input text to be translated

targetLanguage (string) Language code of the language to translate to

sourceLanguage (string) Language code of the input text language. Can be left out or set to auto for automatic language detection.

beginning (string) Override of the translation beginning

Returns

{
  targetLanguage: 'XY', // Language code of the language that was translate to
  resolvedSourceLanguage: 'YZ', // Language code of the input language (resolved automatically for autodetect)
  translation: 'Translated text', // Translated text
  translationAlternatives: ['First translated alternative', 'Second translated alternative']
}

detectLanguage(text) -> object

This method detects the language of the input text.

text (string) Input text to detect the language on

Returns

{
  languageCode: 'XY', // Language code of the input text
  languageName: 'Some language', // Language name (in English) of the input text
}

wordAlternatives(text, targetLanguage, sourceLanguage, beginning) -> object

This method suggests alternative wordings for a subset of the beginning input text. This means we get alternative translations for the given word or a phrase within a context of the larger body of text (the input text). Languages cannot be autodetected.

text (string) Input text to be translated

targetLanguage (string) Language code of the language to translate to

sourceLanguage (string) Language code of the input text language

beginning (string) Subset of the translation of text for which the contextual alternatives will be provided

Returns

{
  targetLanguage: 'XY', // Language code of the language that was translate to
  resolvedSourceLanguage: 'YZ', // Language code of the input language
  alternatives: ['An alternative', 'Yet another alternative'], // Array of alternative sentence beginnings
}

License

Apache License 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].