| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866 |
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter/foundation.dart';
- import 'package:shared_preferences/shared_preferences.dart';
- const _kLocaleStorageKey = '__locale_key__';
- class FFLocalizations {
- FFLocalizations(this.locale);
- final Locale locale;
- static FFLocalizations of(BuildContext context) =>
- Localizations.of<FFLocalizations>(context, FFLocalizations)!;
- static List<String> languages() => ['nl', 'en'];
- static late SharedPreferences _prefs;
- static Future initialize() async =>
- _prefs = await SharedPreferences.getInstance();
- static Future storeLocale(String locale) =>
- _prefs.setString(_kLocaleStorageKey, locale);
- static Locale? getStoredLocale() {
- final locale = _prefs.getString(_kLocaleStorageKey);
- return locale != null && locale.isNotEmpty ? createLocale(locale) : null;
- }
- String get languageCode => locale.toString();
- String? get languageShortCode =>
- _languagesWithShortCode.contains(locale.toString())
- ? '${locale.toString()}_short'
- : null;
- int get languageIndex => languages().contains(languageCode)
- ? languages().indexOf(languageCode)
- : 0;
- String getText(String key) =>
- (kTranslationsMap[key] ?? {})[locale.toString()] ?? '';
- String getVariableText({
- String? nlText = '',
- String? enText = '',
- }) =>
- [nlText, enText][languageIndex] ?? '';
- static const Set<String> _languagesWithShortCode = {
- 'ar',
- 'az',
- 'ca',
- 'cs',
- 'da',
- 'de',
- 'dv',
- 'en',
- 'es',
- 'et',
- 'fi',
- 'fr',
- 'gr',
- 'he',
- 'hi',
- 'hu',
- 'it',
- 'km',
- 'ku',
- 'mn',
- 'ms',
- 'no',
- 'pt',
- 'ro',
- 'ru',
- 'rw',
- 'sv',
- 'th',
- 'uk',
- 'vi',
- };
- }
- /// Used if the locale is not supported by GlobalMaterialLocalizations.
- class FallbackMaterialLocalizationDelegate
- extends LocalizationsDelegate<MaterialLocalizations> {
- const FallbackMaterialLocalizationDelegate();
- @override
- bool isSupported(Locale locale) => _isSupportedLocale(locale);
- @override
- Future<MaterialLocalizations> load(Locale locale) async =>
- SynchronousFuture<MaterialLocalizations>(
- const DefaultMaterialLocalizations(),
- );
- @override
- bool shouldReload(FallbackMaterialLocalizationDelegate old) => false;
- }
- /// Used if the locale is not supported by GlobalCupertinoLocalizations.
- class FallbackCupertinoLocalizationDelegate
- extends LocalizationsDelegate<CupertinoLocalizations> {
- const FallbackCupertinoLocalizationDelegate();
- @override
- bool isSupported(Locale locale) => _isSupportedLocale(locale);
- @override
- Future<CupertinoLocalizations> load(Locale locale) =>
- SynchronousFuture<CupertinoLocalizations>(
- const DefaultCupertinoLocalizations(),
- );
- @override
- bool shouldReload(FallbackCupertinoLocalizationDelegate old) => false;
- }
- class FFLocalizationsDelegate extends LocalizationsDelegate<FFLocalizations> {
- const FFLocalizationsDelegate();
- @override
- bool isSupported(Locale locale) => _isSupportedLocale(locale);
- @override
- Future<FFLocalizations> load(Locale locale) =>
- SynchronousFuture<FFLocalizations>(FFLocalizations(locale));
- @override
- bool shouldReload(FFLocalizationsDelegate old) => false;
- }
- Locale createLocale(String language) => language.contains('_')
- ? Locale.fromSubtags(
- languageCode: language.split('_').first,
- scriptCode: language.split('_').last,
- )
- : Locale(language);
- bool _isSupportedLocale(Locale locale) {
- final language = locale.toString();
- return FFLocalizations.languages().contains(
- language.endsWith('_')
- ? language.substring(0, language.length - 1)
- : language,
- );
- }
- final kTranslationsMap = <Map<String, Map<String, String>>>[
- // login
- {
- 'd507d3b9': {
- 'nl': 'E-mailadres',
- 'en': 'Email address',
- },
- 'pj545url': {
- 'nl': 'Veld wissen',
- 'en': '',
- },
- 't8h5f8ir': {
- 'nl': 'Wachtwoord',
- 'en': 'Password',
- },
- 'ahiklq0c': {
- 'nl': 'Wachtwoord tonen/verbergen',
- 'en': '',
- },
- 'gkx4luhw': {
- 'nl': 'Inloggen',
- 'en': 'Inloggen',
- },
- 'utppw2si': {
- 'nl': 'Wachtwoord vergeten?',
- 'en': '',
- },
- 'bokhk9vk': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // horecagelegenheidCurrent
- {
- 'kjqv6ycx': {
- 'nl': 'Favoriet',
- 'en': '',
- },
- 'pedeshok': {
- 'nl': 'Info',
- 'en': 'Info',
- },
- 'q5nwrlms': {
- 'nl': 'Links',
- 'en': 'Links',
- },
- 's1b6yp7v': {
- 'nl': 'Bezorgen',
- 'en': 'Bezorgen',
- },
- 'ukbd1ac9': {
- 'nl': 'Alle horecagelegenheden',
- 'en': '',
- },
- '6gfap72a': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // home
- {
- 'eor4c9rz': {
- 'nl': 'Uitgaan',
- 'en': '',
- },
- 'mx7sn4ne': {
- 'nl': 'Activiteiten',
- 'en': '',
- },
- 'e6xyyt74': {
- 'nl': 'Cultuur',
- 'en': '',
- },
- 'uxy2nfok': {
- 'nl': 'Films',
- 'en': '',
- },
- 'lx77xfrn': {
- 'nl': 'Jeugd',
- 'en': '',
- },
- 'g8ll2g7i': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // selectprovinciegemeente
- {
- 's2fmjpdd': {
- 'nl': 'Select gemeente/provincie',
- 'en': '',
- },
- 'vg44lbt3': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // PUitgaanPage
- {
- 'qkpwprwx': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // Event
- {
- '6gnwjxxh': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // EventCurrent
- {
- 'z63o5kzf': {
- 'nl': 'Delen',
- 'en': '',
- },
- '89l5y9jd': {
- 'nl': 'Alle evenementen',
- 'en': '',
- },
- '4qrjs6hg': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // HorecagelegenhedenOverzicht
- {
- 'cfmj0g86': {
- 'nl': 'Activiteiten',
- 'en': 'Activiteiten',
- },
- 'od4c0ph1': {
- 'nl': 'Cultuur',
- 'en': 'Cultuur',
- },
- 'i9cdclh1': {
- 'nl': 'Eetgelegenheden',
- 'en': 'Eetgelegenheden',
- },
- '9s07bzb1': {
- 'nl': 'Overnachten',
- 'en': 'Overnachten',
- },
- 'egcnfi7k': {
- 'nl': 'Uitgaan',
- 'en': 'Uitgaan',
- },
- '3i8p2r6z': {
- 'nl': 'Verhuur, catering',
- 'en': 'Verhuur, catering',
- },
- '9eldyvgz': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // HorecagelegenhedenOverzichtPageDataType
- {
- 'mgbxk04v': {
- 'nl': 'Activiteiten',
- 'en': 'Activiteiten',
- },
- '7x2d53vo': {
- 'nl': 'Cultuur',
- 'en': 'Cultuur',
- },
- '07bu84h3': {
- 'nl': 'Eetgelegenheden',
- 'en': 'Eetgelegenheden',
- },
- 'yyib9rhy': {
- 'nl': 'Overnachten',
- 'en': 'Overnachten',
- },
- 'ttz76cwu': {
- 'nl': 'Uitgaan',
- 'en': 'Uitgaan',
- },
- 'mqz8ig8q': {
- 'nl': 'Verhuur, catering',
- 'en': 'Verhuur, catering',
- },
- '3qshlxj5': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // HorecagelegenhedenOverzichtSortPage
- {
- 't070hi8b': {
- 'nl': 'Uitgaan',
- 'en': 'Uitgaan',
- },
- '8hepgmal': {
- 'nl': 'Select...',
- 'en': '',
- },
- 'af6l6apy': {
- 'nl': 'Search...',
- 'en': '',
- },
- 'ghh8wctj': {
- 'nl': 'Option 1',
- 'en': '',
- },
- '4wn3tgt9': {
- 'nl': 'Option 2',
- 'en': '',
- },
- 'df6v152s': {
- 'nl': 'Option 3',
- 'en': '',
- },
- 'goypqo1h': {
- 'nl': 'Cultuur',
- 'en': 'Cultuur',
- },
- 'eorww74c': {
- 'nl': 'Eetgelegenheden',
- 'en': 'Eetgelegenheden',
- },
- 'vikrjk5s': {
- 'nl': 'Overnachten',
- 'en': 'Overnachten',
- },
- '48955ibf': {
- 'nl': 'Activiteiten',
- 'en': 'Activiteiten',
- },
- 'onrokcg9': {
- 'nl': 'Verhuur, catering',
- 'en': 'Verhuur, catering',
- },
- 'g70lknj3': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // wachtwoordVergeten
- {
- 'vrbz9a3l': {
- 'nl': 'Wachtwoord vergeten',
- 'en': '',
- },
- '503u6v73': {
- 'nl':
- 'Vul je gebruikersnaam of e-mailadres in. Je ontvangt een e-mail om je wachtwoord opnieuw in te stellen.',
- 'en': '',
- },
- 'ush5uxz1': {
- 'nl': 'Gebruikersnaam of e-mailadres',
- 'en': '',
- },
- '0gfuq6i7': {
- 'nl': 'Verstuur',
- 'en': '',
- },
- 's7n2u93z': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // favorieten
- {
- 'txq7zl0f': {
- 'nl': 'Persoonlijke agenda',
- 'en': '',
- },
- '1y5w12fr': {
- 'nl':
- 'Je persoonlijke agenda met evenementen van je favoriete gelegenheden en gemeenten.',
- 'en': '',
- },
- '9wq117bv': {
- 'nl': 'Favoriete gemeenten',
- 'en': '',
- },
- 'o7pt2vls': {
- 'nl': 'De gemeentes die je hebt gemarkeerd als favoriet.',
- 'en': '',
- },
- 'ygk8aifq': {
- 'nl': 'Favoriete Gelegenheden',
- 'en': '',
- },
- 'zddkbm3e': {
- 'nl': '',
- 'en': '',
- },
- 'xyig2ny4': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // kanweg
- {
- '3f7lzegf': {
- 'nl': 'Home',
- 'en': '',
- },
- },
- // PUitgaantabelKaartComponent
- {
- '4lehigdg': {
- 'nl': ', ',
- 'en': ', ',
- },
- },
- // SelectStateDropDownComponent
- {
- 'duloakue': {
- 'nl': 'Select...',
- 'en': '',
- },
- 'suwn4gos': {
- 'nl': 'Search...',
- 'en': '',
- },
- 'xtp0toaj': {
- 'nl': 'Option 1',
- 'en': '',
- },
- 'sfmdjcb4': {
- 'nl': 'Option 2',
- 'en': '',
- },
- 'pbmts7dk': {
- 'nl': 'Option 3',
- 'en': '',
- },
- '1rva6d4m': {
- 'nl': 'Select...',
- 'en': '',
- },
- 'um0h0p25': {
- 'nl': 'Search...',
- 'en': '',
- },
- 'fjaz0tsc': {
- 'nl': 'Option 1',
- 'en': '',
- },
- '8hcfb8cu': {
- 'nl': 'Option 2',
- 'en': '',
- },
- 'cpdux64t': {
- 'nl': 'Option 3',
- 'en': '',
- },
- 'p3ia66ku': {
- 'nl': 'Toepassen',
- 'en': '',
- },
- },
- // drawerComponent
- {
- 'j0ompw01': {
- 'nl': 'Zoek stad',
- 'en': 'Zoek stad',
- },
- 'm5il5pqx': {
- 'nl': '',
- 'en': '',
- },
- '5xqi2sto': {
- 'nl': 'Home',
- 'en': 'Home',
- },
- 'zorwzjtq': {
- 'nl': '',
- 'en': '',
- },
- '7pacsyhe': {
- 'nl': 'Favorieten',
- 'en': 'Home',
- },
- 'm8h5x9ts': {
- 'nl': '',
- 'en': '',
- },
- '4u9vsobq': {
- 'nl': 'Provincie',
- 'en': 'Provincie',
- },
- 'scozdjf2': {
- 'nl': '',
- 'en': '',
- },
- '8luezemw': {
- 'nl': 'Uitgaan',
- 'en': 'Uitgaan',
- },
- 'f2n2zs5x': {
- 'nl': '',
- 'en': '',
- },
- 'rb8etfad': {
- 'nl': 'Activiteiten',
- 'en': 'Activiteiten',
- },
- '9hgqcibm': {
- 'nl': '',
- 'en': '',
- },
- 'l4upasn8': {
- 'nl': 'Cultuur',
- 'en': 'Cultuur',
- },
- '5unk9wxy': {
- 'nl': '',
- 'en': '',
- },
- '0zbg44er': {
- 'nl': 'Films',
- 'en': 'Films',
- },
- 'gy0c8dfg': {
- 'nl': '',
- 'en': '',
- },
- 'zguubv8h': {
- 'nl': 'Jeugd',
- 'en': 'Jeugd',
- },
- 'bmdhe1w3': {
- 'nl': '',
- 'en': '',
- },
- 'mqf3caeh': {
- 'nl': 'Horeca',
- 'en': 'Horeca',
- },
- 'ypp8cg7h': {
- 'nl': '',
- 'en': '',
- },
- 'qoszyexg': {
- 'nl': 'Gemeente',
- 'en': 'Gemeente',
- },
- 'dpn5svdo': {
- 'nl': '',
- 'en': '',
- },
- 'f2xucb65': {
- 'nl': 'Uitgaan',
- 'en': 'Uitgaan',
- },
- '0rcz22fx': {
- 'nl': '',
- 'en': '',
- },
- 'aco5j6v5': {
- 'nl': 'Activiteiten',
- 'en': 'Activiteiten',
- },
- 'mkcafscy': {
- 'nl': '',
- 'en': '',
- },
- 'u6kma8y1': {
- 'nl': 'Cultuur',
- 'en': 'Cultuur',
- },
- '6hdsapmc': {
- 'nl': '',
- 'en': '',
- },
- 'hpm7mxhj': {
- 'nl': 'Films',
- 'en': 'Films',
- },
- 'wfmu8ldt': {
- 'nl': '',
- 'en': '',
- },
- 'clxcjmfh': {
- 'nl': 'Jeugd',
- 'en': 'Jeugd',
- },
- 'fuiykay7': {
- 'nl': '',
- 'en': '',
- },
- 'mk70rozo': {
- 'nl': 'Horeca',
- 'en': 'Horeca',
- },
- 'kknwn00s': {
- 'nl': '',
- 'en': '',
- },
- 't46xiboh': {
- 'nl': 'Thuis bezorgen',
- 'en': 'Thuis bezorgen',
- },
- '18zxga44': {
- 'nl': '',
- 'en': '',
- },
- '0xszp35t': {
- 'nl': 'Mijn Account',
- 'en': 'Mijn Account',
- },
- 'vmbtb6ah': {
- 'nl': 'Terug',
- 'en': '',
- },
- '7qpu1l01': {
- 'nl': 'v0001',
- 'en': 'v0001',
- },
- },
- // EvenementComponent
- {
- 'nghx1743': {
- 'nl': 'entreetoelichting',
- 'en': '',
- },
- 'y02m0qh0': {
- 'nl': '15 euro',
- 'en': '',
- },
- 'lrjms1by': {
- 'nl': 'Hello World Contactveld',
- 'en': '',
- },
- },
- // EvenementHorecagelegenheid
- {
- 'ubuux42u': {
- 'nl': 'Info',
- 'en': 'Info',
- },
- 'lo8ciqtb': {
- 'nl': 'Entree',
- 'en': '',
- },
- 'au8x5mei': {
- 'nl': 'Contact',
- 'en': '',
- },
- '8tvvqu63': {
- 'nl': 'Facebook',
- 'en': '',
- },
- 'kp1lfaac': {
- 'nl': 'Instagram',
- 'en': '',
- },
- 'ktqsytma': {
- 'nl': 'X/Twitter',
- 'en': '',
- },
- 'vkwayrhq': {
- 'nl': 'Website',
- 'en': '',
- },
- 'cxpo1x6d': {
- 'nl': 'Website',
- 'en': '',
- },
- 'mlojriz0': {
- 'nl': 'Openingstijden',
- 'en': 'Openingstijden',
- },
- 'axwdkgtg': {
- 'nl': 'Hello World',
- 'en': '',
- },
- '5tdut8bf': {
- 'nl': 'Bezorgen',
- 'en': 'Bezorgen',
- },
- },
- // EvenementInfo
- {
- 'gpbaiwi9': {
- 'nl': 'Entree: ',
- 'en': '',
- },
- },
- // HorecagelegenheidoverzichtKaart
- {
- 'ujd0p09x': {
- 'nl': 'MessageFavoriet...',
- 'en': '',
- },
- },
- // GeenEvenementenComponent
- {
- '0zgufytz': {
- 'nl':
- 'Geen evenementen gevonden. Kijk bij de provincie of er iets bij u in de buurt is!',
- 'en': '',
- },
- },
- // HeaderButtonsComponent
- {
- '17msrach': {
- 'nl': 'Menu openen',
- 'en': '',
- },
- 'f8ay39rg': {
- 'nl': 'Terug',
- 'en': '',
- },
- },
- // HomeUitgaantabelKaartComponent
- {
- 's4nkp0pb': {
- 'nl': ', ',
- 'en': ', ',
- },
- },
- // Miscellaneous
- {
- '95e9zpp5': {
- 'nl': '',
- 'en': '',
- },
- 'hi047wuv': {
- 'nl': '',
- 'en': '',
- },
- '3vfdatr8': {
- 'nl': '',
- 'en': '',
- },
- '00waee4o': {
- 'nl': '',
- 'en': '',
- },
- 'pv9kzkyy': {
- 'nl': '',
- 'en': '',
- },
- 'pnj7ud5u': {
- 'nl': '',
- 'en': '',
- },
- '6gi5ggfb': {
- 'nl': '',
- 'en': '',
- },
- 'r2ktdanq': {
- 'nl': '',
- 'en': '',
- },
- 'baxrlb7e': {
- 'nl': '',
- 'en': '',
- },
- '91wp95hv': {
- 'nl': '',
- 'en': '',
- },
- '3g8g1qpr': {
- 'nl': '',
- 'en': '',
- },
- 'z7adjbl8': {
- 'nl': '',
- 'en': '',
- },
- '4mmqjh9z': {
- 'nl': '',
- 'en': '',
- },
- '9fvdbrm6': {
- 'nl': '',
- 'en': '',
- },
- 'vtu2d65x': {
- 'nl': '',
- 'en': '',
- },
- '6653976d': {
- 'nl': '',
- 'en': '',
- },
- '16p7r73f': {
- 'nl': '',
- 'en': '',
- },
- '35po7r81': {
- 'nl': '',
- 'en': '',
- },
- '87zjalze': {
- 'nl': '',
- 'en': '',
- },
- 'fikchxg8': {
- 'nl': '',
- 'en': '',
- },
- 'rzevhc69': {
- 'nl': '',
- 'en': '',
- },
- '6f0en17o': {
- 'nl': '',
- 'en': '',
- },
- '5419dptj': {
- 'nl': '',
- 'en': '',
- },
- 'xbrp633k': {
- 'nl': '',
- 'en': '',
- },
- 'wqfb29ed': {
- 'nl': '',
- 'en': '',
- },
- },
- ].reduce((a, b) => a..addAll(b));
|