dev
dart 40 lines 1.13 KB
Raw
1 import 'dart:io';
2
3 import './print_verbose_dummy.dart';
4
5 import 'utils/translation/arb_file_utils.dart';
6 import 'utils/translation/translation_constants.dart';
7 import 'utils/translation/translation_utils.dart';
8
9 void main(List<String> args) async {
10 print('Checking Consistency of all arb-files. Default: $defaultLang');
11
12 final doFix = args.contains("--fix");
13
14 if (doFix)
15 print('Auto fixing enabled!\n');
16 else
17 print('Auto fixing disabled!\nRun with arg "--fix" to enable autofix\n');
18
19 final fileName = getArbFileName(defaultLang);
20 final file = File(fileName);
21 final arbObj = readArbFile(file);
22
23 for (var lang in langs) {
24 final fileName = getArbFileName(lang);
25 final missingKeys = getMissingKeysInArbFile(fileName, arbObj.keys);
26 if (missingKeys.isNotEmpty) {
27 final missingDefaults = <String, String>{};
28
29 missingKeys.forEach((key) {
30 print('Missing in "$lang": "$key"');
31 if (doFix) missingDefaults[key] = arbObj[key] as String;
32 });
33
34 if (missingDefaults.isNotEmpty) {
35 await appendTranslations(lang, missingDefaults);
36 alphabetizeArbFile(fileName);
37 }
38 }
39 }
40 }