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_hi.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('hi')
  ];

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @quickPay.
  ///
  /// In en, this message translates to:
  /// **'Quick \n Pay'**
  String get quickPay;

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

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

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

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

  /// No description provided for @useBiometricPrompt.
  ///
  /// In en, this message translates to:
  /// **'Use fingerprint/face ID for faster login?'**
  String get useBiometricPrompt;

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

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

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

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

  /// No description provided for @failedToLoad.
  ///
  /// In en, this message translates to:
  /// **'Failed to load transactions: {error}'**
  String failedToLoad(Object error);

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

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

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

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

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

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

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

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

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

  /// No description provided for @customerInfo.
  ///
  /// In en, this message translates to:
  /// **'Customer \n Info'**
  String get customerInfo;

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

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

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

  /// No description provided for @handleCheque.
  ///
  /// In en, this message translates to:
  /// **'Handle \n Cheque'**
  String get handleCheque;

  /// No description provided for @manageBeneficiary.
  ///
  /// In en, this message translates to:
  /// **'Manage \n Beneficiary'**
  String get manageBeneficiary;

  /// No description provided for @contactUs.
  ///
  /// In en, this message translates to:
  /// **'Contact \n Us'**
  String get contactUs;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @enterValidAccountNumber.
  ///
  /// In en, this message translates to:
  /// **'Enter a valid account number'**
  String get enterValidAccountNumber;

  /// No description provided for @reenterAccountNumber.
  ///
  /// In en, this message translates to:
  /// **'Re-enter Account Number'**
  String get reenterAccountNumber;

  /// No description provided for @accountMismatch.
  ///
  /// In en, this message translates to:
  /// **'Account Numbers do not match'**
  String get accountMismatch;

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

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

  /// No description provided for @enterValidPhone.
  ///
  /// In en, this message translates to:
  /// **'Enter a valid phone number'**
  String get enterValidPhone;

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

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

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

  /// No description provided for @activeAccounts.
  ///
  /// In en, this message translates to:
  /// **'Number of Active Accounts'**
  String get activeAccounts;

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

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

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

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

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

  /// No description provided for @quickPayOwnBank.
  ///
  /// In en, this message translates to:
  /// **'Quick Pay - Own Bank'**
  String get quickPayOwnBank;

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

  /// No description provided for @accountNumberRequired.
  ///
  /// In en, this message translates to:
  /// **'Account Number is required'**
  String get accountNumberRequired;

  /// No description provided for @validAccountNumber.
  ///
  /// In en, this message translates to:
  /// **'Enter a valid account number'**
  String get validAccountNumber;

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

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

  /// No description provided for @selectAccountType.
  ///
  /// In en, this message translates to:
  /// **'Please select account type'**
  String get selectAccountType;

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

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

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

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

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

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

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

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

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

  /// No description provided for @quickPayOutsideBank.
  ///
  /// In en, this message translates to:
  /// **'Quick Pay - Outside Bank'**
  String get quickPayOutsideBank;

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

  /// No description provided for @bankNameRequired.
  ///
  /// In en, this message translates to:
  /// **'Beneficiary Bank name is required'**
  String get bankNameRequired;

  /// No description provided for @branchNameRequired.
  ///
  /// In en, this message translates to:
  /// **'Beneficiary Branch Name is required'**
  String get branchNameRequired;

  /// No description provided for @ifscRequired.
  ///
  /// In en, this message translates to:
  /// **'IFSC Code is required'**
  String get ifscRequired;

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

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

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

  /// No description provided for @accountOpeningDeposit.
  ///
  /// In en, this message translates to:
  /// **'Account Opening Request - Deposit'**
  String get accountOpeningDeposit;

  /// No description provided for @accountOpeningLoan.
  ///
  /// In en, this message translates to:
  /// **'Account Opening Request - Loan'**
  String get accountOpeningLoan;

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

  /// No description provided for @emailLaunchError.
  ///
  /// In en, this message translates to:
  /// **'Could not launch email client for'**
  String get emailLaunchError;

  /// No description provided for @dialerLaunchError.
  ///
  /// In en, this message translates to:
  /// **'Could not launch dialer for'**
  String get dialerLaunchError;

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

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

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

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

  /// No description provided for @gmWest.
  ///
  /// In en, this message translates to:
  /// **'General Manager (West)'**
  String get gmWest;

  /// No description provided for @gmNorth.
  ///
  /// In en, this message translates to:
  /// **'General Manager (North)'**
  String get gmNorth;

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

  /// No description provided for @fundTransferBeneficiary.
  ///
  /// In en, this message translates to:
  /// **'Fund Transfer - Beneficiary'**
  String get fundTransferBeneficiary;

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @lastTenTransactions.
  ///
  /// In en, this message translates to:
  /// **'Showing last 10 transactions'**
  String get lastTenTransactions;

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @cardBlocked.
  ///
  /// In en, this message translates to:
  /// **'Card has been blocked'**
  String get cardBlocked;

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

  /// No description provided for @enterValidCardNumber.
  ///
  /// In en, this message translates to:
  /// **'Enter valid card number'**
  String get enterValidCardNumber;

  /// No description provided for @cvv3Digits.
  ///
  /// In en, this message translates to:
  /// **'CVV must be 3 digits'**
  String get cvv3Digits;

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @pin4Digits.
  ///
  /// In en, this message translates to:
  /// **'PIN must be at least 4 digits'**
  String get pin4Digits;

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

  /// No description provided for @pinsDoNotMatch.
  ///
  /// In en, this message translates to:
  /// **'PINs do not match. Try again.'**
  String get pinsDoNotMatch;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @otpSentMessage.
  ///
  /// In en, this message translates to:
  /// **'Enter the 4-digit OTP sent to your mobile number'**
  String get otpSentMessage;

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

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

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

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

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

  /// No description provided for @tpinRequiredMessage.
  ///
  /// In en, this message translates to:
  /// **'You need to set your TPIN to continue with secure transactions'**
  String get tpinRequiredMessage;

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

  /// No description provided for @tpinInfo.
  ///
  /// In en, this message translates to:
  /// **'Your TPIN is a 6-digit code used to authorize transactions. Keep it safe and do not share it with anyone.'**
  String get tpinInfo;

  /// No description provided for @tpinFailed.
  ///
  /// In en, this message translates to:
  /// **'Failed to set TPIN. Please try again.'**
  String get tpinFailed;

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

  /// No description provided for @tpinSetSuccess.
  ///
  /// In en, this message translates to:
  /// **'Your TPIN was set successfully'**
  String get tpinSetSuccess;

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

  /// No description provided for @pinsMismatchRetry.
  ///
  /// In en, this message translates to:
  /// **'PINs do not match. Try again.'**
  String get pinsMismatchRetry;

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

  /// No description provided for @setNewTpin.
  ///
  /// In en, this message translates to:
  /// **'Set your new TPIN'**
  String get setNewTpin;

  /// No description provided for @confirmNewTpin.
  ///
  /// In en, this message translates to:
  /// **'Confirm your new TPIN'**
  String get confirmNewTpin;

  /// No description provided for @tpinStatusFailed.
  ///
  /// In en, this message translates to:
  /// **'Failed to check TPIN status'**
  String get tpinStatusFailed;

  /// No description provided for @enter6DigitTpin.
  ///
  /// In en, this message translates to:
  /// **'Please enter a 6-digit TPIN'**
  String get enter6DigitTpin;

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

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

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

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

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

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

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

  /// No description provided for @enableFingerprintMessage.
  ///
  /// In en, this message translates to:
  /// **'Would you like to enable fingerprint authentication for faster login?'**
  String get enableFingerprintMessage;

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

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

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

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

  /// No description provided for @exitConfirmation.
  ///
  /// In en, this message translates to:
  /// **'Do you really want to exit?'**
  String get exitConfirmation;

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

  /// No description provided for @enableFingerprintQuick.
  ///
  /// In en, this message translates to:
  /// **'Enable fingerprint authentication for quick login?'**
  String get enableFingerprintQuick;

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

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

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

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

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

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

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

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

  /// No description provided for @incorrectMPIN.
  ///
  /// In en, this message translates to:
  /// **'Incorrect mPIN. Try again.'**
  String get incorrectMPIN;

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

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

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

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

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

  /// No description provided for @kccBankFull.
  ///
  /// In en, this message translates to:
  /// **'Kangra Central Co-operative Bank'**
  String get kccBankFull;
}

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', 'hi'].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 'hi':
      return AppLocalizationsHi();
  }

  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.');
}
