Multi-Language Add-In for Visual Studio

Update History (Visual Studio .NET 2003 version)

See also:
Update history for Visual Studio 2005/2008 version




  • Minor corrections for Smart Device support
  • Installation explicitly requires admin privileges
  • Installation sets permissions on the ProgramData\MultiLang directory
Changes to the global database installation (taken from version 4.65 beta for VS 2005/2008).
  • Store global database connection in HKCU\Software\Jollans\MultiLang instead of HKCU\Software\Jollans\MultiLang.NET:
    • for compatibility with the VB6 Add-In
    • for compatibility with possible future products (Excel Add-In?)
    • because differentiating between different versions was stupid anyway
  • Install SQL Server datafile for global database (to Common App Data\MultiLang) and try to connect it to an existing SQL Server Express installation. If this succeeds, the Add-In is configured to use this database. Otherwise it continues to use the old Access database file.
    The database file is attached using a utility program AttachGlobalDatabase, which uses late binding to connect to SQL Server 2005 or 2008, if one of these is installed. This utility requires .NET Framework 2.0, but so does SQL Server 2005.
  • Additional error checking reading CodeClass.Bases property.
  • Fix error scanning controls in ASP files
  • Fix error showing a source code line in an ASP code behind file
  • Fix error showing properties in the Multiple Usage dialog
  • Minor fix to saving the list of selected components.
  • Special handling of inherited forms restricted to forms, whose base form is in the same project.
  • Changes to project database (equivalent to changes in version 4.53.0022 for VS 2005/2008):
    • SourceScanResults and ControlsScanResults tables removed.
      The identical information is now saved in the XML files ml_temp_SourceScan.xml and ml_temp_ControlsScan.xml. These files contain temporary information and can be deleted.
    • ToolboxBitmapCache table removed.
      The identical information is now saved in a project-independent file in
      \Application Data\MultiLang.Net\
  • List of selected components for Export to ResX and Rescan selected components saved (to ml_temp_ControlsScan.xml).
  • Support for hidden blocks in the source code, delimited by the comments MLHIDEON and MLHIDEOFF.
  • The dialogs Export to ResX and Import from ResX now have a components list as well as a language list, so that you can select specific forms and usercontrols for the export or import operation.
  • Minor bug fix on switching the alternative runtime support option, to prevent a (harmless) error dialog.
  • Modified code generation for the function ml_UpdateControls() to handle inherited forms. The function ml_UpdateControls() in an inherited form now calls the equivalent function in the base form.
  • Bug fix in source code scan for files with Unix style line breaks (LF only, not CR LF).
  • Bug fix recognising inherited forms.
  • Numerous changes and error corrections ported from the VS 2005/2008 version.
  • Bug fix inserting translations from the global database in an unlicensed version.
  • Modification to error handling, so that the user interface does not remain disabled after an error.
  • On deleting a translation via the context menu, and if the option "Store all strings in the global database" is selected, then the translation is also removed from the global database.
  • Bug fix storing texts to the global database, after changing the identification of an existing language in a project.
  • Internal changes compatible to version 4.53.0009 for VS 2005/2008 to support custom cultures. In particular a minor modification to the format of the global database, which now uses the IETF language tag to identify languages (instead of the locale ID). (Custom cultures are not supported by VS 2003, so these internal changes have no immediate benefit for the user).
  • item added to the drop down project list.
  • Internal restructuring improves reliability
  • Version 3 has no new features.
26.March 2006
  • Filter using regular expressions.
5.Februray 2006
  • New logic for the limitation in the unlicensed version (up to 50 translations from the global database, up to 100 translations in total).
    Naturally, these limitations do not apply to a licensed version.
15.December 2005
  • Some limited support for ASP.NET projects added.
4.December 2005
  • Global database of commonly used translations
