Skip to main content

Python module for interfacing with Microsoft(r) Translator

Project description

==============
PyMSTranslator
==============

PyMSTranslator is the Python client for `Microsoft(r) Translator`_ service.
It's ultimate goal is to provide full implementation of the entire MS
Translator service API. The immediate goal is to provide basic translation
functionality.

Getting started
===============

Before you can get started, you will need to obtain the API key (Microsoft(r)
Live account required).

Subscribe to the Microsoft Translator API at Azure Marketplace, and obtain the
API key. More iformation can be found `on the Microsoft's site`_.

The service is free up to 2M characters per month.

Installing and using PyMSTranslator
===================================

Install from pip::

pip install pymstranslator

Basic usage
===========

Before you can use the Microsoft Translator API, you need to register your app.
Once you do that, you will receive client ID and client secret. Note these
down.

Creating the access key
-----------------------

Once in your application's initialization code, you must create the access key
(access token). This is best done in such a way that the access key is always
available to parts of your application that may require the key. Once created,
the will be valid for 10 minutes and is cached to avoid repeated requests to
the authorization server. Here is an example::

>>> from mstranslator import MSTranslatorAccessKey
>>> key = MSTranslatorAccessKey(client_id, client_secret)

In Django, for example, you may create the key in the settings module, and make
it available as a configuration setting::

# setup.py
import os
CLIENT_ID = os.environ.get('TRANSLATOR_ID')
CLIENT_SECRET = os.environ.get('TRANSLATOR_SECRET')
MS_TRANSLATOR_KEY = MSTranslatorAccessKey(CLIENT_ID, CLIENT_SECRET)

# somewhere in your view
from django.conf import settings
key = settings.MS_TRANSLATOR_KEY

The key object has a ``get_key`` method which returns the cached key if it has
not expired yet, shortening the response time. This method is used by the
client object to retrieve the cached key, so you don't need to worry about the
internal implementation.

Creating the Microsoft Translator client object
-----------------------------------------------

The client object is crated using the key crated in the `Creating the access
key`_ section::

>>> from mstranslator import MSTranslator
>>> translator = MSTranslator(key)

The client object currently only has one useful method, and that is
``translate``. To translate a string, call the method like so::

>>> translator.translate(text='Si vous plais', tfrom='fr', to='en')
"If you'd like"

Microsoft Translator API coverage
=================================

Currently, only the ``Translate`` method has been implemented. The goal for 1.0
release is to include all of the Microsoft Translator API v2.

For the most part, the API of Microsoft Translator methods should be almost
identical in PyMSTranslator except for a few details:

+ Method names are always lower-case using underscores to separate words (e.g.,
``TranslateArray`` becomes ``translate_array``)
+ Same applies to parameters (e.g., ``contentType`` becomes ``content_type``)
+ Parameter names that match Python built-in names are prefixed with ``t``
(e.g., ``from`` becomes ``tfrom``, ``format`` becomes ``tformat``)

Caching
=======

There is currently no caching of the translations. Caching mechanism is planned
for 1.0 release, though, with an interface compatible with the Django's caching
mechanism. For now, caching must be done separately.

Reporting bugs
==============

Bugs can be reported to the BitBucket `issue tracker`_.

.. _Microsoft(r) Translator: http://www.microsofttranslator.com/dev/
.. _on the Microsoft's site: http://www.microsoft.com/web/post/using-the-free-bing-translation-apis
.. _issue trakcer: https://bitbucket.org/monwara/pymstranslator/issues

Project details


Download files

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

Source Distributions

pymstranslator-0.0.2.zip (9.7 kB view details)

Uploaded Source

pymstranslator-0.0.2.tar.gz (6.4 kB view details)

Uploaded Source

File details

Details for the file pymstranslator-0.0.2.zip.

File metadata

  • Download URL: pymstranslator-0.0.2.zip
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pymstranslator-0.0.2.zip
Algorithm Hash digest
SHA256 49f16cdcb28cd59a4d7d2bc8fd745ca05793d030bd86741b969e99de2542dbb2
MD5 f15bcc4319a492cccc6d8b724f2b4b9d
BLAKE2b-256 96a5a0e559506a8fb1d75c912ef0078fb6c9cd4e308109c82ec23dae4c264d23

See more details on using hashes here.

File details

Details for the file pymstranslator-0.0.2.tar.gz.

File metadata

File hashes

Hashes for pymstranslator-0.0.2.tar.gz
Algorithm Hash digest
SHA256 eed7f46f8cb754a71aae11f8b5b3731ec58ce6017dfb22d019b3568dafc3183c
MD5 fd5f528a8d6c7298f1f81c08d582b642
BLAKE2b-256 326abfeb7c213120ad796bdfe56864b6451d79731a8fc86318cd9cb2759ef80f

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