exportComprehensiveReport method

Future<void> exportComprehensiveReport({
  1. required EnhancedLocalizationResult result,
  2. required String outputPath,
})

Exports comprehensive report

Implementation

Future<void> exportComprehensiveReport({
  required EnhancedLocalizationResult result,
  required String outputPath,
}) async {
  final reportData = {
    'timestamp': DateTime.now().toIso8601String(),
    'project_path': config.projectPath,
    'configuration': {
      'enhanced_features': {
        'auto_translation': enhancedConfig.enableAutoTranslation,
        'analytics': enhancedConfig.enableAnalytics,
        'code_generation': enhancedConfig.enableCodeGeneration,
        'target_languages': enhancedConfig.targetLanguages,
      },
      'scan_paths': config.scanPaths,
      'custom_ui_patterns': config.customUiPatterns,
    },
    'results': {
      'non_localized_strings': result.nonLocalizedStrings
          .map((s) => {
                'file': s.filePath,
                'line': s.lineNumber,
                'content': s.content,
                'context': s.context,
              })
          .toList(),
      'analytics': result.analytics != null
          ? {
              'coverage_percentage': result.analytics!.coveragePercentage,
              'total_strings': result.analytics!.totalStringsFound,
              'complexity_score': result.analytics!.complexityScore,
              'recommendations': result.analytics!.recommendations,
            }
          : null,
      'translations': result.translatedArbs?.keys.toList(),
    },
  };

  final file = File(outputPath);
  await file.writeAsString(JsonEncoder.withIndent('  ').convert(reportData));

  if (verbose) {
    print('📄 Comprehensive report exported to: $outputPath');
  }
}