Bogoware.Localization.AspNetCore
0.2.0
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
<PackageReference Include="Bogoware.Localization.AspNetCore" Version="0.2.0" />
<PackageVersion Include="Bogoware.Localization.AspNetCore" Version="0.2.0" />
<PackageReference Include="Bogoware.Localization.AspNetCore" />
paket add Bogoware.Localization.AspNetCore --version 0.2.0
#r "nuget: Bogoware.Localization.AspNetCore, 0.2.0"
#:package Bogoware.Localization.AspNetCore@0.2.0
#addin nuget:?package=Bogoware.Localization.AspNetCore&version=0.2.0
#tool nuget:?package=Bogoware.Localization.AspNetCore&version=0.2.0
Bogoware.Localization
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.AbstractionsandMicrosoft.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
| Product | Versions 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. |
-
net10.0
- Bogoware.Localization (>= 0.2.0)
-
net8.0
- Bogoware.Localization (>= 0.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.