import 'dart:async';

import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:intl/intl.dart' as intl;

import 'app_localizations_en.dart';
import 'app_localizations_ru.dart';
import 'app_localizations_uz.dart';

// ignore_for_file: type=lint

/// Callers can lookup localized strings with an instance of AppLocalizations
/// returned by `AppLocalizations.of(context)`.
///
/// Applications need to include `AppLocalizations.delegate()` in their app's
/// `localizationDelegates` list, and the locales they support in the app's
/// `supportedLocales` list. For example:
///
/// ```dart
/// import 'l10n/app_localizations.dart';
///
/// return MaterialApp(
///   localizationsDelegates: AppLocalizations.localizationsDelegates,
///   supportedLocales: AppLocalizations.supportedLocales,
///   home: MyApplicationHome(),
/// );
/// ```
///
/// ## Update pubspec.yaml
///
/// Please make sure to update your pubspec.yaml to include the following
/// packages:
///
/// ```yaml
/// dependencies:
///   # Internationalization support.
///   flutter_localizations:
///     sdk: flutter
///   intl: any # Use the pinned version from flutter_localizations
///
///   # Rest of dependencies
/// ```
///
/// ## iOS Applications
///
/// iOS applications define key application metadata, including supported
/// locales, in an Info.plist file that is built into the application bundle.
/// To configure the locales supported by your app, you’ll need to edit this
/// file.
///
/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file.
/// Then, in the Project Navigator, open the Info.plist file under the Runner
/// project’s Runner folder.
///
/// Next, select the Information Property List item, select Add Item from the
/// Editor menu, then select Localizations from the pop-up menu.
///
/// Select and expand the newly-created Localizations item then, for each
/// locale your application supports, add a new item and select the locale
/// you wish to add from the pop-up menu in the Value field. This list should
/// be consistent with the languages listed in the AppLocalizations.supportedLocales
/// property.
abstract class AppLocalizations {
  AppLocalizations(String locale)
      : localeName = intl.Intl.canonicalizedLocale(locale.toString());

  final String localeName;

  static AppLocalizations? of(BuildContext context) {
    return Localizations.of<AppLocalizations>(context, AppLocalizations);
  }

  static const LocalizationsDelegate<AppLocalizations> delegate =
      _AppLocalizationsDelegate();

  /// A list of this localizations delegate along with the default localizations
  /// delegates.
  ///
  /// Returns a list of localizations delegates containing this delegate along with
  /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate,
  /// and GlobalWidgetsLocalizations.delegate.
  ///
  /// Additional delegates can be added by appending to this list in
  /// MaterialApp. This list does not have to be used at all if a custom list
  /// of delegates is preferred or required.
  static const List<LocalizationsDelegate<dynamic>> localizationsDelegates =
      <LocalizationsDelegate<dynamic>>[
    delegate,
    GlobalMaterialLocalizations.delegate,
    GlobalCupertinoLocalizations.delegate,
    GlobalWidgetsLocalizations.delegate,
  ];

  /// A list of this localizations delegate's supported locales.
  static const List<Locale> supportedLocales = <Locale>[
    Locale('en'),
    Locale('ru'),
    Locale('uz')
  ];

  /// No description provided for @hellow.
  ///
  /// In en, this message translates to:
  /// **'hellow'**
  String get hellow;

  /// No description provided for @please_enter_email.
  ///
  /// In en, this message translates to:
  /// **'Please enter email'**
  String get please_enter_email;

  /// No description provided for @please_enter_name.
  ///
  /// In en, this message translates to:
  /// **'Please enter name'**
  String get please_enter_name;

  /// No description provided for @please_enter_phone.
  ///
  /// In en, this message translates to:
  /// **'Please enter phone number'**
  String get please_enter_phone;

  /// No description provided for @please_enter_valid_email.
  ///
  /// In en, this message translates to:
  /// **'Please enter valid email'**
  String get please_enter_valid_email;

  /// No description provided for @please_enter_confirm_password.
  ///
  /// In en, this message translates to:
  /// **'Please enter confirm password'**
  String get please_enter_confirm_password;

  /// No description provided for @password_and_confirm_password_is_not_matching.
  ///
  /// In en, this message translates to:
  /// **'Password and Confirm password do not match'**
  String get password_and_confirm_password_is_not_matching;

