generate static method

Future<void> generate({
  1. required String inputPath,
  2. required String outputDir,
  3. required List<String> languages,
  4. int batchSize = 20,
})

Generate localization files

Implementation

static Future<void> generate({
  required String inputPath,
  required String outputDir,
  required List<String> languages,
  int batchSize = 20,
}) async {
  final inputFile = File(inputPath);

  if (!inputFile.existsSync()) {
    throw Exception("Input file not found: $inputPath");
  }

  final jsonString = await inputFile.readAsString();
  Map<String, dynamic> data = json.decode(jsonString);

  for (final lang in languages) {
    print("\nšŸŒ Translating → $lang");

    final translated = await _translateMap(
      data,
      lang,
      batchSize,
    );

    final outputFile = File('$outputDir/$lang.json');

    await outputFile.writeAsString(
      const JsonEncoder.withIndent('  ').convert(translated),
    );

    print("āœ… Generated: ${outputFile.path}");
  }
}