///
/// Generated file. Do not edit.
///
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import

import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:slang/generated.dart';
import 'strings.g.dart';

// Path: <root>
class TranslationsEn extends Translations {
	/// You can call this constructor and build your own translation instance of this locale.
	/// Constructing via the enum [AppLocale.build] is preferred.
	TranslationsEn({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
		: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
		  $meta = meta ?? TranslationMetadata(
		    locale: AppLocale.en,
		    overrides: overrides ?? {},
		    cardinalResolver: cardinalResolver,
		    ordinalResolver: ordinalResolver,
		  ),
		  super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
		super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
		$meta.setFlatMapFunction(_flatMapFunction);
	}

	/// Metadata for the translations of <en>.
	@override final TranslationMetadata<AppLocale, Translations> $meta;

	/// Access flat map
	@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);

	late final TranslationsEn _root = this; // ignore: unused_field

	@override 
	TranslationsEn $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsEn(meta: meta ?? this.$meta);

	// Translations
	@override String get app_name => 'Tesmit';
	@override late final _TranslationsHomeScreenEn home_screen = _TranslationsHomeScreenEn._(_root);
	@override late final _TranslationsSettingsScreenEn settings_screen = _TranslationsSettingsScreenEn._(_root);
	@override late final _TranslationsAuthScreenEn auth_screen = _TranslationsAuthScreenEn._(_root);
	@override late final _TranslationsGalScreenEn gal_screen = _TranslationsGalScreenEn._(_root);
}

// Path: home_screen
class _TranslationsHomeScreenEn extends TranslationsHomeScreenRu {
	_TranslationsHomeScreenEn._(TranslationsEn root) : this._root = root, super.internal(root);

	final TranslationsEn _root; // ignore: unused_field

	// Translations
	@override String get title => 'Home screen';
}

// Path: settings_screen
class _TranslationsSettingsScreenEn extends TranslationsSettingsScreenRu {
	_TranslationsSettingsScreenEn._(TranslationsEn root) : this._root = root, super.internal(root);

	final TranslationsEn _root; // ignore: unused_field

	// Translations
	@override String get common => 'Common';
	@override String get title => 'Settings';
	@override String get lang => 'Language';
	@override String get lang_selection => 'Language selection';
	@override late final _TranslationsSettingsScreenThemeEn theme = _TranslationsSettingsScreenThemeEn._(_root);
}

// Path: auth_screen
class _TranslationsAuthScreenEn extends TranslationsAuthScreenRu {
	_TranslationsAuthScreenEn._(TranslationsEn root) : this._root = root, super.internal(root);

	final TranslationsEn _root; // ignore: unused_field

	// Translations
	@override String get title => 'Authorization';
}

// Path: gal_screen
class _TranslationsGalScreenEn extends TranslationsGalScreenRu {
	_TranslationsGalScreenEn._(TranslationsEn root) : this._root = root, super.internal(root);

	final TranslationsEn _root; // ignore: unused_field

	// Translations
	@override String get title => 'Gallery';
}

// Path: settings_screen.theme
class _TranslationsSettingsScreenThemeEn extends TranslationsSettingsScreenThemeRu {
	_TranslationsSettingsScreenThemeEn._(TranslationsEn root) : this._root = root, super.internal(root);

	final TranslationsEn _root; // ignore: unused_field

	// Translations
	@override String get dark_theme => 'Dark theme';
	@override String get light_theme => 'Light theme';
}

/// Flat map(s) containing all translations.
/// Only for edge cases! For simple maps, use the map function of this library.
extension on TranslationsEn {
	dynamic _flatMapFunction(String path) {
		switch (path) {
			case 'app_name': return 'Tesmit';
			case 'home_screen.title': return 'Home screen';
			case 'settings_screen.common': return 'Common';
			case 'settings_screen.title': return 'Settings';
			case 'settings_screen.lang': return 'Language';
			case 'settings_screen.lang_selection': return 'Language selection';
			case 'settings_screen.theme.dark_theme': return 'Dark theme';
			case 'settings_screen.theme.light_theme': return 'Light theme';
			case 'auth_screen.title': return 'Authorization';
			case 'gal_screen.title': return 'Gallery';
			default: return null;
		}
	}
}

