Create flashcards, and tapping a card, open the composer: the stack of cards on the left (New flashcard on top, the new ones, then the stored ones; collapsible), the card being written on the right, saved as the person leaves it (another card, the pane, the screen, the app). The title says how saving stands; leaving with cards that couldn't be saved asks first. A card has its tags and their pin, an action menu (duplicate, clear, delete), the type switch (flashcard, vocabulary, matching), the front, and below a line its answer side: one answer or several to mark right or wrong, the reading and meanings, or categories and items. Fields changed differently on two devices show every version to keep one. The single-card editor goes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
1454 lines
42 KiB
Dart
1454 lines
42 KiB
Dart
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';
|
||
|
||
// 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')];
|
||
|
||
/// The app's name, e.g. in the window title and the rail's logo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Halkyon Learn'**
|
||
String get appTitle;
|
||
|
||
/// No description provided for @shellTabHome.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Home'**
|
||
String get shellTabHome;
|
||
|
||
/// No description provided for @shellTabLibrary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Library'**
|
||
String get shellTabLibrary;
|
||
|
||
/// No description provided for @shellTabExplore.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Explore'**
|
||
String get shellTabExplore;
|
||
|
||
/// No description provided for @shellTabProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Profile'**
|
||
String get shellTabProfile;
|
||
|
||
/// No description provided for @homeTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Home'**
|
||
String get homeTitle;
|
||
|
||
/// No description provided for @homeLibraryIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your studysets and cards are in your library.'**
|
||
String get homeLibraryIntro;
|
||
|
||
/// No description provided for @homeOpenLibrary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Open library'**
|
||
String get homeOpenLibrary;
|
||
|
||
/// No description provided for @libraryTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Library'**
|
||
String get libraryTitle;
|
||
|
||
/// No description provided for @libraryNewStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New studyset'**
|
||
String get libraryNewStudyset;
|
||
|
||
/// No description provided for @libraryEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No studysets yet'**
|
||
String get libraryEmpty;
|
||
|
||
/// No description provided for @libraryUnreadable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t read your studysets.'**
|
||
String get libraryUnreadable;
|
||
|
||
/// No description provided for @libraryArchivedSection.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Archived'**
|
||
String get libraryArchivedSection;
|
||
|
||
/// No description provided for @librarySearchTooltip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search'**
|
||
String get librarySearchTooltip;
|
||
|
||
/// No description provided for @librarySearchHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search studysets'**
|
||
String get librarySearchHint;
|
||
|
||
/// No description provided for @librarySearchClearTooltip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Clear query'**
|
||
String get librarySearchClearTooltip;
|
||
|
||
/// No description provided for @librarySearchCloseTooltip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Close search'**
|
||
String get librarySearchCloseTooltip;
|
||
|
||
/// No description provided for @librarySearchNoMatches.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No studysets match your search'**
|
||
String get librarySearchNoMatches;
|
||
|
||
/// No description provided for @libraryStudysetArchived.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Studyset archived'**
|
||
String get libraryStudysetArchived;
|
||
|
||
/// No description provided for @libraryStudysetUnarchived.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Studyset unarchived'**
|
||
String get libraryStudysetUnarchived;
|
||
|
||
/// No description provided for @libraryStudysetDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Studyset deleted'**
|
||
String get libraryStudysetDeleted;
|
||
|
||
/// No description provided for @libraryDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete studyset?'**
|
||
String get libraryDeleteTitle;
|
||
|
||
/// No description provided for @libraryDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'It is deleted with everything inside it and all their cards, on all your devices. You can undo this for a few seconds.'**
|
||
String get libraryDeleteMessage;
|
||
|
||
/// No description provided for @libraryDeleteConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get libraryDeleteConfirm;
|
||
|
||
/// No description provided for @studysetSheetCreateTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create studyset'**
|
||
String get studysetSheetCreateTitle;
|
||
|
||
/// No description provided for @studysetSheetEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit studyset'**
|
||
String get studysetSheetEditTitle;
|
||
|
||
/// No description provided for @studysetSheetCreate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create'**
|
||
String get studysetSheetCreate;
|
||
|
||
/// No description provided for @studysetSheetSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get studysetSheetSave;
|
||
|
||
/// No description provided for @studysetSheetTitleLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title'**
|
||
String get studysetSheetTitleLabel;
|
||
|
||
/// No description provided for @studysetSheetSecondaryLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Secondary title'**
|
||
String get studysetSheetSecondaryLabel;
|
||
|
||
/// No description provided for @studysetSheetSecondaryHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Shown as a small label above the title.'**
|
||
String get studysetSheetSecondaryHelper;
|
||
|
||
/// No description provided for @studysetSheetColor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Color'**
|
||
String get studysetSheetColor;
|
||
|
||
/// No description provided for @studysetSheetDiscardTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Discard changes?'**
|
||
String get studysetSheetDiscardTitle;
|
||
|
||
/// No description provided for @studysetSheetDiscardMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You have unsaved changes to this studyset. Discard them and close the form?'**
|
||
String get studysetSheetDiscardMessage;
|
||
|
||
/// No description provided for @studysetSheetDiscardConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Discard'**
|
||
String get studysetSheetDiscardConfirm;
|
||
|
||
/// A colour of the palette content can take, by its stored name.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{name, select, carrot{Carrot} cerise{Cerise} cobalt{Cobalt} copper{Copper} enzian{Enzian} fern{Fern} forest{Forest} ocean{Ocean} olive{Olive} pacific{Pacific} pickle{Pickle} pine{Pine} pink{Pink} plum{Plum} purple{Purple} reef{Reef} sahara{Sahara} slateblue{Slate blue} soil{Soil} strawberry{Strawberry} other{{name}}}'**
|
||
String paletteColorName(String name);
|
||
|
||
/// No description provided for @colorPickerLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Color: {color}'**
|
||
String colorPickerLabel(String color);
|
||
|
||
/// No description provided for @studysetCountFlashcards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 flashcard} other{{count} flashcards}}'**
|
||
String studysetCountFlashcards(int count);
|
||
|
||
/// No description provided for @studysetNoContent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No content yet'**
|
||
String get studysetNoContent;
|
||
|
||
/// No description provided for @studysetActionReview.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Review'**
|
||
String get studysetActionReview;
|
||
|
||
/// No description provided for @studysetActionStudy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study'**
|
||
String get studysetActionStudy;
|
||
|
||
/// No description provided for @studysetActionAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add content'**
|
||
String get studysetActionAdd;
|
||
|
||
/// No description provided for @studysetArchived.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Archived'**
|
||
String get studysetArchived;
|
||
|
||
/// No description provided for @studysetStar.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Star'**
|
||
String get studysetStar;
|
||
|
||
/// No description provided for @studysetUnstar.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unstar'**
|
||
String get studysetUnstar;
|
||
|
||
/// No description provided for @studysetOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Options'**
|
||
String get studysetOptions;
|
||
|
||
/// No description provided for @studysetMenuEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit'**
|
||
String get studysetMenuEdit;
|
||
|
||
/// No description provided for @studysetMenuArchive.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Archive'**
|
||
String get studysetMenuArchive;
|
||
|
||
/// No description provided for @studysetMenuUnarchive.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unarchive'**
|
||
String get studysetMenuUnarchive;
|
||
|
||
/// No description provided for @studysetMenuDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get studysetMenuDelete;
|
||
|
||
/// No description provided for @studysetMenuMove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Move to…'**
|
||
String get studysetMenuMove;
|
||
|
||
/// No description provided for @studysetTabFlashcards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcards'**
|
||
String get studysetTabFlashcards;
|
||
|
||
/// No description provided for @studysetFlashcardsEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No flashcards yet'**
|
||
String get studysetFlashcardsEmpty;
|
||
|
||
/// No description provided for @studysetFlashcardsEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add some to start studying.'**
|
||
String get studysetFlashcardsEmptyHint;
|
||
|
||
/// No description provided for @studysetAddMaterial.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add material'**
|
||
String get studysetAddMaterial;
|
||
|
||
/// No description provided for @studysetCreateFlashcards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create flashcards'**
|
||
String get studysetCreateFlashcards;
|
||
|
||
/// No description provided for @studysetStudy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study'**
|
||
String get studysetStudy;
|
||
|
||
/// No description provided for @studysetLearnCount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Learn {count}'**
|
||
String studysetLearnCount(int count);
|
||
|
||
/// No description provided for @studysetOpenTopics.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show topics'**
|
||
String get studysetOpenTopics;
|
||
|
||
/// No description provided for @studysetTopics.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Topics'**
|
||
String get studysetTopics;
|
||
|
||
/// No description provided for @studysetAllTopics.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All topics'**
|
||
String get studysetAllTopics;
|
||
|
||
/// No description provided for @studysetNewSubStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New sub-studyset'**
|
||
String get studysetNewSubStudyset;
|
||
|
||
/// No description provided for @studysetSubStudysetsEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No sub-studysets yet.'**
|
||
String get studysetSubStudysetsEmpty;
|
||
|
||
/// No description provided for @studysetSubStudysetsEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Break this studyset into milestones or lessons.'**
|
||
String get studysetSubStudysetsEmptyHint;
|
||
|
||
/// No description provided for @studysetReorder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reorder'**
|
||
String get studysetReorder;
|
||
|
||
/// No description provided for @studysetReorderDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get studysetReorderDone;
|
||
|
||
/// No description provided for @studysetDragToReorder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Drag to reorder'**
|
||
String get studysetDragToReorder;
|
||
|
||
/// No description provided for @studysetMoveTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Move studyset to'**
|
||
String get studysetMoveTitle;
|
||
|
||
/// No description provided for @studysetMoveTopLevel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Top level'**
|
||
String get studysetMoveTopLevel;
|
||
|
||
/// No description provided for @studysetMoveCurrent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Where it is now'**
|
||
String get studysetMoveCurrent;
|
||
|
||
/// No description provided for @studysetMoveConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Move'**
|
||
String get studysetMoveConfirm;
|
||
|
||
/// No description provided for @studysetMoveShowInside.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show what is inside'**
|
||
String get studysetMoveShowInside;
|
||
|
||
/// No description provided for @studysetMoveHideInside.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hide what is inside'**
|
||
String get studysetMoveHideInside;
|
||
|
||
/// No description provided for @studysetMoved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Moved to {destination}.'**
|
||
String studysetMoved(String destination);
|
||
|
||
/// No description provided for @studysetReadMore.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Read more'**
|
||
String get studysetReadMore;
|
||
|
||
/// No description provided for @studysetDescriptionTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Description'**
|
||
String get studysetDescriptionTitle;
|
||
|
||
/// No description provided for @studysetDescriptionEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit description'**
|
||
String get studysetDescriptionEditTitle;
|
||
|
||
/// No description provided for @studysetDescriptionSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get studysetDescriptionSave;
|
||
|
||
/// No description provided for @studysetSheetDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Description'**
|
||
String get studysetSheetDescription;
|
||
|
||
/// No description provided for @studysetSheetDescriptionAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a description'**
|
||
String get studysetSheetDescriptionAdd;
|
||
|
||
/// No description provided for @studysetSheetInheritColor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Same color as the studyset it is in'**
|
||
String get studysetSheetInheritColor;
|
||
|
||
/// No description provided for @exploreTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Explore'**
|
||
String get exploreTitle;
|
||
|
||
/// No description provided for @exploreEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Studysets that others share will appear here.'**
|
||
String get exploreEmpty;
|
||
|
||
/// No description provided for @profileTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Profile'**
|
||
String get profileTitle;
|
||
|
||
/// No description provided for @profileSettingsTooltip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Settings'**
|
||
String get profileSettingsTooltip;
|
||
|
||
/// No description provided for @profileIdentified.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your progress is kept with your account.'**
|
||
String get profileIdentified;
|
||
|
||
/// No description provided for @profileAnonymous.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Progress is saved on this device. Sign in to keep it.'**
|
||
String get profileAnonymous;
|
||
|
||
/// No description provided for @profileSignInWithGitHub.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sign in with GitHub'**
|
||
String get profileSignInWithGitHub;
|
||
|
||
/// No description provided for @profileSignInFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t sign in with GitHub.'**
|
||
String get profileSignInFailed;
|
||
|
||
/// No description provided for @profileContinueInBrowser.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Continue in your browser.'**
|
||
String get profileContinueInBrowser;
|
||
|
||
/// No description provided for @profileSwitchTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Switch to your GitHub account?'**
|
||
String get profileSwitchTitle;
|
||
|
||
/// No description provided for @profileSwitchMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This GitHub account already has progress from another device. The studysets on this device can\'t be combined with it yet: if you switch, they are deleted.'**
|
||
String get profileSwitchMessage;
|
||
|
||
/// No description provided for @profileSwitchStay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Stay anonymous'**
|
||
String get profileSwitchStay;
|
||
|
||
/// No description provided for @profileSwitchConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Switch'**
|
||
String get profileSwitchConfirm;
|
||
|
||
/// No description provided for @settingsTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Settings'**
|
||
String get settingsTitle;
|
||
|
||
/// No description provided for @settingsAccount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Account'**
|
||
String get settingsAccount;
|
||
|
||
/// No description provided for @settingsSignOut.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sign out'**
|
||
String get settingsSignOut;
|
||
|
||
/// No description provided for @settingsSignOutTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sign out?'**
|
||
String get settingsSignOutTitle;
|
||
|
||
/// No description provided for @settingsSignOutAnonymousMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This account can\'t be signed into again, so signing out deletes it with its progress.'**
|
||
String get settingsSignOutAnonymousMessage;
|
||
|
||
/// No description provided for @settingsDeleteAccount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete account'**
|
||
String get settingsDeleteAccount;
|
||
|
||
/// No description provided for @settingsDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete your account?'**
|
||
String get settingsDeleteTitle;
|
||
|
||
/// No description provided for @settingsDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Everything you have, your studysets, cards and reviews, is deleted on the server and on all your devices. This can\'t be undone.'**
|
||
String get settingsDeleteMessage;
|
||
|
||
/// No description provided for @settingsAbout.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'About Halkyon Learn'**
|
||
String get settingsAbout;
|
||
|
||
/// No description provided for @tagsReadFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t read the tags.'**
|
||
String get tagsReadFailed;
|
||
|
||
/// No description provided for @tagPickerTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tags'**
|
||
String get tagPickerTitle;
|
||
|
||
/// No description provided for @tagPickerManage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Manage tags'**
|
||
String get tagPickerManage;
|
||
|
||
/// No description provided for @tagPickerSearchLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search or create a tag'**
|
||
String get tagPickerSearchLabel;
|
||
|
||
/// No description provided for @tagPickerCreate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create \"{name}\"'**
|
||
String tagPickerCreate(String name);
|
||
|
||
/// No description provided for @tagSheetCreateTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create tag'**
|
||
String get tagSheetCreateTitle;
|
||
|
||
/// No description provided for @tagSheetEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit tag'**
|
||
String get tagSheetEditTitle;
|
||
|
||
/// No description provided for @tagSheetNameLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Name'**
|
||
String get tagSheetNameLabel;
|
||
|
||
/// No description provided for @tagSheetNameHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Stored and displayed in lowercase.'**
|
||
String get tagSheetNameHelper;
|
||
|
||
/// No description provided for @tagSheetNameExists.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The tag \'{name}\' exists already.'**
|
||
String tagSheetNameExists(String name);
|
||
|
||
/// No description provided for @tagSheetNameMerges.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'There is a tag \'{name}\' already: saving merges this one into it.'**
|
||
String tagSheetNameMerges(String name);
|
||
|
||
/// No description provided for @tagSheetColor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Color'**
|
||
String get tagSheetColor;
|
||
|
||
/// No description provided for @tagSheetCreate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create'**
|
||
String get tagSheetCreate;
|
||
|
||
/// No description provided for @tagSheetSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get tagSheetSave;
|
||
|
||
/// No description provided for @tagManageTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Manage tags'**
|
||
String get tagManageTitle;
|
||
|
||
/// No description provided for @tagManageEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No tags yet. Add one below.'**
|
||
String get tagManageEmpty;
|
||
|
||
/// No description provided for @tagManageAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add tag'**
|
||
String get tagManageAdd;
|
||
|
||
/// A tag in the list of tags, with how many flashcards have it.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{name} ({count})'**
|
||
String tagManageRow(String name, int count);
|
||
|
||
/// No description provided for @tagManageEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit tag'**
|
||
String get tagManageEdit;
|
||
|
||
/// No description provided for @tagManageDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete tag'**
|
||
String get tagManageDelete;
|
||
|
||
/// No description provided for @tagDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete the tag \'{name}\'?'**
|
||
String tagDeleteTitle(String name);
|
||
|
||
/// No description provided for @tagDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =0{It isn\'t on any flashcards.} =1{It is removed from 1 flashcard, on all your devices.} other{It is removed from {count} flashcards, on all your devices.}}'**
|
||
String tagDeleteMessage(int count);
|
||
|
||
/// No description provided for @tagDeleteConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get tagDeleteConfirm;
|
||
|
||
/// No description provided for @tagDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Deleted the tag \'{name}\''**
|
||
String tagDeleted(String name);
|
||
|
||
/// No description provided for @studySettingsTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Session settings'**
|
||
String get studySettingsTitle;
|
||
|
||
/// No description provided for @studySettingsFilterByTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Filter by tags'**
|
||
String get studySettingsFilterByTags;
|
||
|
||
/// No description provided for @studySettingsFilterHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study only the flashcards with any of the tags chosen.'**
|
||
String get studySettingsFilterHint;
|
||
|
||
/// No description provided for @studySettingsNoTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No tags yet. Add tags to your flashcards to filter them here.'**
|
||
String get studySettingsNoTags;
|
||
|
||
/// No description provided for @studySettingsReset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset'**
|
||
String get studySettingsReset;
|
||
|
||
/// No description provided for @studySettingsSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get studySettingsSave;
|
||
|
||
/// No description provided for @cardTagsLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tags'**
|
||
String get cardTagsLabel;
|
||
|
||
/// No description provided for @cardTagsAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add tags'**
|
||
String get cardTagsAdd;
|
||
|
||
/// No description provided for @cardTagsEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit tags'**
|
||
String get cardTagsEdit;
|
||
|
||
/// No description provided for @cardFilterTooltip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Filter'**
|
||
String get cardFilterTooltip;
|
||
|
||
/// No description provided for @cardFilterTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Filter'**
|
||
String get cardFilterTitle;
|
||
|
||
/// No description provided for @cardFilterTag.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tag'**
|
||
String get cardFilterTag;
|
||
|
||
/// No description provided for @cardFilterAllTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All tags'**
|
||
String get cardFilterAllTags;
|
||
|
||
/// No description provided for @cardFilterNoTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'None of these flashcards has a tag yet.'**
|
||
String get cardFilterNoTags;
|
||
|
||
/// No description provided for @cardFilterClear.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Clear all'**
|
||
String get cardFilterClear;
|
||
|
||
/// No description provided for @cardFilterApply.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Apply'**
|
||
String get cardFilterApply;
|
||
|
||
/// No description provided for @cardFilterNothing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No flashcards have this tag.'**
|
||
String get cardFilterNothing;
|
||
|
||
/// No description provided for @cardListMore.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More'**
|
||
String get cardListMore;
|
||
|
||
/// No description provided for @cardListManageTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Manage tags'**
|
||
String get cardListManageTags;
|
||
|
||
/// No description provided for @composerTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create flashcards'**
|
||
String get composerTitle;
|
||
|
||
/// No description provided for @composerTitleFor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create flashcards for \"{title}\"'**
|
||
String composerTitleFor(String title);
|
||
|
||
/// No description provided for @composerSaving.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Saving…'**
|
||
String get composerSaving;
|
||
|
||
/// No description provided for @composerSaveFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save failed — retry'**
|
||
String get composerSaveFailed;
|
||
|
||
/// No description provided for @composerAllSaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All changes saved'**
|
||
String get composerAllSaved;
|
||
|
||
/// No description provided for @composerNewFlashcard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New flashcard'**
|
||
String get composerNewFlashcard;
|
||
|
||
/// No description provided for @composerCollapseStack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Collapse stack'**
|
||
String get composerCollapseStack;
|
||
|
||
/// No description provided for @composerExpandStack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Expand stack'**
|
||
String get composerExpandStack;
|
||
|
||
/// No description provided for @composerStatusSaving.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Saving'**
|
||
String get composerStatusSaving;
|
||
|
||
/// No description provided for @composerStatusSaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Saved'**
|
||
String get composerStatusSaved;
|
||
|
||
/// No description provided for @composerStatusFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save failed'**
|
||
String get composerStatusFailed;
|
||
|
||
/// No description provided for @composerSaveFailedInline.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save failed.'**
|
||
String get composerSaveFailedInline;
|
||
|
||
/// No description provided for @composerRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Retry'**
|
||
String get composerRetry;
|
||
|
||
/// No description provided for @composerEmptyPane.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a flashcard to get started.'**
|
||
String get composerEmptyPane;
|
||
|
||
/// No description provided for @composerKindFlashcard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcard'**
|
||
String get composerKindFlashcard;
|
||
|
||
/// No description provided for @composerKindVocabulary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Vocabulary'**
|
||
String get composerKindVocabulary;
|
||
|
||
/// No description provided for @composerKindMatching.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Matching'**
|
||
String get composerKindMatching;
|
||
|
||
/// No description provided for @composerKindMap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Map'**
|
||
String get composerKindMap;
|
||
|
||
/// No description provided for @composerLabelFront.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Front'**
|
||
String get composerLabelFront;
|
||
|
||
/// No description provided for @composerLabelQuestion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Question'**
|
||
String get composerLabelQuestion;
|
||
|
||
/// No description provided for @composerLabelExpression.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Expression'**
|
||
String get composerLabelExpression;
|
||
|
||
/// No description provided for @composerLabelPrompt.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Prompt'**
|
||
String get composerLabelPrompt;
|
||
|
||
/// No description provided for @composerLabelBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back'**
|
||
String get composerLabelBack;
|
||
|
||
/// No description provided for @composerLabelAnswers.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Answers'**
|
||
String get composerLabelAnswers;
|
||
|
||
/// No description provided for @composerLabelAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Answer'**
|
||
String get composerLabelAnswer;
|
||
|
||
/// No description provided for @composerPlaceholderFront.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add question'**
|
||
String get composerPlaceholderFront;
|
||
|
||
/// No description provided for @composerPlaceholderExpression.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add expression'**
|
||
String get composerPlaceholderExpression;
|
||
|
||
/// No description provided for @composerPlaceholderPrompt.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add prompt'**
|
||
String get composerPlaceholderPrompt;
|
||
|
||
/// No description provided for @composerAddAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add answer'**
|
||
String get composerAddAnswer;
|
||
|
||
/// No description provided for @composerCorrectAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Correct answer'**
|
||
String get composerCorrectAnswer;
|
||
|
||
/// No description provided for @composerWrongAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Wrong answer'**
|
||
String get composerWrongAnswer;
|
||
|
||
/// No description provided for @composerRemoveAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove answer'**
|
||
String get composerRemoveAnswer;
|
||
|
||
/// No description provided for @composerPin.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pin {field}: keep it for the next card'**
|
||
String composerPin(String field);
|
||
|
||
/// No description provided for @composerUnpin.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unpin {field}: clear it for the next card'**
|
||
String composerUnpin(String field);
|
||
|
||
/// No description provided for @composerTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tags'**
|
||
String get composerTags;
|
||
|
||
/// No description provided for @composerAddTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add tags'**
|
||
String get composerAddTags;
|
||
|
||
/// No description provided for @composerMoreActions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More actions'**
|
||
String get composerMoreActions;
|
||
|
||
/// No description provided for @composerDuplicate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Duplicate'**
|
||
String get composerDuplicate;
|
||
|
||
/// No description provided for @composerClearFields.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Clear fields'**
|
||
String get composerClearFields;
|
||
|
||
/// No description provided for @composerDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get composerDelete;
|
||
|
||
/// No description provided for @composerDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete this flashcard?'**
|
||
String get composerDeleteTitle;
|
||
|
||
/// No description provided for @composerDeleteDraftMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The draft will be removed from this session. It has not been saved.'**
|
||
String get composerDeleteDraftMessage;
|
||
|
||
/// No description provided for @composerDeleteSavedMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The flashcard will be removed from the studyset, on all your devices.'**
|
||
String get composerDeleteSavedMessage;
|
||
|
||
/// No description provided for @composerDiscardTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Discard unsaved flashcard?} other{Discard unsaved flashcards?}}'**
|
||
String composerDiscardTitle(int count);
|
||
|
||
/// No description provided for @composerDiscardMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 flashcard hasn\'t been saved yet. Leaving now will discard it.} other{{count} flashcards haven\'t been saved yet. Leaving now will discard them.}}'**
|
||
String composerDiscardMessage(int count);
|
||
|
||
/// No description provided for @composerDiscardConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Discard'**
|
||
String get composerDiscardConfirm;
|
||
|
||
/// No description provided for @composerConflict.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This flashcard was changed differently on two devices. Choose the version to keep of each part below.'**
|
||
String get composerConflict;
|
||
|
||
/// No description provided for @composerKeepThis.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep this'**
|
||
String get composerKeepThis;
|
||
|
||
/// No description provided for @vocabularyReading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reading'**
|
||
String get vocabularyReading;
|
||
|
||
/// No description provided for @vocabularyReadingHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kana reading'**
|
||
String get vocabularyReadingHint;
|
||
|
||
/// No description provided for @vocabularyMeanings.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Meanings'**
|
||
String get vocabularyMeanings;
|
||
|
||
/// No description provided for @vocabularyPrimaryMeaningHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Primary meaning'**
|
||
String get vocabularyPrimaryMeaningHint;
|
||
|
||
/// No description provided for @vocabularyMeaningHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Meaning'**
|
||
String get vocabularyMeaningHint;
|
||
|
||
/// No description provided for @vocabularyAddMeaning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add meaning'**
|
||
String get vocabularyAddMeaning;
|
||
|
||
/// No description provided for @vocabularyRemoveMeaning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove meaning'**
|
||
String get vocabularyRemoveMeaning;
|
||
|
||
/// No description provided for @matchingCategories.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Categories'**
|
||
String get matchingCategories;
|
||
|
||
/// No description provided for @matchingCategoriesHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The drop-zone cards learners drag items onto. Each category needs at least one item, so a card can\'t have more categories than items.'**
|
||
String get matchingCategoriesHint;
|
||
|
||
/// No description provided for @matchingCategory.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Category {number}'**
|
||
String matchingCategory(int number);
|
||
|
||
/// No description provided for @matchingAddCategory.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add category'**
|
||
String get matchingAddCategory;
|
||
|
||
/// No description provided for @matchingAddCategoryBlocked.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add an item first: a card can\'t have more categories than items'**
|
||
String get matchingAddCategoryBlocked;
|
||
|
||
/// No description provided for @matchingRemoveCategory.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove category'**
|
||
String get matchingRemoveCategory;
|
||
|
||
/// No description provided for @matchingMinCategories.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'At least two categories required'**
|
||
String get matchingMinCategories;
|
||
|
||
/// No description provided for @matchingItems.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Items'**
|
||
String get matchingItems;
|
||
|
||
/// No description provided for @matchingItemsHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The draggable items. Assign every item to its correct category: an unassigned item can never be placed right.'**
|
||
String get matchingItemsHint;
|
||
|
||
/// No description provided for @matchingItem.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Item {number}'**
|
||
String matchingItem(int number);
|
||
|
||
/// No description provided for @matchingAddItem.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add item'**
|
||
String get matchingAddItem;
|
||
|
||
/// No description provided for @matchingUnassigned.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unassigned'**
|
||
String get matchingUnassigned;
|
||
|
||
/// No description provided for @matchingRemoveItem.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove item'**
|
||
String get matchingRemoveItem;
|
||
|
||
/// No description provided for @matchingMinItems.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'At least two items required'**
|
||
String get matchingMinItems;
|
||
|
||
/// No description provided for @commonCancel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cancel'**
|
||
String get commonCancel;
|
||
|
||
/// No description provided for @commonClose.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Close'**
|
||
String get commonClose;
|
||
|
||
/// No description provided for @commonUndo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Undo'**
|
||
String get commonUndo;
|
||
|
||
/// No description provided for @commonTryAgain.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Try again'**
|
||
String get commonTryAgain;
|
||
|
||
/// No description provided for @sessionUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t reach the server.'**
|
||
String get sessionUnreachable;
|
||
|
||
/// No description provided for @notFoundGone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This no longer exists. It may have been deleted on another device.'**
|
||
String get notFoundGone;
|
||
}
|
||
|
||
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'].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();
|
||
}
|
||
|
||
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.',
|
||
);
|
||
}
|