Multilingual App Toolkit Visual Studio Mac

Installed the new Visual Studio Community for Mac. Just tried to run some existing command line app. Where does Console.WriteLine output on VisualStudio for Mac? Is that possible to redirect on the.

-->

This topic provides answers to frequently-asked questions and issues related to the Multilingual App Toolkit (MAT) 4.0.

Also see Use the Multilingual App Toolkit 4.0.

Mac app stuck in fullscreen. Sep 21, 2017  I understand that the YouTube app is getting stuck in fullscreen mode on your iPad, and I'm happy to help. Please follow these instructions, including contacting the app developer if necessary: Get help with an item purchased from the iTunes Store, App Store, Mac App Store, or iBooks Store Thanks for using Apple Support Communities. Many apps on your Mac support full-screen mode—an app fills the entire screen—so you can take advantage of every inch of the screen and work without desktop distractions. On your Mac, move the pointer to the green button in the top-left corner of the window, then choose Enter Full Screen from the menu that appears or click the button. Mar 25, 2015  Apple introduced full screen mode in OS X Lion and, while the feature has changed a bit since its 2011 launch, the basic effect is still the same. In short, OS X full screen mode takes a compatible app into a “true” full screen state, occupying the entire display and hiding the.

Note The toolkit supports both .resw (XAML) and .resjson (JavaScript) files. But in this topic we'll refer only to .resw files. A .resw file is known as a Resources File. It contains strings, either in the default language or translated into another language. The folder that contains a .resw file is typically named for the value of a language tag.

Do I need .resw files in multiple languages?

No. One of the key benefits of the Toolkit is that .resw files in multiple languages are not required. The Toolkit manages and synchronizes your app's resources by using .xlf files. This removes the challenges associated with keeping content synchronized across multiple .resw files.

Projects that contain matching .resw and .xlf files cause the translations from the .xlf file to be ignored. When this happens, a warning is displayed during the build to let you know that the .xlf translations are not included in the final app. A .resw file and .xlf file match when they have a target language with the same language code. An example of a matching pair would be Stringsde-DEResources.resw and an <project-name>.de-DE.xlf file (containing target-language='de-DE').

Can I have .resw files in multiple languages?

You can, but we don't recommend it. If you want to include .resw files in multiple languages in your project and use the Toolkit, make sure you don't have matching .resw and .xlf files.

I don't see an option in the Tools menu to enable the Multilingual App Toolkit

Try these steps.

  • Make sure you select the project node, not the solution node, before opening the Tools menu.
  • Confirm that the toolkit extension is installed by using the Visual Studio Extension Manager.
  • Confirm that your project is a UWP project.

When I build my project, I don't see a message saying that a Multilingual App Toolkit build has started

Confirm that you've enabled the MAT for your project. On the Tools menu, select Multilingual App Toolkit > Enable selection. If your project was enabled with a previous version, then disable and re-enable the MAT by using the Tools menu. This updates the project to work with the new version of the Toolkit.

Ensure that the 'Build Task for all Visual Studio editions' component was installed. This build component is installed with the extension, but it can be manually deselected during the installation. This component is required to update the .xlf files and add the translation into the PRI file. When this component is installed and working correctly, you will see these build messages.

The toolkit is reporting that it didn't locate any XLIFF language files during the build

This message is displayed when the toolkit doesn't find any files in the project with an extension of .xlf. The toolkit generates and keeps these files in the MultilingualResources folder by default. They can be moved; but it's best to leave them in that folder because that allows the Multilingual Editor to locate the related metadata files.

My .xlf file is not included in the list of files processed by the toolkit during build

If you manually exclude an .xlf file from the project, and then re-include it, the file type element may not be set correctly. In Visual Studio, select the file and check the Properties window. The file's Build Action should be set to XliffResource and Copy to Output Directory should be set to Do not copy. This is how the reference should look in your project file.

