After you have installed the Add-In, there will be a new menu item in the Tools menu in Visual Studio.
This menu item activates the Add-In and shows it in a tool-window. You can dock this window at the side of the main Visual Studio window, or drag it into a tab group, like other tool windows in Visual Studio. It's probably best to place it at the bottom, in a wide format.
A Visual Studio solution may contain multiple projects. However, the Multi-Language Add-In always works with a single project. To get started, you must first select the project. There are two ways to do this.
| from a dialog | When you select the Add-In from the tools menu, it will probably show a list of the projects in a dialog. Simply select the project and click on OK.
This dialog can be disabled, so if somebody else has already worked with the Add-In, it might not appear. |
| from a drop down list | At the top of the Add-In's main window, just below the toolbar, there is a drop down project list
You can select a different project at any time from this list. |
|
When you select a project for the first time, you must specify what the original language of the project is. The Add-In will show a list of the languages supported by Windows. Select the original language and click on OK. The buttons below the list change the way the list is displayed. In particular, the button English simply shows the language names in English. It does not select English in the list. |
|
|
This dialog will probably be followed by second dialog, with options for scanning the project. Just click on OK to accept the default options. |
The Add-In will now add two new files to your project.
| <project name>_ml.mlb | This is the project database used by the Add-In. It is added to App_Data subdirectory. |
| mlstring.vb or mlstring.cs | This module contains support functions, in particular the function ml_string(), which is used to load localized strings. It is added to the App_Code subdirectory. |
The Add-In will now scan the project. This is performed in two phases:
In the first phase, the ASP files are scanned for ASP controls with localizable attributes and for static text in the HTML code. In the second phase, the source code of the project is scanned for texts which may require translation.
|
The results of the scan are displayed in two separate grids in the Add-In's window. You can switch between these grids using the tabs at the bottom of the window. |
To add a new language to the project, click on the
symbol on the Add-In's toolbar |
|
|
This brings up a dialog very similar to one where we selected the original language of the project. Select a new language and click on OK to add this language to the project. |
Some languages, such as German or French, are considered to be neutral languages. The regional variations, such as German(Germany), German(Austria), French(France) or French(Canada) are referred to as specific languages. You should always add the neutral language before adding a related specific language. If you do choose to add a specific language, the Add-In will give you the option of adding both neutral and specific languages or only the neutral language.
After adding the second language, the Add-In will
Now we will take a closer look at the two grids.
To see the ASP grid, make sure that the ASP/HTML tab at the bottom of the window is selected. The grid should look something like the following screenshot.
|
By default, the properties are shown in a hierarchical manner, showing the association of properties to controls. As an alternative, you can view the properties on each Form or UserControl in a flat list. To select this mode, click on the
button on the toolbar and then select Flat list from the menu.The ASP grid will then look something like the following screenshot. |
|
To the left of the property name there is a check box which indicates whether the property has been selected for translation. Initially, none of the properties are selected. To select a property, simply click on the check box.
When you select a property, the ASP code will be modified, so that the text will be read from a resource file. The exact modification depends on several factors, as described below:
| Attribute of a named ASP control | The attribute meta:resourcekey is added. The name of the resource key is identical to the name of the control. Before <asp:button id="btSearch" runat="server" Width="88px" Text="Search"></asp:button> After <asp:button id="btSearch" runat="server" Width="88px" Text="Search" meta:resourcekey="btSearch"></asp:button> |
| Attribute of an unnamed ASP control | The attribute meta:resourcekey is added. A name for the resource key in the format ML_nnnn is generated automatically. Before <asp:ListItem Value="Ja" Text="Ja"></asp:ListItem> After <asp:ListItem Value="Ja" Text="Ja" meta:resourcekey="ML_0009"></asp:ListItem> |
| Static HTML Text | The text is replaced by an asp:Literal tag. A name in the form ML_nnnn is generated automatically and used as both id and resource key. Before Uw contactgegevens After <asp:Literal ID="ML_0068" runat="server" meta:resourcekey="ML_0068" Text="Uw contactgegevens"></asp:Literal> |
As you can see, the grid has a column for each language in the project. Once a property has been selected, you can enter a translation simply by clicking on the cell in in the appropriate column and entering the translation. If you are able to translate the text yourself, this is the easiest way enter translations.