app_translations_delegate.dart 705 B

12345678910111213141516171819202122232425
  1. import 'dart:async';
  2. import 'package:flutter/material.dart';
  3. import 'package:general_package/localization/application.dart';
  4. import 'package:general_package/localization/app_translations.dart';
  5. class AppTranslationsDelegate extends LocalizationsDelegate<AppTranslations> {
  6. final Locale? newLocale;
  7. const AppTranslationsDelegate({this.newLocale});
  8. @override
  9. bool isSupported(Locale locale) {
  10. return application.supportedLanguagesCodes.contains(locale.languageCode);
  11. }
  12. @override
  13. Future<AppTranslations> load(Locale locale) {
  14. return AppTranslations.load(newLocale ?? locale);
  15. }
  16. @override
  17. bool shouldReload(LocalizationsDelegate<AppTranslations> old) {
  18. return true;
  19. }
  20. }