I've added .xlf-based languages. Where are my strings?

Your default language Resources File (.resw) is your canonical 'schema' of the strings that your app uses. Translated Resources Files can contain all, or a subset of, these strings.

When you build your project, your Resources Files and your .xlf files are synchronized.

  • The .xlf files are updated to reflect any added or removed string, or added or removed Resources Files.
  • The Resources Files are updated to reflected any translated strings in the .xlf files.

This is explained in detail in Use the Multilingual App Toolkit 4.0.

When I build my project, the .xlf files remain empty

Before you can use the MAT effectively, your app needs to be localizable. This is explained in detail in Use the Multilingual App Toolkit 4.0.

What is Microsoft Translator?

Microsoft Translator is a cloud-based service that provides machine-based translation. Machine translation is ideal for gaining access to translation when human translation is not reasonable to obtain. You can learn more at Microsoft Translator.

The Toolkit uses the Microsoft Translator service to provide translation suggestions to you. You can see which languages are supported by Microsoft Translator when the Microsoft Translator icon is present in the Translation Languages dialog.

You can quickly translate your app using Microsoft Translator from within the Multilingual Editor by selecting a string and clicking Translate.

What is pseudo language, and what are pseudo resource trackers?

Pseudo language is an artificial modification of the software product intended to simulate real language localization. You can find more details about pseudo language and pseudo resource trackers in Use the Multilingual App Toolkit 4.0.

How do I set my language preference to pseudo language, so that I can test my pseudo-loc'd strings?

This is explained in Use the Multilingual App Toolkit 4.0.

What kind of localizability issues can I find using pseudo language?

This is explained in Use the Multilingual App Toolkit 4.0.

I'm not seeing any translations when I launch my app, or my app is only partially translated

Open the .xlf file in the Multilingual Editor to see whether the translations are present. When strings in the default language .resw file are changed explicitly, any corresponding translations are removed from .xlf files. This is to ensure that a translation matches its source string. Translate the string(s) in the .xlf file(s), and rebuild to update the non-default language .resw file(s).

If your strings are translated in the .xlf file(s), but they're not appearing in your app, then rebuild your project to update the non-default language .resw file(s). Visual Studio optimizes the Build command to build only files that have changed since the last Build.

Check your language preference order. Ensure that the language you want to test is listed at the top of your language preference list in Settings.

How to Uninstall Most Mac ApplicationsRELATED:Most Mac applications are self-contained items that don’t mess with the rest of your system. Remove program from start menu. Uninstalling an application is as simple as opening a Finder window, clicking “Applications” in the sidebar, Control-clicking or right-clicking the application’s icon, and selecting “Move to Trash.”You can also drag-and-drop an application’s icon to the trash can icon on your dock. Or, open the Launchpad interface and drag-and-drop an application’s icon to the trash can from there.Most applications will go straight to your trash, and you can then Control-click or right-click the trash can icon on your dock and select “Empty Trash” to get rid of that application and all the other files you’ve deleted.However, some applications will prompt you for a password when you try to move them to the trash. So let’s look at all the different things you need to know when it comes to uninstalling applications.

The toolkit is reporting error 0x80004004 in the build output

This message can be displayed when the region format conflicts with the toolkit build operation. The workaround is to change your language in Settings to en-US while building.

The toolkit is reporting error 0x80004005 in the build output

This message can be displayed when the .xlf file contains an unsupported target language. For example, 'zh-cht' is incorrect (change it to 'zh-hant'), and 'zh-chs' is incorrect (change it to 'zh-hans').

Is there a way to find out more information about the errors I'm seeing?

Yes, you can turn on verbose logging in Visual Studio. Click Tools > Options > Projects and Solutions > Build and Run. Change MSBuild project build output verbosity from Minimal to Normal or higher.

Running MSBuild from the command line can also produce additional messages.

Import translation failed

