Integrate Monarch with EasyLocalizations

Only English seems to work for me. Not sure why.
This commit is contained in:
Vishesh Handa
2021-05-18 12:00:53 +02:00
parent 43180a4e9c
commit ca71f27fdc
2 changed files with 60 additions and 0 deletions

View File

@ -0,0 +1,56 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:easy_localization/src/localization.dart';
import 'package:easy_localization/src/translations.dart';
import 'package:easy_localization_loader/easy_localization_loader.dart';
import 'package:monarch_annotations/monarch_annotations.dart';
// ignore_for_file: implementation_imports
/// Only used with Monarch
class MonarchLocalizationsDelegate extends LocalizationsDelegate<Localization> {
const MonarchLocalizationsDelegate();
@override
Future<Localization> load(Locale locale) async {
var assetLoader = YamlAssetLoader();
var data = await assetLoader.load('assets/langs', locale);
var translations = Translations(data);
Localization.load(locale, translations: translations);
return Localization.instance;
}
@override
bool shouldReload(covariant LocalizationsDelegate<Localization> old) => false;
@override
bool isSupported(Locale locale) => [
'de',
'en',
'es',
'id',
'pl',
'pr',
'ru',
'sv',
'zh',
].contains(locale.languageCode);
}
@MonarchLocalizations([
MonarchLocale('en'),
// In Alphabetical order
MonarchLocale('de'),
MonarchLocale('es'),
MonarchLocale('id'),
MonarchLocale('pl'),
MonarchLocale('pr'),
MonarchLocale('ru'),
MonarchLocale('sv'),
MonarchLocale('zh'),
])
const myEasyLocalizationsDelegate = MonarchLocalizationsDelegate();

View File

@ -0,0 +1,4 @@
import 'package:flutter/material.dart';
import 'package:gitjournal/screens/purchase_thankyou_screen.dart';
Widget thankYou() => PurchaseThankYouScreen();