View Large

# Multilingual App Toolkit

Free

## The Multilingual App Toolkit works with Visual Studio to streamline your localization workflow for Windows Store, Windows Phone and desktop apps. The toolkit helps you localize your apps with localization file management, translation support, and editing tools.

(9)
Visual Studio
2015, 2013, 2012
(31,720)
12/10/2014
3.1.1250
Description
Reviews (9)
Q and A (11)
Sort by:

| August 11 2015

| March 10 2015

Hi!
-Integration in Visual Studio > ok
-Tools / "Enable Multilingual App Toolkit" > ok
But, in the output message:

"Please set default culture for this project by adding or uncommenting the NeutralResourceLanguage attribute in the Assembly file."

What's wrong ? (I use Visual studio express 2013 in French version)

March 10 2015

The Toolkit needs to know the source language so it can manage the contents of the XLIFF file as well as provide the correct translation services. Not all projects have a source language defined by default, hence the message.

What is the project type (Store, Phone, WPF, etc). If I know that I can help figure out what to set to get past this message.

Please feel free to email me @ multilingual@microsoft.com. If you have a quick repro project, that would even be better.

Thanks,
Cameron

by Carl_W | November 20 2014

A good idea and seems to work well, but you get the following errors during build if any of your xlf files are readonly/source controlled:

1>C:\Program Files (x86)\MSBuild\Microsoft\Multilingual App Toolkit\v3.0\Microsoft.Multilingual.ResxResources.targets(44,5): error : One or more errors occurred.
1>C:\Program Files (x86)\MSBuild\Microsoft\Multilingual App Toolkit\v3.0\Microsoft.Multilingual.ResxResources.targets(44,5): error : Update XLIFF build failed.
1>C:\Program Files (x86)\MSBuild\Microsoft\Multilingual App Toolkit\v3.0\Microsoft.Multilingual.ResxResources.targets(44,5): error : Multilingual App Toolkit build completed with errors.

This is not a problem when I'm actually making a change that requires the xlf files to be regenerated, but I don't want to be forced to check out my xlf files every single time I make any sort of change to my app.

November 20 2014

This should only happen if the RESX and XLIFF files are out of sync during a server build - such as a TFS based build. You don't need to check out the XLIFF files locally every time you build or modifiy your code, but if you change the project's resx file (for example: AppResources.resx), this will trigger the update of the XLF files as well as the related target language based resx files (e.g.: AppResources.fr.resx) when you build locally. When this happens, the files should be automatically checked out, letting you know to check them in with the other AppResources.resx and code changes.

| November 16 2014

I like this program it makes translation very easy but it is really annoying that you have to manually uninstall the old version before installing a new one!!! Please change this.

November 18 2014

This was required as the original setup was per-user, but should have been per-machine. The MSI process did not allow us to upgrade a per-user installation to per-machine installation so we had to block. :-( Sorry for the extra steps.

| October 01 2014

Unfortunately not working with Visual Studio Premium 2013 on a Windows 7 machine.

November 18 2014

Are you still blocked? v3.1 should have fixed this issue.

by MatiasW8 | August 14 2014

| June 27 2014

Can't uninstall!!!!!!!!!!!!!!!!!!!!!!!

June 27 2014

Please uninstall v3.0 first. We fixed a bug in setup, but the fix does requires you to install v3.0 manually first. Going forward, you will be able to upgrade.

| April 10 2014

| December 06 2013

Makes it so easy to localize your app! Highly recommended!

• MAT editor messes line endings
2 Posts | Last post July 31, 2015
• It seems like the MAT editor utility converts line endings in strings all to LF (\n) instead of keeping CR LF (\r \n).
However, it only seems to affect the editor. The translation process itself does not change line endings - but it changes the endings back to the original CR LF.

This is really annoying with source code control as it causes unneccessary change.

Am I doing something wrong?

Btw. we are still using the 3.1 toolkit.

For me this seems like a bug in the editor component.

Any hints?

• Hi Florian,

This is an bug in the editor.  We are looking into what is cause this.

Thanks,
Cameron
• Satellite assemblies for web apps
4 Posts | Last post July 21, 2015
• Hi folks, with Visual Studio 2015 about to launch tomorrow, I thought I'd review some of my outstanding questions and issues.
The MAT seems to have stalled - is it going to be part of VS2015, a separate download or something else?
I have been trying to find a resolution for how to include the satellite assemblies in a web deployment package, I'm not the only one: http://forums.iis.net/t/1168722.aspx?Including+resources+satellite+assembly+in+a+web+deployment+package

Any kind of update would be good.
Thanks
(I'd have posted this on the V4.0 tech preview page, but Q&A is disabled...?)

• Thank you for your post.

MAT is alive a well. Version 4.0 is the focus of all active development as it solves several issue and unnecessary dependencies that are inherent to v3.1’s overall design.  v4.0 is a redesign and we are looking to move from TP to Beta very soon.  We are committed to and do use MAT v4.0 in our daily developer environments.

The link you published refers to Visual Studio 2010.  MAT does not support VS 2010 so it can’t be related to the reported issue.  I will look into the issue on VS 2013 (and now VS 2015) both with and without MAT 4.0 to ensure it is no contributing to the reported issue.  I will report back with my results.  If you have a sample to provide, that will speed up the investigation.

Thank you for letting me know that the Q&A section was disabled on v4.0 gallery.  I have enabled the Q&A discussion tab.

As always, you can post issue on our user voice site as well @ http://aka.ms/matvoice or email multilingual@microsoft.com

Thanks,
Cameron
• I looked in the issue of web package deployment today using v4.0 TP.

I am able to deploy my site to Azure without issue (http://multilingual.azurewebsites.net - supports German and Arabic (I did not fix the RTL issue as I was just testing language support, not layout support)

When I attempted to deploy to the web package, the Satellite assemblies were not included until, per http://www.infragistics.com/community/forums/t/52912.aspx, I enabled signing.  Once signing was enabled, the package contained the desired Satellite assembles.

Note: v3.1 has a known issue with signing files. The workaround is to use v4.0 as it does not have the signing issue.

• Ahah thanks Cameron. I'll try that. Pulling down VS2015 as I type, so I suspect today will be rather busy...
• Adding new pages after language setup
9 Posts | Last post May 26, 2015
• Maybe I'm missing something obvious, I got caught out by the neutrallanguage attribute issue,
[assembly: NeutralResourcesLanguageAttribute("en-GB")]
but now I have my project mostly localised in French, German and Dutch.

If I add a new page, go into design view and
Tools...Generate Local Resource
the aspx.resx file is created, but how do I force the xlif files to be created too?
• Duhhh- obvious really,
Tools...Disable Multilingual App Toolkit.
Tools...Enable Multilingual App Toolkit.
• Hmmm... no, the aspx.resx file is empty, even though I have meta:resourceKey tags for all the elements, and likewise the localised files...
• Using v3.1, you should have a XLF file for every source RESX (aspx.resx) in your project.  When you add a new RESX file, a new language specific XLF and RESX file should be automatically created as well.  However, the *.fr-fr.resx files are only populated when the *.fr-FR.xlf files contain resources that are translated. E.g. Any resource with a status of 'New' is not added to the related *.fr-FR.resx file.  My guess is that this is the issue.
• Thought maybe I had a problem with the installation, I uninstalled the MAT, rebooted, tried to install MAT preview 4, Visual Studio didn't like that, removed MAT 4, rebooted, installed MAT 3.1 again. Now I'm getting slightly more consistent results.

Using the "new web forms site" template for common terminology:
In the "Account" folder:
In design view, Tools...Generate Local Resource
Right button click on MyWebsite project, and "Add Translation Languages".
I chose French, German, Dutch.
in the App_LocalResources folder I now see
and the psudo language file

I can go back into AddPhoneNumber.aspx, add an extra localisable element - say a literal for the head, save, back into design view, Tools...Generate Local Resource and the new literal is added to the AddPhoneNumber.aspx.resx file (sometimes it doesn't first time, try again)
Double click AddPhoneNumber.aspx.de.xlf - the MAT editor loads - no sign of the new resource string.
Set the status of some strings to Final. The status marker goes green.
Save.
Try to run the project.
NOW the resx files are populated with resource strings, of whatever status, Doesnt have to be Final.
Also, the build action added the new literal to the xlf files, and I could translate them.


• (finishing this post)

Double click Register.aspx or create a new page
in design view, Tools...Generate Local Resource
in App_LocalResources, we see
Register.aspx.resx - Double click to view - it contains no resource strings

Tools...Generate Local Resource again and the resource strings are added (visual studio says Register.aspx.resx has been modified outside the editor)

Build - it builds successfully, but no sign of
Register.aspx.de.xlf
Register.aspx.de.resx etc.

So in summary, I think the confusion is that some actions happen in the editing environment, other things happen when you Build, and for new pages, you have to disable, renable the MAT

THEN we see
Register.aspx.de.xlf
Register.aspx.de.resx
Register.aspx.fr.xlf
Register.aspx.fr.resx
etc.


• By the way, for tidiness, I use Mads Christiansen's Nest utility, to put the localised resx, xlf files "under" the main resx. It works nicely.

For my next trick, I want to use a DB Resource provider, like Michel Leroux Bustamante's example circa 2006 (or Smith-Ferrir's better one - from ".Net internationalisation") So I need to find a way to use the xlf editor with that - if possible. I cant see how yet.
• @LegacyOfHerot,  I'll be sure to recap the results here, but can you please email me at multilingual@Microsoft.com.  This will help keep this thread readable. :-)
• (I am AKA legacyOfHerot) Here at work, as a proof of concept, I have a fairly simple web forms application, I have used the MAT to localise the pages, and all works fine in my dev environment, I see the translations in French (fr), German (de), Norwegian (nb-NO) and Italian (it), however when I use the web deploy publish option to push it into an Azure web site, it only publishes the code assembly, and so the language selection does not work. I put a debug string on the master page, and I can see the Thread.CurrentThread.CurrentUICulture – it is correct, according to the user selection

(I removed the Culture=”auto” attributes from the pages).
I tried setting some post build events, but they happen after the build, before the publish.

xcopy "$(ProjectDir)obj\release\fr\*.dll"$(OutDir)fr\*.dll /y
xcopy "$(ProjectDir)obj\release\de\*.dll"$(OutDir)de\*.dll /y
xcopy "$(ProjectDir)obj\release\it\*.dll"$(OutDir)it\*.dll /y

I tried publishing to a local site, and I can see that none of the satellite assemblies are published.

I don't think this is a fault with the MAT, however I think you need to include this option in your test suite.

• Error: Argument must be between 0 and 3.
5 Posts | Last post February 11, 2015
• I tried to use the Toolkit on my existing WP8.0 app (updated from 7.1 some time ago). I set up the AppResources.rex like it's being done when creating a new WP8.0 app and it works so far.
Now if I want to add a new Translation through the toolkit I get following error:

Argument must be between 0 and 3.
Parameter name: fieldCount

any idea how to fix that?
• Are you getting a "Generate latest XLIFF build task failed." message before the "Argument must be between 0 and 3." message?  I am able get the same error message by removing the last digit from the AssemblyVersion number

[assembly: AssemblyVersion("1.0.0.0")]
to
[assembly: AssemblyVersion("1.0.0")]

However, I'm not sure this is the same error as it does added the language and appears for work in spite of the message.

1>  Generate latest XLIFF build task failed.
1>  Argument must be between 0 and 3.
Parameter name: fieldCount
1>  AppResources.as-IN.xlf was added to the project.

Note: I'm running MAT 3.1.1250.0.

To avoid a long (and delayed) thread here, please email multilingual@Microsoft.com.  I'll update this Q&A when we resolve the issue for the benefit of other as well.

Cameron
• Actually, you were right. I had removed the last .0 from the AssemblyVersion when I started developing the app (back on WP7.1) and never had any issues, thats why I never thought of it. Thank you so much, everything seems to work great now!

(I did not get the "Generate latest XLIFF build task failed." message though.)
• I ran into the same problem, with your hint I was able to fix it. Would be great if this would be fixed in MAT though, it cost me quite some time to find out why it didn't work. Thanks
• Are you running build 3.1.1250.0?  If so, I'll need to look again as this included the fix for this issue.
• Fails if xlf files are readonly
5 Posts | Last post February 06, 2015
• Moved from review:

A good idea and seems to work well, but you get the following errors during build if any of your xlf files are readonly/source controlled:

1>C:\Program Files (x86)\MSBuild\Microsoft\Multilingual App Toolkit\v3.0\Microsoft.Multilingual.ResxResources.targets(44,5): error : One or more errors occurred.
1>C:\Program Files (x86)\MSBuild\Microsoft\Multilingual App Toolkit\v3.0\Microsoft.Multilingual.ResxResources.targets(44,5): error : Update XLIFF build failed.
1>C:\Program Files (x86)\MSBuild\Microsoft\Multilingual App Toolkit\v3.0\Microsoft.Multilingual.ResxResources.targets(44,5): error : Multilingual App Toolkit build completed with errors.

This is not a problem when I'm actually making a change that requires the xlf files to be regenerated, but I don't want to be forced to check out my xlf files every single time I make any sort of change to my app.

UPDATE: Definitely happens all the time on my local machine. Check out the files from perforce and then it builds without error. No diffs to the files after the build, so they are up to date.


• Facing the same problem! any solution?
• Facing the same problem using TFS! any solution?
• Same happens for me. This is really annoying.
• I'll look into this today. These is a bug that forces the files to be checked out, but this usually happen automatically.  which are you using? VSO, or Github, etc.?  Feel free to email multilingual at Microsoft dot com as well.
• VS14 not supported
1 Posts | Last post October 02, 2014
• Project says it is, but after installation it doesn't show in Tools and Extensions and also doesn't work on MAT-enabled projects.
• Windows 7 support (WPF applications)
5 Posts | Last post October 01, 2014
• Is it possible to install the Visual Studio add-in on Windows 7?

I'm interested in using the MAT to localize a WPF application, but I don't seem to have any menu available to enable it. I think that the extension isn't actually installed, although the localisation editor is (no apparent errors, just no installation). I'm using VS2013 Premium on Windows 7 Enterprise x64.

Thanks.
• James,

This was a miss in our setup changes. It does work on a Windows 7 environment for desktop apps, but setup is blocking the VS components.  We will fix this with the next release.

Cameron
• Any idea on how far away the next release with this feature is?
• The add-in is still not working with Visual Studio Premium 2013 Update 3 on Windows 7 Enterprise 64-bit. I've installed the 9/29/2014 release (v3.1.1085.0) of this add-in, and I am able to see the "Enable Multilingual App Toolkit" option under the "Tools" menu. However nothing happens when clicking the option. I have tried this with different Solution types including Windows Store app, but it makes no difference. Any ideas why the tool is not working in this case?
• Since you are seeing the Enable Menu, MAT is working in your VS installation.  My guess is your project is a desktop app, but that the neutral language has not be set as this is the template default.

You can set the neutral language by selection project's properties -> Application tab, then the Assembly Information button.  Or you can set it manually by adding [assembly: NeutralResourcesLanguageAttribute("en-US")] to your AssemblyInfo.cs file.   Note: “en-US” is only an example.  Please use the code for the culture that matches your resource file text.

Note: We write messages to the output windows under the “Show output from:” Multilingual App Toolkit selection.  However, the output panel is often hidden initially.  If this is a case, pressing Ctrl-Alt-O is the quickest way to display it.

Let me know if this does not get you going.

Cameron
• Broken VS 2012
14 Posts | Last post July 26, 2014
• Anyone else having issues with existing apps?  Getting the following when VS loads the project and this when I try to compile or debug:
1	The file exists.
2	Update XLIFF build failed.
3	Multilingual App Toolkit build completed with errors.

<description>System.IO.IOException: The file exists.&#x000D;&#x000A;&#x000D;&#x000A;   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)&#x000D;&#x000A;   at System.IO.__Error.WinIOError()&#x000D;&#x000A;   at System.IO.Path.InternalGetTempFileName(Boolean checkHost)&#x000D;&#x000A;   at System.Windows.Input.Cursor.LoadFromStream(Stream cursorStream)&#x000D;&#x000A;   at System.Windows.Input.Cursor..ctor(Stream cursorStream)&#x000D;&#x000A;   at Microsoft.VisualStudio.Text.Editor.Implementation.LeftSelectionMargin.get_RightArrowCursor()&#x000D;&#x000A;   at Microsoft.VisualStudio.Text.Editor.Implementation.LeftSelectionMarginProvider.CreateMargin(IWpfTextViewHost textViewHost, IWpfTextViewMargin containerMargin)&#x000D;&#x000A;   at Microsoft.VisualStudio.Text.Utilities.ContainerMargin.&lt;AddMargins&gt;b__2(IWpfTextViewMarginProvider mp)&#x000D;&#x000A;   at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.InstantiateExtension[TExtension,TMetadata,TExtensionInstance](Object errorSource, Lazy2 provider, Func2 getter)</description>
• Same error here. I've raised a question on SO but no response.

http://stackoverflow.com/questions/19298604/error-multilingual-app-toolkit-build-completed-with-errors

http://social.msdn.microsoft.com/Forums/wpapps/en-US/e534b2cf-8211-43e8-a8da-ebec2a3d56b7/error-multilingual-app-toolkit-build-completed-with-errors?forum=wpdevelop

I've tried installing older version, but same error persists.
• try this link:

http://msdn.microsoft.com/en-us/windows/apps/hh848309.aspx

• Well that solution work for a while, now back to the same error.  I'm seeing other on the net having the same problem.
• SamVM, I'm looking into this issue but am having a hard time creating a repro. Can you enabled the toolkit and perform a build in Detailed mode? (Tools->Options->Projects and Solutions->Build and Run and set "MSBuild project build out verbosity" to Detailed?  Also, any environment details as well.

I only need the section between the start and end reports

1>  Multilingual App Toolkit build started.

1>  Multilingual App Toolkit build completed successfully.

This feels like a file is trying to be created, but already exists, but I'm not able to narrow it down  - yet.

Thanks,

Cameron

• Hi Cameron,

I've replied to the query in the MSDN forum (http://social.msdn.microsoft.com/Forums/wpapps/en-US/e534b2cf-8211-43e8-a8da-ebec2a3d56b7/error-multilingual-app-toolkit-build-completed-with-errors?forum=wpdevelop)

It is working fine for me now, but I'll keep you posted here in case of any errors.
• I'm still having the problem, I'll run it, where is the output for this located.


• This might help, MultilingualPhoneBuild is an invalid child element in the XML listed below:

<!-- Define the build task and parameters -->
<Target Name="MultilingualAppToolkit" AfterTargets="BeforeBuild">
<MultilingualPhoneBuild
ContinueOnError="false"
ResxFiles="@(EmbeddedResource)"
XliffFiles="@(XliffResource)"
BldOutputPath="$(IntermediateOutputPath)" BinOutputPath="bin\$(Configuration)"
AppName="$(ProjectName)" ProjectPath="$(ProjectPath)"
AssemblyName="$(AssemblyName)" RootNamespace="$(RootNamespace)"
TeamFoundationServerUrl="\$(TeamFoundationServerUrl)"/>
</Target>

• Here is the complete error:

The element 'Target' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element
'MultilingualPhoneBuild' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'.
List of possible elements expected: 'Task, AL, AspNetCompiler, AssignCulture, AssignProjectConfiguration, AssignTargetPath,
AxImp, CallTarget, CombinePath, ConvertToAbsolutePath, Copy, CreateCSharpManifestResourceName, CreateItem, CreateProperty,
CreateVisualBasicManifestResourceName, Csc, Delete, Error, Exec, FindAppConfigFile, FindInList, FindUnderPath, FormatUrl,
FormatVersion, GenerateApplicationManifest, GenerateBootstrapper, GenerateDeploymentManifest, GenerateResource,
GenerateTrustInfo, GetAssemblyIdentity, GetFrameworkPath, GetFrameworkSdkPath, GetReferenceAssemblyPaths, LC,
MakeDir, Message, Move, MSBuild, ReadLinesFromFile, RegisterAssembly, RemoveDir, RemoveDuplicates,
RequiresFramework35SP1Assembly, ResolveAssemblyReference, ResolveComReference, ResolveKeySource, ResolveManifestFiles,
ResolveNativeReference, ResolveNonMSBuildProjectOutput, SGen, SignFile, TlbImp, Touch, UnregisterAssembly,
UpdateManifest, Vbc, VCBuild, Warning, WriteCodeFragment, WriteLinesToFile, XslTransformation, CodeAnalysis, CL,
C:\Program Files (x86)\MSBuild\Microsoft\Multilingual App Toolkit\Microsoft.Multilingual.WindowsPhone.targets	9	6	Miscellaneous Files
• HI JohnWarns - The above error is different from the original problem that was reported.  Can you mail me Cameron dot lerum at outlook dot com so I can help get you going again?

Thanks,
Cameron
• email is in you inbox
• The problem turned out to be related to hitting the limit of temp files that can be created by the System.IO.Path.GetTempFileName() API (see: http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=EN-US&k=k(System.IO.Path.GetTempFileName);k(GetTempFileName);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);k(DevLang-csharp)&rd=true)

Once the temp files from all the different process (beyond MAT) were cleaned up, the problem no longer occurs.  If you hit this issue, please be sure to clean your %temp% folder to get unblocked.

• I'm having the same issue now, i've cleaned my TEMP folder and it doesn't help.
• MagicMax,

Sorry to hear you are seeing this issue. Newer versions of MAT should not be subject to this problem.  I would like to get some more information is possible.  Can you send me the log file from your builds as well as the version of VS and MAT that you are running?  If so, please send it to multilingual@microsoft.com and I'll take a look.  if you have a sample project that repro the problem, that might help as well.

Cameron
• PCL Project support
2 Posts | Last post February 08, 2014
• How can I use Multilingual App Toolkit on a PCL Project and share the translation with my others projects (Xamarin.iOS and Xamarin.Android)?
• PCLs are not currently supported, but this is something worth considering. I would recommend creating a request on the User Voice site for MAT (http://multilingualapptoolkit.uservoice.com) for the PCL support so that others can add their voice to the request as well.

The Xamarin.iOS and Xamarin.Android take a different, platform specific resourcing model that MAT does not support. Besides another user voice request, I would recommend looking at MVP Chris Miller's blog using MAT in with Xamarin and cross-platform development. Here is his blog: http://www.codemag.com/Article/1401081

Thanks,
Cameron

• Changelog
3 Posts | Last post October 02, 2013
• This is a great toolkit, but does anyone have the most recent changelogs? If possible, the changelog from 1.2 -> 2.0 and then from 2.0 -> 2.1.1.

Thanks.
• Thanks for the great toolkit remark :-)

Here is a quick list:
1.2 to 2.0
- Added support for Visual Studio 2013 Preview
- Translation Suggestion support – exposed via the editor
- Multiple same language provider support (If the first provider does not find a translation, or high enough confidence level, the next provider in the list is checked)
- Support for 3rd party translation providers.
- Addition of a “Recycle XLIFF Translation” which allows you to quickly select XLF files from other projects to recycle based on exact match.
- Multi-selection of XLF files in the IDE for Generate, Send, Import and Recycle
- Send for Translation and Import Translation compressed file support.
- Bug fixes

2.0 to 2.1
- Added the Microsoft Language Portal translation provider (See: http://blogs.technet.com/b/terminology/archive/2013/10/01/announcing-the-microsoft-terminology-service-api.aspx)
- Custom metadata support for 3rd party translation providers.
- Improved stability and usability in the Editor via improved hotkey and discoverability via tooltip support.
- Improved error and message reporting for both local and TFS builds
- Improved XLIFF data round tripping support
- Pre-population of XLIFF resources in new languages after the toolkit is enabled and built the first file (Windows Store projects)
- Updated supported for TFS based x64 projects
- Bug fixes

Thanks,
Cameron
Sr. Program Manager - Multilingual App Toolkit team

• Thank you so much!
1 - 10 of 11 Items