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(context, AppLocalizations); } static const LocalizationsDelegate 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> localizationsDelegates = >[ delegate, GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ]; /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ 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; } class _AppLocalizationsDelegate extends LocalizationsDelegate { const _AppLocalizationsDelegate(); @override Future load(Locale locale) { return SynchronousFuture(lookupAppLocalizations(locale)); } @override bool isSupported(Locale locale) => ['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.' ); }