tree: 242f36e825e124ff2458c31244b01fc4fbd169ce [path history] [tgz]
  1. example/
  2. hook/
  3. lib/
  4. test/
  5. tool/
  6. analysis_options.yaml
  7. AUTHORS
  8. CHANGELOG.md
  9. dart_test.yaml
  10. LICENSE
  11. pubspec.yaml
  12. README.md
pkgs/intl4x/README.md

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 formatList formatDate formatCollationDisplay namesPlural Rules
ECMA402 (web):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:

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 EcmaPolicy.

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(
    ecmaPolicy: const AlwaysEcma(),
    locale: const Locale(language: 'en', region: 'US'),
  ).numberFormat(NumberFormatOptions.percent());

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