XAML globalization
ProTranslate
One translation model across the modern XAML ecosystem.
Overview
Translation and globalization infrastructure for Avalonia, WPF, MAUI, WinUI, and Uno with generated bindings and analyzers.
ProTranslate is maintained as a focused part of a wider open-source .NET UI ecosystem. Its boundaries are designed so applications can adopt the useful layer without taking the entire stack.
Five XAML frameworks
Runtime culture switching
Source generators and analyzers
XLIFF, PO, RESX, ARB, and more
Built for
Where it fits.
- Teams building frameworks software on .NET
- Developers who need reusable, inspectable infrastructure
- Open-source contributors looking for practical framework work
Compatibility & status
Supported
Supported
Supported
XLIFF, PO, RESX, ARB+
In the work
Real output,
not a mockup.

Architecture
Clear layers.
Replaceable seams.
Application
A familiar public programming model defines the app.
Framework
Managed services coordinate layout, input, resources, and lifecycle.
Platform
Portable adapters connect rendering and operating-system services.
Inside ProTranslate
One repository.
Multiple serious systems.
Explore the focused capabilities, their package boundaries, architecture, installation, and smallest useful example.
Translation lookup, culture switching, fallback, formatting, regions, measurements, and flow direction live in a portable service layer.
2 modules→02 · Five UI stacksXAML Framework AdaptersAvalonia, WPF, WinUI, Uno Platform, and .NET MAUI packages map dynamic translation and culture state into each framework’s binding and XAML model.
5 modules→03 · Translation interchangeFormats & ResourcesResourceManager integration and format converters connect ProTranslate catalogs to RESX satellites and common localization interchange formats.
2 modules→04 · Typed localization contractsGenerators & AnalyzersAn incremental generator creates strongly typed keys and provider manifests while Roslyn analyzers catch missing keys, placeholder mismatches, and catalog gaps.
3 modules→Quick start
From package
to first frame.
Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.
dotnet add package ProTranslate.Coredotnet add package ProTranslate.Avalonia<PackageReference Include="ProTranslate.Core" Version="VERSION" /><PackageVersion Include="ProTranslate.Core" Version="VERSION" /><StackPanel Translation.AutoFlowDirection="True"> <TextBlock Text="{Translate Shell.FileMenu}" /></StackPanel>Package surface
Start focused.
Compose as needed.
Source, docs, samples, and releases
The repository is the source of truth.
Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.