Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: pkg/intl/test/message_extraction/make_hardcoded_translation.dart

Issue 23596007: Remove usage of dart:json. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase. Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env dart 1 #!/usr/bin/env dart
2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
3 // for details. All rights reserved. Use of this source code is governed by a 3 // for details. All rights reserved. Use of this source code is governed by a
4 // BSD-style license that can be found in the LICENSE file. 4 // BSD-style license that can be found in the LICENSE file.
5 5
6 /** 6 /**
7 * This simulates a translation process, reading the messages generated 7 * This simulates a translation process, reading the messages generated
8 * from extract_message.dart for the files sample_with_messages.dart and 8 * from extract_message.dart for the files sample_with_messages.dart and
9 * part_of_sample_with_messages.dart and writing out hard-coded translations for 9 * part_of_sample_with_messages.dart and writing out hard-coded translations for
10 * German and French locales. 10 * German and French locales.
11 */ 11 */
12 12
13 import 'dart:convert';
13 import 'dart:io'; 14 import 'dart:io';
14 import 'dart:json' as json;
15 import 'package:path/path.dart' as path; 15 import 'package:path/path.dart' as path;
16 import 'package:args/args.dart'; 16 import 'package:args/args.dart';
17 import 'package:intl/src/intl_message.dart'; 17 import 'package:intl/src/intl_message.dart';
18 import 'package:serialization/serialization.dart'; 18 import 'package:serialization/serialization.dart';
19 19
20 /** 20 /**
21 * A serialization so that we can write out the more complex plural and 21 * A serialization so that we can write out the more complex plural and
22 * gender examples to JSON easily. This is a stopgap and should be replaced 22 * gender examples to JSON easily. This is a stopgap and should be replaced
23 * with a commonly used translation file format. 23 * with a commonly used translation file format.
24 */ 24 */
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 * Generate a translated json version from [originals] in [locale] looking 213 * Generate a translated json version from [originals] in [locale] looking
214 * up the translations in [translations]. 214 * up the translations in [translations].
215 */ 215 */
216 void translate(List originals, String locale, Map translations) { 216 void translate(List originals, String locale, Map translations) {
217 var translated = {"_locale" : locale}; 217 var translated = {"_locale" : locale};
218 for (var each in originals) { 218 for (var each in originals) {
219 var name = each["name"]; 219 var name = each["name"];
220 translated[name] = translations[name]; 220 translated[name] = translations[name];
221 } 221 }
222 var file = new File(path.join(targetDir, 'translation_$locale.json')); 222 var file = new File(path.join(targetDir, 'translation_$locale.json'));
223 file.writeAsStringSync(json.stringify(translated)); 223 file.writeAsStringSync(JSON.encode(translated));
224 } 224 }
225 225
226 main() { 226 main() {
227 var args = new Options().arguments; 227 var args = new Options().arguments;
228 if (args.length == 0) { 228 if (args.length == 0) {
229 print('Usage: generate_hardcoded_translation [--output-dir=<dir>] ' 229 print('Usage: generate_hardcoded_translation [--output-dir=<dir>] '
230 '[originalFile.json]'); 230 '[originalFile.json]');
231 exit(0); 231 exit(0);
232 } 232 }
233 var parser = new ArgParser(); 233 var parser = new ArgParser();
234 parser.addOption("output-dir", defaultsTo: '.', 234 parser.addOption("output-dir", defaultsTo: '.',
235 callback: (value) => targetDir = value); 235 callback: (value) => targetDir = value);
236 parser.parse(args); 236 parser.parse(args);
237 237
238 var fileArgs = args.where((x) => x.contains('.json')); 238 var fileArgs = args.where((x) => x.contains('.json'));
239 239
240 var messages = json.parse(new File(fileArgs.first).readAsStringSync()); 240 var messages = JSON.decode(new File(fileArgs.first).readAsStringSync());
241 translate(messages, "fr", french); 241 translate(messages, "fr", french);
242 translate(messages, "de_DE", german); 242 translate(messages, "de_DE", german);
243 } 243 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698