import 'dart:convert'; import 'dart:io'; /// Generate JSON output for untranslated messages with English values /// for quick translation in ChatGPT /// /// Usage: dart bin/untranslated_messages.dart [locale?] /// /// Example: dart bin/untranslated_messages.dart /// /// or with specific locale (e.g. bn (Bengali)) /// /// Example: dart bin/untranslated_messages.dart bn void main(List args) { final file = jsonDecode( File('untranslated_messages.json').readAsStringSync(), ) as Map; final englishMessages = jsonDecode(File('lib/l10n/app_en.arb').readAsStringSync()) as Map; final messagesWithValues = {}; for (final MapEntry(key: locale, value: messages) in file.entries) { messagesWithValues[locale] = Map.fromEntries( messages .map( (message) => MapEntry(message, englishMessages[message]), ) .toList() .cast>(), ); } print( const JsonEncoder.withIndent(' ').convert( args.isNotEmpty ? messagesWithValues[args.first] : messagesWithValues, ), ); }