ResXLocalization
Type-safe .resx localization for Avalonia and
WPF — switch language live, no reload, no
restart.
Start at the repository README for installation and a quick start. These pages are the full documentation.
Guides
| Guide | What it covers |
|---|---|
| Lookup modes and culture fallback | Typed, scoped and search-all lookups, registration order, the fallback chain, missing-translation diagnostics, dependency injection and subscription lifetime |
| Localizing enum values | The naming convention, item templates, the converter, custom prefixes and scoping |
| Dynamic format arguments | Get(key, args…) and the LocalizeArgs.Arg0…Arg8 attached properties |
| Native AOT and trimming | What to declare, how to publish, and why the repository's own gate runs the native binary |
Reference
| Page | What it covers |
|---|---|
| Generated keys | Which .resx files qualify, what becomes a key, the generator diagnostics, and the Roslyn floor |
API reference
The generated reference covers the runtime assemblies:
| Namespace | Assembly | Contains |
|---|---|---|
RentADeveloper.ResXLocalization |
ResXLocalization.Core |
ILocalizer, Localizer, ResourceKey — the shared engine |
RentADeveloper.ResXLocalization.Avalonia |
ResXLocalization.Avalonia |
The Avalonia markup extensions and converter |
RentADeveloper.ResXLocalization.WPF |
ResXLocalization.WPF |
The WPF markup extensions and converter |
The packages
| Package | UI framework | Targets | Native AOT |
|---|---|---|---|
ResXLocalization.Avalonia |
Avalonia 12 | net8.0, net10.0 |
Supported |
ResXLocalization.WPF |
WPF | net8.0-windows, net10.0-windows |
Not supported — a WPF limitation |
ResXLocalization.Core |
none | net8.0, net10.0 |
Supported |
Install the package for your UI framework; it brings the engine, the source generator and the build wiring with it. Core arrives as a dependency, and one copy of it satisfies both UI packages in an application that uses them together.