Bogoware.Localization.AspNetCore 0.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Bogoware.Localization.AspNetCore --version 0.2.0
                    
NuGet\Install-Package Bogoware.Localization.AspNetCore -Version 0.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Bogoware.Localization.AspNetCore" Version="0.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bogoware.Localization.AspNetCore" Version="0.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Bogoware.Localization.AspNetCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Bogoware.Localization.AspNetCore --version 0.2.0
                    
#r "nuget: Bogoware.Localization.AspNetCore, 0.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Bogoware.Localization.AspNetCore@0.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Bogoware.Localization.AspNetCore&version=0.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Bogoware.Localization.AspNetCore&version=0.2.0
                    
Install as a Cake Tool

Bogoware.Localization

Nuget Nuget Documentation

Type-safe, FQDN-keyed localization for .NET — define localizable types, load JSON templates, and let the formatter resolve culture-aware messages with zero boilerplate.

Supported Platforms: .NET 8 | .NET 10

Documentation | CHANGELOG | NuGet: Core | NuGet: AspNetCore

Why Bogoware.Localization?

Type-safe by design. Templates are keyed by fully-qualified type names and bound to real .NET types — not magic strings. Rename a class and the compiler tells you; property placeholders resolve from the actual object at runtime.

Zero-config simplicity. One DI call registers everything. Culture fallback walks from exact culture to parent to invariant automatically. Swap providers, add registries, or supply your own resolution logic without touching the rest of your code.

Key Features

  • FQDN-keyed templates — tied to real types (classes and structs), not magic strings
  • Culture fallback chain — exact → parent → invariant, automatic
  • Multi-level provider resolution — self, DI, registry, fallback
  • JSON registry — load from embedded resources, files, or raw strings
  • JSON serialization converters — localize properties during serialization
  • ASP.NET Core integration — per-request culture resolution, automatic JSON response localization, and ProblemDetails support via Bogoware.Localization.AspNetCore
  • DI integration — single-call setup via IServiceCollection
  • Near-zero dependencies (core) — only Microsoft.Extensions.DependencyInjection.Abstractions and Microsoft.Extensions.Logging.Abstractions

Getting Started

dotnet add package Bogoware.Localization
// Define a localizable type
public class RequiredFieldError(string fieldName) : ILocalizable
{
    public string FieldName { get; } = fieldName;
}

// Register with one DI call (scans assembly for JSON templates)
services.AddLocalization(typeof(RequiredFieldError).Assembly);

// Format — culture fallback is automatic
var message = formatter.Format(new RequiredFieldError("Email"));
// With JSON templates: "'Email' is required" (en-US), "'Email' è obbligatorio" (it-IT)

Learn More

Visit the documentation site for the Quick Start guide, detailed walkthroughs, and API reference.

License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.5.3 88 3/20/2026
0.5.2 79 3/20/2026
0.5.1 148 3/9/2026
0.5.0 86 3/9/2026
0.4.0 88 2/20/2026
0.3.0 345 2/20/2026
0.2.0 90 2/20/2026