arb_utils 0.8.3 arb_utils: ^0.8.3 copied to clipboard
A set of tools to work with .arb files (the preferred Dart way of dealing with i18n/l10n/translations)
example/arb_utils_example.dart
import 'dart:io';
import 'package:arb_utils/arb_utils.dart';
void gatherNewKeys() {
var mainARB = File('lib/l10n/intl_en.arb');
var oldARB = File('lib/l10n/old_translations/intl_en.arb');
var diffed = diffARBs(mainARB.readAsStringSync(), oldARB.readAsStringSync());
var newARB = File('lib/l10n/new_translations/intl_en.arb');
newARB.writeAsStringSync(sortARB(diffed));
}
void gatherNewAndEditedKeys() {
Process.runSync('git', 'checkout latestVersionBranch'.split(' '));
var mainARBOld = File('lib/l10n/intl_en.arb').readAsStringSync();
Process.runSync('git', 'checkout master'.split(' '));
var mainARBNew = File('lib/l10n/intl_en.arb').readAsStringSync();
File('lib/l10n/new_translations/intl_en.arb')
.writeAsStringSync(sortARB(processNewKeys(mainARBNew, mainARBOld)));
}
void mergeNewTranslations() {
var mainARB = File('lib/l10n/intl_en.arb');
var newARB = File('lib/l10n/new_translations/intl_en.arb');
var merged = mergeARBs(mainARB.readAsStringSync(), newARB.readAsStringSync());
mainARB.writeAsStringSync(sortARB(merged));
}