import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; import 'app_localizations_en.dart'; import 'app_localizations_ru.dart'; // 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('ru'), ]; /// No description provided for @appTitle. /// /// In ru, this message translates to: /// **'Kitty finances'** String get appTitle; /// No description provided for @navHome. /// /// In ru, this message translates to: /// **'Главная'** String get navHome; /// No description provided for @navAnalytics. /// /// In ru, this message translates to: /// **'Аналитика'** String get navAnalytics; /// No description provided for @navAccounts. /// /// In ru, this message translates to: /// **'Счета'** String get navAccounts; /// No description provided for @navProfile. /// /// In ru, this message translates to: /// **'Профиль'** String get navProfile; /// No description provided for @allAccounts. /// /// In ru, this message translates to: /// **'Все'** String get allAccounts; /// No description provided for @comingSoon. /// /// In ru, this message translates to: /// **'Скоро'** String get comingSoon; /// No description provided for @budget. /// /// In ru, this message translates to: /// **'БЮДЖЕТ'** String get budget; /// No description provided for @balance. /// /// In ru, this message translates to: /// **'БАЛАНС'** String get balance; /// No description provided for @income. /// /// In ru, this message translates to: /// **'ДОХОДЫ'** String get income; /// No description provided for @expenses. /// /// In ru, this message translates to: /// **'РАСХОДЫ'** String get expenses; /// No description provided for @transactions. /// /// In ru, this message translates to: /// **'Транзакции'** String get transactions; /// No description provided for @transactionCount. /// /// In ru, this message translates to: /// **'{count, plural, one{{count} операция} few{{count} операции} many{{count} операций} other{{count} операций}}'** String transactionCount(int count); /// No description provided for @allCategoriesFilter. /// /// In ru, this message translates to: /// **'Все категории · все типы'** String get allCategoriesFilter; /// No description provided for @filterByCategories. /// /// In ru, this message translates to: /// **'Фильтр по категориям'** String get filterByCategories; /// No description provided for @clearFilter. /// /// In ru, this message translates to: /// **'Сбросить'** String get clearFilter; /// No description provided for @selectAll. /// /// In ru, this message translates to: /// **'Выбрать все'** String get selectAll; /// No description provided for @categoriesSelectedCount. /// /// In ru, this message translates to: /// **'{count, plural, one{{count} категория} few{{count} категории} many{{count} категорий} other{{count} категорий}}'** String categoriesSelectedCount(int count); /// No description provided for @moreCategories. /// /// In ru, this message translates to: /// **'{count, plural, one{+ ещё {count} категория →} few{+ ещё {count} категории →} many{+ ещё {count} категорий →} other{+ ещё {count} категорий →}}'** String moreCategories(int count); /// No description provided for @todayWithDate. /// /// In ru, this message translates to: /// **'Сегодня · {date}'** String todayWithDate(String date); /// No description provided for @yesterdayWithDate. /// /// In ru, this message translates to: /// **'Вчера · {date}'** String yesterdayWithDate(String date); /// No description provided for @analyticsTitle. /// /// In ru, this message translates to: /// **'Отчёты'** String get analyticsTitle; /// No description provided for @analyticsSubtitle. /// /// In ru, this message translates to: /// **'Аналитика'** String get analyticsSubtitle; /// No description provided for @accountsSubtitle. /// /// In ru, this message translates to: /// **'Управление'** String get accountsSubtitle; /// No description provided for @profileSubtitle. /// /// In ru, this message translates to: /// **'Настройки'** String get profileSubtitle; /// No description provided for @darkTheme. /// /// In ru, this message translates to: /// **'Тёмная тема'** String get darkTheme; /// No description provided for @profileLanguageTile. /// /// In ru, this message translates to: /// **'Язык'** String get profileLanguageTile; /// No description provided for @langEnglish. /// /// In ru, this message translates to: /// **'English'** String get langEnglish; /// No description provided for @langRussian. /// /// In ru, this message translates to: /// **'Русский'** String get langRussian; /// No description provided for @profileHint. /// /// In ru, this message translates to: /// **'Здесь появится профиль пользователя, валюта, локаль и другие настройки.'** String get profileHint; /// No description provided for @onboardingTitle. /// /// In ru, this message translates to: /// **'Добро пожаловать'** String get onboardingTitle; /// No description provided for @onboardingSubtitle. /// /// In ru, this message translates to: /// **'Расскажите, как к вам обращаться.'** String get onboardingSubtitle; /// No description provided for @onboardingNameLabel. /// /// In ru, this message translates to: /// **'Ваше имя'** String get onboardingNameLabel; /// No description provided for @onboardingNameHint. /// /// In ru, this message translates to: /// **'Например, Алекс'** String get onboardingNameHint; /// No description provided for @onboardingContinue. /// /// In ru, this message translates to: /// **'Продолжить'** String get onboardingContinue; /// No description provided for @onboardingAccountTitle. /// /// In ru, this message translates to: /// **'Ваш первый счёт'** String get onboardingAccountTitle; /// No description provided for @onboardingAccountSubtitle. /// /// In ru, this message translates to: /// **'Добавьте счёт, чтобы учитывать деньги. Другие счета можно добавить позже.'** String get onboardingAccountSubtitle; /// No description provided for @txNewTitle. /// /// In ru, this message translates to: /// **'Новая операция'** String get txNewTitle; /// No description provided for @txEditTitle. /// /// In ru, this message translates to: /// **'Редактировать операцию'** String get txEditTitle; /// No description provided for @txTypeExpense. /// /// In ru, this message translates to: /// **'Расход'** String get txTypeExpense; /// No description provided for @txTypeIncome. /// /// In ru, this message translates to: /// **'Доход'** String get txTypeIncome; /// No description provided for @txTypeTransfer. /// /// In ru, this message translates to: /// **'Перевод'** String get txTypeTransfer; /// No description provided for @txAmountHint. /// /// In ru, this message translates to: /// **'0'** String get txAmountHint; /// No description provided for @txCategoryLabel. /// /// In ru, this message translates to: /// **'Категория'** String get txCategoryLabel; /// No description provided for @txAccountLabel. /// /// In ru, this message translates to: /// **'Счёт списания'** String get txAccountLabel; /// No description provided for @txAccountFromLabel. /// /// In ru, this message translates to: /// **'Откуда'** String get txAccountFromLabel; /// No description provided for @txAccountToLabel. /// /// In ru, this message translates to: /// **'Куда'** String get txAccountToLabel; /// No description provided for @txDateTimeLabel. /// /// In ru, this message translates to: /// **'Дата и время'** String get txDateTimeLabel; /// No description provided for @txBalanceAfter. /// /// In ru, this message translates to: /// **'Остаток после'** String get txBalanceAfter; /// No description provided for @txTransferAfter. /// /// In ru, this message translates to: /// **'После перевода'** String get txTransferAfter; /// No description provided for @txNoteLabel. /// /// In ru, this message translates to: /// **'Мерчант'** String get txNoteLabel; /// No description provided for @txNoteHint. /// /// In ru, this message translates to: /// **'Например, Пятерочка…'** String get txNoteHint; /// No description provided for @txExtraInfoLabel. /// /// In ru, this message translates to: /// **'Доп. информация'** String get txExtraInfoLabel; /// No description provided for @txExtraInfoHint. /// /// In ru, this message translates to: /// **'Например, продукты на неделю…'** String get txExtraInfoHint; /// No description provided for @txSaveButton. /// /// In ru, this message translates to: /// **'Добавить транзакцию'** String get txSaveButton; /// No description provided for @txSaveEditButton. /// /// In ru, this message translates to: /// **'Сохранить'** String get txSaveEditButton; /// No description provided for @txTransferButton. /// /// In ru, this message translates to: /// **'Перевести {amount}'** String txTransferButton(String amount); /// No description provided for @txDeleteButton. /// /// In ru, this message translates to: /// **'Удалить'** String get txDeleteButton; /// No description provided for @txDeleteConfirmTitle. /// /// In ru, this message translates to: /// **'Удалить транзакцию?'** String get txDeleteConfirmTitle; /// No description provided for @txDeleteConfirmMessage. /// /// In ru, this message translates to: /// **'Действие нельзя отменить.'** String get txDeleteConfirmMessage; /// No description provided for @txDeleteConfirmYes. /// /// In ru, this message translates to: /// **'Удалить'** String get txDeleteConfirmYes; /// No description provided for @txDeleteConfirmNo. /// /// In ru, this message translates to: /// **'Отмена'** String get txDeleteConfirmNo; /// No description provided for @txPickCategory. /// /// In ru, this message translates to: /// **'Выберите категорию'** String get txPickCategory; /// No description provided for @txPickAccount. /// /// In ru, this message translates to: /// **'Выберите счёт'** String get txPickAccount; /// No description provided for @pickerAccountTitle. /// /// In ru, this message translates to: /// **'Счёт'** String get pickerAccountTitle; /// No description provided for @pickerAccountSubtitle. /// /// In ru, this message translates to: /// **'{count, plural, one{{count} счёт} few{{count} счёта} many{{count} счетов} other{{count} счетов}}'** String pickerAccountSubtitle(int count); /// No description provided for @pickerCategoryTitle. /// /// In ru, this message translates to: /// **'Категория'** String get pickerCategoryTitle; /// No description provided for @pickerCategorySubtitle. /// /// In ru, this message translates to: /// **'{count, plural, one{{count} категория} few{{count} категории} many{{count} категорий} other{{count} категорий}}'** String pickerCategorySubtitle(int count); /// No description provided for @pickerAddAccount. /// /// In ru, this message translates to: /// **'Добавить счёт'** String get pickerAddAccount; /// No description provided for @pickerCreateCategory. /// /// In ru, this message translates to: /// **'Создать категорию'** String get pickerCreateCategory; /// No description provided for @comingSoonShort. /// /// In ru, this message translates to: /// **'Скоро'** String get comingSoonShort; /// No description provided for @txValidationAmountRequired. /// /// In ru, this message translates to: /// **'Введите сумму'** String get txValidationAmountRequired; /// No description provided for @txValidationAccountRequired. /// /// In ru, this message translates to: /// **'Выберите счёт'** String get txValidationAccountRequired; /// No description provided for @txValidationCategoryRequired. /// /// In ru, this message translates to: /// **'Выберите категорию'** String get txValidationCategoryRequired; /// No description provided for @txValidationTransferSameAccount. /// /// In ru, this message translates to: /// **'Счёт-источник и счёт-получатель должны отличаться'** String get txValidationTransferSameAccount; /// No description provided for @txValidationTransferDestRequired. /// /// In ru, this message translates to: /// **'Выберите счёт получателя'** String get txValidationTransferDestRequired; /// No description provided for @categoriesScreenTitle. /// /// In ru, this message translates to: /// **'Категории'** String get categoriesScreenTitle; /// No description provided for @categoriesEmpty. /// /// In ru, this message translates to: /// **'Пока нет категорий. Нажмите +, чтобы создать первую.'** String get categoriesEmpty; /// No description provided for @categoryNewTitle. /// /// In ru, this message translates to: /// **'Новая категория'** String get categoryNewTitle; /// No description provided for @categoryEditTitle. /// /// In ru, this message translates to: /// **'Редактировать категорию'** String get categoryEditTitle; /// No description provided for @categoryNameLabel. /// /// In ru, this message translates to: /// **'Название'** String get categoryNameLabel; /// No description provided for @categoryNameHint. /// /// In ru, this message translates to: /// **'Например, Продукты'** String get categoryNameHint; /// No description provided for @categoryIconLabel. /// /// In ru, this message translates to: /// **'Иконка'** String get categoryIconLabel; /// No description provided for @categoryColorLabel. /// /// In ru, this message translates to: /// **'Цвет'** String get categoryColorLabel; /// No description provided for @categorySaveButton. /// /// In ru, this message translates to: /// **'Создать категорию'** String get categorySaveButton; /// No description provided for @categoryArchiveButton. /// /// In ru, this message translates to: /// **'В архив'** String get categoryArchiveButton; /// No description provided for @categoryArchiveConfirmTitle. /// /// In ru, this message translates to: /// **'Архивировать категорию?'** String get categoryArchiveConfirmTitle; /// No description provided for @categoryArchiveConfirmMessage. /// /// In ru, this message translates to: /// **'Архивные категории исчезают из пикеров и списков. Существующие транзакции сохранят ссылку на неё.'** String get categoryArchiveConfirmMessage; /// No description provided for @categoryValidationNameRequired. /// /// In ru, this message translates to: /// **'Введите название'** String get categoryValidationNameRequired; /// No description provided for @categoryValidationNameTooLong. /// /// In ru, this message translates to: /// **'Слишком длинное название (не больше 50 символов)'** String get categoryValidationNameTooLong; /// No description provided for @iconPickerTitle. /// /// In ru, this message translates to: /// **'Выберите иконку'** String get iconPickerTitle; /// No description provided for @colorPickerTitle. /// /// In ru, this message translates to: /// **'Выберите цвет'** String get colorPickerTitle; /// No description provided for @currencyPickerTitle. /// /// In ru, this message translates to: /// **'Выберите валюту'** String get currencyPickerTitle; /// No description provided for @currencyPickerSearchHint. /// /// In ru, this message translates to: /// **'Поиск…'** String get currencyPickerSearchHint; /// No description provided for @colorPickerAllUsed. /// /// In ru, this message translates to: /// **'Все цвета палитры уже заняты другими категориями.'** String get colorPickerAllUsed; /// No description provided for @iconGroupFood. /// /// In ru, this message translates to: /// **'Еда'** String get iconGroupFood; /// No description provided for @iconGroupTransport. /// /// In ru, this message translates to: /// **'Транспорт'** String get iconGroupTransport; /// No description provided for @iconGroupShopping. /// /// In ru, this message translates to: /// **'Покупки'** String get iconGroupShopping; /// No description provided for @iconGroupHome. /// /// In ru, this message translates to: /// **'Дом'** String get iconGroupHome; /// No description provided for @iconGroupHealth. /// /// In ru, this message translates to: /// **'Здоровье'** String get iconGroupHealth; /// No description provided for @iconGroupEntertainment. /// /// In ru, this message translates to: /// **'Досуг'** String get iconGroupEntertainment; /// No description provided for @iconGroupWork. /// /// In ru, this message translates to: /// **'Работа'** String get iconGroupWork; /// No description provided for @iconGroupTravel. /// /// In ru, this message translates to: /// **'Путешествия'** String get iconGroupTravel; /// No description provided for @iconGroupFinance. /// /// In ru, this message translates to: /// **'Финансы'** String get iconGroupFinance; /// No description provided for @iconGroupOther. /// /// In ru, this message translates to: /// **'Прочее'** String get iconGroupOther; /// No description provided for @profileCategoriesTile. /// /// In ru, this message translates to: /// **'Категории'** String get profileCategoriesTile; /// No description provided for @profileAccountsTile. /// /// In ru, this message translates to: /// **'Счета'** String get profileAccountsTile; /// No description provided for @accountsEmpty. /// /// In ru, this message translates to: /// **'Счетов нет. Нажмите +, чтобы добавить.'** String get accountsEmpty; /// No description provided for @accountNewTitle. /// /// In ru, this message translates to: /// **'Новый счёт'** String get accountNewTitle; /// No description provided for @accountEditTitle. /// /// In ru, this message translates to: /// **'Редактировать счёт'** String get accountEditTitle; /// No description provided for @accountNameLabel. /// /// In ru, this message translates to: /// **'Название'** String get accountNameLabel; /// No description provided for @accountNameHint. /// /// In ru, this message translates to: /// **'напр. Кошелёк'** String get accountNameHint; /// No description provided for @accountTypeLabel. /// /// In ru, this message translates to: /// **'Тип'** String get accountTypeLabel; /// No description provided for @accountTypeCash. /// /// In ru, this message translates to: /// **'Наличные'** String get accountTypeCash; /// No description provided for @accountTypeCard. /// /// In ru, this message translates to: /// **'Карта'** String get accountTypeCard; /// No description provided for @accountTypeBank. /// /// In ru, this message translates to: /// **'Банк'** String get accountTypeBank; /// No description provided for @accountTypeSavings. /// /// In ru, this message translates to: /// **'Накопления'** String get accountTypeSavings; /// No description provided for @accountCurrencyLabel. /// /// In ru, this message translates to: /// **'Валюта'** String get accountCurrencyLabel; /// No description provided for @accountInitialBalanceLabel. /// /// In ru, this message translates to: /// **'Начальный баланс'** String get accountInitialBalanceLabel; /// No description provided for @accountIconLabel. /// /// In ru, this message translates to: /// **'Иконка'** String get accountIconLabel; /// No description provided for @accountColorLabel. /// /// In ru, this message translates to: /// **'Цвет'** String get accountColorLabel; /// No description provided for @accountIsDefaultLabel. /// /// In ru, this message translates to: /// **'Счёт по умолчанию'** String get accountIsDefaultLabel; /// No description provided for @accountIsDefaultHint. /// /// In ru, this message translates to: /// **'Подставляется при создании транзакций'** String get accountIsDefaultHint; /// No description provided for @accountSaveButton. /// /// In ru, this message translates to: /// **'Создать счёт'** String get accountSaveButton; /// No description provided for @accountSaveEditButton. /// /// In ru, this message translates to: /// **'Сохранить'** String get accountSaveEditButton; /// No description provided for @accountArchiveButton. /// /// In ru, this message translates to: /// **'Архивировать'** String get accountArchiveButton; /// No description provided for @accountArchiveConfirmTitle. /// /// In ru, this message translates to: /// **'Архивировать счёт?'** String get accountArchiveConfirmTitle; /// No description provided for @accountArchiveConfirmMessage. /// /// In ru, this message translates to: /// **'Архивные счета исчезают из списков и пикеров. Существующие транзакции сохранят ссылку.'** String get accountArchiveConfirmMessage; /// No description provided for @accountValidationNameRequired. /// /// In ru, this message translates to: /// **'Введите название'** String get accountValidationNameRequired; /// No description provided for @accountValidationNameTooLong. /// /// In ru, this message translates to: /// **'Слишком длинное название (макс. 50 символов)'** String get accountValidationNameTooLong; /// No description provided for @accountSaveError. /// /// In ru, this message translates to: /// **'Не удалось сохранить счёт. Попробуйте ещё раз.'** String get accountSaveError; /// No description provided for @accountArchiveError. /// /// In ru, this message translates to: /// **'Не удалось архивировать счёт. Попробуйте ещё раз.'** String get accountArchiveError; /// No description provided for @accountSetDefaultError. /// /// In ru, this message translates to: /// **'Счёт сохранён, но не удалось сделать его умолчательным.'** String get accountSetDefaultError; /// No description provided for @profileParsingTile. /// /// In ru, this message translates to: /// **'Парсинг уведомлений'** String get profileParsingTile; /// No description provided for @parsingSettingsTitle. /// /// In ru, this message translates to: /// **'Парсинг уведомлений'** String get parsingSettingsTitle; /// No description provided for @parsingSettingsSubtitle. /// /// In ru, this message translates to: /// **'Настройки'** String get parsingSettingsSubtitle; /// No description provided for @parsingEnableLabel. /// /// In ru, this message translates to: /// **'Распознавать уведомления'** String get parsingEnableLabel; /// No description provided for @parsingAutoApplyLabel. /// /// In ru, this message translates to: /// **'Авто-добавление транзакций'** String get parsingAutoApplyLabel; /// No description provided for @parsingAutoApplyHint. /// /// In ru, this message translates to: /// **'Добавлять без подтверждения, когда есть правило, сумма найдена в тексте сообщения и счёт определён надёжно.'** String get parsingAutoApplyHint; /// No description provided for @parsingTransferPairingLabel. /// /// In ru, this message translates to: /// **'Склеивать переводы между счетами'** String get parsingTransferPairingLabel; /// No description provided for @parsingTransferPairingHint. /// /// In ru, this message translates to: /// **'Два уведомления об одном переводе (списание + зачисление) объединяются в одну транзакцию-перевод на подтверждение.'** String get parsingTransferPairingHint; /// No description provided for @parsingDiagnosticModeLabel. /// /// In ru, this message translates to: /// **'Режим диагностики'** String get parsingDiagnosticModeLabel; /// No description provided for @parsingDiagnosticModeHint. /// /// In ru, this message translates to: /// **'Ловить каждое уведомление от мониторимых приложений (включая пустые/повторные) с полным дампом всех полей. Временно — для отладки, добавляет шум в журнал парсинга.'** String get parsingDiagnosticModeHint; /// No description provided for @inboxWhyNotAuto. /// /// In ru, this message translates to: /// **'Почему не автоматически: {reasons}'** String inboxWhyNotAuto(String reasons); /// No description provided for @gateCheckRuleMatched. /// /// In ru, this message translates to: /// **'нет правила для мерчанта'** String get gateCheckRuleMatched; /// No description provided for @gateCheckAmountVerifiedInBody. /// /// In ru, this message translates to: /// **'сумма не найдена в тексте сообщения'** String get gateCheckAmountVerifiedInBody; /// No description provided for @gateCheckCurrencyKnown. /// /// In ru, this message translates to: /// **'валюта не распознана'** String get gateCheckCurrencyKnown; /// No description provided for @gateCheckTypeMatchesRule. /// /// In ru, this message translates to: /// **'тип операции отличается от правила'** String get gateCheckTypeMatchesRule; /// No description provided for @gateCheckAccountResolved. /// /// In ru, this message translates to: /// **'счёт не определён'** String get gateCheckAccountResolved; /// No description provided for @gateCheckAccountTrusted. /// /// In ru, this message translates to: /// **'счёт неоднозначен'** String get gateCheckAccountTrusted; /// No description provided for @gateCheckAmountUnderCap. /// /// In ru, this message translates to: /// **'слишком крупная сумма'** String get gateCheckAmountUnderCap; /// No description provided for @parsingRulesTile. /// /// In ru, this message translates to: /// **'Правила парсинга'** String get parsingRulesTile; /// No description provided for @parsingRulesCreatedCount. /// /// In ru, this message translates to: /// **'Правил создано: {count}'** String parsingRulesCreatedCount(int count); /// No description provided for @parsingAiSectionTitle. /// /// In ru, this message translates to: /// **'AI (DeepSeek)'** String get parsingAiSectionTitle; /// No description provided for @parsingAiComingSoon. /// /// In ru, this message translates to: /// **'ИИ-распознавание появится в следующей версии.'** String get parsingAiComingSoon; /// No description provided for @parsingNotifAccessTitle. /// /// In ru, this message translates to: /// **'Доступ к уведомлениям'** String get parsingNotifAccessTitle; /// No description provided for @parsingNotifAccessGranted. /// /// In ru, this message translates to: /// **'Выдан — уведомления читаются'** String get parsingNotifAccessGranted; /// No description provided for @parsingNotifAccessDenied. /// /// In ru, this message translates to: /// **'Не выдан — нажмите, чтобы открыть настройки'** String get parsingNotifAccessDenied; /// No description provided for @parsingNotifAccessOpenSettings. /// /// In ru, this message translates to: /// **'Открыть настройки'** String get parsingNotifAccessOpenSettings; /// No description provided for @parsingDebugSectionTitle. /// /// In ru, this message translates to: /// **'Отладка'** String get parsingDebugSectionTitle; /// No description provided for @parsingDebugInjectTile. /// /// In ru, this message translates to: /// **'Вставить тестовое уведомление'** String get parsingDebugInjectTile; /// No description provided for @parsingLogTile. /// /// In ru, this message translates to: /// **'Журнал парсинга'** String get parsingLogTile; /// No description provided for @parsingLogTitle. /// /// In ru, this message translates to: /// **'Журнал парсинга'** String get parsingLogTitle; /// No description provided for @parsingLogEmpty. /// /// In ru, this message translates to: /// **'Сообщений пока нет. Входящие уведомления появятся здесь.'** String get parsingLogEmpty; /// No description provided for @parsingLogError. /// /// In ru, this message translates to: /// **'Не удалось загрузить журнал.'** String get parsingLogError; /// No description provided for @parsingLogFilterAll. /// /// In ru, this message translates to: /// **'Все'** String get parsingLogFilterAll; /// No description provided for @parsingLogFilterInbox. /// /// In ru, this message translates to: /// **'Inbox'** String get parsingLogFilterInbox; /// No description provided for @parsingLogFilterApplied. /// /// In ru, this message translates to: /// **'Применённые'** String get parsingLogFilterApplied; /// No description provided for @parsingLogFilterIgnored. /// /// In ru, this message translates to: /// **'Игнорированные'** String get parsingLogFilterIgnored; /// No description provided for @parsingLogFilterFailed. /// /// In ru, this message translates to: /// **'Ошибки'** String get parsingLogFilterFailed; /// No description provided for @parsingStatusPending. /// /// In ru, this message translates to: /// **'В очереди'** String get parsingStatusPending; /// No description provided for @parsingStatusInbox. /// /// In ru, this message translates to: /// **'Inbox'** String get parsingStatusInbox; /// No description provided for @parsingStatusApplied. /// /// In ru, this message translates to: /// **'Применено'** String get parsingStatusApplied; /// No description provided for @parsingStatusIgnored. /// /// In ru, this message translates to: /// **'Игнорировано'** String get parsingStatusIgnored; /// No description provided for @parsingStatusFailed. /// /// In ru, this message translates to: /// **'Ошибка'** String get parsingStatusFailed; /// No description provided for @parsingStatusPendingAi. /// /// In ru, this message translates to: /// **'Ждёт AI'** String get parsingStatusPendingAi; /// No description provided for @parsingStatusParsedPartial. /// /// In ru, this message translates to: /// **'Частично'** String get parsingStatusParsedPartial; /// No description provided for @parsingStatusWaitingPair. /// /// In ru, this message translates to: /// **'Ждёт пару'** String get parsingStatusWaitingPair; /// No description provided for @parsingStatusPaired. /// /// In ru, this message translates to: /// **'Объединено в перевод'** String get parsingStatusPaired; /// No description provided for @parsingUnmergeTransfer. /// /// In ru, this message translates to: /// **'Расклеить перевод'** String get parsingUnmergeTransfer; /// No description provided for @parsingLogOnline. /// /// In ru, this message translates to: /// **'Онлайн'** String get parsingLogOnline; /// No description provided for @parsingLogOffline. /// /// In ru, this message translates to: /// **'Офлайн'** String get parsingLogOffline; /// No description provided for @parsingLogFilterWaiting. /// /// In ru, this message translates to: /// **'Ждёт сети'** String get parsingLogFilterWaiting; /// No description provided for @parsingDetailConfidence. /// /// In ru, this message translates to: /// **'Уверенность'** String get parsingDetailConfidence; /// No description provided for @parsingDetailPipeline. /// /// In ru, this message translates to: /// **'Pipeline'** String get parsingDetailPipeline; /// No description provided for @parsingDetailMessage. /// /// In ru, this message translates to: /// **'Сообщение'** String get parsingDetailMessage; /// No description provided for @parsingDetailDraft. /// /// In ru, this message translates to: /// **'Черновик'** String get parsingDetailDraft; /// No description provided for @parsingDetailRule. /// /// In ru, this message translates to: /// **'Предложение правила'** String get parsingDetailRule; /// No description provided for @parsingDetailMeta. /// /// In ru, this message translates to: /// **'Мета'** String get parsingDetailMeta; /// No description provided for @parsingDetailDiagnostics. /// /// In ru, this message translates to: /// **'Диагностика'** String get parsingDetailDiagnostics; /// No description provided for @parsingDetailAttempt. /// /// In ru, this message translates to: /// **'Попытка {count}/{max}'** String parsingDetailAttempt(int count, int max); /// No description provided for @parsingDetailSource. /// /// In ru, this message translates to: /// **'Источник'** String get parsingDetailSource; /// No description provided for @parsingDetailFailedChecks. /// /// In ru, this message translates to: /// **'Почему не автоматически'** String get parsingDetailFailedChecks; /// No description provided for @parsingDetailAmountScore. /// /// In ru, this message translates to: /// **'Сумма'** String get parsingDetailAmountScore; /// No description provided for @parsingDetailAccountScore. /// /// In ru, this message translates to: /// **'Счёт'** String get parsingDetailAccountScore; /// No description provided for @parsingDetailTypeScore. /// /// In ru, this message translates to: /// **'Тип'** String get parsingDetailTypeScore; /// No description provided for @parsingDetailMerchantScore. /// /// In ru, this message translates to: /// **'Мерчант'** String get parsingDetailMerchantScore; /// No description provided for @parsingDetailCategoryScore. /// /// In ru, this message translates to: /// **'Категория'** String get parsingDetailCategoryScore; /// No description provided for @parsingDetailTitle. /// /// In ru, this message translates to: /// **'Заголовок'** String get parsingDetailTitle; /// No description provided for @parsingDetailBody. /// /// In ru, this message translates to: /// **'Текст'** String get parsingDetailBody; /// No description provided for @parsingDetailCard. /// /// In ru, this message translates to: /// **'Карта'** String get parsingDetailCard; /// No description provided for @parsingDetailCurrency. /// /// In ru, this message translates to: /// **'Валюта'** String get parsingDetailCurrency; /// No description provided for @parsingDetailKind. /// /// In ru, this message translates to: /// **'Вид'** String get parsingDetailKind; /// No description provided for @parsingDetailDate. /// /// In ru, this message translates to: /// **'Дата'** String get parsingDetailDate; /// No description provided for @parsingDetailMerchantRaw. /// /// In ru, this message translates to: /// **'Мерчант (сырой)'** String get parsingDetailMerchantRaw; /// No description provided for @parsingDetailMerchantCanonical. /// /// In ru, this message translates to: /// **'Мерчант (норм.)'** String get parsingDetailMerchantCanonical; /// No description provided for @parsingDetailCounterparty. /// /// In ru, this message translates to: /// **'Контрагент'** String get parsingDetailCounterparty; /// No description provided for @parsingDetailCategorySuggestion. /// /// In ru, this message translates to: /// **'Подсказка категории'** String get parsingDetailCategorySuggestion; /// No description provided for @parsingDetailAccountId. /// /// In ru, this message translates to: /// **'ID счёта'** String get parsingDetailAccountId; /// No description provided for @parsingDetailCategoryId. /// /// In ru, this message translates to: /// **'ID категории'** String get parsingDetailCategoryId; /// No description provided for @parsingDetailTransferTo. /// /// In ru, this message translates to: /// **'Перевод на'** String get parsingDetailTransferTo; /// No description provided for @parsingDetailRuleCategory. /// /// In ru, this message translates to: /// **'Категория'** String get parsingDetailRuleCategory; /// No description provided for @parsingDetailTransactionId. /// /// In ru, this message translates to: /// **'ID транзакции'** String get parsingDetailTransactionId; /// No description provided for @parsingDetailDedupHash. /// /// In ru, this message translates to: /// **'Dedup-хеш'** String get parsingDetailDedupHash; /// No description provided for @parsingDetailReceivedAt. /// /// In ru, this message translates to: /// **'Получено'** String get parsingDetailReceivedAt; /// No description provided for @parsingDetailCreatedAt. /// /// In ru, this message translates to: /// **'Создано'** String get parsingDetailCreatedAt; /// No description provided for @inboxTitle. /// /// In ru, this message translates to: /// **'Из уведомлений'** String get inboxTitle; /// No description provided for @inboxSubtitle. /// /// In ru, this message translates to: /// **'Правило обучится с первого раза: следующие похожие сообщения подтвердятся автоматически.'** String get inboxSubtitle; /// No description provided for @inboxEmpty. /// /// In ru, this message translates to: /// **'Inbox пуст. Новые уведомления появятся здесь.'** String get inboxEmpty; /// No description provided for @inboxCreateRule. /// /// In ru, this message translates to: /// **'Создать правило «{merchant} → {category}»'** String inboxCreateRule(String merchant, String category); /// No description provided for @inboxCreateRuleNoCategory. /// /// In ru, this message translates to: /// **'Создать правило для «{merchant}»'** String inboxCreateRuleNoCategory(String merchant); /// No description provided for @inboxConfirm. /// /// In ru, this message translates to: /// **'Подтвердить'** String get inboxConfirm; /// No description provided for @inboxCategoryRequiredHint. /// /// In ru, this message translates to: /// **'Выберите категорию, чтобы подтвердить'** String get inboxCategoryRequiredHint; /// No description provided for @inboxIgnore. /// /// In ru, this message translates to: /// **'Игнорировать'** String get inboxIgnore; /// No description provided for @inboxApplyAll. /// /// In ru, this message translates to: /// **'Учесть все'** String get inboxApplyAll; /// No description provided for @inboxTransferPairTitle. /// /// In ru, this message translates to: /// **'Перевод между счетами'** String get inboxTransferPairTitle; /// No description provided for @inboxTransferFrom. /// /// In ru, this message translates to: /// **'Счёт списания'** String get inboxTransferFrom; /// No description provided for @inboxTransferTo. /// /// In ru, this message translates to: /// **'Счёт зачисления'** String get inboxTransferTo; /// No description provided for @inboxTransferPickAccount. /// /// In ru, this message translates to: /// **'Выбрать…'** String get inboxTransferPickAccount; /// No description provided for @inboxUnpair. /// /// In ru, this message translates to: /// **'Расклеить'** String get inboxUnpair; /// No description provided for @inboxUnrecognized. /// /// In ru, this message translates to: /// **'Не распознано'** String get inboxUnrecognized; /// No description provided for @inboxParseErrorTitle. /// /// In ru, this message translates to: /// **'Ошибка распознавания'** String get inboxParseErrorTitle; /// No description provided for @inboxRetry. /// /// In ru, this message translates to: /// **'Попробовать снова'** String get inboxRetry; /// No description provided for @inboxAddManually. /// /// In ru, this message translates to: /// **'Добавить вручную'** String get inboxAddManually; /// No description provided for @inboxNoCategory. /// /// In ru, this message translates to: /// **'Без категории'** String get inboxNoCategory; /// No description provided for @inboxAccountUnknown. /// /// In ru, this message translates to: /// **'Счёт не определён'** String get inboxAccountUnknown; /// No description provided for @inboxEditRuleTooltip. /// /// In ru, this message translates to: /// **'Изменить перед сохранением'** String get inboxEditRuleTooltip; /// No description provided for @rulesTitle. /// /// In ru, this message translates to: /// **'Правила парсинга'** String get rulesTitle; /// No description provided for @rulesSubtitle. /// /// In ru, this message translates to: /// **'Настройки'** String get rulesSubtitle; /// No description provided for @rulesFilterAll. /// /// In ru, this message translates to: /// **'Все'** String get rulesFilterAll; /// No description provided for @rulesFilterMerchants. /// /// In ru, this message translates to: /// **'Мерчанты'** String get rulesFilterMerchants; /// No description provided for @rulesFilterAccounts. /// /// In ru, this message translates to: /// **'Счета'** String get rulesFilterAccounts; /// No description provided for @rulesFilterIgnore. /// /// In ru, this message translates to: /// **'Игнор'** String get rulesFilterIgnore; /// No description provided for @rulesEmpty. /// /// In ru, this message translates to: /// **'Правил пока нет. Создавайте их из Inbox в один тап.'** String get rulesEmpty; /// No description provided for @ruleMatchesCount. /// /// In ru, this message translates to: /// **'{count, plural, one{{count} совпадение} few{{count} совпадения} many{{count} совпадений} other{{count} совпадений}}'** String ruleMatchesCount(int count); /// No description provided for @ruleDisabled. /// /// In ru, this message translates to: /// **'Выключено'** String get ruleDisabled; /// No description provided for @ruleEditorNewTitle. /// /// In ru, this message translates to: /// **'Новое правило'** String get ruleEditorNewTitle; /// No description provided for @ruleEditorEditTitle. /// /// In ru, this message translates to: /// **'Правило'** String get ruleEditorEditTitle; /// No description provided for @ruleEditorIfContains. /// /// In ru, this message translates to: /// **'Если уведомление содержит'** String get ruleEditorIfContains; /// No description provided for @ruleEditorPatternHint. /// /// In ru, this message translates to: /// **'напр. WBSPB'** String get ruleEditorPatternHint; /// No description provided for @ruleEditorModeContains. /// /// In ru, this message translates to: /// **'Содержит'** String get ruleEditorModeContains; /// No description provided for @ruleEditorModeExact. /// /// In ru, this message translates to: /// **'Точно'** String get ruleEditorModeExact; /// No description provided for @ruleEditorModeRegex. /// /// In ru, this message translates to: /// **'Regex'** String get ruleEditorModeRegex; /// No description provided for @ruleEditorThen. /// /// In ru, this message translates to: /// **'То это:'** String get ruleEditorThen; /// No description provided for @ruleEditorMerchant. /// /// In ru, this message translates to: /// **'Мерчант'** String get ruleEditorMerchant; /// No description provided for @ruleEditorMerchantHint. /// /// In ru, this message translates to: /// **'Напр. Wildberries'** String get ruleEditorMerchantHint; /// No description provided for @ruleEditorCategory. /// /// In ru, this message translates to: /// **'Категория'** String get ruleEditorCategory; /// No description provided for @ruleEditorAccount. /// /// In ru, this message translates to: /// **'Счёт'** String get ruleEditorAccount; /// No description provided for @ruleEditorAccountUnchanged. /// /// In ru, this message translates to: /// **'— не менять —'** String get ruleEditorAccountUnchanged; /// No description provided for @ruleEditorApp. /// /// In ru, this message translates to: /// **'Приложение'** String get ruleEditorApp; /// No description provided for @ruleEditorAppPick. /// /// In ru, this message translates to: /// **'Выберите приложение'** String get ruleEditorAppPick; /// No description provided for @ruleEditorNoApps. /// /// In ru, this message translates to: /// **'Сначала добавьте приложение-источник'** String get ruleEditorNoApps; /// No description provided for @rulesUnknownApp. /// /// In ru, this message translates to: /// **'Неизвестное приложение'** String get rulesUnknownApp; /// No description provided for @ruleEditorAdvanced. /// /// In ru, this message translates to: /// **'Дополнительно'** String get ruleEditorAdvanced; /// No description provided for @ruleEditorPriority. /// /// In ru, this message translates to: /// **'Приоритет'** String get ruleEditorPriority; /// No description provided for @ruleEditorMatchesTitle. /// /// In ru, this message translates to: /// **'Совпадает с (последние 30 дней)'** String get ruleEditorMatchesTitle; /// No description provided for @ruleEditorNoMatches. /// /// In ru, this message translates to: /// **'Нет совпадений за 30 дней'** String get ruleEditorNoMatches; /// No description provided for @ruleEditorSave. /// /// In ru, this message translates to: /// **'Сохранить'** String get ruleEditorSave; /// No description provided for @ruleEditorDelete. /// /// In ru, this message translates to: /// **'Удалить'** String get ruleEditorDelete; /// No description provided for @ruleEditorEnabledLabel. /// /// In ru, this message translates to: /// **'Активно'** String get ruleEditorEnabledLabel; /// No description provided for @debugInjectTitle. /// /// In ru, this message translates to: /// **'Тестовое уведомление'** String get debugInjectTitle; /// No description provided for @debugInjectSubtitle. /// /// In ru, this message translates to: /// **'Отладка'** String get debugInjectSubtitle; /// No description provided for @debugInjectPackageLabel. /// /// In ru, this message translates to: /// **'Пакет приложения'** String get debugInjectPackageLabel; /// No description provided for @debugInjectTitleLabel. /// /// In ru, this message translates to: /// **'Заголовок (необязательно)'** String get debugInjectTitleLabel; /// No description provided for @debugInjectBodyLabel. /// /// In ru, this message translates to: /// **'Текст уведомления'** String get debugInjectBodyLabel; /// No description provided for @debugInjectSend. /// /// In ru, this message translates to: /// **'Отправить в обработку'** String get debugInjectSend; /// No description provided for @debugInjectSent. /// /// In ru, this message translates to: /// **'Отправлено'** String get debugInjectSent; /// No description provided for @debugInjectFillSample. /// /// In ru, this message translates to: /// **'Пример: покупка'** String get debugInjectFillSample; /// No description provided for @aiConsentKeyMissing. /// /// In ru, this message translates to: /// **'API-ключ не указан'** String get aiConsentKeyMissing; /// No description provided for @aiConsentSaved. /// /// In ru, this message translates to: /// **'Настройки сохранены'** String get aiConsentSaved; /// No description provided for @aiConsentTitle. /// /// In ru, this message translates to: /// **'Парсинг с ИИ'** String get aiConsentTitle; /// No description provided for @aiConsentBody. /// /// In ru, this message translates to: /// **'Мы используем DeepSeek API для парсинга уведомлений с помощью ИИ. Ваши данные отправляются выбранной модели. Вам понадобится свой API-ключ. Расходуются токены.'** String get aiConsentBody; /// No description provided for @aiConsentKeyLabel. /// /// In ru, this message translates to: /// **'API-ключ DeepSeek'** String get aiConsentKeyLabel; /// No description provided for @aiConsentKeyHint. /// /// In ru, this message translates to: /// **'sk-...'** String get aiConsentKeyHint; /// No description provided for @aiConsentModelLabel. /// /// In ru, this message translates to: /// **'Модель ИИ'** String get aiConsentModelLabel; /// No description provided for @aiConsentAllow. /// /// In ru, this message translates to: /// **'Разрешить ИИ-парсинг'** String get aiConsentAllow; /// No description provided for @aiConsentRegexOnly. /// /// In ru, this message translates to: /// **'Только Regex (Локально)'** String get aiConsentRegexOnly; /// No description provided for @parsingAiConfigure. /// /// In ru, this message translates to: /// **'Настроить ИИ'** String get parsingAiConfigure; /// No description provided for @parsingAiTokensToday. /// /// In ru, this message translates to: /// **'Токенов за сегодня: {tokens}'** String parsingAiTokensToday(int tokens); /// No description provided for @parsingAiTokensTodayLimited. /// /// In ru, this message translates to: /// **'Токенов за сегодня: {tokens} / {limit}'** String parsingAiTokensTodayLimited(int tokens, int limit); /// No description provided for @habitTrackingTile. /// /// In ru, this message translates to: /// **'Анализ привычек трат'** String get habitTrackingTile; /// No description provided for @habitObligationRequired. /// /// In ru, this message translates to: /// **'Обязательно'** String get habitObligationRequired; /// No description provided for @habitObligationOptional. /// /// In ru, this message translates to: /// **'Не обязательно'** String get habitObligationOptional; /// No description provided for @habitObligationUnnecessary. /// /// In ru, this message translates to: /// **'Не нужно'** String get habitObligationUnnecessary; /// No description provided for @habitObligationOptionalShort. /// /// In ru, this message translates to: /// **'Можно без'** String get habitObligationOptionalShort; /// No description provided for @habitImpulseImpulsive. /// /// In ru, this message translates to: /// **'Импульсивно'** String get habitImpulseImpulsive; /// No description provided for @habitImpulseConsidered. /// /// In ru, this message translates to: /// **'Обдуманно'** String get habitImpulseConsidered; /// No description provided for @habitNotMarked. /// /// In ru, this message translates to: /// **'не отмечено'** String get habitNotMarked; /// No description provided for @habitFilterAll. /// /// In ru, this message translates to: /// **'Все'** String get habitFilterAll; /// No description provided for @habitScaleImpulseCaps. /// /// In ru, this message translates to: /// **'ИМПУЛЬСИВНОСТЬ'** String get habitScaleImpulseCaps; /// No description provided for @habitScaleObligationCaps. /// /// In ru, this message translates to: /// **'ОБЯЗАТЕЛЬНОСТЬ'** String get habitScaleObligationCaps; /// No description provided for @habitAnalysisTitle. /// /// In ru, this message translates to: /// **'Транзакции'** String get habitAnalysisTitle; /// No description provided for @habitAnalysisTile. /// /// In ru, this message translates to: /// **'Анализ привычек'** String get habitAnalysisTile; /// No description provided for @profileSeedDemoTile. /// /// In ru, this message translates to: /// **'Заполнить демо транзакциями'** String get profileSeedDemoTile; /// No description provided for @profileSeedDemoSuccess. /// /// In ru, this message translates to: /// **'Демо транзакции добавлены'** String get profileSeedDemoSuccess; /// No description provided for @commonAdd. /// /// In ru, this message translates to: /// **'Добавить'** String get commonAdd; /// No description provided for @commonCancel. /// /// In ru, this message translates to: /// **'Отмена'** String get commonCancel; /// No description provided for @commonDelete. /// /// In ru, this message translates to: /// **'Удалить'** String get commonDelete; /// No description provided for @parsingAppsTile. /// /// In ru, this message translates to: /// **'Приложения-источники'** String get parsingAppsTile; /// No description provided for @sourceAppsTitle. /// /// In ru, this message translates to: /// **'Приложения-источники'** String get sourceAppsTitle; /// No description provided for @sourceAppsAddedSection. /// /// In ru, this message translates to: /// **'Отслеживаются'** String get sourceAppsAddedSection; /// No description provided for @sourceAppsAvailableSection. /// /// In ru, this message translates to: /// **'Доступные'** String get sourceAppsAvailableSection; /// No description provided for @sourceAppsEmpty. /// /// In ru, this message translates to: /// **'Пока нет приложений. Выберите банк ниже или добавьте вручную.'** String get sourceAppsEmpty; /// No description provided for @sourceAppsAddManual. /// /// In ru, this message translates to: /// **'Добавить вручную'** String get sourceAppsAddManual; /// No description provided for @sourceAppsPackageLabel. /// /// In ru, this message translates to: /// **'Имя пакета'** String get sourceAppsPackageLabel; /// No description provided for @sourceAppsNameLabel. /// /// In ru, this message translates to: /// **'Отображаемое имя (необязательно)'** String get sourceAppsNameLabel; /// No description provided for @sourceAppsPickFromInstalled. /// /// In ru, this message translates to: /// **'Выбрать из установленных'** String get sourceAppsPickFromInstalled; /// No description provided for @sourceAppsPickerTitle. /// /// In ru, this message translates to: /// **'Установленные приложения'** String get sourceAppsPickerTitle; /// No description provided for @sourceAppsSearchHint. /// /// In ru, this message translates to: /// **'Поиск'** String get sourceAppsSearchHint; /// No description provided for @sourceAppsPickerEmpty. /// /// In ru, this message translates to: /// **'Приложения не найдены'** String get sourceAppsPickerEmpty; /// No description provided for @sourceAppsAlreadyAdded. /// /// In ru, this message translates to: /// **'Уже добавлено'** String get sourceAppsAlreadyAdded; /// No description provided for @sourceAppsSelfMerchantLabel. /// /// In ru, this message translates to: /// **'Мерчант — само приложение'** String get sourceAppsSelfMerchantLabel; /// No description provided for @sourceAppsSelfMerchantHint. /// /// In ru, this message translates to: /// **'Уведомления не называют продавца: категория выбирается вручную, правила не предлагаются'** String get sourceAppsSelfMerchantHint; /// No description provided for @appBindingsTitle. /// /// In ru, this message translates to: /// **'Привязки счетов'** String get appBindingsTitle; /// No description provided for @appBindingsEmpty. /// /// In ru, this message translates to: /// **'Пока нет привязок. Добавьте, чтобы связать карту со счётом.'** String get appBindingsEmpty; /// No description provided for @appBindingsAnyCard. /// /// In ru, this message translates to: /// **'Любая карта (по умолчанию)'** String get appBindingsAnyCard; /// No description provided for @appBindingsSetDefault. /// /// In ru, this message translates to: /// **'Сделать счётом по умолчанию для приложения'** String get appBindingsSetDefault; /// No description provided for @appBindingsAddTitle. /// /// In ru, this message translates to: /// **'Новая привязка'** String get appBindingsAddTitle; /// No description provided for @appBindingsCardLabel. /// /// In ru, this message translates to: /// **'Последние 4 цифры карты'** String get appBindingsCardLabel; /// No description provided for @appBindingsCardHelper. /// /// In ru, this message translates to: /// **'Оставьте пустым для любой карты'** String get appBindingsCardHelper; /// No description provided for @appBindingsDefaultLabel. /// /// In ru, this message translates to: /// **'По умолчанию для приложения'** String get appBindingsDefaultLabel; /// No description provided for @ruleKindMerchant. /// /// In ru, this message translates to: /// **'Мерчант → категория'** String get ruleKindMerchant; /// No description provided for @ruleKindAccount. /// /// In ru, this message translates to: /// **'Отправитель → счёт'** String get ruleKindAccount; /// No description provided for @ruleEditorAccountPick. /// /// In ru, this message translates to: /// **'Выбрать счёт'** String get ruleEditorAccountPick; } class _AppLocalizationsDelegate extends LocalizationsDelegate { const _AppLocalizationsDelegate(); @override Future load(Locale locale) { return SynchronousFuture(lookupAppLocalizations(locale)); } @override bool isSupported(Locale locale) => ['en', 'ru'].contains(locale.languageCode); @override bool shouldReload(_AppLocalizationsDelegate old) => false; } AppLocalizations lookupAppLocalizations(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { case 'en': return AppLocalizationsEn(); case 'ru': return AppLocalizationsRu(); } 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.', ); }