generateLocaleProvider static method
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();
}
}
''';
}