Multilingual App Toolkit v4.0 Update 1 is available


Today we released the Multilingual App Toolkit v4.0 update 1 (v4.0.1605.0). This release addresses key issues reported by various customers.

(Very) key performance improvements:

Visual Studio IDE:
When adding translation languages to your project, MAT creates a XLF file and matching target resource files. Most projects would have seen a small delay after clicking ‘’OK’ on the ‘Add translation languages…’ dialog. However, the more source resource files your project has, the worse the impact would be.  WinForms / ASP.Net project use separate RESX file, creating a high potential to see an unusable impact from this issue.

However, unbeknownst to us, the ‘design time build’ was secretly (or not so secretly for some) creating a build for each added resource file. This caused the Visual Studio IDE to appear ‘frozen’ for several seconds to several minutes or more!! Working with the Visual Studio team, we were able to suspend the ‘design time build’ until after all the XLF and resource files were added.

MAT builds:
XLIFF files require validation – which is a very expensive operation. Sometimes it is unavoidable and will directly impact MAT’s performance. I have some good news to report in this area. We found a call to validation that was not providing any additional value. Removing that specific validation had a significant performance improvement in MAT’s build processing time. The improvement will depend on several factors, but our tests indicate most will see a significant improvement from the RTW build times.

Another side-effect was when key files are saved (XAML, Resource, etc.), the ‘design time build’ would start. Depending on the build performance, you would see a delay in the Visual Studio IDE. The combination of the improved build performance and MAT’s build caching logic should provide noticeable improvements in Visual Studio IDE responsiveness when using MAT.

UWP Shared projects:
The ‘Enable selection’ option for Shared Projects (from Windows -> Classic Desktop) was grayed out preventing MAT support for this project type. Support for the project type was added in this update.

C++ DirectX & XAML projects:
C++ DirectX & XAML app (Universal) projects enabled with MAT would not reload. The project modification required by MAT incorrectly placed the MATPrerequisite Target in the ImportGroup node, causing the reload failure.

Xamarin projects fixes:
Xamarin iOS project resource files below the root node were exclude from the file scan logic. This prevented key resources files from being added to the XLF file, resulting in exclusion of resources from the localization workflow.

Xamarin Android projects using value-<screen dp> to manage device screen sizes were reporting “Culture is not supported” during the build. The screen size values was consider a culture value by MAT.

Acknowledgements:
The key improvements in this release would not have been possible without key developers around the world that contacted me to report issues. I want to thank several teams that contact me, and especially for those that installed private drops and tested the proposed fixes in their environments. Without this level of community support, the team MAT would not be able to provide targeted fixed that solve your real-world issues.

I’m specifically thankful to the team from 1Password by AgileBits Inc. (Twitter) for running multiple private builds at all hours of the day and night to verify key performance fixes in their environment. (And for the suggestions I did not have time to implemented yet.)

Changes and bug fixes:
As always, the complete list of the changes in this as well as previous releases are available on MAT’s User Voice site: Here is a direct link: http://multilingualapptoolkit.uservoice.com/knowledgebase/articles/460620

Thank you,
The Multilingual App Toolkit team
multilingual@microsoft.com
User voice site: https://aka.ms/matvoice


Comments (3)

  1. SeNS says:

    Your bugkit doesn't work! All popup menus are disabled. It saying "Project xxxxxx does not have any localizable resources.  At least one resource file will need to be added before translation languages can be added.". What the hell do you need?!!

    P.S. Unfortunately, I'm not a MS CEO; otherwise all of you, bug-coders, will be fired immediately!

  2. SeNS,

    The Multilingual App Toolkit menus on the project are often grayed out of two reasons. The first is that the project has not been enabled for the localization workflow. The second is because there are not any localizable resources.

    In the case of most projects, you will need to set the project default culture as well as add project specific resources.

    As an example, Windows 10 Universal project sets default culture to en-US by default – so the setting of the default culture is done for you (assuming you are using ‘en-US’). All that is left to do is to add a folder named ‘en-US’ and add a resources.resw file to that folder.

    Once this is done, select the Tools -> Multilingual App Toolkit -> Enable selection menu to activate the workflow and menus. Now the Multilingual App Toolkit -> Add translation languages Menu will be enabled. This will add the selected target language(s) based on XLF files, which will enable the remain menus such as Generate Machine Translations, etc.

    To trouble shoot any issues, be sure to look at the Multilingual App Toolkit output panel as any issue hit along the way are written to that area.

    Hope this helps,

    Cameron

  3. Mack Male says:

    Any update on when the MAT Multilingual Editor will support opening XLIFF 2.0 files?

Skip to main content