generateContent method

String generateContent(
  1. List<LocalizationSheet> sheets,
  2. String className,
  3. bool includeFlutterDelegates
)

Generate full main class file content as String (CLI mode).

Includes file header, flutter imports, per-sheet imports, class, delegate.

Implementation

String generateContent(
  List<LocalizationSheet> sheets,
  String className,
  bool includeFlutterDelegates,
) {
  final buffer = StringBuffer();

  buffer.writeln('// GENERATED CODE - DO NOT MODIFY BY HAND');
  buffer.writeln('// Generated by Excel Translator');
  buffer.writeln();

  if (includeFlutterDelegates) {
    buffer.writeln("import 'package:flutter/material.dart';");
    buffer.writeln("import 'package:flutter/cupertino.dart';");
    buffer.writeln(
      "import 'package:excel_translator/excel_translator.dart';",
    );
    buffer.writeln("import 'dart:ui' show PlatformDispatcher;");
  }

  for (final sheet in sheets) {
    final fileName = StringUtils.sanitizeFileName(sheet.name);
    buffer.writeln("import '${fileName}_localizations.dart';");
  }
  buffer.writeln();

  buffer.write(generateClassAndDelegate(sheets, className, includeFlutterDelegates));

  return buffer.toString();
}