PackageTrack
Sign in Get early access

amount_localizer

Locale-aware amount formatter with a native bridge that reads the device's true Region setting — the one that drives the numeric keyboard's decimal key.

2.0.1 SriNKast/amount_localizer

What this package is like to depend on

Last release 1 months ago

10 Jul 2026

Too new to tell

only 1 release windows

Nearly every release is documented

notes for 4 of 4 stable releases

Nothing withdrawn

no release was ever pulled

1 months old

4 releases · first in 2026

4 releases in the last 12 months

see the full history below

Release timeline

4 releases · Jul 2026 to Jul 2026
Release Pre-release

Releases

latest 4
  1. 2.0.1 10 Jul 2026
    Release notes

    v2.0.1 — add 26 missing ISO 3166-1 country codes

    Open source →
    Release notes

    Additive

    • Expand AmountInputLocale._byCountry coverage. No API changes; countries previously falling back to commaGroupDotDecimal now resolve to their CLDR-appropriate format:
      • commaGroupDotDecimal: BQ, CW, SX (Dutch Caribbean, USD in practice); TK, AS, GU, MP (Oceania US-influenced); AQ, HM (uninhabited, neutral default).
      • dotGroupCommaDecimal: AW (Aruba, nl); GL (Greenland, da/kl).
      • spaceGroupCommaDecimal: GF, MF, BL, PM, RE, YT, NC, PF, WF, TF (French overseas); AX (Åland, sv/fi); BV (Bouvet, Norwegian territory).
    Open source →
  2. 2.0.0 08 Jul 2026
    Release notes

    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 DeviceRegionService export from the public barrel. The platform bridge is now a library-private implementation detail.

    • Tests can reach the underlying MethodChannel via @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

    Open source →
    Release notes

    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 DeviceRegionService export from the public barrel. The platform bridge is now a library-private implementation detail. Tests can still reach the underlying MethodChannel via @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.
    Open source →
  3. 1.0.0 07 Jul 2026
    Release notes

    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 and Locale resolvers.
    • AmountLocalizer — cached intl-backed formatter with banking defaults and a .localizedAmount extension on Object.
    • DeviceRegionService — one call at app startup that reads the device region over a MethodChannel and applies it to AmountInputLocale.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
    Open source →
    Release notes
    • 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.
    Open source →
  4. 0.1.0 07 Jul 2026
    Release notes
    • Initial release.
    • AmountInputLocale — canonical numeric-format enum with country/locale resolution.
    • AmountLocalizer — cached, locale-aware amount formatter.
    • DeviceRegionService — native bridge that reads the device's true Region / format-locale country and applies it to AmountInputLocale.regionOverride.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive