Files
sfm_app_final/lib/product/services/language_services.dart
2025-06-18 10:02:40 +07:00

37 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
import '../cache/local_manager.dart';
import '../constant/enums/local_keys_enums.dart';
import '../constant/lang/language_constants.dart';
import '../lang/l10n/app_localizations.dart';
class LanguageServices {
Future<Locale> setLocale(String languageCode) async {
await LocaleManager.prefrencesInit();
LocaleManager.instance
.setStringValue(PreferencesKeys.LANGUAGE_CODE, languageCode);
return _locale(languageCode);
}
Future<Locale> getLocale() async {
await LocaleManager.prefrencesInit();
String languageCode =
LocaleManager.instance.getStringValue(PreferencesKeys.LANGUAGE_CODE);
return _locale(languageCode);
}
Locale _locale(String languageCode) {
switch (languageCode) {
case LanguageConstants.ENGLISH:
return const Locale(LanguageConstants.ENGLISH, '');
case LanguageConstants.VIETNAM:
return const Locale(LanguageConstants.VIETNAM, '');
default:
return const Locale(LanguageConstants.VIETNAM, '');
}
}
}
AppLocalizations appLocalization(BuildContext context) {
return AppLocalizations.of(context)!;
}