createInternationalization method

  1. @override
Future<void> createInternationalization(
  1. String projectName
)
override

Implementation

@override
Future<void> createInternationalization(String projectName) async {
  // Create application directory structure
  final applicationDir = Directory(path.join(projectName, 'lib/application'));
  if (!applicationDir.existsSync()) {
    applicationDir.createSync(recursive: true);
  }

  // Create l10n directory
  final l10nDir = Directory(path.join(projectName, 'lib/application/l10n'));
  if (!l10nDir.existsSync()) {
    l10nDir.createSync(recursive: true);
  }

  // Create generated directory
  final generatedDir = Directory(path.join(projectName, 'lib/application/generated'));
  if (!generatedDir.existsSync()) {
    generatedDir.createSync(recursive: true);
  }

  // Create l10n subdirectory in generated (intl_utils expects this)
  final generatedL10nDir = Directory(path.join(projectName, 'lib/application/generated/l10n'));
  if (!generatedL10nDir.existsSync()) {
    generatedL10nDir.createSync(recursive: true);
  }

  // Create app_localizations.dart file with correct import
  final appLocalizationsFile = File(path.join(projectName, 'lib/application/generated/l10n/app_localizations.dart'));
  appLocalizationsFile.writeAsStringSync(_generateAppLocalizationsContent());

  // Note: ARB files are generated by TemplateGenerator from template_contents.dart
  // This ensures a single source of truth for translations
}