Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Hosting Multi-Language IM Conversations in Lync 2010: Overview (Part 1 of 3)

Summary:   This is the first in a series of three articles that describe how to build a Microsoft Lync 2010 Conversation Window Extension application that translates IM text from one language to a second language. The ConversationTranslator application described in this article uses the Microsoft Translator web service.

Applies to:   Microsoft Lync 2010 SDK | Microsoft Lync 2010 | Microsoft Lync Server 2010

Published:   June 2011 | Provided by:   John Austin, Microsoft | About the Author


This article describes a sample application that enables Microsoft Lync 2010 to translate IM text from one language to a second language. This kind of translation capability is becoming increasingly important as people begin to interact globally with IM. The ConversationTranslator sample application uses a web service-based translation engine to instantly translate incoming IM text and your outgoing IM text during a Lync conversation.

This article is the first of three articles about how to build a Lync 2010 Conversation Window Extension application that translates IM text.

You can find the referenced project file and sample code on your computer after you install the Microsoft Lync 2010 SDK. The ConversationTranslator application is located at one of the following locations.

  • %ProgramFiles%\Microsoft Lync\SDK\Samples\ConversationTranslator

  • %ProgramFiles(x86)%\Microsoft Lync\SDK\Samples\ConversationTranslator

To install the Lync SDK, visit the Microsoft Download Center.

To use ConversationTranslator, you must be able to start and sign in to Lync 2010. In addition, you must have Internet access to connect to the Microsoft Translator web service. ConversationTranslator is a Microsoft Silverlight application that you start in the Lync 2010 Conversation Window Extension.


The ConversationTranslator application provides the following features that can be used to improve communication between multiple conversation participants that do not share a common language.



Automatic language detection

If there are more than two conversation participants, ConversationTranslator detects the language of each incoming message and translates the message into the local user’s selected language.

User selectable translation languages

For two participant conversations, ConversationTranslator gives the user a list of all supported languages. The user selects both the translation source language and target language.

Translation preview

A preview text box in the ConversationTranslator UI lets the user check message text for translation mistakes before the message is sent to other participants.

Conversation History

Translated messages to and from a user together with the name of the message sender and the time sent appear in a list control.

Usage Scenarios

The following two scenarios describe how to use the ConversationTranslator conversation window extension in a business setting. The Retail Kiosk scenario uses ConversationTranslator at the business endpoint, and a custom IM client at the public kiosk endpoint. In this scenario, ConversationTranslator should only run at the business endpoint. The global conference scenario lets you participate in multi-language IM conferences. The conference scenario requires you to install ConversationTranslator on all endpoints to translate to and from multiple languages.

Retail Kiosk

ConversationTranslator is useful in a scenario where a customer service staff member interacts with public users of an IM client. The language of the public user may not be that of the staff member. For example, Northwind Traders has opened a retail location in a city where several different languages are frequently spoken. Because the new Northwind Traders store is a large department store with many categories of goods to be sold, the customer support staff decided to put an interactive kiosk in the lobby of the store. The kiosk consists of a touch-screen display that includes a menu of store departments, and an IM chat feature.

Northwind Traders customer Humberto Acevedo can use the kiosk to obtain help finding the department that carries a product. If more help is needed, Humberto can contact a customer service staff member using the IM feature. Because the customer support staff member uses the ConversationTranslator conversation window extension, the Spanish to English interface is no longer a barrier to communication.

Figure 1 shows a scenario where a Spanish speaking Lync user is talking with an English speaking Lync user. Humberto is not using a translation extension in his Lync conversation window. He types messages in Spanish and reads responses from Michelle in Spanish.

Figure 1. Lync 2010 client sends question in Spanish

Lync 2010 Client sends question in Spanish.

Figure 2 shows Michelle using the ConversationTranslator conversation window extension application to type messages in English, translate to Spanish, and then send messages in Spanish. She sees Humberto’s question after the ConversationTranslator has translated it from Spanish to English and she responds in English. However, the message is sent to Humberto in Spanish.

Figure 2. Translated answer sent from ConversationTranslator

Answer sent from Conversation Translator

Global IM Conference

