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.4.zip (9.9 kB view details)

Uploaded Source

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

Uploaded Source

File details

Details for the file pymstranslator-0.0.4.zip.

File metadata

File hashes

Hashes for pymstranslator-0.0.4.zip
Algorithm Hash digest
SHA256 6a7725882751e8f955e30300df6d2151e3d46c8119301de2b4962bbf6943e73e
MD5 49b8622bfa51f524d5a196b9702970d1
BLAKE2b-256 6fc0739768622013d4c204d7539474a7737f0dd30a0254ea40486b8880fa9527

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pymstranslator-0.0.4.tar.gz
Algorithm Hash digest
SHA256 b67f94514d97f7315244392c3f59785fce0816942c3b2bce2525e999ed40e062
MD5 3f8b0aad58c9f724b957bd3582bb8618
BLAKE2b-256 1aea38a867918077c5c43d3c80039bf047cd855d640c9803cf927d753d87b77e

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