Configuration of the Microsoft .NET Add-In
The general settings and the settings for an individual project are displayed in the same dialog.
Accessing the settings for the .NET Add-In
- Click
- Click on the Parser tab.
- Click once on the "Microsoft .NET Parser" option.
- Click Setup.
On the left, you can select each of the pages relating to the general settings and the settings for the project currently loaded.
External References
In addition to standard controls, Microsoft .NET applications can make use of custom and third-party controls. In order to work on the Microsoft .NET files and to optimize the display of the relevant forms in the dialog editor, the additional controls are needed as well as the Microsoft .NET files. This applies not only to binary files but also to the resource files of the development environment. If Passolo parses or generates a target file, the required additional controls will be searched for in the following locations:
- The directory in which the source file is saved.
- The directory in which the Passolo project is saved.
- The Referenced Assemblies sub-directory within the directory in which the Passolo project is saved.
- The directory specified in the "External References" settings.
The Passolo dialog editor and the Passolo translation list also search in the global directory and project directory, but not in the directory of the source file.
External references can be set under the Common category, which will apply them to all projects, as well as set individually for each project.
Parser Options
On this page, specify whether - in addition to string lists, menus and forms - you also want to import bitmaps, icons or other binary data into the Passolo string lists and process them there.
When generating the target file you can choose whether to include all the resource data (strings, coordinates, properties) in the satellite DLL or only the data that was changed during translation. In the latter case, select the option Write only changed information. This makes the satellite DLL smaller, but it can still be used for the alignment function (see Transferring Existing Translations).
If the option Embed Referenced Assemblies to Passolo Project is activated, Passolo automatically saves all the required assemblies in the Passolo project and unpacks them when, for example, forms are to be displayed. This option simplifies the management of files, but the size of Passolo projects and translation bundles increases. Moreover, this makes the assemblies available to all the Passolo users who are working on the project. Since it is possible to reconstruct the source code from the assemblies, this procedure is not always preferred.
The Save processed assemblies option is active by default, because this increases the speed at which the source string lists are updated. If this leads to problems, you can try deactivating this option.
Custom Properties
The add-in for Microsoft .NET extracts all data which is usually required for the localization. In special cases however it may be necessary to extract and work on additional information. Click on Add, to add further properties which have to be extracted from the source file. This calls up the .NET Control Property dialog.
Under Property name, enter the name of the property (e.g. "DisplayMode") and under Control element type enter the complete type name (e.g. "MyWindowsControlLibrary.UserControl1"). Instead of the name of the control you can also enter '*'. In this case the property will be extracted from every control.
Deactivate the option Translatable to extract properties that contain structural information for the construction of the form in the dialog editor. It will then not be possible for the translator to change these properties.
Text properties are added to the translation list as separate entries. All other properties are converted into text and can be edited by using the command Custom Properties in the shortcut menu or in the Edit menu. Properties with symbolic or enumerated values can be edited by selecting the symbolic values in a listbox.
This option applies only to forms.
BAML Custom Properties
Functions similar to Custom Properties, but it applies only for BAML resources.
Excluded Properties
The add-in for Microsoft .NET extracts all text properties. There may be text properties, however, that are not to be translated. These may either be marked as "not to be translated" in the source string list, or the properties can be added to the list of excluded properties.
Enter the excluded properties here in the same format as the Additional properties
BAML Excluded Properties
Functions similar to Excluded Properties, but it applies only for BAML resources. The AutomationId, Command, and Style properties are set by default, however you can edit or remove them if you prefer.
Signing
It is possible to add "signatures" to an assemblies. Signatures can be use, for example, to prevent changes being made to the assemblies downstream, as the assemblies can then no longer be run. If the source assembly is signed, the satellite assemblies have to be signed with the same key. This requires using the same keyfile as was used for signing the source assembly. Up to Framework 1.1 and also for Framework 2.0 with Managed C++ Assemblies the information on the key used for signing is stored in the Assembly Info of the source assembly. This information is automatically evaluated by Passolo and the key is searched for relative to the source file or the Passolo project and is used for signing the satellite assemblies.
.NET 2.0 assemblies developed in C# or Visual Basic do not automatically contain information in the Assembly Info concerning the keyfile used for signing. For assemblies like these you can enter the keyfile to be used in the edit field File Path for keyfile. This value also overwrites the settings of the Assembly Info of the source file.
The other option is to enter the directory which should be used to search for the keyfile in the edit field Search Directory for keyfile. Apart from this directory Passolo also in the source directory, the target directory and in the project directory for keyfiles. If the Assembly Info does not contain a keyfile, Passolo tries to sign the satellite assembly with all keyfiles found in the directory. If a Passolo project consists of assemblies using different keyfiles, it is sufficient to place the keyfiles in one of the search directories.
If the matching keyfile cannot be located, the satellite assemblies have to be signed subsequently. If satellite assemblies are created for signed source assemblies, Passolo will inform you via the output window as to whether or not the satellite assemblies were successfully signed.
Issue Handling
If an error occurs while a source file is being parsed, e.g. because a base form was not found, or because a control element is missing, you can specify here how this should be handled.
Select
| Ignore | Parsing will be continued if possible. |
| Disable Visual Editing | Parsing will be continued, but the Windows format will not be displayed in the dialog editor. |
| Abort Parsing Assembly | Parsing will be aborted. |
Diagnostic Report
Activate the diagnostic report to create a formatted HTML file during parsing, containing detailed information about the process. Any errors that occur are identified in this file and information is also provided on further relevant support available.
As required, you can also choose whether to Log Operating System Details, Log Installed Software and/or Log InitializeComponent() Code in the diagnostic report.
Select Create Referenced Assemblies Report to generate a centralized report containing referenced assemblies from each module. This report contains information about every DLL in the assembly.
The option Probe Component Types of WinForms lets Passolo create the used controls when parsing the source file, which is otherwise only necessary for the display in the dialog editor. In case of an error the exceptions of each WinForm is logged and can be analyzed in the diagnostic report. If Passolo is less stable or crashes after activating this option, it is possible, that one or more controls have bugs, and overwrite memory or the call stack, for example. In these cases the diagnostic report contains useful information.