blob: 78cb5f097dbadf8bcfc9a7bfd8ca5a0548a75476 [file] [log] [blame]
// 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);
if (actualLocale == null) return null;
return _findExact(actualLocale);
}