Skip to main content

This is a simple, yet powerful command line translator with google translate behind it. You can also use it as a Python module in your code.

Project description

PyPI latest PyPI Version PyPI License Docs Travis Build Status

Translate is a simple but powerful translation tool written in python with with support for multiple translation providers. By now we offer integration with Microsoft Translation API, Translated MyMemory API, LibreTranslate, and DeepL’s free and pro APIs

Why Should I Use This?

The biggest reason to use translate is to make translations in a simple way without the need of bigger effort and can be used as a translation tool like command line

Installation

$ pip install translate

Or, you can download the source and

$ python setup.py install

Prefix ‘sudo’ if you encounter a problem.

Features

  • Translate your output in real time

  • Do translation in your terminal using the command line

Usage

In your command-line:

$ translate-cli -t zh "This is a pen."

Translation: 这是一支笔
-------------------------
Translated by: MyMemory

Or

$ translate-cli -t zh "This is a pen." -o
这是一支笔

Options

$ translate-cli --help
Usage: __main__.py [OPTIONS] TEXT...

  Python command line tool to make online translations

  Example:

       $ translate-cli -t zh the book is on the table
       碗是在桌子上。

  Available languages:

       https://en.wikipedia.org/wiki/ISO_639-1
       Examples: (e.g. en, ja, ko, pt, zh, zh-TW, ...)

Options:
  --version                 Show the version and exit.
  --generate-config-file    Generate the config file using a Wizard and exit.
  -f, --from TEXT           Sets the language of the text being translated.
                            The default value is 'autodetect'.
  -t, --to TEXT             Set the language you want to translate.
  -p, --provider TEXT       Set the provider you want to use. The default
                            value is 'mymemory'.
  --secret_access_key TEXT  Set the secret access key used to get provider
                            oAuth token.
  -o, --output_only         Set to display the translation only.
  --help                    Show this message and exit.

Change Default Languages

In ~/.python-translate.cfg:

[DEFAULT]
from_lang = autodetect
to_lang = de
provider = mymemory
secret_access_key =

The cfg is not for use as a Python module.

or run the command line and follow the steps:

$ translate-cli --generate-config-file
Translate from [autodetect]:
Translate to: <language you want to translate>
Provider [mymemory]:
Secret Access Key []:

Use As A Python Module

In [1]: from translate import Translator
In [2]: translator= Translator(to_lang="zh")
In [3]: translation = translator.translate("This is a pen.")
Out [3]: 这是一支笔

The result is usually a unicode string.

Use a different translation provider

In [1]: from translate import Translator
In [2]: to_lang = 'zh'
In [3]: secret = '<your secret from Microsoft or DeepL>'
In [4]: translator = Translator(provider='<the name of the provider, eg. microsoft or deepl>', to_lang=to_lang, secret_access_key=secret)
In [5]: translator.translate('the book is on the table')
Out [5]: '碗是在桌子上。'

The DeepL Provider

To use DeepL’s pro API, pass an additional parameter called pro to the Translator object and set it to True and use your pro authentication key as the secret_access_key

In: translator = Translator(provider='microsoft', to_lang=to_lang, secret_access_key=secret, pro=True)

Documentation

Check out the latest translate documentation at Read the Docs

Contributing

Please send pull requests, very much appreciated.

  1. Fork the repository on GitHub.

  2. Make a branch off of master and commit your changes to it.

  3. Install requirements. pip install -r requirements-dev.txt

  4. Install pre-commit. pre-commit install

  5. Run the tests with py.test -vv -s

  6. Create a Pull Request with your contribution

Changelog

3.6.1

  • Add LibreTranslate

3.5.0

  • Add sphinx documentation

  • Update readme.

3.4.1

  • Makefile: Add a make release command

  • Add twine to dev requirements.

3.4.0

  • Refactor: Create a folder to add all providers instead to let in a single file

  • Add Microsoft provider

  • Add more documentation to all providers (Translated-MyMemory and Microsoft Translator)

  • Add arguments to change the default provider using translate-cli

3.3.0

  • Refactor translate-cli (command line interface) Using Click library instead of ArgParser

  • Unify translate-cli and main to avoid duplicate code

  • Add documentation to be used on helper commands on translate-cli

  • Remove unnecessary code

  • Refactor setup to complete information in the PKG-INFO used by PyPI

3.2.1

  • Change the license from “BEER-WARE” to MIT

3.2.0

  • Add multiple providers suport

3.1.0

  • Apply Solid Principles

  • Organize Project

  • Add pre-commit, pytest

  • Add new Make file

  • Add new test cases

3.0.0

  • General Refactor

  • Remove urllib to use requests

  • Refactor methods names removing google from then

  • Apply PEP8

  • Change contructor to keep it the code simple

2.0.0 (2017-11-08)

  • initial release using changes file

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

translate-3.6.1.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

translate-3.6.1-py2.py3-none-any.whl (12.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file translate-3.6.1.tar.gz.

File metadata

  • Download URL: translate-3.6.1.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.4

File hashes

Hashes for translate-3.6.1.tar.gz
Algorithm Hash digest
SHA256 7e70ffa46f193cc744be7c88b8e1323f10f6b2bb90d24bb5d29fdf1e56618783
MD5 3ebcafb25c270e785c5f18580c4ad0c4
BLAKE2b-256 d19d692066b9e26176a93ce627bf467bca48f198eb0e036337a5180d566c9561

See more details on using hashes here.

File details

Details for the file translate-3.6.1-py2.py3-none-any.whl.

File metadata

  • Download URL: translate-3.6.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.4

File hashes

Hashes for translate-3.6.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cebfb004989d9a2ab0d24c0c5805783c7f4e07243ea4ed2a8f1809d072bf712b
MD5 22b4da9b2a0c76899a9b0a5d64e1694d
BLAKE2b-256 e154df0d3e62636f291d716caa44c5c9590af8e6f225c59d7874051da6428c06

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page