## Regenerating the i18n files The files in this directory are based on ../lib/stock_strings.dart which defines all of the localizable strings used by the stocks app. The stocks app uses the [Dart `intl` package](https://github.com/dart-lang/intl). Rebuilding everything requires two steps. With the `examples/stocks` as the current directory, generate `intl_messages.arb` from `lib/stock_strings.dart`: ``` flutter pub pub run intl_translation:extract_to_arb --output-dir=lib/i18n lib/stock_strings.dart ``` The `intl_messages.arb` file is a JSON format map with one entry for each `Intl.message()` function defined in `stock_strings.dart`. This file was used to create the English and Spanish localizations, `stocks_en.arb` and `stocks_es.arb`. The `intl_messages.arb` wasn't checked into the repository, since it only serves as a template for the other `.arb` files. With the `examples/stocks` as the current directory, generate a `stock_messages_<locale>.dart` for each `stocks_<locale>.arb` file and `stock_messages_all.dart`, which imports all of the messages files: ``` flutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i18n \ --generated-file-prefix=stock_ --no-use-deferred-loading lib/*.dart lib/i18n/stocks_*.arb ``` The `StockStrings` class uses the generated `initializeMessages()` function (`stock_messages_all.dart`) to load the localized messages and `Intl.message()` to look them up.