Releases: SriNKast/amount_localizer
Release list
v2.0.0
Breaking changes
-
Removed
DeviceRegionService. Init is now a single call on the headline class:// Before (1.x) await DeviceRegionService.initializeAndApply(); // After (2.0) await AmountLocalizer.ensureInitialized();
-
Removed the top-level
DeviceRegionServiceexport from the public barrel. The platform bridge is now a library-private implementation detail. -
Tests can reach the underlying
MethodChannelvia@visibleForTesting AmountLocalizer.debugChannel.
Migration
Replace every DeviceRegionService.initializeAndApply() callsite with AmountLocalizer.ensureInitialized(). Same semantics, same return type (Future<String?>), same best-effort / never-throws contract.
Install
dependencies:
amount_localizer: ^2.0.0📦 pub.dev: https://pub.dev/packages/amount_localizer/versions/2.0.0
Release v1.0.0
First stable release of amount_localizer — a locale-aware amount formatter for Flutter with a native bridge that reads the device's true Region setting.
Why
Flutter's PlatformDispatcher.instance.locale only exposes the language locale. On an English-language iPhone with Region = Brazil, Dart sees en_US, but the numeric keyboard emits , for the decimal. Users in that setup can't type an amount because the display formats with . but the keyboard produces ,. This plugin closes that gap.
What's inside
AmountInputLocale— canonical enum of numeric formats (1,234.56/1.234,56/1 234,56/ Indian lakhs / …) with country andLocaleresolvers.AmountLocalizer— cachedintl-backed formatter with banking defaults and a.localizedAmountextension onObject.DeviceRegionService— one call at app startup that reads the device region over aMethodChanneland applies it toAmountInputLocale.regionOverride.
Platforms
- iOS 12+ — reads
Locale.current.region(iOS 16+) /regionCode(older). - Android 21+ — reads
Locale.getDefault(Locale.Category.FORMAT).country.
Stability
First stable release. No API changes vs 0.1.1 — the public surface is now covered by semver, so any breaking change from here on will require a 2.0.0.
Install
dependencies:
amount_localizer: ^1.0.0