Multi-Language for Visual Studio provides extended support for creating localized applications using Microsoft Visual Studio. The supported application types are
- Windows Forms
- Windows Store Apps
- ASP.NET 2.0
- Compact Framework
- MFC (unmanaged C++)
The product is implemented as a Visual Studio Package, which means that it is tightly integrated into the development environment itself. The localization support is based on the built in localization support in Visual Studio and in the .NET environment.
The basic steps involved in localizing an application are:
Identifying the strings to be translated
Multi-Language scans your project, looking for strings defined in
*The properties of controls
- For .NET controls, the properties which can be translated are marked with the Localizable attribute. Multi-Language shows all string properties with the Localizable attribute.
- For ASP.NET projects, it also shows static text from the HTML code.
- For MFC projects (unmanaged C++) Multi-Language shows the texts in dialog and menu resources defined in the resource script (.rc) file.
*The program source code
- Multi-Language shows all texts detected in the source code.
select the texts which you wish to translateIn both cases, you can
- hide texts which you do not wish to translate
Most programs contain a lot of text strings which do not require translation. In many cases, translating a string will actually cause a program error. Selecting the texts which require translation is a job which can only be performed by the programmer.
Multi-Language for Visual Studio makes it easy to start this job late in project development.
Specifying the languages to be supported
Multi-Language shows you a list of all languages supported by Windows. Simply select a language from the list to add it to the project.
For each language, an additional column is added to the grids, showing the strings for this language.
There are two basic ways to enter translations. The one you choose probably depends on who is going to do the translation work.
*Enter translations directly
- The simplest way to enter a translation is to type it into the grid.
- When you click in a cell, Multi-Language will immediately show the location of the text in the source code, or in a designer window. This makes it easy to identify where and how the text is used.
- Multi-Language contains a database of common translations, so terms such as OK and Cancel will usually be translated automatically.
- Multi-Language also contains a translation memory feature, which shows you translations of other texts containing the same words.
- This is the best approach, if the programmer is able to translate the texts herself or himself.
*Enter translations with Microsoft Excel or OpenOffice
- In most cases, you will need to send the texts to a translator.
- In this case, you can
- export the texts to a spreadsheet file
- have the texts translated in the spreadsheet
- import the translated texts back into the project from the spreadsheet
Storing translations and adding runtime support
After entering translations using Multi-Language, the texts are exported to resource files in the .ResX format, used by Visual Studio. The standard localization support in the .NET runtime environment will load the localized texts for the default system language.
Using Multi-Language you can add additional support for
- selecting the language from a list when the program is started
- changing the language when the program is running
For unmanaged C++ projects, Multi-Language exports translations to the resource script (.rc) file in three steps:
- all texts are exported to string table resources
- the texts in existing dialog and menu resources are updated
- if necessary, new dialog and menu resources are generated for individual languages.