Showing posts with label CodeProject. Show all posts
Showing posts with label CodeProject. Show all posts

Sunday, June 23, 2013

Build a desktop online translator with Bing

Introduction


Somebody on Codeacademy wanted a little help building a dictionary application for Windows 8. As a matter of fact, online dictionary/translator function in similar ways. Since I already worked on such functionality, I thought I would try to do it again, let's go!

1. Check online translation services


Nowadays, all online translation services seem to require a key for API use. Since Google Translate became paid only, Bing seems the best free option at the moment.

2. How the BING Translator API works...


It's much more difficult now that appID no longer works.

Resources:

  1. Wang Pidong's blog: How to use new Bing translator API.
  2. MSDN blog: Bing Translator API, getting started.
  3. MSDN Microsoft Translator: Obtaining an access token.
  4. MSDN documentation on the protocol: HTTP interface in C#
  5. Microsoft Bing Translator Language Codes and Names: [1][2].
Basically you want to copy the C# code from steps 3 & 4, to create classes and functions that will handle the http stuff and deserialisation (JSON and raw string) for you.

Since we're using the WPF template for the project, you will probably need to add references to:

  • System.Configuration
  • System.Runtime.Serialization
  • System.Net
  • System.Web

3. Verify the registration process


The registration process for the service is a bit painful. You must have something like this in your Azure Marketplace account for it to work : 

Windows Azure Marketplace data

Notice the two rows for both Bing Search API & Microsoft Translator.

4. Build a WPF interface


If we want to get fancy we can create to ComboBox controls databounds to the languages lists (checks links in section 2.5).
WPF interface


5. Implement custom configuration


Obviously, I can't give out my personal Bing keys. You will have to fill both the ClienID and the ClientSecret in exe.config.

Windows Azure Marketplace application registration

Conclusion


You will find the sample application at WPFOnlineTranslator. You can also download the source code on the code project. Have fun! =)

Retrieve contacts with Google Contacts API (Python)

I recently registered an account on codecademy. It was so fun that I completed all Python courses in one day! They also have a course for Python API which I also completed.

Codeacademy badges

As an experiment, I thought of trying to retrieve contacts using GMail API. It was really easy. Here are the steps and requirements:
  1. Python 2.7 installation
  2. Google Data Python Library installation (run setup.py install) from https://developers.google.com/gdata/articles/python_client_lib
  3. Download contacts_example.py from Contacts API v3
  4. Create test account on GMail
  5. Run contacts_example.py. You will be prompted for username and password.

contacts_examples.py

As a last step you wil want to customize the script to fit your needs. Have fun!