The import process performs basic validation before importing. This ensures that the target culture information in the files being imported matches that in the existing .xlf files. Open the .xlf files in the Multilingual Editor and make sure that the culture information matches.

Toolkit

What if my translator doesn't have Windows 10, and/or Visual Studio and/or the Multilingual App Toolkit installed?

When you select Output: Mail recipient in the Export string resources dialog, the email includes a link to download and install the Multilingual App Toolkit (MAT) 4.0. Your translator can still install the MAT 4.0 standalone Multilingual Editor tool even without Windows 10 nor Visual Studio.

For more details, see Use the Multilingual App Toolkit 4.0.

What happened to the MarkupRules.xml and ResourcesLocks.xml files?

The Multilingual App Toolkit 4.0 doesn't use proprietary resource locking files. Instead, the XLIFF 1.2 tag <mrk> is added directly to the .xlf file to identify strings that are not modified during Machine Translation. This enables the XLIFF file to be self-contained, and allows for per-file based resource locking.

These extra support files are no longer needed and you can safely delete them if you have them.

What happened to the .tpx file?

The .tpx file provided an easy way to include the MarkupRules.xml and ResourcesLocks.xml files when the .xlf file was sent out for translation. This functionality is no longer required.

If you have translations in a .tpx file that you need to retrieve, simply rename the .tpx file extension to .zip. This will allow you to open and extract the contents with File Explorer or any .zip compatible tool.

I think I've done everything right, but it still isn't working

Try these steps.

  1. Add translations using one of the methods already described.
  2. Dump the .pri file (see MakePri.exe command-line options) to see whether your translations are in the .pri file. Translations will appear with language code and translated value like this.
  3. Build from a Command Prompt; the resulting error may have more details than what is reported in the build output.

My app failed certification to the Microsoft Store

Before you start the Microsoft Store Certification process, you must exclude the <project-name>.qps-ploc.xlf file from your project. Pseudo language is used to detect potential localizability issues or bugs, but it is not a valid Microsoft Store language. If it is not removed then your app will fail during the Microsoft Store Certification process.

Related topics

-->

The Multilingual App Toolkit (MAT) 4.0 integrates with Microsoft Visual Studio 2019 to provide Windows apps with translation support, translation file management, and editor tools. Here are some of the value propositions of the toolkit.

  • Helps you manage resource changes and translation status during development.
  • Provides a UI for choosing languages based on configured translation providers.
  • Supports the localization industry-standard XLIFF file format.
  • Provides a pseudo-language engine to help identify translation issues during development.
  • Connects with the Microsoft Language Portal to easily access translated strings and terminology.
  • Connects with the Microsoft Translator for quick translation suggestions.

How to use the toolkit

Step 1. Design your app for globalization and localization

Multilingual App Toolkit Visual Studio Mac Free

Before you can use the MAT effectively, your app needs to be localizable. Specifically, your project should contain one or more Resources Files (.resw) containing your app's strings in the default language. For details, see Localize strings in your UI and app package manifest. Once you've done that, the toolkit makes adding additional languages quick and easy.

For the value proposition of globalization and localization—as well as definitions of the terms globalization, localizability, and localization—see Globalization and localization.

Also see Guidelines for globalization and Make your app localizable.

Step 2. Download and install the Multilingual App Toolkit 4.0

There are two parts to the Multilingual App Toolkit 4.0 (MAT 4.0), each with its own installer.

  • Multilingual App Toolkit 4.0 Extension for Visual Studio 2017 and later. This contains the MAT 4.0 extension for Visual Studio 2019, in the form of a .vsix installer.
  • Multilingual App Toolkit 4.0 Editor. This contains the MAT 4.0 standalone Multilingual Editor tool, in the form of an .msi installer. It also includes the MAT 4.0 extension for Visual Studio 2015 and for Visual Studio 2013.

Multilingual App Toolkit Visual Studio Mac 10

