TranSolution Changelog

What's new in TranSolution 4.1

Jan 11, 2022
  • This version now supports Visual Studio 2022 (and all previous versions down to Visual Studio 2013 - support for Visual Studio 2012 and earlier has been dropped). Note that an upgrade license is now required to target Visual Studio 2022 if you originally purchased TranSolution for Visual Studio 2015 or earlier. See Upgrade Licenses for details. IMPORTANT: Please note that the format of the ".trn" file was slightly changed in this release but it only affects the "Create satellite assemblies" feature in the translator's version (TransView.exe). See the Version 4.1 translator's release notes for details.

New in TranSolution 3.8 (Sep 4, 2019)

  • This version contains a fix for a rare issue not affecting most users. If encountered then a "COMException" will be trapped and displayed during outgoing translation (with the message "This operation should only take place on the UI thread.").Simply install this version (3.8) or later to correct the problem.

New in TranSolution 3.7 (Apr 10, 2019)

  • New feature(s) added

New in TranSolution 3.6 (Feb 27, 2018)

  • Developer:
  • This version now supports Visual Studio 2017. Support for Windows XP was dropped. A few minor internal issues were also addressed though these impact relatively few users.
  • Translator:
  • This release contains mostly minor internal changes only. The only significant changes are:
  • The "Translate from the web" feature was updated to handle the elimination of the Azure DataMarket web site by Microsoft on March 31, 2017. Existing users of the "Translate from the web" feature will therefore no longer be able to apply their "Client Id" and "Client secret" to access the Microsoft Translator. These credentials were eliminated by Microsoft and are now obsolete. Instead, all licensed users who wish to use the "Translate from the web" feature are required to sign up for a Microsoft Azure account at the Microsoft Azure Portal and obtain a Microsoft Translator subscription (available for free). A subscription key is then available that can be entered in the "Translate from the web" dialog (replacing the "Client Id" and "Client secret" credentials from earlier versions of TranSolution). See the "Translate from the web" feature in the TranSolution online help for complete details.
  • Support for Windows XP was dropped

