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. Show Argos Translate also manages automatically pivoting through intermediate languages to translate between languages that don't have a direct translation between them installed. For example, if you have a es → en and en → fr translation installed you are able to translate from es → fr as if you had that translation installed. This allows for translating between a wide variety of languages at the cost of some loss of translation quality. Supported languagesArabic, Azerbaijani, Catalan, Chinese, Czech, Danish, Dutch, English, Esperanto, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Persian, Polish, Portuguese, Russian, Slovak, Spanish, Swedish, Turkish, Ukrainian Request a language InstallationInstall with PythonArgos Translate is available from PyPI and can be easily installed or updated with pip.
Install GUI:
Installation for macOS
Python source installationDownload a copy of this repo and install with pip.
ExamplesPythonimport argostranslate.package import argostranslate.translate from_code = "en" to_code = "es" # Download and install Argos Translate package argostranslate.package.update_package_index() available_packages = argostranslate.package.get_available_packages() package_to_install = next( filter( lambda x: x.from_code == from_code and x.to_code == to_code, available_packages ) ) argostranslate.package.install_from_path(package_to_install.download()) # Translate translatedText = argostranslate.translate.translate("Hello World", from_code, to_code) print(translatedText) # '¡Hola Mundo!' Command Line Interface
LibreTranslate Web App (Demo)LibreTranslate APIconst 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!" } Graphical user interfaceThe GUI code is in a separate repository. Packages
GPU AccelerationTo enable GPU support, you need to set the 0 env variable to 1 or 2.
The above env variable passes the device type to CTranslate2. HTML TranslationThe translate-html library is built on top of Argos Translate and Beautiful Soup and parses and translates HTML. The LibreTranslate API also has support for translating HTML. Files TranslationThe argos-translate-files library is built on top of Argos Translate and parses and translates files. The LibreTranslate API also has support for translating files. Uninstallpip uninstall argostranslate You may choose to also delete temporary and cached files: rm -r ~/.local/cache/argos-translate rm -r ~/.local/share/argos-translate Related Projects
ContributingContributions are welcome! Available issues are on the GitHub issues page. Contributions of code, data, and pre-trained models can all be accepted. SupportFor support please use the LibreTranslate Forum or GitHub Issues. For questions about CTranslate2 or general machine translation research the OpenNMT Forum is a good resource. |