NuGet v3 Support and Enhanced Localization across WinForms, WPF, ASP.NET Platforms — Early Access Preview (v23.2)

News
21 September 2023

v23.2 - our next major update - is around the corner (set for release in December). This post outlines a few global or cross-product features we expect to ship in early December. These enhancements impact a vast majority of our .NET users, so please review and submit a support ticket via the DevExpress Support Center if you have questions. Thank you.

Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds. This EAP may not include all features/products we expect to ship in our v23.2 release cycle. As its name implies, the EAP offers an early preview of what we expect to ship in two months.

NuGet v3 Support: A Faster and More Secure Way to Access DevExpress Packages

This feature was inspired by customer feedback and demand for the latest NuGet protocol within CI/CD tools (like Nexus OSS).

We have enabled NuGet v3 support (nuget.devexpress.com) in test mode for eval purposes (before we officially ship this as the default method to consume NuGet packages in December). During this preview period, the UI used on nuget.devexpress.com will still display the URL for the NuGet v2 protocol. NuGet v2 will also continue to be supported after December 2023 (don't worry).

Test NuGet v3 Today with Your CI/CD Systems

Depending on your authorization preferences, consider one of the following test options: 

  • Feed URL Authorization: https://nuget.devexpress.com/{your-feed-authorization-key}/api/v3/index.json - you can copy the `{your-feed-authorization-key}` section from nuget.devexpress.com.
  • User Name/Password-based Authorization: https://nuget.devexpress.com/api/v3/index.json - use DevExpress for user name, and your feed authorization key as a password.

For more information on how to configure a specific CI/CD system using DevExpress NuGet server, please review DevExpress NuGet Packages and Popular Continuous Integration Systems and Security, Licensing, and Reliability Considerations.

Localization: Identify and Localize Non-Translated Strings Easier in Your .NET Apps

First, thanks to everyone who shared feedback via our localization-specific survey, DevExpress Support Center, email, etc. Your contributions helped us prioritize localization enhancements designed to simplify the following tasks in this release cycle:

  • Identify localization strings used specifically in your application.
  • Find untranslated strings based on application culture.
  • Save modifications to a RESX file and use it as an additional source of localized strings.

New localization extensibility API includes new events and properties in the XtraLocalizer class:

  • QueryLocalizedStringContainerResource - this event allows you to localize resources for data forms integrated in DevExpress UI controls. Previously, it was difficult to determine and alter all localization strings included in custom forms (as there were no separate localizers existed for these forms).
  • QueryLocalizedStringNonTranslated - this event allows you to obtain resource strings that are not localized for the current locale (culture). Our default translations are community-sourced, so they are not 100% covered (even for German, Spanish or French) and some may require corrections as well (again due to the community-sourced origin).
  • QueryLocalizedString - this event allows you to localize resources for all DevExpress UI controls in your application. The event fires when the control requests a resource string and allows you to translate or modify it as needed (we extended this event with useful event arguments such as IsTranslated, Value, StringIDType, and many others).
  • UserResourceManager - this property allows you to set a custom resource manager that can integrate custom RESX files into your applications for localization. This API offers a maximum level of control and is the topmost in the call hierarchy. As you would expect, you can pass this RESX to external translators much easier than when using our online Localization Service today (this is one of the challenges we hoped to address based on survey feedback).

Applicable to ALL .NET Products Powered by RESX

Yes, literally all .NET products which rely on the standard RESX localization mechanism... For this preview, we only tested WinForms and WPF, but this should technically work for ASP.NET WebForms, MVC, Blazor, Reporting, Dashboards, and even XAF. The following enhancements will not cover DevExtreme with its JSON-based localization and other fully custom approaches (like in our .NET MAUI components ).

Future Plans

As I noted, we will finalize our tests for all .NET platforms (not just WinForms and WPF) by release time (mid-December 2023).

In addition, we plan to implement a Localization tool (a VSIX extension) to help you translate non-localized strings in Visual Studio (during app development).  You will be able to invoke this tool from Visual Studio, under the Extensions | DevExpress | All Platforms menu. Here is a design mock up of what we are hoping to deliver (this is not included in the current preview build). 

An Important Reminder: End of .NET Standard 2.0 Support

With our next major update (v23.2, set for release in December 2023), our assemblies will not be built against this target.

Learn more about this breaking change and actions to be taken in the following blog post (July, 2023): .NET — .NET Standard 2.0 Deprecation, Support for .NET 6 or .NET 8 (LTS) in DevExpress Libraries (v23.2).

Your Feedback Matters

If the changes we’ve introduced do not fully address your business needs or if you’d like to engage us further on this topic, please leave a comment below or create a new support ticket via the DevExpress Support Center. We’ll be more than happy to follow-up.

Thanks,
Dennis Garavsky
Principal Product Manager
dennis@devexpress.com

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.