New in TranSolution 3.4 (Jun 6, 2015)

  • Developer:
  • This version now supports Visual Studio 2015 though only the Release Candidate version of VS2015 is currently available (at the time of version 3.4's release). Note that Microsoft eliminated their "add-in" technology in VS2015, so TranSolution now relies on their replacement technology for "add-ins" (known as "VSPackages"), but only in VS2015 and future releases. The program continues to rely on "add-in" technology in all earlier versions of Visual Studio (VS2013 and earlier). Starting with VS2015, the "Translate" menu item was also moved to another group on the Visual Studio "Tools" menu, so it's no longer at the bottom of the menu (in VS2015 and future releases only). V3.4 also contains various performance improvements that may or may not be noticed depending on the size of your solution. For large solutions in particular (especially those with many ".resx" files and/or strings), the time required to parse your solution before reaching the second outgoing dialog has been significantly improved.
  • Translator:
  • The translator's version in this release now supports a form of "translation memory" using the existing "File -> Import" feature. In previous versions, this feature would only allow you to import ".trn" files originating from the same solution. In this new release, you can now import any ".trn" file into any other and the translations for all matching strings will be imported accordingly. This allows you to import the translations for common strings from one solution into another. Moreover, in previous versions, if the client developers renamed a string's key in its ".resx" file, or moved a string to a different ".resx" file (though renaming the key is far more common), and then attempted to import an older ".trn" file into a newly created ".trn" file (with the renamed or moved string), then the string would no longer be found in the import file because its key and/or ".resx" file had changed (and hence the translations for this string in the old ".trn" file could not be imported into the new ".trn" file). This would typically occur if the translators were still working on the old ".trn" file but now had to import it into a new ".trn" file, as shipped to them by the client developers (again, where one or more strings were renamed or moved). Under this scenario, previous versions only supported importing of translations for strings whose name (key) and ".resx" file hadn't changed, though in practice such changes don't occur too often. Nevertheless, this limitation has now been removed (i.e., when importing, a string is first looked up in the import file based on its name (key) and ".resx" file, but if the string isn't located because its name (key) and/or ".resx" file has changed, then the program will now look the string up based on the value of the default language string itself - this will usually be found unless the value was also changed by the client developers and no such string with that value exists in the import file). Finally, please note that some import warning messages have been modified in this release and in some cases enhanced to include additional response buttons for certain warnings. The actual warning codes themselves have not changed however, though some new ones have been added.

New in TranSolution 3.3 (Jun 6, 2015)

  • Developer:
  • The developer's version in this release contains no changes. The translator's version however now allows you to save your ".trn" file as a Microsoft Excel file. See the translator's release notes for further details.
  • Translator:
  • This release now includes the ability to save your ".trn" file as a Microsoft Excel ("*.xlsx") file. You may choose this by launching the "File -> Save As" dialog and selecting "Microsoft Excel (*.xlsx)" from the "Save as type" dropdown. Click the "Help" button on this dialog for further details.

New in TranSolution 3.2 (Jun 6, 2015)

  • Developer:
  • This release now supports Visual Studio 2013. No other changes were implemented.
  • Translator:
  • No new features were added to the translator's version in this release. Only support
  • for Visual Studio 2013 was added to the developer's version.

New in TranSolution 3.1 (Jun 6, 2015)

  • Developer:
  • This release contains one minor cosmetic change and a single bug fix (not affecting most users):
  • During the scanning stage of outgoing and incoming translation, the program now displays the percent complete instead of the actual file names (as it scans all the files in Solution Explorer). This is a minor cosmetic change only, but it better serves users with large solutions (where the scanning stage can take up to a minute or more).
  • This version also contains a single fix affecting V3.0 users with solutions that contain several thousand files or more (applicable only to Visual Studio 2010 or later). Under V3.0 (earlier version aren't affected), the following error may have occurred during the scanning stage of outgoing or incoming translation (usually incoming):
  • Generic.c1: "Error 65535 returned by function "GetOpenFileName()""
  • This error occurred due to a breaking MSFT change in Visual Studio, starting in VS2010 (the problem is not present in earlier versions). It's now been corrected in V3.1 but most users remain unaffected (if you haven't encountered this error before than you were never impacted).
  • Translator:
  • This release contains no changes in the translator's version.

New in TranSolution 3.0 (Jun 6, 2015)

  • Developer:
  • This release contains the following new features:
  • Addition of the new "Bypass strings" option on the existing "Tools -> Options -> TranSolution -> Outgoing" menu. This feature allows you to plug in your own callback method, allowing you to bypass any string during outgoing translation, Your method is invoked for each outgoing string, and should simply return true to bypass the string or false to process it as usual. Note that when bypassing the string, you can do so using any criteria you require.
  • An "Add languages" feature has also been added, allowing 3rd-parties to add new languages to the client developer's application after it's already been released (with little or no involvement on the part of the client developers). Note that this feature is available on request only and certain restrictions apply.
  • Significantly improved performance during the "Preparing for ..." stage of outgoing and incoming translation. Processing time to complete this stage is now much faster.
  • Translator:
  • This release contains the following new features:
  • Addition of the "Create satellite assemblies" feature on the existing "Tools" menu. This features allows users to create satellite assemblies from their ".trn" file, provided that the client developer's assemblies are present on the host machine (either by installing them using the client developer's own installation program, or by manually copying them over). Using this feature, a translator can view their work using the client developer's actual application. Note that some restrictions apply. See this feature in online help for details.
  • The "CodeBase" folder in previous versions has been renamed to the "CodeBase path" and can now be customized on the "Tools -> Options" dialog. Multiple folders can now be entered, each separated by a semi-colon, and the application will search each folder for any required assemblies (after searching the standard .NET assembly search path first). See this option in online help for details.

New in TranSolution 2.6 (Jun 6, 2015)

  • Developer:
  • The developer's version in this release contains no changes. However, an important fix was introduced in the translator's version, including the one installed with the developer's version. This doesn't impact the TranSolution add-in however. Only the translator's application "TransView.exe" is affected.
  • Translator:
  • The translators's version in this release contains no new features. However, an important fix was introduced and all users are advised to upgrade at their earliest convenience. The hotkey "Ctrl+Alt+L" was changed to "Ctrl+U" in this release to eliminate issues when using "Ctrl+Alt" in any Windows program. "Ctrl+Alt+L" was assigned to the new "Copy default language to current cell" feature that was introduced in version 2.5. However, because "Ctrl+Alt" is effectively equivalent to the "AltGr" key, its use as a hotkey can prevent the use of "AltGr" when entering special accents, symbols, etc., depending on the keyboard and target language being translated. The use of "Ctrl+Alt" was therefore a mistake on our part, though please note that this issue would not have adversely affected your translations or ".trn" file in any way. The use of "Ctrl+Alt+L" would simply have activated the new "Copy default language to current cell" feature instead of entering the required special symbol or accent (which would have been immediately noticed). We apologize for the inconvenience.

New in TranSolution 2.5 (Jun 6, 2015)

  • Developer:
  • The developer's version in this release contains no signficant changes. However, some minor internal changes were implemented to address a couple of external issues reported by a very small number of users:
  • Support has been improved for 3rd-party WinForm controls that don't propertly update a ".resx" file with the 4 special Microsoft properties required of all form-based controls (please contact us if you require details). This would typically trigger outgoing warning code 3 or possibly other outgoing warnings, requiring that these files be bypassed. Limited support has now been added to handle these files where possible.
  • In some isolated cases, an intermittent error might be encountered by TranSolution when attempting to delete temporary files. This could potentially manifest itself in different ways, including errors while saving your ".trn" file (your file is correctly saved but an error message is displayed when TranSolution attempts to delete its temporary files). The source of this error has not been determined but appears to be caused by either a .NET bug, or possibly certain virus checkers. In either case, an external source appears to be holding a temporary file open that TranSolution is trying to delete. As a result, TranSolution will now ignore these errors which is effectively harmless (the only repercussion is that your temporary file folder might contain some undeleted files, but this folder can be cleaned up if ever required).
  • Translator:
  • This release contains several new features, improvements and changes as follows:
  • Addition of a new "Options" item on the existing "Tools" menu
  • Addition of the new "Edit current cell in separate window" item on the existing "Edit" menu
  • Addition of the new "Copy default language to current cell" item on the existing "Edit" menu
  • Improved validation checking when exiting "edit mode" (e.g., addition of a validation code in all error and warning messages, better handling of issues associated with leading/trailing whitespace, new validation handling to ensure the number of internal tabs matches those in the default language string, new validation handling to deal with certain issues associated with strings that have embedded linebreaks, etc.)
  • Better navigation and cursor control during "edit mode"
  • Better undo/redo support during "edit mode"
  • The hotkey for "Hide all columns except" as seen on the "View" and context menus has been changed from "Ctrl+A" to "Ctrl+1", since "Ctrl+A" is the standard windows hotkey for selecting all text. "Ctrl+A" is now supported during edit mode. "Ctrl+1" also functions as a toggle, hiding all columns except the current column and then unhiding them again. See "Hide all columns except" in online help for details.

New in TranSolution 2.4 (Jun 6, 2015)

  • Developer:
  • This release contains the addition of a new "TranSolution" section under "Tools -> Options" in Visual Studio. You can now set various TranSolution options under this section but with this release, only a minimum number of options are available (allowing you to suppress the message box for several common warning codes during outgoing and incoming translation). Additional options may be provided in a future release. Note that this release also contains a work-around for a recently discovered Visual Studio bug (since reported to MSFT). This bug affects C++ projects in Visual Studio 2010 and 2012 only, typically affecting WinForm applications (Visual Studio 2008 and 2005 remain unaffected). For these particular projects, the code-behind ".resx" file seen under each ".h" form file might appear twice in the TranSolution outgoing window, usually in the "Resource Files" virtual folder. These files should only appear once however, under the ".h" file itself, as seen in Solution Explorer (i.e., the same ".resx" file doesn't appear under the "Resource Files" folder in Solution Explorer and therefore shouldn't in the TranSolution outgoing window). This is a confirmed MSFT bug (the Visual Studio API erroneously reports the same file under the "Resource Files" folder), but a work-around corrects the problem in this release (pending any official correction by MSFT in a future Visual Studio service pack or version). Finally, please note that if .NET 4.5 is installed, you may experience another Microsoft bug in the Translator's version of the program. This problem is annoying but otherwise harmless. For details, please see the Translator's release notes (UPDATE: January 22, 2013 - This problem has now been corrected by MSFT - see the Translator's release notes for details).
  • Translator:
  • No new features were added to the translator's version in this release. However, in previous versions, 3rd-party assemblies stored in the TranSolution "CodeBase" folder (in support of the "Form View" feature) had to be strongly-named due to .NET security restrictions. TranSolution is no longer hampered by these restrictions so 3rd-party assemblies no longer need to be strong-named. See "3rd-Party Controls" in online help for further details. (UPDATE - January 22nd, 2013: The MSFT bug described immediately following this sentence has now been repaired by MSFT - see UPDATE further below). Finally, please note that if .NET 4.5 is installed, you may experience an annoying but otherwise harmless Microsoft bug, whereby the "File" menu may be activated when you attempt to launch any other menu (the "File" menu is merely highlighed however, it doesn't actually drop down). This normally occurs just once, right after opening a ".trn" file, or sometimes if you simply select any item on the "File" menu. It then corrects itself until another file is opened (or the "File" menu is activated again), after which it corrects itself again. However, we can't be sure if it occurs under other circumstances as well. The problem is confined to machines running .NET 4.5 only, and it's already been reported to Microsoft by Hexadigm Systems and others. At the time of release, we're currently awaiting feedback on a resolution. Once we receive word, these release notes will be updated. Note that a message will alert to you this situation if .NET 4.5 is detected on your machine, which occurs just one time only (the message appears the first time .NET 4.5 is detected and won't appear again). As described in the message itself however, for ".trn" files originating from programs targeting versions of .NET prior to V4.0 (V3.5 or earlier), the bug can be eliminated by commenting out the following line in "TransView.exe.config" (in the program's installation folder):
  • While not recommended unless this issue adversely affects your user experience (the problem becomes too annoying), administrator rights are normally required to update the above file, and once updated, the line should appear as follows:
  • We apologize for any inconvenience this situation may cause, but will do our best to resolve the situation if possible (assuming Microsoft doesn't release a fix in a future .NET service pack)
  • UPDATE: January 22nd, 2013: Microsoft has now issued a fix for the .NET 4.5 bug described above. The fix is downloaded automatically as part of the latest Windows updates. If your machine is configured for automatic Windows updates, you should receive the fix the next time your machine downloads and installs these updates. For further details on the bug itself, see Microsoft Article ID 2750147 or 2750149. In both cases, the issue is briefly described in issue #1 under the section entitled "Windows Forms".

New in TranSolution 2.3 (Jun 6, 2015)

  • Developer:
  • This release now provides beta support for Visual Studio 2012 RC (Release Candidate). The program will now automatically install itself into this version of Visual Studio, in addition to all previously supported versions (2010, 2008 and 2005). Support for Visual Studio 2012 RC is considered "beta" however until MSFT officially releases this version (tentatively scheduled for later this year). Note that this release of TranSolution also contains two bug fixes affecting Visual Studio 2005 and 2010 users only. Visual 2008 users remain unaffected. For Visual Studio 2005 and 2010 users however, you would have been notified with warning code 6 during outgoing translation (primarily affecting Silverlight 5 projects in Visual Studio 2010, and all project types in Visual Studio 2005). The message indicates that an "unexpected error has occurred", and further identifies a potential problem with one of your ".resx" files, but the message is a false alarm (in the case of Visual Studio 2010, due to a previously unknown changes Microsoft made in this version). Note that if you have encountered this particular warning, both your ".trn" file and your solution remain unaffected, and it's likely you would have already contacted us for assistance (most users aren't impacted by the situation). This problem has now been corrected in this release, and all users are advised to upgrade at their earliest convenience (in particular, Visual Studio 2005 users and Visual Studio 2010 users using Silverlight 5).
  • Translator:
  • This release contains a single (cosmetic) bug fix only. In previous versions, when the "Hide completed rows" option was on (as seen on the "View" menu), it was possible for the alternating colors seen in the left-most column to appear incorrectly. Specifically, the same alternating color used to identify one file may have incorrectly been used to identify the file that immediately preceded and/or followed it. This made two or more consecutive files appear as a single file only, since the same color was applied in each case. This only occurred however once the last row for a given file was hidden, and would correct itself if the "Hide completed rows" option was turned off and then back on again. This problem has been fixed in this release and is considered important but not urgent. Existing users are advised to upgrade at their own convenience.

New in TranSolution 2.2 (Jun 6, 2015)

  • Developer:
  • This release contains a major change in the way the program handles read-only files that need to be updated during incoming translation. In previous versions, read-only files couldn't be selected in the "Files to translate" section on the "Incoming Translation" dialog. You needed to manually remove the read-only attribute in order to select them. This system has been completely replaced and you can now select read-only files on this dialog. After clicking the "Proceed" button to start incoming translation, TranSolution will now handle read-only files that need to be updated as it encounters them (if any). If a given file is read-only because it's under integrated source control in your solution and not checked out, then TranSolution will be able to check the file out for you, with full support for files that can't be checked out for any reason (usually because they're already exclusively checked out by another user, but you'll be notified accordingly). For complete details, please see "Read-only files with or without integrated source control" in online help. Note that this change is not considered urgent, but existing customers are advised to upgrade at their own convenience (in particular, if you use a source control package).
  • Translator:
  • This release contains one minor change only. The "File -> Import" feature will now work even after incoming translation has been run on the currently loaded file. Since the currently loaded file is always open in read-only mode after incoming translation, modifications to the file aren't normally allowed. In previous versions, this applied to any features that could change the file, including "File -> Import". This restriction has been relaxed in V2.2, and a file can now be imported even in read-only mode. A warning will notify the user first however, since incoming translation was already run. Note that this change was implemented to support the following scenario, and normally shouldn't be used for any other purpose. If a developer runs outgoing translation, creating, say, "Employee.trn", and then immediately runs "File -> Export" in TransView, creating, say, "Employee.es.trn" for shipping to a Spanish translator, and "Employee.de.trn" for shipping to a German translator, then both exported files will likely be returned to the developer at different times. If "Employee.es.trn" is returned first, then the developer may want to run incoming translation without having to wait for "Employee.de.trn" to be returned. The developer should normally do this by first running "File -> Import" on "Employee.es.trn", updating the main (master) ".trn" file accordingly, and then running incoming translation on the latter file. After doing this however, the main ".trn" file can only be opened in read-only mode since incoming translation was already conducted. In previous versions, "File -> Import" would therefore no longer work, so when the German file "Employee.de.trn" was returned, it could therefore not be imported into the main ".trn" file without first running outgoing translation again. This was inconvenient and unnatural, so "File -> Import" will now work as described. "Employee.de.trn" can therefore be imported into the main ".trn" file even after incoming translation has already run, and once it is imported, incoming translation can simply be run again. When doing so however, a harmless warning will notify the user that incoming translation was already run, but the warning can be safely ignored without issue.