| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// This imports all of the different message libraries and provides an |
| /// [initializeMessages] function that sets up the lookup for a particular |
| /// library. |
| library messages_all; |
| |
| import 'dart:async'; |
| import 'package:intl/message_lookup_by_library.dart'; |
| import 'package:intl/src/intl_helpers.dart'; |
| import 'messages_th_th.dart' as th_TH; |
| import 'messages_de.dart' as de; |
| import 'package:intl/intl.dart'; |
| |
| // TODO(alanknight): Use lazy loading of the requested library. |
| MessageLookupByLibrary _findExact(localeName) { |
| switch (localeName) { |
| case 'th_TH': |
| return th_TH.messages; |
| case 'de': |
| return de.messages; |
| default: |
| return null; |
| } |
| } |
| |
| initializeMessages(localeName) { |
| initializeInternalMessageLookup(() => new CompositeMessageLookup()); |
| messageLookup.addLocale(localeName, _findGeneratedMessagesFor); |
| return new Future.value(); |
| } |
| |
| MessageLookupByLibrary _findGeneratedMessagesFor(locale) { |
| var actualLocale = Intl.verifiedLocale(locale, (x) => _findExact(x) != null, |
| onFailure: (_) => null); |
| if (actualLocale == null) return null; |
| return _findExact(actualLocale); |
| } |