Online translation as a Python module & command line tool. No key, no authentication needed.
Python Makefile
Clone or download
terryyin Merge pull request #46 from cleberzavadniak/master
move tox and pre-commit to requirements-dev.txt
Latest commit 4a8ef0b May 27, 2018


Translate Tool in Python

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 are integrated with Microsoft Translation API and Translated MyMemory API

Why Should I Use This?

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


$ pip install translate

Or, you can download the source and

$ python install

Add sudo in the beginning if you met problem.


  • Translate your outputs in real time
  • Do translation in your terminal using command line


In your command-line:

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

Translation: 这是一支笔
Translated by: MyMemory


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


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

  Python command line tool to make on line translations


       $ translate-cli -t zh the book is on the table

  Available languages:
       Examples: (e.g. en, ja, ko, pt, zh, zh-TW, ...)

  --version                 Show the version and exit.
  --generate-config-file    Generated 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             Sets 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:

from_lang = autodetect
to_lang = de
provider = mymemory
secret_access_key =

The cfg is not for using 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 in translation, and it’s 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>'
In [4]: translator = Translator(provider='microsoft', to_lang=to_lang, secret_access_key=secret)
In [5]: translator.translate('the book is on the table')
Out [5]: '碗是在桌子上。'


Check out the latest translate documentation at Read the Docs


Please send pull requests, very much appriciated.

  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