Giter VIP home page Giter VIP logo

multilingual-app-toolkit's Introduction

Multilingual Application Toolkit Samples

This repo contains samples that demonstrate the localization workflow for users of the Multilingual Application Toolkit Visual Studio extension.

You can also use GitHub Issues to submit feedback, report bugs, or ask questions.

With the Toolkit you can:

- Add new langauges
- Export translations
- Recyle existing translations
- Generate machine translations
- Genereate a translation status report

Getting Started

  1. Clone this repo
  2. Open a Solution under samples/ in Visual Studio
  3. Refer to the readme included with the sample for guidance on use.

Documention

The documention is avaible here.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

multilingual-app-toolkit's People

Contributors

joshftb avatar jptgamesandapps avatar microsoft-github-operations[bot] avatar microsoftopensource avatar rogersmithr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

multilingual-app-toolkit's Issues

Norwegian (nn-NO) is not supported

We are using the Microsoft multilingual toolkit for translation, the language Norwegian (nn-NO) is not supported i.e. the labels, error, messages etc. are not getting translated to Norwegian (nn-NO) language.

Azure provider not clear where it is set or if it is set

image

1> The Microsoft Translator provider credentials were not found. Microsoft Translator provider requires an active Azure subscription, for which you may supply the key. In the editor, go to File | Settings to configure this provider. In the extension, go to Tools | Options | Multilingual App Toolkit to configure this provider.

image

Nothing has been configured. Maybe from the past but I don't use it anymore. Nothing to see if there was something configured now or in the past.

Also where do I find this: "In the extension, go to Tools | Options | Multilingual App Toolkit to configure this provider. "

Each time I add a language or run the editor I get this message. Where is it configured? as it seems to fail because it is unavailable...

image

Multilingual Editor - System.IO.FileLoadException

app just closed while working in it.

Toepassing: MultilingualEditor.exe Framework-versie: v4.0.30319 Beschrijving: het proces is beëindigd als gevolg van een onverwerkte uitzondering. Uitzonderingsinformatie: System.IO.FileLoadException bij Microsoft.Multilingual.UserExperience.TelemetryMethods.LogException(System.Exception) bij Microsoft.Multilingual.Editor.EditAreaControl.ModifyClipboard() bij Microsoft.Multilingual.Editor.EditAreaControl.FlowRichTextBox_OnPreviewKeyDown(System.Object, System.Windows.Input.KeyEventArgs) bij System.Windows.Input.KeyEventArgs.InvokeEventHandler(System.Delegate, System.Object) bij System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object) bij System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs) bij System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean) bij System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs) bij System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs) bij System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs, Boolean) bij System.Windows.Input.InputManager.ProcessStagingArea() bij System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs) bij System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport) bij System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawKeyboardActions, Int32, Boolean, Boolean, Int32) bij System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(System.Windows.Interop.MSG ByRef, Boolean ByRef) bij System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(System.Windows.Interop.MSG ByRef, System.Windows.Input.ModifierKeys) bij System.Windows.Interop.HwndSource.OnPreprocessMessage(System.Object) bij System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) bij System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) bij System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) bij System.Windows.Threading.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority, System.Delegate, System.Object) bij System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(System.Windows.Interop.MSG ByRef, Boolean ByRef) bij System.Windows.Interop.HwndSource+WeakEventPreprocessMessage.OnPreprocessMessage(System.Windows.Interop.MSG ByRef, Boolean ByRef) bij System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(System.Windows.Interop.MSG ByRef) bij System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) bij System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame) bij System.Windows.Application.RunDispatcher(System.Object) bij System.Windows.Application.RunInternal(System.Windows.Window) bij System.Windows.Application.Run(System.Windows.Window) bij System.Windows.Application.Run() bij Microsoft.Multilingual.Editor.Program.Main(System.String[])

Faulting application name: MultilingualEditor.exe, version: 4.1.13.0, time stamp: 0x63c9dd2e Faulting module name: KERNELBASE.dll, version: 10.0.19041.2546, time stamp: 0x372796aa Exception code: 0xe0434352 Fault offset: 0x0012e4c2 Faulting process id: 0xa39c Faulting application start time: 0x01d9348c54eeeffb Faulting application path: C:\Program Files (x86)\Multilingual App Toolkit\MultilingualEditor.exe Faulting module path: C:\Windows\System32\KERNELBASE.dll Report Id: 1da70b88-69b8-4739-9d56-7ca24c0633c9 Faulting package full name: Faulting package-relative application ID:

MAT broken in VS2022 17.7.3?

