![]() ![]() |
| Developer Zone |
Is Multilizer showing your .NET controls properly?Multilizer allows visual editing of forms and menus of ResX files and assemblies. This document explains how visual editors work, and how to configure them. The document also explains why components are sometimes shown wrongly. How does Multilizer Visual Editor work?Multilizer internally works in the way that it detects .NET controls from their classnames. Multilizer looks up the classname from a mapping table, in order to know how to draw it in visual editor (wysiwyg) and which properties can be localized. Mappings are available for all standard controls that come with Visual Studio. For instance System.Windows.Forms.CheckBox is mapped to Multilizer's internal Check Box. This internal Check Box is used in Multilizer Visual Editor. How to see current mappingsAll configured mappings are shown under Tools->Options...->.NET->Components. By default this list is populated with Visual Studio .NEt's standard components. Users can configure more mappings for their specific controls. Mappings can be imported and exported, which enables team members share this information. Note however that all controls of a localization project are included in Multilizer project file. What if a control isn't mappedWhile scanning the ResX file or .NET assembly, Multilizer simultaneously checks the controls against the mapping table. If there are controls that are not mapped, Multilizer will show them with a yellow placeholder in visual editor. In addition Multilizer will ask user to map the control, in order to be able to process it in future.
Note! Although component isn't mapped the caption can be localized. This is due to the fact that Multilizer detected a string property and assumes it can be localized. (This leads to another important feature of mapping; user can tell Multilizer which properties mustn't be localized). When Multilizer encounters an unmapped control, it will ask user to map it. User may also have configured keywords to enforce automatic mapping; e.g., all classnames ending in 'Button' can automatically be mapped to Multilizer's internal button control. Mapping a control manuallyUser can map an unmapped control by right-clicking it in visual editor and selecting 'Map component...'. Following dialog shows mapping of the selected control; the internal representation of the control is Button and text property is included for localization.
User can include and exclude any properties in localization. User can also exclude all string properties, or even exclude entire control from being localized. After mapping the control is shown as defined.
ConclusionsMapping is the way of showing your controls correctly in Multilizer's visual editor. In addition to this, mapping enables users to localize the software systematically; user can define on component level which properties to localize and which not. This is an efficient way of avoiding localization of properties that are not intended for localization. As mapping is more than visual editing, user should always spend some time on it at project initialization. The time spent is paid back later. |
|
|
|||||