translate function

Future<void> translate(
  1. String pathToInput,
  2. String pathToOutput,
  3. String apiKey,
  4. String? prompt,
)

Implementation

Future<void> translate(
  String pathToInput,
  String pathToOutput,
  String apiKey,
  String? prompt,
) async {
  final inputFile = File(pathToInput);
  if (!await inputFile.exists()) {
    throw Exception('Input file does not exist');
  }
  final content = await inputFile.readAsString();
  final model = GenerativeModel(
    model: 'gemini-2.5-pro-exp-03-25',
    apiKey: apiKey,
  );
  final basicPrompt = 'Translate the following text to English:';
  final finalPrompt = "${prompt ?? basicPrompt}: $content";
  final response = await model.generateContent([Content.text(finalPrompt)]);
  final translated = response.text;
  if (translated == null) {
    throw Exception('Failed to translate text');
  }

  // Remove code block delimiters if present.
  final cleanedTranslation = _stripCodeBlockDelimiters(translated);

  final outputFile = File(pathToOutput);
  await outputFile.writeAsString(cleanedTranslation);
}