  /// No description provided for @please_enter_password.
  ///
  /// In en, this message translates to:
  /// **'Please enter password'**
  String get please_enter_password;

  /// No description provided for @password_must_be_at_last_6_digit.
  ///
  /// In en, this message translates to:
  /// **'Password must be at last 6 digit.'**
  String get password_must_be_at_last_6_digit;

  /// No description provided for @welcome_to_online_fresh_food_grocery_application.
  ///
  /// In en, this message translates to:
  /// **'Welcome to\nOnline Fresh Food Grocery\nApplication'**
  String get welcome_to_online_fresh_food_grocery_application;

  /// No description provided for @energetically_streamline_one_to_one_web_readiness_before_extensive_meta_services.
  ///
  /// In en, this message translates to:
  /// **'Energetically streamline one-to-one web-readiness before extensive meta-services.'**
  String
      get energetically_streamline_one_to_one_web_readiness_before_extensive_meta_services;

  /// No description provided for @best_quality_organic_grocery_app_platform_ucf.
  ///
  /// In en, this message translates to:
  /// **'Best Quality Organic Grocery App Platform'**
  String get best_quality_organic_grocery_app_platform_ucf;

  /// No description provided for @easy_payment_method.
  ///
  /// In en, this message translates to:
  /// **'Easy Payment Method'**
  String get easy_payment_method;

  /// No description provided for @skip.
  ///
  /// In en, this message translates to:
  /// **'Skip'**
  String get skip;

  /// No description provided for @welcome_to_back.
  ///
  /// In en, this message translates to:
  /// **'Welcome to Back!'**
  String get welcome_to_back;

  /// No description provided for @login.
  ///
  /// In en, this message translates to:
  /// **'Login'**
  String get login;

  /// No description provided for @register.
  ///
  /// In en, this message translates to:
  /// **'Register'**
  String get register;

  /// No description provided for @register_now_ucf.
  ///
  /// In en, this message translates to:
  /// **'Register Now'**
  String get register_now_ucf;

  /// No description provided for @create_new_account_ucf.
  ///
  /// In en, this message translates to:
  /// **'Create New Account'**
  String get create_new_account_ucf;

  /// No description provided for @email.
  ///
  /// In en, this message translates to:
  /// **'Email'**
  String get email;

  /// No description provided for @name.
  ///
  /// In en, this message translates to:
  /// **'Name'**
  String get name;

  /// No description provided for @phone.
  ///
  /// In en, this message translates to:
  /// **'Phone'**
  String get phone;

  /// No description provided for @password.
  ///
  /// In en, this message translates to:
  /// **'Password'**
  String get password;

  /// No description provided for @new_password_ucf.
  ///
  /// In en, this message translates to:
  /// **'New Password'**
  String get new_password_ucf;

  /// No description provided for @confirm_password_ucf.
  ///
  /// In en, this message translates to:
  /// **'Confirm Password'**
  String get confirm_password_ucf;

  /// No description provided for @sign_up_ucf.
  ///
  /// In en, this message translates to:
  /// **'Sign Up'**
  String get sign_up_ucf;

  /// No description provided for @already_have_an_account.
  ///
  /// In en, this message translates to:
  /// **'Already Have an Account?'**
  String get already_have_an_account;

  /// No description provided for @not_a_member.
  ///
  /// In en, this message translates to:
  /// **'Not a member?'**
  String get not_a_member;

  /// No description provided for @forgot_password_q_ucf.
  ///
  /// In en, this message translates to:
  /// **'Forgot Password?'**
  String get forgot_password_q_ucf;

  /// No description provided for @forgot_password_ucf.
  ///
  /// In en, this message translates to:
  /// **'Forgot Password'**
  String get forgot_password_ucf;

  /// No description provided for @send.
  ///
  /// In en, this message translates to:
  /// **'Send'**
  String get send;

  /// No description provided for @enter_otp_code.
  ///
  /// In en, this message translates to:
  /// **'Enter OTP code'**
  String get enter_otp_code;

  /// No description provided for @reset_password_ucf.
  ///
  /// In en, this message translates to:
  /// **'Reset Password'**
  String get reset_password_ucf;

  /// No description provided for @otp_all_cap.
  ///
  /// In en, this message translates to:
  /// **'OTP'**
  String get otp_all_cap;

  /// No description provided for @resend_otp_all_cap.
  ///
  /// In en, this message translates to:
  /// **'Resend OTP'**
  String get resend_otp_all_cap;