6.November 2005
  • Structured three-worksheet Excel Import/Export
  • Template file MlString.vb updated to handle solution names containing spaces.
  • Speed improvement during source code scan.
  • Runtime Language Switching extended to C++ projects.
  • First version with support for Smart Device projects.
  • Support for Runtime Language Switching.
    Change the language of the user interface at any time when the application is running.
  • Quick initialisation of the grids from the project database.
    The Add-In can now reinitialize the two grids based on information cached in the project database. This means that it is not necessary to rescan the project each time the Add-In is used. You can enable this feature by turning off the automatic rescan in the project properties dialog.
  • Hide properties in the controls tab.
    Properties listed in the controls tab may now be hidden. This is similar to mechanism for the source code tab (but at present not identical). Toggle the hidden state by clicking on the sun or moon icon. Show or hide 'hidden' properties via the "+-" drop down menu.
    Hide or show all properties with a given name, e.g. AccessibleDescription, via a context menu on the sun or moon icon in the controls tab.
  • Select individual properties for translation.
    New check boxes in the controls tab allow individual properties to be selected for translation.
    Enable or disable translation of all properties with a given name, e.g. AccessibleDescription, via a context menu on the check box in the controls tab.
  • New commands in the expand/collapse menu (for the controls tab only) to expand the tree to 1, 2, 3 or 4 levels.
    The expanded state of the nodes in the controls grid is now saved in the project database and restored when you restart the Add-In.
  • Quick Export to resources.
    Using this option, the Add-In stores strings directly to the resource file, bypassing the controls. This may not work with all (third party) controls.
    (Starting with version 3, this is the only supported method).
  • Handling of escape sequences in C# and C++ strings.
  • Property filtering technique used to determine which properties will be read from the resource file. Properties which are not selected will not be read from resources. (Later removed).
  • New command to remove all calls to ml_string() in the tools menu.
9.November 2004
  • Bug fix adding language containing inverted comma (e.g. People's republic of China)
  • Source code scan now excludes the function InitializeComponent, rather than attempting to exclude the region of code generated by the forms designer.
26.October 2004
  • New commands "Goto next conflict" and "Goto next missing translation" added to the context menu.
7.October 2004
  • Font selection dialog now supports font size. Both font name and font size are stored on a per language basis.
2.October 2004
  • Bug fix for entering Asian characters, in particular Thai.
  • Automatic source code scan can be disabled via the (new) project properties dialog. The results of the most recent scan are then loaded from the project database
  • Bug fix for crash scanning very large projects
18.October 2003
  • Bug fixes in Search function.
  • Controls scan logic updated to handle the Infragistics UltraWinToolbar control.

6.October 2003
  • Constraint added to project database to prevent duplicate translations for a single string ID and language ID.
7 September 2003
  • 'public class ml' changed 'internal class ml' in the template file MlString.cs.
  • Character literals '\"' and '"' are now ignored.
  • Error dialog shown if project database is read only.
  • User interface disabled during long operations.
31 August 2003
  • Component VSUserControlHost.dll replaced with MLUserControlHost.dll, to fix initialisation problems on some systems. No change to the functionality.
29 June 2003
  • Support for Windows Forms Applications in C++ added
    (Visual Studio .NET 2003 only)
4 June 2003
  • Correction to handling of \" embedded in a C# string.
3 June 2003
  • Similar change at additional places in the program, to avoid an InvalidCastException with Components which are not "Components".
28 May 2003
  • Bug fix to handle forms containing "components" which do not inherit from Component, for example a DataSet. This error could be generated by the GridEx sample from Janus Systems.
26 May 2003
  • Minor fix to a problem exporting strings to resources, which occasionally caused languages to get mixed up.
21 May 2003
  • Error selecting "Advanced Copy" from context menu in title bar of grids fixed.
18 May 2003
  • C# support added
3 May 2003
  • Problems on first use of the Add-In with the error message COM object that has been separated from its underlying RCW can not be used and subsequent associated errors fixed.
27 April 2003
  • First public version of the Multi-Language Add-In for Visual Studio .NET, with support for Visual Basic applications.

See also

Major Features
Quick Tour (Windows Forms)
Quick Tour (ASP.NET 2.0)
Quick Tour (Windows Store Apps)
Quick Tour (Unmanaged C++/MFC)

Created by Phil. Last Modification: Saturday 24 of January, 2015 17:54:00 GMT by Phil.