enableLocalization method

Future<void> enableLocalization({
  1. required String appFilePath,
  2. required String outputDir,
  3. required String outputFile,
})

Enables Flutter localization support inside the generated App.

Implementation

Future<void> enableLocalization({
  required String appFilePath,
  required String outputDir,
  required String outputFile,
}) async {
  const maintainer = SectionMaintainer();
  final importPath = p
      .relative(
        p.join(outputDir, outputFile),
        from: p.dirname(appFilePath),
      )
      .replaceAll(r'\', '/');

  await maintainer.appendToSection(
    filePath: appFilePath,
    marker: 'imports',
    content: "import '$importPath';",
  );

  await maintainer.appendToSection(
    filePath: appFilePath,
    marker: 'material_app',
    content: '''
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
''',
  );
}