Wide World Importers has offices on every continent. Weekly IM conferences are conducted with representatives of every office. Because many language speakers are present at every meeting, the World Wide Importers IT staff decided to install the ConversationTranslator Conversation Window Extension on corporate computers in all World Wide Importers offices. Meeting participants can use ConversationTranslator to read incoming messages in their own language regardless of the original language of the message sender. Participants use the ConversationTranslator language selection feature to select their own language and ConversationTranslator automatically translates messages to that language.

Figure 3 shows the World Wide Traders IM conference between Axel Delgado in Lisbon, Jenny Liu in Hong Kong, and Lisa Andrews in New York. The ConversationTranslator Conversation Window Extension detects the language of received IM and translates to the selected language of each participant. Outgoing messages are not translated to another language before they are sent.

Figure 3. A conference participant asks a question in his preferred language

Conference participant IM in his own language.

Figure 4 shows that Lisa responds to Axel’s question in English but her response is translated to the languages of all other conference participants at their endpoints.

Figure 4. Answer is translated to local language upon receipt

IM is translated to local language upon receipt.

Tip Tip

In the retail kiosk scenario, only one participant in a conversation has access to language translation. In this case, that participant must translate incoming IM into their own language and outgoing IM to the other participant’s language. The language of the other participant must be known to complete the translation. The participant who can translate may know the language of the other participant. Otherwise, Microsoft Translator web service can be used to auto-detect the language of the non-translating user. Further outgoing IM can be automatically translated to that language.

In the conference scenario all participating conversation clients use the ConversationTranslator application. In this scenario, only incoming IM must be translated. Each conversation participant assumes that the other participants are translating each incoming IM. The incoming IM language should be automatically detected in this scenario. It may be unlikely that any conference participant will know the language spoken by all other conference participants.

User Experience

The user experience of the customer service staff member in the first scenario resembles the experience of a conference participant in the second scenario. However, unlike the conference scenario where participants select only their own language, the retail kiosk scenario requires that the customer service staff member select both their own language and the language that is used by the customer using the kiosk. In Hosting Multi-Language IM Conversations in Lync 2010: Project Details (Part 2 of 3), you learn about a coding option that auto-detects the kiosk customer’s language.

Figures 5, 6, and 7 shows Michelle’s experience by using Microsoft Lync 2010 to chat with Humberto. In figure 5, Michelle receives a message from Humberto in Spanish. The message is translated to English and is displayed in the ConversationTranslator history. Michelle types “Yes, we have several varieties” in the lower text box in ConversationTranslator.

Two ConversationTranslator combo boxes are used to select the language that is used by the sender of the IM and the language that is used by a remote user. The languages are obtained in a Simple Object Access Protocol (SOAP) operation call to the Microsoft Translator web service. Text translation is performed by making another SOAP operation call to the Translator web service where the text to be translated and language to translate into are provided.

Figure 5. Michelle’s Lync 2010 conversation window

Humberto's question translated to English

Figure 6 shows the result of the translation of her English response into Spanish. The Translate button changes to a Send button. Before sending the translated message, Michelle can review the text and make any corrections.

Figure 6. Michelle’s answer translated to Spanish

Michelle’s answer translated to Spanish.

Figure 7 shows the translated question and the answer in the Lync 2010 conversation history. The ConversationTranslator Conversation Window Extension also shows the result of each translation.

Figure 7. The question and answer in Spanish

The question and answer in Spanish.

The Microsoft Translator web service supports translation into English, French, Spanish, German, Chinese, and Japanese. To preview the Translation web service:

  1. In Microsoft Internet Explorer, right-click anywhere in a webpage, and then click Translate with Bing. A new tab appears.

  2. Click the tab to open the Microsoft Translator web service ribbon.

Figure 8 shows the Microsoft Translator web service UI

Figure 8. Bing translator Internet Explorer ribbon

Bing translator Internet Explorer ribbon.

For more information, see Microsoft Translator.

Hosting Multi-Language IM Conversations in Lync 2010: Project Details (Part 2 of 3) examines the XAML and C# code that define and run the ConversationTranslator application.

John Austin, Microsoft, is a programmer/writer in the Lync client SDK documentation team. He has been writing Microsoft technical documentation for four years. Prior to working for Microsoft, John spent two decades as a software developer.

© 2015 Microsoft