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