These notes describe the current package set. They are written for package consumers and release reviewers, so they separate shipped behavior from planned work.
The current release ships:
string.Format based localized formatting.ResourceManager and IStringLocalizer provider bridges.ProTranslate.AbstractionsContains shared contracts and value types:
ICultureService.ITranslationProvider.ITranslationService.IGlobalizationService.IObservableLocalizedString.LocalizedString.CultureChangedEventArgs.TextFlowDirection.Use this package in shared libraries that need to depend on contracts without taking a dependency on the default runtime implementation.
ProTranslate.CoreContains default implementations:
CultureService.TranslationService.GlobalizationService.InMemoryTranslationProvider.CompositeTranslationProvider.Use this package in application composition roots and tests.
ProTranslate.ResourceManagerProvides ResourceManagerTranslationProvider for .resx and satellite assembly workflows.
Use this package when an application already uses .NET resource files or wants standard .NET resource fallback.
ProTranslate.MicrosoftExtensionsProvides optional Microsoft.Extensions integration:
AddProTranslate.IStringLocalizer provider integration.Use this package when the application has a Microsoft.Extensions.DependencyInjection composition root.
Adapter packages provide XAML integration:
ProTranslate.Avalonia.ProTranslate.Wpf.ProTranslate.Maui.ProTranslate.WinUI.ProTranslate.Uno.Each adapter includes markup extensions, attached properties, a binding source, a static adapter bridge, and a framework-specific DI helper.
ProTranslate.SourceGeneratorGenerates:
ProTranslateKeys.ProTranslateAccessors.ProTranslateStrings.ProTranslateGeneratedTranslationProvider.ProTranslateProviderManifest.Supported inputs:
*.protranslate.keys.txt.Strings.*.json.*.protranslate.json.Generator diagnostics:
PTSG001: invalid JSON.PTSG002: duplicate key in one file.ProTranslate.AnalyzersReports:
PTA001: missing static key.PTA002: placeholder count mismatch.PTA003: resource coverage gap.PTA004: unsafe dynamic key.PTA005: invalid catalog.ProTranslate.FormatsProvides optional import/export infrastructure for normalized ProTranslate catalogs and industry exchange formats. This is tooling and authoring infrastructure, not hidden runtime provider behavior:
strings.xml..strings, .stringsdict, and .xcstrings.Use this package for tooling and authoring workflows. Runtime application lookup should prefer source-generated ProTranslate catalogs or explicitly registered providers.
The samples/ProTranslate.Uno.TranslationStudio project is a professional authoring sample over the format tooling surface. It demonstrates a compact Uno review UI, source/target editing, review-state actions, format import/export review summaries, generated ProTranslateStrings for x:Bind, and normalized ProTranslate catalogs as the runtime output path.
Release notes should keep this separate from ProTranslate.Uno, which is the runtime XAML adapter. Full authoring workflow support still requires documented Windows build validation and UI smoke coverage.
Avalonia and WPF support prefix-free sample syntax through default namespace mappings. MAUI supports the shared ProTranslate URI but not third-party additions to the protected MAUI default namespace. WinUI uses using:ProTranslate.WinUI. Uno uses WinUI-compatible syntax in samples and has a shared URI mapping for Uno tooling that honors XmlnsDefinition.
See XAML Namespaces.
Remaining hardening work:
CultureService construction captures the initial culture without mutating ambient thread state. Explicit SetCulture calls apply selected cultures to current and default thread cultures by default. Use CultureServiceOptions to opt out in tests and hosts that need strict culture isolation.
Package notes should list only the formats that are implemented and validated. XLIFF should be positioned as the preferred CAT/TMS exchange format, and source-generated ProTranslate catalogs should remain the preferred runtime format for applications. Lossy or unsupported conversions must be surfaced through diagnostics.
For applications moving between ProTranslate releases:
The deeper package notes remain in docs/spec/package-release-notes.md.