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_id.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('id')
  ];

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

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

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

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

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

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

  /// No description provided for @login_desc.
  ///
  /// In en, this message translates to:
  /// **'Sign in to your account'**
  String get login_desc;

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @home_header_desc.
  ///
  /// In en, this message translates to:
  /// **'Let\'s improve your business performance today'**
  String get home_header_desc;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @today_summary.
  ///
  /// In en, this message translates to:
  /// **'Today\'s Summary'**
  String get today_summary;

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

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

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

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

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

  /// No description provided for @today_top_product.
  ///
  /// In en, this message translates to:
  /// **'Today\'s Top Product'**
  String get today_top_product;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @no_date_selected.
  ///
  /// In en, this message translates to:
  /// **'No date has been selected yet'**
  String get no_date_selected;

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @cash_flow_chart.
  ///
  /// In en, this message translates to:
  /// **'Cash Flow Chart for {days} Last Days'**
  String cash_flow_chart(int days);

  /// No description provided for @profit_loss_detail.
  ///
  /// In en, this message translates to:
  /// **'Profit & Loss Details'**
  String get profit_loss_detail;

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

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

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

  /// No description provided for @cost_of_goods_sold.
  ///
  /// In en, this message translates to:
  /// **'Cost of goods sold'**
  String get cost_of_goods_sold;

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

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

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

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

  /// No description provided for @category_no_data.
  ///
  /// In en, this message translates to:
  /// **'There are no data categories yet'**
  String get category_no_data;

  /// No description provided for @category_no_data_desc.
  ///
  /// In en, this message translates to:
  /// **'Sales category data will appear here'**
  String get category_no_data_desc;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @low_stock_desc.
  ///
  /// In en, this message translates to:
  /// **'Immediately reorder at least {stock} pcs'**
  String low_stock_desc(String stock);

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @no_order_with_status.
  ///
  /// In en, this message translates to:
  /// **'No {status} orders found'**
  String no_order_with_status(String status);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @total_days_overview.
  ///
  /// In en, this message translates to:
  /// **'{days} days overview'**
  String total_days_overview(int days);

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

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

  /// No description provided for @no_sales_data_desc.
  ///
  /// In en, this message translates to:
  /// **'Sales data will appear here once transactions are recorded'**
  String get no_sales_data_desc;

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

  /// No description provided for @payment_methods_desc.
  ///
  /// In en, this message translates to:
  /// **'Revenue breakdown by payment method '**
  String get payment_methods_desc;

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

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

  /// No description provided for @no_payment_methods_desc.
  ///
  /// In en, this message translates to:
  /// **'Payment method data will appear here once transactions are made'**
  String get no_payment_methods_desc;

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

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @outlet_informatio_desc.
  ///
  /// In en, this message translates to:
  /// **'Manage your outlet details'**
  String get outlet_informatio_desc;

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

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

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

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

  /// No description provided for @download_report_desc.
  ///
  /// In en, this message translates to:
  /// **'Download your sales report or inventory report'**
  String get download_report_desc;

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

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

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

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

  /// No description provided for @help_center_desc.
  ///
  /// In en, this message translates to:
  /// **'Get help from our support team'**
  String get help_center_desc;

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

  /// No description provided for @about_desc.
  ///
  /// In en, this message translates to:
  /// **'Learn more about our app'**
  String get about_desc;

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

  /// No description provided for @logout_desc.
  ///
  /// In en, this message translates to:
  /// **'Logout of your account'**
  String get logout_desc;

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

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

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

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

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

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

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

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

  /// No description provided for @new_password_not_same.
  ///
  /// In en, this message translates to:
  /// **'New password cannot be same as current password'**
  String get new_password_not_same;

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

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

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

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

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

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

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

  /// No description provided for @coming_soon_desc.
  ///
  /// In en, this message translates to:
  /// **'Something amazing is brewing!\nStay tuned for the big reveal.'**
  String get coming_soon_desc;

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

  /// No description provided for @transaction_report_desc.
  ///
  /// In en, this message translates to:
  /// **'Export all transaction data with detailed analytics'**
  String get transaction_report_desc;

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

  /// No description provided for @invetory_report_desc.
  ///
  /// In en, this message translates to:
  /// **'Export inventory and stock data with trends'**
  String get invetory_report_desc;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @warning_desc.
  ///
  /// In en, this message translates to:
  /// **'Activities deviating from standards — needs review.'**
  String get warning_desc;

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

  /// No description provided for @no_warning_desc.
  ///
  /// In en, this message translates to:
  /// **'All activities are running normally.'**
  String get no_warning_desc;

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

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

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

  /// No description provided for @summary_today.
  ///
  /// In en, this message translates to:
  /// **'Today\'s Summary'**
  String get summary_today;

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

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

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

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

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

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

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

  /// No description provided for @today_condition.
  ///
  /// In en, this message translates to:
  /// **'Today\'s Condition'**
  String get today_condition;

  /// No description provided for @portion_sold.
  ///
  /// In en, this message translates to:
  /// **'{count} portions sold'**
  String portion_sold(int count);

  /// No description provided for @mtd_month.
  ///
  /// In en, this message translates to:
  /// **'MTD ({month})'**
  String mtd_month(String month);

  /// No description provided for @profit_loss_date.
  ///
  /// In en, this message translates to:
  /// **'Profit / Loss · {date}'**
  String profit_loss_date(String date);

  /// No description provided for @profit_loss_report.
  ///
  /// In en, this message translates to:
  /// **'Profit & Loss Report'**
  String get profit_loss_report;

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

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

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

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

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

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

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

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

  /// No description provided for @daily_revenue_desc.
  ///
  /// In en, this message translates to:
  /// **'Monday – Sunday · in thousands of Rupiah'**
  String get daily_revenue_desc;

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

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

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

  /// No description provided for @profit_sharing_desc.
  ///
  /// In en, this message translates to:
  /// **'Revenue allocation for purchasing, owner, and team'**
  String get profit_sharing_desc;

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

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

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

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

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

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

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

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

  /// No description provided for @week_count.
  ///
  /// In en, this message translates to:
  /// **'{count} weeks'**
  String week_count(int count);

  /// No description provided for @order_count_label.
  ///
  /// In en, this message translates to:
  /// **'{count} orders'**
  String order_count_label(int count);

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

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

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

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

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

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

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

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

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

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

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

  /// No description provided for @tap_row_for_detail.
  ///
  /// In en, this message translates to:
  /// **'Tap a card to see sub category and product details'**
  String get tap_row_for_detail;
}

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

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