OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * This provides facilities for Internationalization that are only available | 6 * This provides facilities for Internationalization that are only available |
7 * when running in the web browser. You should import only one of this or | 7 * when running in the web browser. You should import only one of this or |
8 * intl_standalone.dart. Right now the only thing provided here is the | 8 * intl_standalone.dart. Right now the only thing provided here is the |
9 * ability to find the default locale from the browser. | 9 * ability to find the default locale from the browser. |
10 */ | 10 */ |
11 | 11 |
12 library intl_browser; | 12 library intl_browser; |
13 | 13 |
14 import "dart:async"; | 14 import "dart:async"; |
15 import "dart:html"; | 15 import "dart:html"; |
16 import "intl.dart"; | 16 import "intl.dart"; |
17 | 17 |
18 // TODO(alanknight): The need to do this by forcing the user to specially | 18 // TODO(alanknight): The need to do this by forcing the user to specially |
19 // import a particular library is a horrible hack, only done because there | 19 // import a particular library is a horrible hack, only done because there |
20 // seems to be no graceful way to do this at all. Either mirror access on | 20 // seems to be no graceful way to do this at all. Either mirror access on |
21 // dart2js or the ability to do spawnUri in the browser would be promising | 21 // dart2js or the ability to do spawnUri in the browser would be promising |
22 // as ways to get rid of this requirement. | 22 // as ways to get rid of this requirement. |
23 /** | 23 /** |
24 * Find the system locale, accessed as window.navigator.language, and | 24 * Find the system locale, accessed as window.navigator.language, and |
25 * set it as the default for internationalization operations in the | 25 * set it as the default for internationalization operations in the |
26 * [Intl.systemLocale] variable. | 26 * [Intl.systemLocale] variable. |
27 */ | 27 */ |
28 Future<String> findSystemLocale() { | 28 Future<String> findSystemLocale() { |
29 Intl.systemLocale = Intl.canonicalizedLocale(window.navigator.language); | 29 Intl.systemLocale = Intl.canonicalizedLocale(window.navigator.language); |
30 return new Future.immediate(Intl.systemLocale); | 30 return new Future.value(Intl.systemLocale); |
31 } | 31 } |
OLD | NEW |