arb_generator 0.0.3 copy "arb_generator: ^0.0.3" to clipboard
arb_generator: ^0.0.3 copied to clipboard

A dart tool which generates ARB files from CSV files.

arb_generator #

A dart tool which generates ARB files from CSV files.

Getting Started #

A CSV file of the form

keys description en de
myKey The conventional newborn programmer greeting Hello world! Hallo Welt!
welcome A welcome message Welcome {firstName}! Willkommen {firstName}!
numberMessages An info message about new messages count {count, plural, zero{You have no new messages} one{You have 1 new message} other{You have {count} new messages}} {count, plural, zero{Du hast keine neue Nachrichten} one{Du hast eine neue Nachricht} other{Du hast {count} neue Nachrichten}}
whoseBook A message determine whose book it is {sex, select, male{His book} female{Her book} other{Their book}} {sex, select, male{Sein Buch} female{Ihr Buch} other{Ihr Buch}}

is generated into the following ARB file

{
  "@@locale": "en",
  "myKey": "Hello world!",
  "@myKey": {
    "description": "The conventional newborn programmer greeting"
  },
  "welcome": "Welcome {firstName}!",
  "@welcome": {
    "description": "A welcome message"
  },
  "numberMessages": "{count, plural, zero{You have no new messages} one{You have 1 new message} other{You have {count} new messages}}",
  "@numberMessages": {
    "description": "An info message about new messages count"
  },
  "whoseBook": "{sex, select, male{His book} female{Her book} other{Their book}}",
  "@whoseBook": {
    "description": "A message determine whose book it is"
  }
}

This ARB file can then be converted into localization delegates using intl or intl_utils.

Add dependency #

Firstly, add the package as a dev dependency:

dev_dependencies: 
  arb_generator:

Define Settings #

Next define arb_generator package settings in pubspec.yaml. Note that input_filepath is the only required parameter.

arb_generator:
  input_filepath: "assets_dev/test.csv"
  output_directory: "lib/l10n"
  filename_prepend: "intl_"
  csv_settings:
    delimiter: ";"
    description_index: 1
    base_index: 2
Setting Description
input_filepath Required. A path to the input CSV file.
output_directory A directory to generate the output ARB file(s). Defaults to lib/l10n
filename_prepend Text to prepend to filename of generated files. Defaults to empty string.
csv_settings: delimiter A delimiter to separate columns in the input CSV file. Defaults to ,.
csv_settings: description_index The description column index. Defaults to null.
csv_settings: base_index The column index of the base language in the input CSV file. Defaults to 1.

Run package #

Ensure that your current working directory is the project root. Depending on your project, run one of the following commands:

dart run arb_generator

or

flutter pub run arb_generator

ARB files are then generated in output_dir.

Collaboration #

Spotted any issues? Please open an issue on GitHub! Would like to contribute a new language or feature? Fork the repo and submit a PR!

12
likes
130
pub points
72%
popularity

Publisher

verified publisherdefuncart.com

A dart tool which generates ARB files from CSV files.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flappy_translator, yaml

More

Packages that depend on arb_generator