You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.4 KiB
Dart
46 lines
1.4 KiB
Dart
4 years ago
|
import 'dart:async';
|
||
|
|
||
|
import 'package:diplomaticquarterapp/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<TranslationBase>(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 cancel => localizedValues['cancel'][locale.languageCode];
|
||
|
|
||
|
String get done => localizedValues['done'][locale.languageCode];
|
||
|
}
|
||
|
|
||
|
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {
|
||
|
const TranslationBaseDelegate();
|
||
|
|
||
|
@override
|
||
|
bool isSupported(Locale locale) => ['en', 'ar'].contains(locale.languageCode);
|
||
|
|
||
|
@override
|
||
|
Future<TranslationBase> load(Locale locale) {
|
||
|
return SynchronousFuture<TranslationBase>(TranslationBase(locale));
|
||
|
}
|
||
|
|
||
|
@override
|
||
|
bool shouldReload(TranslationBaseDelegate old) => false;
|
||
|
}
|