  /// No description provided for @home.
  ///
  /// In en, this message translates to:
  /// **'Home'**
  String get home;

  /// No description provided for @categories.
  ///
  /// In en, this message translates to:
  /// **'Categories'**
  String get categories;

  /// No description provided for @cart.
  ///
  /// In en, this message translates to:
  /// **'Cart'**
  String get cart;

  /// No description provided for @profile.
  ///
  /// In en, this message translates to:
  /// **'Profile'**
  String get profile;

  /// No description provided for @search_product_ucf.
  ///
  /// In en, this message translates to:
  /// **'Search Product'**
  String get search_product_ucf;

  /// No description provided for @top_categories_ucf.
  ///
  /// In en, this message translates to:
  /// **'Top Categories'**
  String get top_categories_ucf;

  /// No description provided for @best_selling_products_ucf.
  ///
  /// In en, this message translates to:
  /// **'Best Selling Products'**
  String get best_selling_products_ucf;

  /// No description provided for @description.
  ///
  /// In en, this message translates to:
  /// **'Description'**
  String get description;

  /// No description provided for @price.
  ///
  /// In en, this message translates to:
  /// **'Price'**
  String get price;

  /// No description provided for @related_product_ucf.
  ///
  /// In en, this message translates to:
  /// **'Related Product'**
  String get related_product_ucf;

  /// No description provided for @edit_profile_ucf.
  ///
  /// In en, this message translates to:
  /// **'Edit Profile'**
  String get edit_profile_ucf;

  /// No description provided for @voucher_n_offers_ucf.
  ///
  /// In en, this message translates to:
  /// **'Vouchers & Offers'**
  String get voucher_n_offers_ucf;

  /// No description provided for @favorite.
  ///
  /// In en, this message translates to:
  /// **'Favorite'**
  String get favorite;

  /// No description provided for @order_n_recording_ucf.
  ///
  /// In en, this message translates to:
  /// **'Order & Recording'**
  String get order_n_recording_ucf;

  /// No description provided for @my_profile_ucf.
  ///
  /// In en, this message translates to:
  /// **'My Profile'**
  String get my_profile_ucf;

  /// No description provided for @help_center_ucf.
  ///
  /// In en, this message translates to:
  /// **'Help Center'**
  String get help_center_ucf;

  /// No description provided for @address.
  ///
  /// In en, this message translates to:
  /// **'Address'**
  String get address;

  /// No description provided for @notification.
  ///
  /// In en, this message translates to:
  /// **'Notification'**
  String get notification;

  /// No description provided for @security.
  ///
  /// In en, this message translates to:
  /// **'Security'**
  String get security;

  /// No description provided for @track_my_order_ucf.
  ///
  /// In en, this message translates to:
  /// **'Track My Order'**
  String get track_my_order_ucf;

  /// No description provided for @wallet_history_ucf.
  ///
  /// In en, this message translates to:
  /// **'Wallet History'**
  String get wallet_history_ucf;

  /// No description provided for @refund_history_ucf.
  ///
  /// In en, this message translates to:
  /// **'Refund History'**
  String get refund_history_ucf;

  /// No description provided for @settings.
  ///
  /// In en, this message translates to:
  /// **'Settings'**
  String get settings;

  /// No description provided for @terms_n_conditions_ucf.
  ///
  /// In en, this message translates to:
  /// **'Terms & Conditions'**
  String get terms_n_conditions_ucf;

  /// No description provided for @log_out_ucf.
  ///
  /// In en, this message translates to:
  /// **'Log Out'**
  String get log_out_ucf;

  /// No description provided for @add_to_cart.
  ///
  /// In en, this message translates to:
  /// **'Add to cart'**
  String get add_to_cart;

  /// No description provided for @pick_a_location.
  ///
  /// In en, this message translates to:
  /// **'Pick a location'**
  String get pick_a_location;

  /// No description provided for @locations.
  ///
  /// In en, this message translates to:
  /// **'Locations'**
  String get locations;

  /// No description provided for @data_is_not_available.
  ///
  /// In en, this message translates to:
  /// **'Data is not available'**
  String get data_is_not_available;

  /// No description provided for @product_stock_not_available.
  ///
  /// In en, this message translates to:
  /// **'Product stock not available'**
  String get product_stock_not_available;

  /// No description provided for @out_of_stock_ucf.
  ///
  /// In en, this message translates to:
  /// **'Out of stock'**
  String get out_of_stock_ucf;

  /// No description provided for @order_info_ucf.
  ///
  /// In en, this message translates to:
  /// **'Order Info'**
  String get order_info_ucf;

  /// No description provided for @subtotal.
  ///
  /// In en, this message translates to:
  /// **'Subtotal'**
  String get subtotal;

  /// No description provided for @delivery_fee_ucf.
  ///
  /// In en, this message translates to:
  /// **'Delivery Fee'**
  String get delivery_fee_ucf;

  /// No description provided for @total.
  ///
  /// In en, this message translates to:
  /// **'Total'**
  String get total;

  /// No description provided for @review_n_payment_ucf.
  ///
  /// In en, this message translates to:
  /// **'Review & Payment'**
  String get review_n_payment_ucf;

  /// No description provided for @promo_code_ucf.
  ///
  /// In en, this message translates to:
  /// **'Promo Code'**
  String get promo_code_ucf;

  /// No description provided for @apply.
  ///
  /// In en, this message translates to:
  /// **'Apply'**
  String get apply;

  /// No description provided for @coupon_discount_ucf.
  ///
  /// In en, this message translates to:
  /// **'Coupon Discount'**
  String get coupon_discount_ucf;

  /// No description provided for @check_out_ucf.
  ///
  /// In en, this message translates to:
  /// **'Check Out'**
  String get check_out_ucf;

  /// No description provided for @delivery_address_ucf.
  ///
  /// In en, this message translates to:
  /// **'Delivery Address'**
  String get delivery_address_ucf;

  /// No description provided for @billing_address_ucf.
  ///
  /// In en, this message translates to:
  /// **'Billing Address'**
  String get billing_address_ucf;

  /// No description provided for @alternative_phone_ucf.
  ///
  /// In en, this message translates to:
  /// **'Alternative Phone'**
  String get alternative_phone_ucf;

  /// No description provided for @additional_info_ucf.
  ///
  /// In en, this message translates to:
  /// **'Additional Info'**
  String get additional_info_ucf;

  /// No description provided for @tax.
  ///
  /// In en, this message translates to:
  /// **'Tax'**
  String get tax;

  /// No description provided for @available_logistics_ucf.
  ///
  /// In en, this message translates to:
  /// **'Available Logistics'**
  String get available_logistics_ucf;

  /// No description provided for @please_wait_ucf.
  ///
  /// In en, this message translates to:
  /// **'Please Wait...'**
  String get please_wait_ucf;

  /// No description provided for @something_went_wrong.
  ///
  /// In en, this message translates to:
  /// **'Something went wrong'**
  String get something_went_wrong;

  /// No description provided for @orders.
  ///
  /// In en, this message translates to:
  /// **'Orders'**
  String get orders;

  /// No description provided for @empty.
  ///
  /// In en, this message translates to:
  /// **'Empty!'**
  String get empty;

  /// No description provided for @all_order.
  ///
  /// In en, this message translates to:
  /// **'All Order'**
  String get all_order;

  /// No description provided for @pending.
  ///
  /// In en, this message translates to:
  /// **'Pending'**
  String get pending;

  /// No description provided for @processing.
  ///
  /// In en, this message translates to:
  /// **'Processing'**
  String get processing;

  /// No description provided for @delivered.
  ///
  /// In en, this message translates to:
  /// **'Delivered'**
  String get delivered;

  /// No description provided for @filter.
  ///
  /// In en, this message translates to:
  /// **'Filter'**
  String get filter;

  /// No description provided for @price_range_ucf.
  ///
  /// In en, this message translates to:
  /// **'Price Range'**
  String get price_range_ucf;

  /// No description provided for @to.
  ///
  /// In en, this message translates to:
  /// **'To'**
  String get to;

  /// No description provided for @next.
  ///
  /// In en, this message translates to:
  /// **'Next'**
  String get next;

  /// No description provided for @coupons.
  ///
  /// In en, this message translates to:
  /// **'Coupons'**
  String get coupons;

  /// No description provided for @days.
  ///
  /// In en, this message translates to:
  /// **'Days'**
  String get days;

  /// No description provided for @hours.
  ///
  /// In en, this message translates to:
  /// **'Hours'**
  String get hours;

  /// No description provided for @min.
  ///
  /// In en, this message translates to:
  /// **'Min'**
  String get min;

  /// No description provided for @sec.
  ///
  /// In en, this message translates to:
  /// **'Sec'**
  String get sec;

  /// No description provided for @copy_code_ucf.
  ///
  /// In en, this message translates to:
  /// **'Copy Code'**
  String get copy_code_ucf;

  /// No description provided for @wishlist.
  ///
  /// In en, this message translates to:
  /// **'Wishlist'**
  String get wishlist;

  /// No description provided for @add.
  ///
  /// In en, this message translates to:
  /// **'Add'**
  String get add;

  /// No description provided for @add_new_address_ucf.
  ///
  /// In en, this message translates to:
  /// **'Add New Address'**
  String get add_new_address_ucf;

  /// No description provided for @update_address.
  ///
  /// In en, this message translates to:
  /// **'Update Address'**
  String get update_address;

  /// No description provided for @select_country.
  ///
  /// In en, this message translates to:
  /// **'Select country'**
  String get select_country;

  /// No description provided for @select_state.
  ///
  /// In en, this message translates to:
  /// **'Select state'**
  String get select_state;

  /// No description provided for @select_city.
  ///
  /// In en, this message translates to:
  /// **'Select city'**
  String get select_city;

  /// No description provided for @country.
  ///
  /// In en, this message translates to:
  /// **'Country'**
  String get country;

  /// No description provided for @state.
  ///
  /// In en, this message translates to:
  /// **'State'**
  String get state;

  /// No description provided for @city.
  ///
  /// In en, this message translates to:
  /// **'City'**
  String get city;

  /// No description provided for @default_address.
  ///
  /// In en, this message translates to:
  /// **'Default address'**
  String get default_address;

  /// No description provided for @select_one.
  ///
  /// In en, this message translates to:
  /// **'Select one'**
  String get select_one;

  /// No description provided for @save.
  ///
  /// In en, this message translates to:
  /// **'Save'**
  String get save;

  /// No description provided for @close.
  ///
  /// In en, this message translates to:
  /// **'Close'**
  String get close;

  /// No description provided for @please_select_a_country.
  ///
  /// In en, this message translates to:
  /// **'Please select a country'**
  String get please_select_a_country;

  /// No description provided for @please_select_a_state.
  ///
  /// In en, this message translates to:
  /// **'Please select a state'**
  String get please_select_a_state;

  /// No description provided for @please_select_a_city.
  ///
  /// In en, this message translates to:
  /// **'Please select a city'**
  String get please_select_a_city;

  /// No description provided for @please_enter_address.
  ///
  /// In en, this message translates to:
  /// **'Please enter address'**
  String get please_enter_address;

  /// No description provided for @date.
  ///
  /// In en, this message translates to:
  /// **'Date'**
  String get date;

  /// No description provided for @note.
  ///
  /// In en, this message translates to:
  /// **'Note'**
  String get note;

  /// No description provided for @order_has_been_placed.
  ///
  /// In en, this message translates to:
  /// **'Order has been placed'**
  String get order_has_been_placed;

  /// No description provided for @order_tracking.
  ///
  /// In en, this message translates to:
  /// **'Order Tracking'**
  String get order_tracking;

  /// No description provided for @currency.
  ///
  /// In en, this message translates to:
  /// **'Currency'**
  String get currency;

  /// No description provided for @order_details.
  ///
  /// In en, this message translates to:
  /// **'Order details'**
  String get order_details;

  /// No description provided for @password_change_ucf.
  ///
  /// In en, this message translates to:
  /// **'Password Change'**
  String get password_change_ucf;

  /// No description provided for @update_password_ucf.
  ///
  /// In en, this message translates to:
  /// **'Update Password'**
  String get update_password_ucf;

  /// No description provided for @basic_info.
  ///
  /// In en, this message translates to:
  /// **'Basic info'**
  String get basic_info;

  /// No description provided for @update_profile_ucf.
  ///
  /// In en, this message translates to:
  /// **'Update Profile'**
  String get update_profile_ucf;

  /// No description provided for @cancelled.
  ///
  /// In en, this message translates to:
  /// **'Cancelled'**
  String get cancelled;

  /// No description provided for @submit.
  ///
  /// In en, this message translates to:
  /// **'Submit'**
  String get submit;

  /// No description provided for @go_to_cart.
  ///
  /// In en, this message translates to:
  /// **'Go to cart'**
  String get go_to_cart;

  /// No description provided for @all_products_ucf.
  ///
  /// In en, this message translates to:
  /// **'All Products'**
  String get all_products_ucf;

  /// No description provided for @no_more_data.
  ///
  /// In en, this message translates to:
  /// **'No more data'**
  String get no_more_data;

  /// No description provided for @place_order.
  ///
  /// In en, this message translates to:
  /// **'Place Order'**
  String get place_order;

  /// No description provided for @reg_delivery.
  ///
  /// In en, this message translates to:
  /// **'Regular delivery'**
  String get reg_delivery;

  /// No description provided for @we_will_deliver_your_products_soon.
  ///
  /// In en, this message translates to:
  /// **'We will deliver your products soon.'**
  String get we_will_deliver_your_products_soon;

  /// No description provided for @we_are_not_shipping_to_your_city_now.
  ///
  /// In en, this message translates to:
  /// **'We are not shipping to your city now.'**
  String get we_are_not_shipping_to_your_city_now;

  /// No description provided for @preferred_delivery_time.
  ///
  /// In en, this message translates to:
  /// **'Preferred delivery time'**
  String get preferred_delivery_time;

  /// No description provided for @payment_method.
  ///
  /// In en, this message translates to:
  /// **'Payment Method'**
  String get payment_method;

  /// No description provided for @personal_information.
  ///
  /// In en, this message translates to:
  /// **'Personal Information'**
  String get personal_information;

  /// No description provided for @tips.
  ///
  /// In en, this message translates to:
  /// **'Comment'**
  String get tips;

  /// No description provided for @add_tips_for_deliveryman.
  ///
  /// In en, this message translates to:
  /// **'Add tips for deliveryman'**
  String get add_tips_for_deliveryman;

  /// No description provided for @order_summary.
  ///
  /// In en, this message translates to:
  /// **'Order Summary'**
  String get order_summary;

  /// No description provided for @when_receiving_by_cash.
  ///
  /// In en, this message translates to:
  /// **'When receiving by cash'**
  String get when_receiving_by_cash;

  /// No description provided for @when_receiving_by_card.
  ///
  /// In en, this message translates to:
  /// **'When receiving by card'**
  String get when_receiving_by_card;

  /// No description provided for @update.
  ///
  /// In en, this message translates to:
  /// **'Update'**
  String get update;

  /// No description provided for @order_accepted.
  ///
  /// In en, this message translates to:
  /// **'Order accepted'**
  String get order_accepted;

  /// No description provided for @success_login.
  ///
  /// In en, this message translates to:
  /// **'Logged in successfully'**
  String get success_login;

  /// No description provided for @success_register.
  ///
  /// In en, this message translates to:
  /// **'Successfully registered'**
  String get success_register;

  /// No description provided for @no_such_user_exists.
  ///
  /// In en, this message translates to:
  /// **'No such user exists'**
  String get no_such_user_exists;

  /// No description provided for @a.
  ///
  /// In en, this message translates to:
  /// **'_'**
  String get a;

  /// No description provided for @download_invoice.
  ///
  /// In en, this message translates to:
  /// **'Download invoice'**
  String get download_invoice;

  /// No description provided for @image_mustbe_less_1_mb.
  ///
  /// In en, this message translates to:
  /// **'Image size must be less than 1 MB'**
  String get image_mustbe_less_1_mb;
}

class _AppLocalizationsDelegate
    extends LocalizationsDelegate<AppLocalizations> {
  const _AppLocalizationsDelegate();

  @override
  Future<AppLocalizations> load(Locale locale) {
    return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));
  }

  @override
  bool isSupported(Locale locale) =>
      <String>['en', 'ru', 'uz'].contains(locale.languageCode);

  @override
  bool shouldReload(_AppLocalizationsDelegate old) => false;
}

AppLocalizations lookupAppLocalizations(Locale locale) {
  // Lookup logic when only language code is specified.
  switch (locale.languageCode) {
    case 'en':
      return AppLocalizationsEn();
    case 'ru':
      return AppLocalizationsRu();
    case 'uz':
      return AppLocalizationsUz();
  }

  throw FlutterError(
      'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '
      'an issue with the localizations generation tool. Please file an issue '
      'on GitHub with a reproducible sample app and the gen-l10n configuration '
      'that was used.');
}
