createInternationalization method
Future<void>
createInternationalization(
- 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
}