generateCompleteSetup method

Future<void> generateCompleteSetup({
  1. required List<String> supportedLanguages,
  2. required Map<String, Map<String, dynamic>> translations,
  3. bool generateExtensions = true,
  4. bool updatePubspec = true,
  5. bool generateL10nYaml = true,
})

Generates complete localization setup for a Flutter project

Implementation

Future<void> generateCompleteSetup({
  required List<String> supportedLanguages,
  required Map<String, Map<String, dynamic>> translations,
  bool generateExtensions = true,
  bool updatePubspec = true,
  bool generateL10nYaml = true,
}) async {
  if (verbose) {
    print('🏗️ Generating complete localization setup...');
  }

  // Ensure output directory exists
  final outputDir = Directory(outputDirectory);
  if (!outputDir.existsSync()) {
    outputDir.createSync(recursive: true);
  }

  // Generate ARB files for each language
  await _generateArbFiles(translations);

  // Generate l10n.yaml configuration
  if (generateL10nYaml) {
    await _generateL10nYaml(supportedLanguages);
  }

  // Update pubspec.yaml with necessary dependencies
  if (updatePubspec) {
    await _updatePubspecYaml();
  }

  // Generate helper extensions and utilities
  if (generateExtensions) {
    await _generateHelperExtensions(supportedLanguages);
    await _generateLocalizationHelpers();
  }

  // Generate app localization delegate
  await _generateAppLocalizationDelegate(supportedLanguages);

  // Generate example main.dart updates
  await _generateMainDartExample(supportedLanguages);

  if (verbose) {
    print('✅ Complete localization setup generated successfully!');
  }
}