Files
GitJournal/lib/monarch.dart
Vishesh Handa 790c092e85 Fix portugese translations
We aren't using the country codes anywhere.
2021-07-02 07:11:25 +02:00

65 lines
1.6 KiB
Dart

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';
import 'package:gitjournal/themes.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('pt', 'BR'),
MonarchLocale('ru'),
MonarchLocale('sv'),
MonarchLocale('zh'),
])
const myEasyLocalizationsDelegate = MonarchLocalizationsDelegate();
@MonarchTheme('Light Theme', isDefault: true)
final monarchLightTheme = Themes.light;
@MonarchTheme('Dark Theme')
final monarchDarkTheme = Themes.dark;