Releases: Barbatos-Labs/Barbatos.i18n
Release list
v1.1.4: MAUI XAML Namespace Parity
v1.1.4: MAUI XAML Namespace Parity
🚀 Barbatos.i18n v1.1.4 is a small consistency fix that brings Barbatos.i18n.Maui in line with Barbatos.i18n.Wpf, so both platforms share the same clean XAML namespace syntax.
✨ What's Changed
- Fixes / Consistency:
- Registered
xmlns:i18n="http://schemas.barbatos.co/i18n/2026/xaml"forBarbatos.i18n.MauiviaXmlnsDefinition/XmlnsPrefixassembly attributes. Previously onlyBarbatos.i18n.Wpfexposed this short URI-based namespace — MAUI consumers had to fall back to the verbosexmlns:i18n="clr-namespace:Barbatos.i18n.Maui;assembly=Barbatos.i18n.Maui"syntax. - Updated the MAUI sample (
MainPage.xaml) to use the new short-form namespace, matching the WPF sample. - No breaking changes — the old
clr-namespace:...;assembly=...syntax still resolves correctly and continues to work for anyone already using it.
- Registered
📦 Updating via NuGet
You can update your projects to use this latest version via the NuGet Package Manager:
dotnet add package Barbatos.i18n.Maui --version 1.1.4
# v1.1.3: Dynamic Supported Culture Detection
🚀 Barbatos.i18n v1.1.3 is a feature update that makes it easy to discover which cultures are available at runtime, so language-switcher UIs can be built without hardcoding the culture list.
✨ What's Changed
- Feature / Enhancements:
- Added
GetSupportedCultures()toILocalizationCultureManager. Returns the distinctCultureInfoset registered across your localization provider(s), so aComboBox/Pickerlanguage switcher can bind directly to it instead of hardcoding the culture list. - Added
GetOperatingSystemCultures()as a default interface method onILocalizationCultureManager, used as the fallback forGetSupportedCultures()when no localization sets are registered yet. Returns every specific culture known to the OS/ICU globalization data viaCultureInfo.GetCultures(CultureTypes.SpecificCultures), falling back further toCultureInfo.CurrentCultureif that data is unavailable (e.g. globalization-invariant mode on some mobile platforms). Since it ships as a default interface method, existingILocalizationCultureManagerimplementations get this behavior for free — no code changes required, fully non-breaking.
- Added
📦 Updating via NuGet
You can update your projects to use this latest version via the NuGet Package Manager:
dotnet add package Barbatos.i18n --version 1.1.3
v1.1.2: Strongly-typed RESX Keys & x:Static XAML Support
🚀 Barbatos.i18n v1.1.2 is a feature update that introduces strongly-typed RESX key patterns and improves XAML integration for a cleaner developer experience.
✨ What's Changed
- Feature / Enhancements:
- Added the
FromResource<TResource>(CultureInfo, string name)overload toLocalizationBuilder. This allows RESX sets to be registered under a custom short name (e.g.,nameof(Locales.Strings)) instead of the default fully-qualified type name. - Updated
Strings.csgeneration: Properties now returnnameof(PropertyName)as the lookup key. This enables the use of{x:Static locales:Strings.Test}directly in XAML to pass the correct key string to theStringLocalizerExtension.
- Added the
📦 Updating via NuGet
You can update your projects to use this latest version via the NuGet Package Manager:
dotnet add package Barbatos.i18n --version 1.1.2v1.1.1: Culture Synchronization Fixes & Format Enhancements
🚀 Barbatos.i18n v1.1.1 is a patch release focusing on fixing critical culture synchronization bugs and cleaning up the internal API.
🛠️ What's Changed
- Refactor: Redesign Culture Synchronization
- Removed the redundant
UseFormatCultureproperty fromLocalizationOptions. The library now relies entirely onFormatCultureBuilderto determine if a separate formatting culture is needed, making the API much cleaner. - Fixed an order-of-execution bug in
LocalizationCultureManager.SetCultureto ensure system cultures (CurrentCultureandCurrentUICulture) are correctly established before notifying localized providers.
- Removed the redundant
- Bug Fixes:
- Fixed an issue in the MAUI sample where
CultureInfo.CurrentCulturewas not updating alongsideCurrentUICulture, causing numbers and dates to remain in the fallback English format. AddedGetCultureManager()toMauiLocalizationas a Service Locator bridge to properly route culture updates. - Updated
StringLocalizerConverterandPluralStringLocalizerConverterunit tests to accurately test and assert based on the system'sCurrentCulture.
- Fixed an issue in the MAUI sample where
- Chore / Maintenance:
- Enforced standard
LFline endings andUTF-8(without BOM) encoding across all files in thesamplesandtestsdirectories for a perfectly clean codebase.
- Enforced standard
📦 Updating via NuGet
You can update your projects to use this latest version via the NuGet Package Manager:
dotnet add package Barbatos.i18n --version 1.1.1v1.1.0: Cross-Platform Expansion - Enter .NET MAUI
v1.1.0: Cross-Platform Expansion - Enter .NET MAUI
We are thrilled to announce that Barbatos.i18n is now fully cross-platform with official support for .NET MAUI!
🚀 What's New
- .NET MAUI Support: Introduced the
Barbatos.i18n.Mauipackage. You can now use the exact same declarative{i18n:...}localization syntax you loved in WPF directly inside your MAUI applications. - MAUI Initialization Extensions: Easily integrate i18n into your MAUI app lifecycle using
builder.UseStringLocalizer(...)andapp.UseMauiLocalization(). - MAUI XAML Tooling: Full port of
StringLocalizerExtension,PluralStringLocalizerExtension, andLocalizeConvertertailored for MAUI'sIMarkupExtension.
📚 Documentation & Developer Experience
- Cross-Platform Rebranding: Updated
README.md, NuGet metadata, and GitHub About to correctly reflect Barbatos.i18n as an ecosystem for MAUI, WPF, WebApi, WinForms, and CLI. - Comprehensive XAML Samples: Added an extensive collection of XAML use cases to the README, explicitly detailing:
- Pluralization bindings (
BindCount) - Custom
StringFormatprocessing - Namespace and Multi-Provider targetings
DataTemplatetranslations usingLocalizeConverter
- Pluralization bindings (
- Code-Behind Examples Cleanup: Simplified and clarified
CustomFormattingCultureBuilderusage (removed redundantClone()allocations) and improved the clarity of the C#ICompositeStringLocalizerexamples.
📦 Upgrading
Update your NuGet packages to 1.1.0. For MAUI projects, simply install Barbatos.i18n.Maui.
v1.0.1 - Fix symbols package
Fix
- Fixed symbols package (.snupkg) publishing — PDB files are now correctly
distributed via the symbols package only, not embedded in the main .nupkg - Fixed dead links in README (API Reference, LICENSE) on NuGet.org
- Improved NuGet package metadata (authors, descriptions, copyright)