I've recently updated Visual Studio 2022 to 17.7.3.

.net 7.0 library doesn't seem to build/update my .resx files anymore.

output gives me:

1>  Attempting to identify Foo.Site.Resources project type based on project file... 
1>  Attempting to identify Foo.Site.Resources project type based on resource file type... 
1>  Project Type for Foo.Site.Resources is AnonResx 
1>  Project Type for Miscellaneous Files is Unknown. For assistance in resolving these please visit aka.ms/matTypeHelp 

I tried to disable and enable MAT on the project but doesn't seem to work.

double clicking on xlf file opens the file but VS gives also this:
image

(P.S.: aka.ms/matTypeHelp doesn't work and redirects to https://www.bing.com/?ref=aka&shorturl=matTypeHelp )

Add translation language unavailable on SDK style projects targeting .NET Framework and WPF

At MAT versions v4.0.6901 and prior, we were able to add new languages to projects that use the newer SDK style csproj format but target .NET Framework and WPF. Later versions of MAT no longer allow for the 'Enable Selection' or adding translation languages to existing MAT enabled projects that use this particular combination in the csproj. Tooling inside of Visual Studio 2019 & 2022 now supports this configuration well, however MAT does not.

Sample project with MAT enabled that works with v4.0.6901 but does not work with v4.0.6921 or v4.1.1 to add translation languages.
Sample Project

Steps to Reproduce:
Clone repository
Open solution
Right-click on project, hover over Multilingual App Toolkit menu item

Expected:
Add translation and other options are enabled

Actual:
All options are disabled

Affected Versions:
v4.0.6921+, v4.1.1

Could not install the extension (version 4.1.1)

Anybody meets the same trouble with me?
I have tried update several build agents with the latest extension, v4.1.1, but seems always fails.

Part of the abnormal information was noticed like the following:

5/17/2022 11:15:45 AM - Beginning to install extension to Visual Studio Enterprise 2022...
5/17/2022 11:15:49 AM - Skipping non-applicable package Microsoft.VisualStudio.Debugger.DbgHelp.Win8: The current OS Version '10.0.17763.0' is not in the supported version range '[6.1,6.3]'.
5/17/2022 11:15:49 AM - Skipping non-applicable package Microsoft.VisualStudio.Debugger.Remote.DbgHelp.Win8: The current OS Version '10.0.17763.0' is not in the supported version range '[6.1,6.3]'.
5/17/2022 11:15:49 AM - Skipping non-applicable package Microsoft.VisualStudio.Debugger.Remote.DbgHelp.Win8: The current OS Version '10.0.17763.0' is not in the supported version range '[6.1,6.3]'.
5/17/2022 11:15:50 AM - Skipping non-applicable package Microsoft.VisualStudio.NuGet.PowershellBindingRedirect: The current OS Version '10.0.17763.0' is not in the supported version range '[6.1,6.2)'.
5/17/2022 11:15:50 AM - Skipping non-applicable package Microsoft.Windows.UniversalCRT.Msu.7: The current OS Version '10.0.17763.0' is not in the supported version range '[6.1,6.2)'.
5/17/2022 11:15:50 AM - Skipping non-applicable package Microsoft.Windows.UniversalCRT.Msu.8: The current OS Version '10.0.17763.0' is not in the supported version range '[6.2,6.3)'.
5/17/2022 11:15:50 AM - Skipping non-applicable package Microsoft.Windows.UniversalCRT.Msu.81: The current OS Version '10.0.17763.0' is not in the supported version range '[6.3,6.4)'.
5/17/2022 11:15:51 AM - Skipping non-applicable package Microsoft.Net.4.8.KB5003306: The current OS Version '10.0.17763.0' is not in the supported version range '[10.0.18362,10.0.18363]'.
5/17/2022 11:15:51 AM - Skipping non-applicable package Microsoft.Net.4.8.KB5003304: The current OS Version '10.0.17763.0' is not in the supported version range '[10.0.19041,10.0.19044]'.
5/17/2022 11:15:51 AM - Skipping non-applicable package Microsoft.Net.4.8.KB5003793: The current OS Version '10.0.17763.0' is not in the supported version range '[10.0.20279,10.0.20348]'.
5/17/2022 11:15:51 AM - Skipping non-applicable package Microsoft.Net.4.8.KB5003792: The current OS Version '10.0.17763.0' is not in the supported version range '10.0.21290'.
5/17/2022 11:15:51 AM - Skipping non-applicable package Microsoft.DiagnosticsHub.KB2882822.Win7: The current OS Version '10.0.17763.0' is not in the supported version range '[6.1,6.2)'.
5/17/2022 11:15:52 AM - Skipping non-applicable package Microsoft.Windows.D3DCompiler.Msu.Win7: The current OS Version '10.0.17763.0' is not in the supported version range '[6.1,6.2)'.
5/17/2022 11:15:52 AM - Skipping non-applicable package Microsoft.Net.4.6.FullRedist: The current OS Version '10.0.17763.0' is not in the supported version range '[6.1.1,6.4)'.
5/17/2022 11:15:52 AM - Skipping non-applicable package Microsoft.Ancm.IIS.Msi: Required conditions are not satisfied: IISCoreWebEngineInstalledx64 And IISW3SvcInstalledx64
5/17/2022 11:15:52 AM - Skipping non-applicable package Microsoft.Ancmv2.IIS.Msi: Required conditions are not satisfied: IISCoreWebEngineInstalledx64 And IISW3SvcInstalledx64
5/17/2022 11:15:53 AM - Skipping non-applicable package Microsoft.Azure.PowerShell: Required conditions are not satisfied: Not Powershell5
5/17/2022 11:15:55 AM - Skipping non-applicable package Microsoft.VisualStudio.OfficeDeveloperTools.WindowsIdentityFoundation.Msu: The current OS Version '10.0.17763.0' is not in the supported version range '(,6.2)'.
5/17/2022 11:16:09 AM - Package 'MultilingualAppToolkit.Microsoft.bc7f20d6-73ff-4f4d-8084-eb773575c8a5,version=4.1.1' failed to install. System.IO.IOException: The file 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Multilingual App Toolkit\Microsoft.Multilingual.Build.BuildTaskTargets.dll' already exists.
at Microsoft.VisualStudio.Setup.Installer.VsixInstaller.g__install|31_1(PackagePart part, Boolean saveExtensionManifest, <>c__DisplayClass31_0& , <>c__DisplayClass31_1& , <>c__DisplayClass31_2& , <>c__DisplayClass31_3& , <>c__DisplayClass31_4& )

Any suggestion?

Support for Blazor

Looking to use this with a Blazor Server project to create translations. Is there a work around to get this to work?

No Support for DLL's

After learning how to use the toolkit, as many articles state, what I have done in the past is to put all the resources for a solution in a DLL assembly for reuse by any project. When I tried to Enable selection, I got the following message:

Project 'Globalization.Resources' was not enabled - it is not a supported project type.

Why can't I use the toolkit in a DLL? This is a great tool, but I cannot use it for projects like this.

Compile-time errors could be more specific

I'm currently experiencing a compile-time error in one of my RESX files:

Microsoft.Multilingual.ResxResources.targets(32,5): error : Convert file [...]/Pref_Gui.resx to XLIFF format failed. Message:Object reference not set to an instance of an object.

There's no indication of what line the error occurred on (besides the targets file its self) or what the offending string of text was. It would be nice to have more details in errors like this. Here's the exact file it's occurring in.

Thank you!

Controls that rely on serializing data to XML cause Resx to XLIFF conversion to fail

There seems to be an issue present as of the Multilingual App Toolkit v4.2.1: when a TableLayoutPanel is in a Localizable form, the LayoutSettings property is stored in the Resource file with an XML header inside it:

<?xml version="1.0" encoding="utf-16"?>

This causes the MAT to fail on build, with the error:

Convert file [file].resx to XLIFF format failed. Message:Unsupported processing instruction '?xml' found during encoding. Please remove unsupported processing instructions from the xml.

The offending line(s) can be removed from the Resource file, but future builds/project loads will cause the line to be automatically reinserted and trigger the error again.

See also:

Setup - Telemetry option

During the installation of Version 4.1.12.0 the setup asks if you agree with Telemetry (checked by default).

I agreed, so thought that Telemetry was enabled.

If you go to File > About > Telemetry Options > you don't see which Setting was selected. "Agree" or "Decline" is not checked. (even not when run under administrator privs).

The chosen setting should reflect in the user interface! Now you just see this:

image

Runtime Error

I have run in to an issue where the MAT editor throws a runtime issue.
image
I have verified that the MAT Editor does have access to the internet. I have also verified the key and api link in the settings.

I found that if I clear all of the settings for the Microsoft Translator, i.e, the Subscription Key, Region, and Custom Translator link, then close the MAT Editor. Re-Open the xlf file in the MAT Editor, then click translate all, it will automatically bring up the settings. I fill in the key, region, and link then click save. Then I can click Translate All again and it translates my file correctly. It will continue to translate any resource until I close the MAT Editor. Once I close it, I have to go through the entire process again.

Any help would be greatly appreciated.

Runtime issue with MAT Editor

There seems to be a problem with the MAT editor currently. I am not sure how it got into this state but it will either throw a 401: Not Authorized error (even after double checking my api key, end point, etc), or it will throw a The category parameter is invalid. in the messages area. I was able to do one single full translation before this happened.

image

My colleague is doing the same thing but it works for them, no errors and no parameters possibly invalid.

Version: 4.1.14.0

What I have tried:

  • Restarting both VS Studio and MAT Editor
  • Restarting just the MAT Editor
  • Opening from the menu versus opening in Visual Studio
  • Trying different api keys as well as creating another test account with a new Microsoft Translator service with new keys.

I wanted to see if anyone else has had these issues (noting issue #28 ) and may have a fix or workaround.

Thank you!

Support for Server operating systems, Remove reliance on Windows Runtime components

I'm running into multiple issues trying to install the 2017+ edition of the MAT (I believe the 2022 edition has the same problem) on Server 2016 Core Datacenter, Windows version 10.0.14393.0.

Install Error : System.AggregateException: One or more errors occurred. ---> System.TypeLoadException: Could not find Windows Runtime type 'Windows.Networking.Connectivity.NetworkCostType'.
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.ConnectionCostPrivate()
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.get_ConnectionCost()
   at Microsoft.VisualStudio.Setup.Engine.InitializeTelemetryProperties(String operation)
   at Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.Install()
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.PerformSetupEngineInstall(InstallableExtensionImpl extensionToInstall, Boolean installPerMachine, Boolean isPackComponent, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, IProgress`1 progress, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion, IInstalledExtension& newExtension)
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.InstallInternal(InstallableExtensionImpl extension, InstallFlags installFlags, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, AsyncOperation asyncOp, IProgress`1 progress, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.BeginInstall(IInstallableExtension installableExtension, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.Install(IInstallableExtension extension, InstallFlags installFlags, Version targetedVsVersion)
   at VSIXInstaller.SilentEngine.InstallSilently(IInstallableExtension extension, IReadOnlyList`1 installSKUs)
---> (Inner Exception #0) System.TypeLoadException: Could not find Windows Runtime type 'Windows.Networking.Connectivity.NetworkCostType'.
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.ConnectionCostPrivate()
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.get_ConnectionCost()
   at Microsoft.VisualStudio.Setup.Engine.InitializeTelemetryProperties(String operation)
   at Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()<---
System.AggregateException: One or more errors occurred. ---> System.TypeLoadException: Could not find Windows Runtime type 'Windows.Networking.Connectivity.NetworkCostType'.
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.ConnectionCostPrivate()
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.get_ConnectionCost()
   at Microsoft.VisualStudio.Setup.Engine.InitializeTelemetryProperties(String operation)
   at Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.Install()
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.PerformSetupEngineInstall(InstallableExtensionImpl extensionToInstall, Boolean installPerMachine, Boolean isPackComponent, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, IProgress`1 progress, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion, IInstalledExtension& newExtension)
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.InstallInternal(InstallableExtensionImpl extension, InstallFlags installFlags, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, AsyncOperation asyncOp, IProgress`1 progress, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.BeginInstall(IInstallableExtension installableExtension, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.Install(IInstallableExtension extension, InstallFlags installFlags, Version targetedVsVersion)
   at VSIXInstaller.SilentEngine.InstallSilently(IInstallableExtension extension, IReadOnlyList`1 installSKUs)
   at VSIXInstaller.SilentEngine.Execute(ExtensionData data)
   at VSIXInstaller.App.OnStartup(StartupEventArgs e)
---> (Inner Exception #0) System.TypeLoadException: Could not find Windows Runtime type 'Windows.Networking.Connectivity.NetworkCostType'.
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.ConnectionCostPrivate()
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.get_ConnectionCost()
   at Microsoft.VisualStudio.Setup.Engine.InitializeTelemetryProperties(String operation)
   at Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()<---

The Windows.Networking namespace API is only available on Windows 10 and up, despite Visual Studio 2022 being supported on multiple versions of Windows Server without that API available. If there could be a compile-only version without the Runtime API components, then that would make it significantly easier to enable build automation.

Support for compile without editor present

I'd like to be able to compile my project (with translations) from a limited build environment, without the full editor installed. However, it appears that the MAT requires the CoreEditor as a prerequisite for installation. Hoping there's a way this prerequisite can be bypassed.

Cannot change the display language on the Editor

Cannot change the display language on the Editor, the Editor opened as system locale but the translation is really poor, I perfer to use other display languages such as English instead of my system language.

Update the Multilingual App Toolkit v4.1 (VS 2022+) Visual Studio extension

The Visual Studio 2022 extension 'Multilingual App Toolkit v4.1 (VS 2022+)' contains the Multilingual Editor Version 4.0.1900.0.

If you download the editor via the website you get Version 4.1.12.0
https://learn.microsoft.com/en-us/windows/apps/design/globalizing/multilingual-app-toolkit-editor-downloads

The Visual Studio extension should receive updates so that it is up-to-date with the latest Multilingual Editor.
I had to figure it out thanks to Cameron Lerum that I was not using the latest version of Multilingual Editor and that Telemetry was not enabled in my version.

Multilingual App Toolkit compatibility with XliffTasks

Hi,

we are currently migrating our Xamarin Apps to MAUI and facing some issues regarding the localizations.
With Xamarin we used the Multilingual App Toolkit along with the Editor, to provide and gather translation for different languages through the xlf files. The build process with MAT will not work anymore as our build pipeline is also changing, and MAT is not working on non-windows build nodes. Therefore we tried to replace the build generation steps with the "XliffTasks" as we found no other options currently. And this is working in general.
But as we would like to stick to the MAT editor for the plain translation process, we discovered some problems regarding the exchange of xlf files.

  • The MAT always places <trans-unit> in a <group> element in the <body> element. The Editor rewrites elements that are not included in a group, to the last group contained in the file, on save. Also the Editor can't open xlf files which don't have a <group> element included at all.
    Other Tools like the "XliffTasks" place the <trans-unit> plain to the <body>, which is complient to the xlf definition.
    • The editor should be capable of opening files without a <group>element and keep the intial structure.

Thanks in advance for feedback.

PS: Im also happy to here about working alternatives, but haven't found any yet.

Improve startup time in VS

When opening a solution in Visual Studio 2019 or 2022 (Preview) I often have a message that the solution opened/loaded slowly because of MAT.

If the startup time could be improved, that would be great!

(don't have the exact message right here but I've had it in almost every version already).

Few errors messages/labels are not translated to Norwegian (nn-NO) while using Microsoft multilingual toolkit

The language Norwegian (nn-NO) is not supported i.e., the labels, error, messages etc. are not getting translated to this particular language alone. Even the labels are added manually, it keeps disappearing once the project/solution is build or rebuild .

Microsoft Translator Provider is not supported for Norwegian (nn-NO).

image

As per the findings, If the "Microsoft Translator Provider" has been given to the Norwegian (nn-NO), hope that this issue can be solved.

Can a Blazor Webassembly use Multilingual App Toolkit

I am trying to find our if the Multilingual App Toolkit can be used in a webassembly?
We have been using MAT for years in our desktop projects, and I tried to add MAT to
a webassembly and everything was disabled in VS 2022. I added everything by hand, to
the webassembly (not shared project) and got it to compile. Then I used this article to add the needed string localizer.

I am getting an exception:

crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
Unhandled exception rendering component: Cannot provide a value for property 'localizer' on type 'BlazorApp2.Pages.License'. There is no registered service of type 'Microsoft.Extensions.Localization.IStringLocalizer1[Gt.WebApi.Client.Locales.Resources]'. System.InvalidOperationException: Cannot provide a value for property 'localizer' on type 'BlazorApp2.Pages.License'. There is no registered service of type 'Microsoft.Extensions.Localization.IStringLocalizer1[Gt.WebApi.Client.Locales.Resources]'.
at Microsoft.AspNetCore.Components.ComponentFactory.<>c__DisplayClass7_0.g__Initialize|1(IServiceProvider serviceProvider, IComponent component)
at Microsoft.AspNetCore.Components.ComponentFactory.PerformPropertyInjection(IServiceProvider serviceProvider, IComponent instance)
at Microsoft.AspNetCore.Components.ComponentFactory.InstantiateComponent(IServiceProvider serviceProvider, Type componentType)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.InstantiateComponent(Type componentType)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.InstantiateChildComponentOnFrame(RenderTreeFrame& frame, Int32 parentComponentId)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InitializeNewComponentFrame(DiffContext& diffContext, Int32 frameIndex)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InitializeNewSubtree(DiffContext& diffContext, Int32 frameIndex)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext, Int32 newFrameIndex)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer, RenderBatchBuilder batchBuilder, Int32 componentId, ArrayRange1 oldTree, ArrayRange1 newTree)
at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.