Open source neural machine translation

Argos Translate

  • Check Mark Open source
  • Check Mark Python library, Web app, API, Desktop app
  • Check Mark State of the art neural machine translation
  • Check Mark Train and package custom language models
Live Demo Install
Argos Translate icon


Docs | Forum | GitHub

Open-source offline translation library written in Python

Argos Translate uses OpenNMT for translations and can be used as either a Python library, command-line, or GUI application. Argos Translate supports installing language model packages which are zip archives with a ".argosmodel" extension containing the data needed for translation. LibreTranslate is an API and web-app built on top of Argos Translate.



Python example

import argostranslate.package, argostranslate.translate

from_code = "en"
to_code = "es"

# Download and install Argos Translate package
available_packages = argostranslate.package.get_available_packages()
available_package = list(
    filter(
        lambda x: x.from_code == from_code and x.to_code == to_code, available_packages
    )
)[0]
download_path = available_package.download()
argostranslate.package.install_from_path(download_path)

# Translate
installed_languages = argostranslate.translate.get_installed_languages()
from_lang = list(filter(
    lambda x: x.code == from_code,
    installed_languages))[0]
to_lang = list(filter(
    lambda x: x.code == to_code,
    installed_languages))[0]
translation = from_lang.get_translation(to_lang)
translatedText = translation.translate("Hello World!")
print(translatedText)
# '¡Hola Mundo!'


Packages



GUI

Screenshot Screenshot2

Command Line

$ argos-translate --from-lang en --to-lang es "Hello World"
Hola Mundo

$ echo "Text to translate" | argos-translate --from-lang en --to-lang es
Texto para traducir


Video intro

Machine Translation in Argos Translate



LibreTranslate Web App (Demo)

Web App Screenshot



LibreTranslate API

const res = await fetch("https://translate.argosopentech.com/translate", {
    method: "POST",
    body: JSON.stringify({
        q: "Hello!",
        source: "en",
        target: "es"
    }),
    headers: {
        "Content-Type": "application/json"}
    });

console.log(await res.json());

// {
//    "translatedText": "¡Hola!"
// }