Chromium Code Reviews| Index: lib/i18n/intl.dart |
| diff --git a/lib/i18n/intl.dart b/lib/i18n/intl.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1559779e1de8594a780e95b585ece613b6b26a12 |
| --- /dev/null |
| +++ b/lib/i18n/intl.dart |
| @@ -0,0 +1,59 @@ |
| +/** |
| + * 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. |
| + * |
| + */ |
| + |
| +#library('Intl'); |
| +#import('date_format.dart'); |
| +#import('message_format.dart'); |
| + |
| +class Intl { |
| + |
| + /** |
| + * As yet not clearly defined variable for holding onto our current locale, |
| + * which may actually be a list of locales, or have different information |
| + * for different aspects of internationalization (e.g. German locale but with |
| + * Canadian date format) |
| + * TODO(alanknight) Actually make this class do something with locales, |
| + * just a skeleton right now. |
| + */ |
| + var _locale; |
| + |
| + /** |
| + * Constructor |
| + */ |
| + Intl([this._locale]); |
| + |
| + /** |
| + * Methods to return appropriate format objects. |
| + */ |
| + DateFormat get date() => new DateFormat.date(); |
|
Emily Fortuna
2012/06/05 22:34:17
I'm sorry to keep bugging you about this indentati
Alan Knight
2012/06/06 22:05:58
If only the emacs mode actually worked...
Done.
|
| + DateFormat get time() => new DateFormat.time(); |
| + DateFormat get dateTime() => new DateFormat.dateTime(); |
| + MessageFormat get message() => new MessageFormat(); |
| + |
| + /** |
| + * Support methods for message formatting. |
| + */ |
| + String plural(num howMany, Map actions) { |
| + var desiredKey = howMany.toString(); |
| + for (var key in actions.getKeys()) { |
| + if(desiredKey == key) return actions[key]; |
| + } |
| + if (actions.containsKey('other')) { |
| + return actions['other']; |
| + } else { |
| + return ''; |
| + } |
| + } |
| + |
| + String select(String choice, Map actions) { |
| + for (var key in actions.getKeys()) { |
| + if (choice == key) return actions[key]; |
| + } |
| + return ''; |
| + } |
| + |
| +} |