| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'package:intl/date_symbol_data_custom.dart' as date_symbol_data_custom; |
| import 'package:intl/date_symbols.dart' as intl; |
| |
| import '../l10n/generated_date_localizations.dart' as date_localizations; |
| |
| /// Tracks if date i18n data has been loaded. |
| bool _dateIntlDataInitialized = false; |
| |
| /// Loads i18n data for dates if it hasn't been loaded yet. |
| /// |
| /// Only the first invocation of this function loads the data. Subsequent |
| /// invocations have no effect. |
| void loadDateIntlDataIfNotLoaded() { |
| if (!_dateIntlDataInitialized) { |
| date_localizations.dateSymbols |
| .forEach((String locale, intl.DateSymbols symbols) { |
| // Perform initialization. |
| assert(date_localizations.datePatterns.containsKey(locale)); |
| date_symbol_data_custom.initializeDateFormattingCustom( |
| locale: locale, |
| symbols: symbols, |
| patterns: date_localizations.datePatterns[locale], |
| ); |
| }); |
| _dateIntlDataInitialized = true; |
| } |
| } |