Files
sendico/frontend/pshared/lib/provider/locale.dart
2025-11-13 15:06:15 +03:00

30 lines
642 B
Dart

import 'package:flutter/material.dart';
import 'package:pshared/config/constants.dart';
class LocaleProvider with ChangeNotifier {
Locale _locale = Constants.defaultLocale;
Locale stringToLocale(String localeString) {
var parts = localeString.split(RegExp(r'[-_]'));
return (parts.length > 1) ? Locale(parts[0], parts[1]) : Locale(parts[0]);
}
LocaleProvider(String? localeCode) {
if (localeCode != null) {
_locale = stringToLocale(localeCode);
}
}
Locale get locale => _locale;
void setLocale(Locale locale) {
if (_locale == locale) return;
_locale = locale;
notifyListeners();
}
}