| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 is a program with various [Intl.message] messages. It just prints | 6 * This is a program with various [Intl.message] messages. It just prints |
| 7 * all of them, and is used for testing of message extraction, translation, | 7 * all of them, and is used for testing of message extraction, translation, |
| 8 * and code generation. | 8 * and code generation. |
| 9 */ | 9 */ |
| 10 library sample; | 10 library sample; |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 // This is unremarkable in English, but the translated versions will contain | 66 // This is unremarkable in English, but the translated versions will contain |
| 67 // characters that ought to be escaped during code generation. | 67 // characters that ought to be escaped during code generation. |
| 68 escapable() => Intl.message("Escapable characters here: ", name: "escapable"); | 68 escapable() => Intl.message("Escapable characters here: ", name: "escapable"); |
| 69 | 69 |
| 70 outerPlural(n) => Intl.plural(n, zero: 'none', one: 'one', other: 'some', | 70 outerPlural(n) => Intl.plural(n, zero: 'none', one: 'one', other: 'some', |
| 71 name: 'outerPlural', desc: 'A plural with no enclosing message', args: [n]); | 71 name: 'outerPlural', desc: 'A plural with no enclosing message', args: [n]); |
| 72 | 72 |
| 73 outerGender(g) => Intl.gender(g, male: 'm', female: 'f', other: 'o', | 73 outerGender(g) => Intl.gender(g, male: 'm', female: 'f', other: 'o', |
| 74 name: 'outerGender', desc: 'A gender with no enclosing message', args: [g]); | 74 name: 'outerGender', desc: 'A gender with no enclosing message', args: [g]); |
| 75 | 75 |
| 76 pluralThatFailsParsing(noOfThings) => Intl.plural(noOfThings, |
| 77 one: "1 thing:", |
| 78 other: "$noOfThings things:", |
| 79 name: "pluralThatFailsParsing", |
| 80 args: [noOfThings], |
| 81 desc: "How many things are there?"); |
| 82 |
| 76 // A standalone gender message where we don't provide name or args. This should | 83 // A standalone gender message where we don't provide name or args. This should |
| 77 // be rejected by validation code. | 84 // be rejected by validation code. |
| 78 invalidOuterGender(g) => Intl.gender(g, other: 'o'); | 85 invalidOuterGender(g) => Intl.gender(g, other: 'o'); |
| 79 | 86 |
| 80 // A general select | 87 // A general select |
| 81 outerSelect(currency, amount) => Intl.select(currency, | 88 outerSelect(currency, amount) => Intl.select(currency, |
| 82 { | 89 { |
| 83 "CDN" : "$amount Canadian dollars", | 90 "CDN" : "$amount Canadian dollars", |
| 84 "other" : "$amount some currency or other." | 91 "other" : "$amount some currency or other." |
| 85 }, | 92 }, |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 | 171 |
| 165 printOut(outerPlural(0)); | 172 printOut(outerPlural(0)); |
| 166 printOut(outerPlural(1)); | 173 printOut(outerPlural(1)); |
| 167 printOut(outerGender("male")); | 174 printOut(outerGender("male")); |
| 168 printOut(outerGender("female")); | 175 printOut(outerGender("female")); |
| 169 printOut(nestedOuter(7, "male")); | 176 printOut(nestedOuter(7, "male")); |
| 170 printOut(outerSelect("CDN", 7)); | 177 printOut(outerSelect("CDN", 7)); |
| 171 printOut(outerSelect("EUR", 5)); | 178 printOut(outerSelect("EUR", 5)); |
| 172 printOut(nestedSelect("CDN", 1)); | 179 printOut(nestedSelect("CDN", 1)); |
| 173 printOut(nestedSelect("CDN", 2)); | 180 printOut(nestedSelect("CDN", 2)); |
| 181 printOut(pluralThatFailsParsing(1)); |
| 182 printOut(pluralThatFailsParsing(2)); |
| 174 }); | 183 }); |
| 175 } | 184 } |
| 176 | 185 |
| 177 var localeToUse = 'en_US'; | 186 var localeToUse = 'en_US'; |
| 178 | 187 |
| 179 main() { | 188 main() { |
| 180 var fr = new Intl("fr"); | 189 var fr = new Intl("fr"); |
| 181 var english = new Intl("en_US"); | 190 var english = new Intl("en_US"); |
| 182 var de = new Intl("de_DE"); | 191 var de = new Intl("de_DE"); |
| 183 // Throw in an initialize of a null locale to make sure it doesn't throw. | 192 // Throw in an initialize of a null locale to make sure it doesn't throw. |
| 184 initializeMessages(null); | 193 initializeMessages(null); |
| 185 var f1 = initializeMessages(fr.locale).then((_) => printStuff(fr)); | 194 var f1 = initializeMessages(fr.locale).then((_) => printStuff(fr)); |
| 186 var f2 = initializeMessages(de.locale).then((_) => printStuff(de)); | 195 var f2 = initializeMessages(de.locale).then((_) => printStuff(de)); |
| 187 printStuff(english); | 196 printStuff(english); |
| 188 return Future.wait([f1, f2]); | 197 return Future.wait([f1, f2]); |
| 189 } | 198 } |
| OLD | NEW |