If you use Visual Studio 2017 or Visual Studio 2019, then download and run both installers, one after the other. If you use Visual Studio 2015 or Visual Studio 2013, then download and run the .msi installer.

Step 3. Enable the Multilingual App Toolkit for your project

The MAT must be enabled for your project before you can begin to localize the app. Here's how to enable the toolkit.

  • Open the project solution in Visual Studio.
  • Select the desired project in Solution Explorer.
  • On the Tools menu, select Multilingual App Toolkit > Enable selection.

In the Output window (showing output from Multilingual App Toolkit), watch for the message Project '<project-name>' was enabled. The project's source culture is '<language-tag>' <language-name>. If this message appears, then the MAT is ready to use.

Step 4. Add languages to your project

Follow these steps to add languages to your project.

  1. Right-click the project node in Solution Explorer.
  2. Click Multilingual App Toolkit > Add translation languages...
  3. In the Translation Languages dialog, select the language(s) you want to support, and click OK.

The toolkit does these things in response.

  • For each language you added, a new folder is created named for the BCP-47 language tag of the language. Inside that folder, new Resources File(s) (.resw) are created to match the one(s) that contain the default language strings.
  • If this is the first time you've added a language, a new folder named MultilingualResources is added to the project. Inside that folder, an .xlf file is added for each language. The .xlf files contain a translation unit for each string in each Resources File (.resw) in your project.
  • The Output window confirms the addition of the language(s) that you added.

Whenever you add/remove a default language Resources File (.resw), or you add/remove a string inside a default language Resources File (.resw), rebuild the project to re-synchronize the .xlf files. This ensures that the .xlf files contain the union of the strings in the default language.

Installed Translation Providers—such as the Microsoft Language Portal and Microsoft Translator—can be used to translate your app's resources. When a provider supports a specific language, the provider's icon is displayed next to the language name in the Translation Languages dialog.

In the Translation Languages dialog, any existing .xlf-based languages that are discovered by the toolkit have their selection box pre-checked to indicate that the language is already included the project.

Once a language is added to the project, it cannot be removed by un-checking the box in the Translation Languages dialog. To remove a language, right-click on the language-specific .xlf file and select Delete. If you confirm, then this will also delete the corresponding Resources File (.resw).

Step 5. Test your app using pseudo language

Pseudo language is an artificial modification of the software product intended to simulate real language localization, but remaining readable to native speakers. Pseudo translation replaces characters and expands the resource string length to detect potential localizability issues or bugs early in the project cycle and before localization starts in earnest.

Follow these steps to pseudo-localize and test your project.

  1. Use the Translation Languages dialog to add Pseudo Language (Pseudo) [qps-ploc] to your project.
  2. Right-click the <project-name>.qps-ploc.xlf file in Solution Explorer and click Multilingual App Toolkit > Generate machine translations.
  3. In Settings > Time & Language > Region & language > Languages, click Add a language.
  4. In the search box, type qps-ploc.
  5. Click English (qps-ploc) to add it.
  6. From the language list, select English (qps-ploc) and click Set as default.
  7. Test your pseudo-localized app. For example, look for UI layout issues where not all of a string is displayed (the string is truncated), or strings that are not translated (but instead hard-coded).

In addition to character replacement and expansion, the pseudo engine provides a unique tracking identifier for each resource. This tracker is prepended to the start of every string and enclosed within brackets [xxxxx]. You can use these trackers during visual UI inspection testing. They can help track down specific resources in the product, especially if multiple resources have similar or duplicate text.

In this 'Hello, World!' text example, the pseudo translation expands to take about 30 percent more screen space, and then applies the resource tracker.

'Hello World' -> 'Ĥèĺļõ Ŵòŗłđ' -> '[!!_Ĥèĺļõ Ŵòŗłđ_!!]' -> '[hJ8s1][!!_Ĥèĺļõ Ŵòŗłđ_!!]'

Step 6. Translate your app into selected languages

