Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

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

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



  • Add sphinx documentation
  • Update readme.


  • Makefile: Add a make release command
  • Add twine to dev requirements.


  • 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


  • 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


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


  • Add multiple providers suport


  • Apply Solid Principles
  • Organize Project
  • Add pre-commit, pytest
  • Add new Make file
  • Add new test cases


  • 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
Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
translate-3.5.0-py2.py3-none-any.whl (14.1 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Dec 2, 2017
translate-3.5.0.tar.gz (16.7 kB) Copy SHA256 Checksum SHA256 Source Dec 2, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting