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