The Multilingual App Toolkit is integrated into the build process. During a build, updated strings are automatically added to each language .xlf file.After you've tested your app by using Pseudo language, there are three options to translate your app into other languages for release.

Option 1. Translate the strings yourself

You can use the Multilingual Editor to translate strings individually. As already mentioned, this is included in The .msi installer.

  • Right-click the .xlf file that you want to translate.
  • Click Open With.. and select Multilingual Editor. You can optionally click Set as Default.
  • For each string, Source shows the original string in the default language. In Translation, type the string translated into the appropriate language for the .xlf file that you're editing.
  • When you're done, save and close the file.

Rebuild your project to cause the translated strings to be copied into the Resources File (.resw) that corresponds to the .xlf file you were just editing.

You can also launch the Multilingual Editor like this. Go to Start, show all apps, open the Multilingual App Toolkit folder, and click Multilingual Editor to launch it.

Option 2. Send the .xlf files to a third party for translation

To outsource the translation and editing work to localizers, select the desired .xlf files in Solution Explorer, right-click them, and click Multilingual App Toolkit > Export translations...

Select Output: Mail recipient in the Export string resources dialog, and click OK, and your files will be zipped and attached to a new email. Select Output: File folder location, browser for a folder and click OK, optionally choose for the files to be zipped, click OK again, and your files will be (zipped and) saved at the location you chose, inside a new folder named for your project.

After your localizers complete the translation work and send you the translated .xlf files, you can import them into your project. Select the desired .xlf files in Solution Explorer, right-click them, and click Multilingual App Toolkit > Import/recycle translations... Click Add, navigate to the .xlf or .zip files, and click Import.

Note The import process performs basic validation before importing. This ensures that the target culture information in the files being imported matches that in the existing .xlf files.

Rebuild your project to cause the translated strings to be copied into the Resources File(s) (.resw) that corresponds to the .xlf file(s) you just imported.

These third party providers offer localization services, and may be able to assist you.

Note

The list above is provided for informational purposes only and is not an endorsement. Microsoft does not make any representation or warranty regarding these vendors or their services, and under no circumstances will Microsoft have any liability for your use of such vendors or services. Any questions, complaints, or claims regarding such vendors or their services must be directed to the appropriate vendor.

Option 3. Use the integrated translation services

Translation services are integrated into the Visual Studio IDE as well as into the Multilingual Editor. This provides easy access to translation services while developing your product as well as localizing your resources. For this service, you'll need an Azure account subscription, as described in Microsoft Translator Moves to the Azure portal.

To access the translation services inside Visual Studio, select and right-click one or more .xlf files in Solution Explorer and click Generate machine translations.

The Multilingual Editor provides the same translation support, as well as adding interactive translation suggestions, which enable you to select the translation that best fits your resource strings. After the translation suggestion is provided, you can fine-tune the string for your translation style.

Two providers are shipped with the Multilingual App Toolkit.

  • The Microsoft Language Portal provider enables translation-recycling and terminology-matching support based on translations of the user interface text for Microsoft products and services.
  • The Microsoft Translator provider enables on-demand machine translation services.

You and your translator(s) can manage the status of translations in the Multilingual Editor to review uncertain translations later. You can set the status of each string in the Properties tab. Status values are: New, Needs review, Translated, Final, and Signed off. The indicator at the left of the row shows the status. When all rows show green in the Multilingual Editor, then your translation work is done.

Rebuild your project to cause the translated strings to be copied into the Resources File(s) (.resw) that corresponds to the .xlf file(s) you just edited.

Step 7. Upload your app to the Microsoft Store

Before you start the Microsoft Store Certification process, you must exclude the <project-name>.qps-ploc.xlf file from your project. Pseudo language is used to detect potential localizability issues or bugs, but it is not a valid Microsoft Store language. If it is not removed then your app will fail during the Microsoft Store Certification process.

Related topics

Downloads

Translation services