intl_translation 0.20.1 copy "intl_translation: ^0.20.1" to clipboard
intl_translation: ^0.20.1 copied to clipboard

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

package:intl_translation Pub

Provides message extraction and code generation from translated messages for the intl package. It's a separate package so as to not require a dependency on analyzer for all users.

Extracting And Using Translated Messages #

When your program contains messages that need translation, these must be extracted from the program source, sent to human translators, and the results need to be incorporated.

To extract messages, run the extract_to_arb.dart program.

dart run intl_translation:extract_to_arb --output-dir=target/directory \
    my_program.dart more_of_my_program.dart

This supports wildcards. For example, to extract messages from a series of files in path lib/**/*.dart, you can run

dart run intl_translation:extract_to_arb --output-dir=target/directory
      lib/**/*.dart

This will produce a file intl_messages.arb with the messages from all of these programs. This is an ARB format file which can be used for input to translation tools like Localizely or Lyrebird. The resulting translations can be used to generate a set of libraries using the generate_from_arb.dart program.

This expects to receive a series of files, one per locale.

dart run intl_translation:generate_from_arb --generated-file-prefix=<prefix> \
    <my_dart_files> <translated_ARB_files>

This will generate Dart libraries, one per locale, which contain the translated versions. Your Dart libraries can import the primary file, named <prefix>messages_all.dart, and then call the initialization for a specific locale. Once that's done, any Intl.message calls made in the context of that locale will automatically print the translated version instead of the original.

import "my_prefix_messages_all.dart";
...
initializeMessages("dk").then(printSomeMessages);

Once the Future returned from the initialization call completes, the message data is available.

104
likes
120
points
75.2k
downloads

Publisher

verified publisherdart.dev

Weekly Downloads

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

Repository (GitHub)
View/report issues
Contributing

Topics

#i18n #intl

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

analyzer, args, dart_style, intl, package_config, path, pub_semver

More

Packages that depend on intl_translation