import 'dart:async'; import 'package:doctor_app_flutter/config/localized_values.dart'; import 'package:flutter/foundation.dart' show SynchronousFuture; import 'package:flutter/material.dart'; class TranslationBase { TranslationBase(this.locale); final Locale locale; static TranslationBase of(BuildContext context) { return Localizations.of(context, TranslationBase); } String get dashboardScreenToolbarTitle => localizedValues['dashboardScreenToolbarTitle'][locale.languageCode]; String get settings => localizedValues['settings'][locale.languageCode]; String get language => localizedValues['language'][locale.languageCode]; String get lanEnglish => localizedValues['lanEnglish'][locale.languageCode]; String get lanArabic => localizedValues['lanArabic'][locale.languageCode]; String get doctorReply => localizedValues['doctorReply'][locale.languageCode]; String get time => localizedValues['time'][locale.languageCode]; String get fileNo => localizedValues['fileNo'][locale.languageCode]; String get mobileNo => localizedValues['mobileNo'][locale.languageCode]; String get messagesScreenToolbarTitle => localizedValues['messagesScreenToolbarTitle'][locale.languageCode]; String get mySchedule => localizedValues['mySchedule'][locale.languageCode]; String get errorNoSchedule => localizedValues['errorNoSchedule'][locale.languageCode]; } class TranslationBaseDelegate extends LocalizationsDelegate { const TranslationBaseDelegate(); @override bool isSupported(Locale locale) => ['en', 'ar'].contains(locale.languageCode); @override Future load(Locale locale) { return SynchronousFuture(TranslationBase(locale)); } @override bool shouldReload(TranslationBaseDelegate old) => false; }