Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C#

Build a Desktop Online Translator with Bing

4.71/5 (4 votes)
29 Jun 2013CPOL2 min read 31.8K   2.6K  
How to 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 requests
  • the data deserialisation from JSON and raw strings
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 translation 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 two 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 ClientID and the ClientSecret in exe.config.

Windows Azure Marketplace application registration

Conclusion

You will find the sample application at WPFOnlineTranslator. Have fun! =)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)