PackageTrack
Sign in Get early access

intl_translation

Contains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.

0.22.0 69K downloads/mo #1294 most downloaded on pub.dev dart-lang/i18n

What this package is like to depend on

Last release 1 months ago

15 Jul 2026

Release timing varies

gaps range from 2 months to 2.3 years

Nearly every release is documented

notes for 30 of 32 stable releases

Nothing withdrawn

no release was ever pulled

10 years old

32 releases · first in 2016

2 releases in the last 12 months

see the full history below

Release timeline

32 releases · Sep 2016 to Jul 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 32
  1. 0.22.0 15 Jul 2026
    Release notes
    • Upgrade analyzer to ^12.1.0.
    • Escape text direction code points in generated code.
    • Upgrade analyzer to ^14.0.0.
    Open source →
    Release notes
    • Upgrade analyzer to ^12.1.0.
      • Escape text direction code points in generated code.
      • Upgrade analyzer to ^14.0.0.
    Open source →
  2. 0.21.0 19 Sep 2025
    Release notes
    • BREAKING CHANGE: Update dart_style to ^3.0.0
      • Allow analyzer >=6.3.0 <8.0.0
      • Upgrade SDK constraint to ^3.9.0.
    Open source →
  3. 0.20.1 13 Nov 2024
    Release notes
    • Add topics to pubspec.yaml
      • Update to dart_style 2.3.7. bin/make_examples_const.dartandrewrite_intl_messages.dartwill now look for a surrounding.dart_tool/package_config.json` file to infer the language version of the files updated by the script.
      • Upgrade dep on package:intl.
    Open source →
  4. 0.20.0 14 May 2024
    Release notes
    • Throw if the Intl.select arg is not in the list of args.
      • Support package:intl 0.19.0.
      • Require Dart 3.0.
    Open source →
  5. 0.19.0 10 Jan 2024
    Release notes
    • Always generate null safe code, remove null-safe flag.
      • Add example for he locale.
      • MessageExtraction: add set of error codes to be ignored in analysis.
      • Upgrade dependencies on analyzer and lints.
      • Fix pubspec repository url.
      • Fix error in toString of Messages.
    Open source →
  6. 0.18.2 18 Apr 2023

    Nothing published for this version

  7. 0.18.1 23 Feb 2023
    Release notes
    • Update analyzer dependency to 5.2.0.
      • Address analyzer deprecations.
      • Require Dart 2.18.
      • Fix issue #182, enabling escaping of curly brackets with a single quote as per the ICU message format specs.
      • Require package:intl ^0.18.0.
    Open source →
  8. 0.18.0 02 Dec 2022
    Release notes
    • Add support for Flutter locale split.
      • Allow null safe code when parsing.
      • Update analyzer dependency.
      • Upgrade to package:lints/recommended.yaml.
      • Initial null safety conversion.
      • Remove petit_parser dependency.
      • Address analyzer deprecations, see #168.
      • Migrate to null safety.
    Open source →
  9. 0.17.10 07 Apr 2020
    Release notes
    • Update petitparser dependency.
    Open source →
  10. 0.17.10+1 24 Aug 2020
    Release notes
    • Generate code that passes analysis with implicit-casts: false.
      • Allow use of MessageExtraction and MessageGeneration without File.
      • Move arb generation from bin to lib so it's available to external packages.
      • Update analyzer dependency.
    Open source →
  11. 0.17.9 10 Jan 2020
    Release notes
    • Fix pub complaint trying to precompile a library file in bin by moving that file to lib/src.
    Open source →
  12. 0.17.8 06 Jan 2020
    Release notes
    • Add --sources-list-files and --translations-list-file to ARB handling utilities to read the input names from files. This is useful for large numbers of inputs.
    Open source →
  13. 0.17.7 05 Sep 2019
    Release notes
    • Fixed the pubspec to allow intl version 0.16.*
    Open source →
  14. 0.17.6 26 Aug 2019
    Release notes
    • Strip indentation from generated JSON output to improve codesize.
      • Make generated code not trigger most lints, either by fixing issues or by using lots of ignore_for_file directives.
      • Added --with-source-text option to include the source text in the extracted ARB metadata.
    Open source →
  15. 0.17.5 28 May 2019
    Release notes
    • Allow multiple ARB files with the same locale and combine their translations.
      • Update analyzer constraints and stop using deprecated elements2 API.
    Open source →
  16. 0.17.4 26 Apr 2019
    Release notes
    • Adds --suppress-meta-data on ARB extraction.
      • Allow Dart enums in an Intl.select call. The map of cases can either take enums directly, or the short string name of the enum.
      • Handles triple quotes in a translation properly when generating messages as JSON.
    Open source →
  17. 0.17.3 12 Feb 2019
    Release notes
    • Make require_description also fail for empty strings.
      • Update analyzer dependency.
    Open source →
  18. 0.17.2 01 Oct 2018
    Release notes
    • Changes to support new mixin syntax.
    Open source →
  19. 0.17.1 28 Sep 2018
    Release notes
    • Added --suppress-last-modified flag to suppress output of the @@last_modified entry in output file.
      • Add a "package" field in MessageGeneration that can be useful for emitting additional information about e.g. which locales are available and which package we're generating for. Also makes libraryName public.
      • Silence unnecessary_new lint warnings in generated code.
      • Add --require_description command line option to message extraction.
    Open source →
  20. 0.17.0 17 Jul 2018
    Release notes
    • Make year and month not zoneable, as this is a runtime error in ICU4X.
    Open source →
    Release notes
    • Fully move to Dart 2.0
      • Delete the transformer and related code.
      • Minor update to analyzer API.
      • Update pubspec version requirements
    Open source →
  21. 0.16.8 05 Jul 2018
    Release notes
    • Allow message extraction to find messages from prefixed uses of Intl.
      • Move analyzer dependency up to 0.33.0
    Open source →
  22. 0.16.7 17 May 2018
    Release notes
    • Allow message extraction to find messages in class field declarations and top-level declarations.
      • Fix incorrect name and parameters propagation during extraction phase.
      • Still more uppercase constant removal.
    Open source →
  23. 0.16.6 11 Apr 2018
    Release notes
    • More uppercase constant removal.
    Open source →
  24. 0.16.5 10 Apr 2018
    Release notes
    • Replace uses of JSON constant for Dart 2 compatibility.
    Open source →
  25. 0.16.4 21 Mar 2018
    Release notes
    • Update Intl compatibility requirements. This requires at least 0.15.3 of Intl, because the tests contain messages with the new "skip" parameter.
    Open source →
  26. 0.16.3 12 Mar 2018
    Release notes
    • Fix https://github.com/flutter/flutter/issues/15458 - specify concrete type for generated map.
    Open source →
  27. 0.16.2 09 Mar 2018
    Release notes
    • Handle fallback better when we provide translations for locale "xx" but initialize "xx_YY", initializing "xx". Previously we would do nothing.
    • Skip extracting messages that pass the 'skip' argument to Intl calls.
    • Move analyzer dependency up to 0.32.0
    Open source →
  28. 0.16.1 23 Nov 2017
    Release notes
    • Add @@last_modified to extracted ARB files.
    • Handle @@locale in translated ARB files properly, and adds a --locale parameter to specify the locale.
    • Adds a --output-file parameter to extract_to_arb
    • Indent the output file for ARB for better readability.
    • A couple of tweaks to satisfy Flutter's default linter rules when run on the generated code.
    Open source →
  29. 0.16.0 19 Oct 2017
    Release notes
    • Add class modifiers.
    Open source →
    Release notes
    • BREAKING CHANGE: Require that the examples to message/plural/gender/select calls be const. DDC does not optimize non-const maps well, so it's a significant performance issue if these are non-const.
      • Added a utility to convert examples in calls to be const. See bin/make_examples_const.dart
      • Add a codegen_mode flag, which can be either release or debug. In release mode a missing translation throws an exception, in debug mode it returns the original text, which was the previous behavior.
      • Add support for generating translated messages as JSON rather than methods. This can significantly improve dart2js compile times for applications with many translations. The JSON is a literal string in the deferred library, so usage doesn't change at all.
    Open source →
  30. 0.15.0 05 Jun 2017
    Release notes
    • API overhaul:
      • Getting rid of the Intl object, as it only served as a wrapper of Locale. So the ...Format objects are now the top-level things.
      • Remove most ...Options objects from the public API, as they make it more verbose. Users now directly input the options to the top-level ...Format constructor.
      • Use => instead of block bodies for methods where possible.
      • Fix some imports
      • Add documentation to some classes.
      • Remove some methods which are not implemented in ICU4X
    Open source →
    Release notes
    • Change non-transformer message rewriting to preserve the original message as much as possible. Adds --useStringSubstitution command-line arg.
      • Change non-transformer message rewriting to allow multiple input files to be specified on the command line. Adds --replace flag to ignore --output option and just replace files.
      • Make non-transformer message rewriting also run dartfmt on the output.
      • Make message extraction more robust: error message instead of stack trace when an Intl call is made outside a method, when a prefixed expression is used in an interpolation, and when a non-required example Map is not a literal.
      • Make message extraction more robust: if parsing triggers an exception then report it as an error instead of exiting.
      • Move barback to being a normal rather than a dev dependency.
      • Add a check for invalid select keywords.
      • Added a post-message construction validate, moved IntlMessageExtractionException into intl_message.dart
      • Make use of analyzer's new AstFactory class (requires analyzer version 0.29.1).
      • Fix error in transformer, pass the path instead of the asset id.
      • Prefer an explicit =0/=1/=2 to a ZERO/ONE/TWO if both are present. We don't distinguish the two as Intl.message arguments, we just have the "one" parameter, which we confusingly write out as =1. Tools interpret these differently, and in particular, a ONE clause is used for the zero case if there's no explicit zero. Translation tools may implement this by filling in both ZERO and ONE values with the OTHER clause when there's no ZERO provided, resulting in a translation with both =1 and ONE clauses which are different. We should prefer the explicit =1 in that case. In future we may distinguish the different forms, but that would probably break existing translations.
      • Switch to using package:test
      • Give a more specific type in the generated code to keep lints happy.
    Open source →
  31. 0.14.0 02 Sep 2016
    Release notes
    • Change timezone API, adding a dependency on package:timezone.
    Open source →
    Release notes
    • Split message extraction and code generation out into a separate package. Versioned to match the corresponding Intl version.
    Open source →
  32. 0.14.0+1 06 Sep 2016

    Nothing published for this version

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