generateLocaleProvider static method

String generateLocaleProvider(
  1. String projectName
)

Implementation

static String generateLocaleProvider(String projectName) {
  return '''
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

class LocaleProvider extends ChangeNotifier {
Locale _locale = const Locale('en');

Locale get locale => _locale;

LocaleProvider() {
  _loadLocale();
}

Future<void> _loadLocale() async {
  final prefs = await SharedPreferences.getInstance();
  final languageCode = prefs.getString('languageCode') ?? 'en';
  _locale = Locale(languageCode);
  notifyListeners();
}

Future<void> setLocale(Locale locale) async {
  if (_locale == locale) return;

  _locale = locale;
  notifyListeners();

  final prefs = await SharedPreferences.getInstance();
  await prefs.setString('languageCode', locale.languageCode);
}

void clearLocale() {
  _locale = const Locale('en');
  notifyListeners();
}
}
''';
}