package:intl4x Pub package publisher

A lightweight modular library for internationalization (i18n) functionality.

Features

  • Formatting for dates, numbers, and lists.
  • Collation.
  • Display names.

Status - experimental

We're actively iterating on the API for this package (please provide feedback via our issue tracker).

Number format List format Date format Collation Display names Plural Rules Case mapping
ECMA402 (web) :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
ICU4X (web/native) :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

Implementation and Goals

  • Wraps around ICU4X on native or web platforms.
  • Wraps around the built-in browser functionalities on the web.
    • Select which locales you want to use the browser for through an ``.

Example

The functionalities are called through getters on an Intl instance, i.e.

import 'package:intl4x/ecma_policy.dart';
import 'package:intl4x/intl4x.dart';
import 'package:intl4x/number_format.dart';

void main() {
  final numberFormat = Intl(
    : const AlwaysEcma(),
    locale: Locale.parse('en-US'),
  ).numberFormat(NumberFormatOptions.percent());

  print(numberFormat.format(0.5)); // prints 50%
}

Installation

The easiest setup is

dart pub add intl4x
dart run ...

This will download the binaries from Github