The import format gains the blocks lessons need: tables (rows of cells), callouts (a kind, a title, blocks inside, but no table or callout), spoilers, quotes and dividers; and runs of text gain a reading shown as furigana, a colour, underline and strikethrough. A line break is a "\n" in the text. Still simple blocks turned into rich text here, so a change of the editor's own format never breaks a file written before. A table's columns are as wide as their longest line, narrowed alike to fit a phone, where the cells wrap. A studyset's Import › Learning paths now takes several files at once, one path each, stored in the order of their names, so a chapter's lessons come in with one pick. Every file is read before anything is stored: one that can't be read is named, and nothing comes in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
9599 lines
275 KiB
Dart
9599 lines
275 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_de.dart';
|
||
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('de'),
|
||
Locale('en'),
|
||
Locale('en', 'GB'),
|
||
Locale('en', 'US'),
|
||
];
|
||
|
||
/// 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 @launchBrand.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Halkyon'**
|
||
String get launchBrand;
|
||
|
||
/// No description provided for @launchProduct.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Learn'**
|
||
String get launchProduct;
|
||
|
||
/// 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 @libraryTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Library'**
|
||
String get libraryTitle;
|
||
|
||
/// No description provided for @libraryCreateStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create studyset'**
|
||
String get libraryCreateStudyset;
|
||
|
||
/// 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 on cards and the studyset\'s header. Paths use it to label tiers (Challenge, Milestone, Lesson).'**
|
||
String get studysetSheetSecondaryHelper;
|
||
|
||
/// No description provided for @studysetSheetColor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Colour'**
|
||
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:
|
||
/// **'Colour: {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 @studysetCountNotes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 note} other{{count} notes}}'**
|
||
String studysetCountNotes(int count);
|
||
|
||
/// No description provided for @studysetCountFiles.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 file} other{{count} files}}'**
|
||
String studysetCountFiles(int count);
|
||
|
||
/// No description provided for @libraryRefresh.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Refresh'**
|
||
String get libraryRefresh;
|
||
|
||
/// No description provided for @libraryImport.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import'**
|
||
String get libraryImport;
|
||
|
||
/// No description provided for @libraryImportAnkiHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Becomes a studyset of its own, from an .apkg or .colpkg file'**
|
||
String get libraryImportAnkiHint;
|
||
|
||
/// No description provided for @libraryImportArchive.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Halkyon archive'**
|
||
String get libraryImportArchive;
|
||
|
||
/// No description provided for @libraryImportArchiveHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A studyset with everything in it and its progress, from a .zip file'**
|
||
String get libraryImportArchiveHint;
|
||
|
||
/// No description provided for @archiveFileType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Halkyon archive'**
|
||
String get archiveFileType;
|
||
|
||
/// No description provided for @archiveImportTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import archive'**
|
||
String get archiveImportTitle;
|
||
|
||
/// No description provided for @archiveImportReading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reading the archive…'**
|
||
String get archiveImportReading;
|
||
|
||
/// No description provided for @archiveImportHolds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'“{title}” holds:'**
|
||
String archiveImportHolds(String title);
|
||
|
||
/// No description provided for @archiveCountStudysets.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 studyset} other{{count} studysets}}'**
|
||
String archiveCountStudysets(int count);
|
||
|
||
/// No description provided for @archiveCountReviews.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 review} other{{count} reviews}}'**
|
||
String archiveCountReviews(int count);
|
||
|
||
/// No description provided for @archiveImportConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import'**
|
||
String get archiveImportConfirm;
|
||
|
||
/// No description provided for @archiveImported.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Imported: {cards} and {reviews}.'**
|
||
String archiveImported(String cards, String reviews);
|
||
|
||
/// No description provided for @archiveImportMissingEntries.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 word isn\'t} other{{count} words aren\'t}} in this instance\'s dictionary and stayed out.'**
|
||
String archiveImportMissingEntries(int count);
|
||
|
||
/// No description provided for @archiveNotAnArchive.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This file isn\'t a Halkyon archive.'**
|
||
String get archiveNotAnArchive;
|
||
|
||
/// No description provided for @archiveNewerFormat.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This archive comes from a newer version of the app. Update the app to import it.'**
|
||
String get archiveNewerFormat;
|
||
|
||
/// No description provided for @archiveUnreadable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This archive can\'t be read.'**
|
||
String get archiveUnreadable;
|
||
|
||
/// No description provided for @archiveImportBrokeOff.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The import broke off. Check the connection and try again.'**
|
||
String get archiveImportBrokeOff;
|
||
|
||
/// No description provided for @libraryRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Retry'**
|
||
String get libraryRetry;
|
||
|
||
/// No description provided for @studysetNoContent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No content yet'**
|
||
String get studysetNoContent;
|
||
|
||
/// No description provided for @studysetEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Empty'**
|
||
String get studysetEmpty;
|
||
|
||
/// 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 @studysetByYou.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'By you'**
|
||
String get studysetByYou;
|
||
|
||
/// No description provided for @studysetByAuthor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'By {author}'**
|
||
String studysetByAuthor(String author);
|
||
|
||
/// No description provided for @studysetByOthers.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A copy'**
|
||
String get studysetByOthers;
|
||
|
||
/// No description provided for @studysetVisibilityPrivate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Private'**
|
||
String get studysetVisibilityPrivate;
|
||
|
||
/// No description provided for @studysetVisibilityPublic.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Public'**
|
||
String get studysetVisibilityPublic;
|
||
|
||
/// No description provided for @studysetOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Options'**
|
||
String get studysetOptions;
|
||
|
||
/// No description provided for @studysetBibliography.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bibliography'**
|
||
String get studysetBibliography;
|
||
|
||
/// No description provided for @studysetBibliographyIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Works cited across this studyset, in the citation style chosen in Settings.'**
|
||
String get studysetBibliographyIntro;
|
||
|
||
/// 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 @studysetTabNotes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Notes'**
|
||
String get studysetTabNotes;
|
||
|
||
/// No description provided for @studysetTabPaths.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Paths'**
|
||
String get studysetTabPaths;
|
||
|
||
/// No description provided for @studysetCreatePath.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create a path'**
|
||
String get studysetCreatePath;
|
||
|
||
/// No description provided for @pathImportMenu.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import a path (JSON)'**
|
||
String get pathImportMenu;
|
||
|
||
/// No description provided for @pathImportFileType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Learning path (JSON)'**
|
||
String get pathImportFileType;
|
||
|
||
/// No description provided for @pathImported.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Imported \"{title}\" with 1 step.} other{Imported \"{title}\" with {count} steps.}}'**
|
||
String pathImported(String title, int count);
|
||
|
||
/// No description provided for @pathImportSkipped.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 block was left out: images and animations aren\'t imported.} other{{count} blocks were left out: images and animations aren\'t imported.}}'**
|
||
String pathImportSkipped(int count);
|
||
|
||
/// No description provided for @pathImportFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t import this file. {reason}'**
|
||
String pathImportFailed(String reason);
|
||
|
||
/// No description provided for @pathImportFileFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t import {file}. {reason}'**
|
||
String pathImportFileFailed(String file, String reason);
|
||
|
||
/// No description provided for @pathsImported.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{steps, plural, =0{Imported {count} paths without steps.} =1{Imported {count} paths with 1 step.} other{Imported {count} paths with {steps} steps.}}'**
|
||
String pathsImported(int count, int steps);
|
||
|
||
/// No description provided for @pathImportUnreadable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'It isn\'t text in UTF-8.'**
|
||
String get pathImportUnreadable;
|
||
|
||
/// No description provided for @pathsEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No paths yet'**
|
||
String get pathsEmpty;
|
||
|
||
/// No description provided for @pathsEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A path leads through a lesson, step by step. Use \"Add material → Create a path\" to write one, or \"⋮ → Import content\" to import one.'**
|
||
String get pathsEmptyHint;
|
||
|
||
/// No description provided for @pathOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Path options'**
|
||
String get pathOptions;
|
||
|
||
/// No description provided for @pathEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit'**
|
||
String get pathEdit;
|
||
|
||
/// No description provided for @pathResetProgress.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset progress'**
|
||
String get pathResetProgress;
|
||
|
||
/// No description provided for @pathProgressReset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Progress reset'**
|
||
String get pathProgressReset;
|
||
|
||
/// No description provided for @pathResetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset progress?'**
|
||
String get pathResetTitle;
|
||
|
||
/// No description provided for @pathResetMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All your progress through this path will be cleared. You can undo this for a few seconds.'**
|
||
String get pathResetMessage;
|
||
|
||
/// No description provided for @pathResetConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset'**
|
||
String get pathResetConfirm;
|
||
|
||
/// No description provided for @pathDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get pathDelete;
|
||
|
||
/// No description provided for @pathDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete path?'**
|
||
String get pathDeleteTitle;
|
||
|
||
/// No description provided for @pathDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This path and its steps will be removed from the studyset. You can undo this for a few seconds.'**
|
||
String get pathDeleteMessage;
|
||
|
||
/// No description provided for @pathDeleteConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get pathDeleteConfirm;
|
||
|
||
/// No description provided for @pathDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Path deleted'**
|
||
String get pathDeleted;
|
||
|
||
/// No description provided for @pathCreateTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New path'**
|
||
String get pathCreateTitle;
|
||
|
||
/// No description provided for @pathCreate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create'**
|
||
String get pathCreate;
|
||
|
||
/// No description provided for @pathTitleLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title'**
|
||
String get pathTitleLabel;
|
||
|
||
/// No description provided for @pathTitleRequired.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A path needs a title.'**
|
||
String get pathTitleRequired;
|
||
|
||
/// No description provided for @pathSecondaryTitleLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Secondary title'**
|
||
String get pathSecondaryTitleLabel;
|
||
|
||
/// No description provided for @pathSecondaryTitleHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'E.g. the title in the language you learn'**
|
||
String get pathSecondaryTitleHint;
|
||
|
||
/// No description provided for @pathEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit path'**
|
||
String get pathEditTitle;
|
||
|
||
/// No description provided for @pathDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Description'**
|
||
String get pathDescription;
|
||
|
||
/// No description provided for @pathAddDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a description'**
|
||
String get pathAddDescription;
|
||
|
||
/// No description provided for @pathDescriptionEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Path description'**
|
||
String get pathDescriptionEditTitle;
|
||
|
||
/// No description provided for @pathAddTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add tags'**
|
||
String get pathAddTags;
|
||
|
||
/// No description provided for @pathTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tags'**
|
||
String get pathTags;
|
||
|
||
/// No description provided for @pathEditTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit tags'**
|
||
String get pathEditTags;
|
||
|
||
/// No description provided for @pathSteps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Steps'**
|
||
String get pathSteps;
|
||
|
||
/// No description provided for @pathStepsEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No steps yet'**
|
||
String get pathStepsEmpty;
|
||
|
||
/// No description provided for @pathStepsEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pick a step type to start writing the lesson.'**
|
||
String get pathStepsEmptyHint;
|
||
|
||
/// No description provided for @pathAddStep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add step'**
|
||
String get pathAddStep;
|
||
|
||
/// No description provided for @pathReorder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reorder'**
|
||
String get pathReorder;
|
||
|
||
/// No description provided for @pathReorderDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get pathReorderDone;
|
||
|
||
/// No description provided for @pathStepDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete step'**
|
||
String get pathStepDelete;
|
||
|
||
/// No description provided for @pathStepDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Step deleted'**
|
||
String get pathStepDeleted;
|
||
|
||
/// No description provided for @stepUntitled.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Untitled step'**
|
||
String get stepUntitled;
|
||
|
||
/// No description provided for @stepKindInfo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Info'**
|
||
String get stepKindInfo;
|
||
|
||
/// No description provided for @stepKindSingleChoice.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Single choice'**
|
||
String get stepKindSingleChoice;
|
||
|
||
/// No description provided for @stepKindMultipleChoice.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Multiple choice'**
|
||
String get stepKindMultipleChoice;
|
||
|
||
/// No description provided for @stepKindDragAndDrop.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Drag and drop'**
|
||
String get stepKindDragAndDrop;
|
||
|
||
/// No description provided for @stepKindFillInTheBlank.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fill in the blank'**
|
||
String get stepKindFillInTheBlank;
|
||
|
||
/// No description provided for @stepEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit step'**
|
||
String get stepEditTitle;
|
||
|
||
/// No description provided for @stepTitleHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title'**
|
||
String get stepTitleHint;
|
||
|
||
/// No description provided for @stepOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Options'**
|
||
String get stepOptions;
|
||
|
||
/// No description provided for @stepOptionHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Option {number}'**
|
||
String stepOptionHint(int number);
|
||
|
||
/// No description provided for @stepAddOption.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add option'**
|
||
String get stepAddOption;
|
||
|
||
/// No description provided for @stepRemoveOption.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove option'**
|
||
String get stepRemoveOption;
|
||
|
||
/// No description provided for @stepCorrectOption.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The right one'**
|
||
String get stepCorrectOption;
|
||
|
||
/// No description provided for @stepCorrectOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Right ones'**
|
||
String get stepCorrectOptions;
|
||
|
||
/// No description provided for @stepCategories.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Categories'**
|
||
String get stepCategories;
|
||
|
||
/// No description provided for @stepCategoryHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Category {number}'**
|
||
String stepCategoryHint(int number);
|
||
|
||
/// No description provided for @stepAddCategory.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add category'**
|
||
String get stepAddCategory;
|
||
|
||
/// No description provided for @stepRemoveCategory.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove category'**
|
||
String get stepRemoveCategory;
|
||
|
||
/// No description provided for @stepItems.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Items'**
|
||
String get stepItems;
|
||
|
||
/// No description provided for @stepItemHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Item {number}'**
|
||
String stepItemHint(int number);
|
||
|
||
/// No description provided for @stepAddItem.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add item'**
|
||
String get stepAddItem;
|
||
|
||
/// No description provided for @stepRemoveItem.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove item'**
|
||
String get stepRemoveItem;
|
||
|
||
/// No description provided for @stepItemCategory.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Belongs to'**
|
||
String get stepItemCategory;
|
||
|
||
/// No description provided for @stepPassage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Passage'**
|
||
String get stepPassage;
|
||
|
||
/// No description provided for @stepPassageHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Type ___ (three underscores) wherever a word should be dropped in.'**
|
||
String get stepPassageHint;
|
||
|
||
/// No description provided for @stepBlankHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Word for gap {number}'**
|
||
String stepBlankHint(int number);
|
||
|
||
/// No description provided for @stepIncomplete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Not ready to answer yet: fill in every field and choose what is right.'**
|
||
String get stepIncomplete;
|
||
|
||
/// No description provided for @stepFeedbackRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Feedback after a right answer'**
|
||
String get stepFeedbackRight;
|
||
|
||
/// No description provided for @stepFeedbackWrong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Feedback after a wrong answer'**
|
||
String get stepFeedbackWrong;
|
||
|
||
/// No description provided for @stepFeedbackNone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'None'**
|
||
String get stepFeedbackNone;
|
||
|
||
/// No description provided for @sources.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sources'**
|
||
String get sources;
|
||
|
||
/// No description provided for @sourcesCount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 source} other{{count} sources}}'**
|
||
String sourcesCount(int count);
|
||
|
||
/// No description provided for @sourcesNone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No sources cited yet.'**
|
||
String get sourcesNone;
|
||
|
||
/// No description provided for @sourcesEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit sources'**
|
||
String get sourcesEdit;
|
||
|
||
/// No description provided for @sourcesEditDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done editing'**
|
||
String get sourcesEditDone;
|
||
|
||
/// No description provided for @sourceAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a source'**
|
||
String get sourceAdd;
|
||
|
||
/// No description provided for @sourceEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit source'**
|
||
String get sourceEdit;
|
||
|
||
/// No description provided for @sourceRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove source'**
|
||
String get sourceRemove;
|
||
|
||
/// No description provided for @sourceRemoved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Source removed'**
|
||
String get sourceRemoved;
|
||
|
||
/// No description provided for @sourceSheetAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add'**
|
||
String get sourceSheetAdd;
|
||
|
||
/// No description provided for @sourceAuthors.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Authors'**
|
||
String get sourceAuthors;
|
||
|
||
/// No description provided for @sourceAuthorsHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Full names, one per line, e.g. Mark A. McDaniel'**
|
||
String get sourceAuthorsHint;
|
||
|
||
/// No description provided for @sourceYear.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Year'**
|
||
String get sourceYear;
|
||
|
||
/// No description provided for @sourceYearHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'e.g. 2014'**
|
||
String get sourceYearHint;
|
||
|
||
/// No description provided for @sourceTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title'**
|
||
String get sourceTitle;
|
||
|
||
/// No description provided for @sourceTitleHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title of the work'**
|
||
String get sourceTitleHint;
|
||
|
||
/// No description provided for @sourceContainer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Published in'**
|
||
String get sourceContainer;
|
||
|
||
/// No description provided for @sourceContainerHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Journal, book or website it is part of, with pages'**
|
||
String get sourceContainerHint;
|
||
|
||
/// No description provided for @sourceContainerHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Leave empty for a work of its own, such as a book.'**
|
||
String get sourceContainerHelper;
|
||
|
||
/// No description provided for @sourcePublisher.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Publisher'**
|
||
String get sourcePublisher;
|
||
|
||
/// No description provided for @sourcePublisherHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'e.g. Belknap Press'**
|
||
String get sourcePublisherHint;
|
||
|
||
/// No description provided for @sourceIsbn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'ISBN'**
|
||
String get sourceIsbn;
|
||
|
||
/// No description provided for @sourceIsbnHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'e.g. 978-0-674-72901-8'**
|
||
String get sourceIsbnHint;
|
||
|
||
/// No description provided for @sourceUrl.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Link'**
|
||
String get sourceUrl;
|
||
|
||
/// No description provided for @sourceUrlHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'https://…'**
|
||
String get sourceUrlHint;
|
||
|
||
/// No description provided for @sourceImportedAs.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Imported as: {citation}'**
|
||
String sourceImportedAs(String citation);
|
||
|
||
/// No description provided for @sourceIsbnLine.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'ISBN: {isbn}'**
|
||
String sourceIsbnLine(String isbn);
|
||
|
||
/// No description provided for @sourceAvailableAt.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Available at:'**
|
||
String get sourceAvailableAt;
|
||
|
||
/// No description provided for @sourceEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Empty reference'**
|
||
String get sourceEmpty;
|
||
|
||
/// No description provided for @sourceDiscardTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Discard changes?'**
|
||
String get sourceDiscardTitle;
|
||
|
||
/// No description provided for @sourceDiscardMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What you typed for this source will be lost.'**
|
||
String get sourceDiscardMessage;
|
||
|
||
/// No description provided for @sourceDiscardConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Discard'**
|
||
String get sourceDiscardConfirm;
|
||
|
||
/// No description provided for @stepConflict.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This step was changed differently on another device. Keep one version to go on writing.'**
|
||
String get stepConflict;
|
||
|
||
/// No description provided for @stepFieldTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title'**
|
||
String get stepFieldTitle;
|
||
|
||
/// No description provided for @stepFieldBody.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Text'**
|
||
String get stepFieldBody;
|
||
|
||
/// No description provided for @stepFieldExercise.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Exercise'**
|
||
String get stepFieldExercise;
|
||
|
||
/// No description provided for @stepFieldRightFeedback.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Feedback after a right answer'**
|
||
String get stepFieldRightFeedback;
|
||
|
||
/// No description provided for @stepFieldWrongFeedback.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Feedback after a wrong answer'**
|
||
String get stepFieldWrongFeedback;
|
||
|
||
/// No description provided for @stepFieldSources.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sources'**
|
||
String get stepFieldSources;
|
||
|
||
/// No description provided for @runnerClose.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Close'**
|
||
String get runnerClose;
|
||
|
||
/// No description provided for @runnerEditStep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit step'**
|
||
String get runnerEditStep;
|
||
|
||
/// No description provided for @runnerBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back'**
|
||
String get runnerBack;
|
||
|
||
/// No description provided for @runnerCheck.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Check answers'**
|
||
String get runnerCheck;
|
||
|
||
/// No description provided for @runnerContinue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Continue'**
|
||
String get runnerContinue;
|
||
|
||
/// No description provided for @runnerFinish.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Finish'**
|
||
String get runnerFinish;
|
||
|
||
/// No description provided for @runnerRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Correct!'**
|
||
String get runnerRight;
|
||
|
||
/// No description provided for @runnerWrong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Not quite'**
|
||
String get runnerWrong;
|
||
|
||
/// No description provided for @runnerAlreadyRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You already answered this correctly.'**
|
||
String get runnerAlreadyRight;
|
||
|
||
/// No description provided for @runnerSelectAll.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Select all that apply.'**
|
||
String get runnerSelectAll;
|
||
|
||
/// No description provided for @runnerDragHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Drag each item into the category it belongs to, or tap it and then the category. Tap a placed item to take it back.'**
|
||
String get runnerDragHint;
|
||
|
||
/// No description provided for @runnerBlankHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Drag a word into each gap, or tap it and then the gap. Tap a placed word to take it back.'**
|
||
String get runnerBlankHint;
|
||
|
||
/// No description provided for @runnerEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This path has no steps yet.'**
|
||
String get runnerEmpty;
|
||
|
||
/// No description provided for @runnerFinished.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You finished this path'**
|
||
String get runnerFinished;
|
||
|
||
/// No description provided for @runnerFinishedSteps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 step complete.} other{{count} steps complete.}}'**
|
||
String runnerFinishedSteps(int count);
|
||
|
||
/// No description provided for @runnerNextPath.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Continue to next path'**
|
||
String get runnerNextPath;
|
||
|
||
/// No description provided for @runnerBackToStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back to studyset'**
|
||
String get runnerBackToStudyset;
|
||
|
||
/// No description provided for @studysetCountPaths.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 path} other{{count} paths}}'**
|
||
String studysetCountPaths(int count);
|
||
|
||
/// No description provided for @studysetCreateNote.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create a note'**
|
||
String get studysetCreateNote;
|
||
|
||
/// No description provided for @notesEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No notes yet'**
|
||
String get notesEmpty;
|
||
|
||
/// No description provided for @notesEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Use \"Add material → Create a note\" to write one.'**
|
||
String get notesEmptyHint;
|
||
|
||
/// No description provided for @noteUntitled.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Untitled note'**
|
||
String get noteUntitled;
|
||
|
||
/// No description provided for @noteEdited.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edited {when}'**
|
||
String noteEdited(String when);
|
||
|
||
/// No description provided for @timeJustNow.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'just now'**
|
||
String get timeJustNow;
|
||
|
||
/// No description provided for @timeMinutesAgo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 minute ago} other{{count} minutes ago}}'**
|
||
String timeMinutesAgo(int count);
|
||
|
||
/// No description provided for @timeHoursAgo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 hour ago} other{{count} hours ago}}'**
|
||
String timeHoursAgo(int count);
|
||
|
||
/// No description provided for @timeDaysAgo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{yesterday} other{{count} days ago}}'**
|
||
String timeDaysAgo(int count);
|
||
|
||
/// No description provided for @noteOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Note options'**
|
||
String get noteOptions;
|
||
|
||
/// No description provided for @noteEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit'**
|
||
String get noteEdit;
|
||
|
||
/// No description provided for @noteDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get noteDelete;
|
||
|
||
/// No description provided for @noteDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete note?'**
|
||
String get noteDeleteTitle;
|
||
|
||
/// No description provided for @noteDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This note will be removed from the studyset. You can undo this for a few seconds.'**
|
||
String get noteDeleteMessage;
|
||
|
||
/// No description provided for @noteDeleteConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get noteDeleteConfirm;
|
||
|
||
/// No description provided for @noteDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Note deleted'**
|
||
String get noteDeleted;
|
||
|
||
/// No description provided for @noteTitleHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title'**
|
||
String get noteTitleHint;
|
||
|
||
/// No description provided for @noteEditing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Editing…'**
|
||
String get noteEditing;
|
||
|
||
/// No description provided for @noteSaving.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Saving…'**
|
||
String get noteSaving;
|
||
|
||
/// No description provided for @noteSaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Saved'**
|
||
String get noteSaved;
|
||
|
||
/// No description provided for @noteSaveFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save failed'**
|
||
String get noteSaveFailed;
|
||
|
||
/// No description provided for @noteConflict.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This note was changed differently on another device. Keep one version to go on writing.'**
|
||
String get noteConflict;
|
||
|
||
/// No description provided for @noteFieldTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title'**
|
||
String get noteFieldTitle;
|
||
|
||
/// No description provided for @noteFieldBody.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Text'**
|
||
String get noteFieldBody;
|
||
|
||
/// No description provided for @noteKeepThis.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep this'**
|
||
String get noteKeepThis;
|
||
|
||
/// No description provided for @noteAddTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add tags'**
|
||
String get noteAddTags;
|
||
|
||
/// No description provided for @noteEditTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit tags'**
|
||
String get noteEditTags;
|
||
|
||
/// 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:
|
||
/// **'Use \"Add material → Create flashcards\" to write some, or \"⋮ → Import content\" to bring in an Anki deck or a list.'**
|
||
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 @studysetLearnFlashcards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Learn 1 flashcard} other{Learn {count} flashcards}}'**
|
||
String studysetLearnFlashcards(int count);
|
||
|
||
/// No description provided for @studysetNothingToStudy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing to study yet'**
|
||
String get studysetNothingToStudy;
|
||
|
||
/// No description provided for @studysetStudyMode.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study mode'**
|
||
String get studysetStudyMode;
|
||
|
||
/// No description provided for @studysetStartPath.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Start: {title}'**
|
||
String studysetStartPath(String title);
|
||
|
||
/// No description provided for @studysetContinuePath.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Continue: {title}'**
|
||
String studysetContinuePath(String title);
|
||
|
||
/// No description provided for @studysetStartPathHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Begin the first step of this path.'**
|
||
String get studysetStartPathHint;
|
||
|
||
/// No description provided for @studysetContinuePathHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pick up the next path step where you left off.'**
|
||
String get studysetContinuePathHint;
|
||
|
||
/// No description provided for @studysetSpacedRepetition.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Spaced repetition'**
|
||
String get studysetSpacedRepetition;
|
||
|
||
/// No description provided for @studysetSpacedRepetitionHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Review the cards that are due, scheduled by FSRS.'**
|
||
String get studysetSpacedRepetitionHint;
|
||
|
||
/// No description provided for @studysetImportContent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import content'**
|
||
String get studysetImportContent;
|
||
|
||
/// No description provided for @studysetMenuExport.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Export content'**
|
||
String get studysetMenuExport;
|
||
|
||
/// No description provided for @exportRunning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Exporting…'**
|
||
String get exportRunning;
|
||
|
||
/// No description provided for @exportedMarkdown.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Exported as Markdown.'**
|
||
String get exportedMarkdown;
|
||
|
||
/// No description provided for @exportedZip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Exported as Markdown with 1 file (.zip).} other{Exported as Markdown with {count} files (.zip).}}'**
|
||
String exportedZip(int count);
|
||
|
||
/// No description provided for @exportMissingFiles.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 file wasn\'t on this device and is left out.} other{{count} files weren\'t on this device and are left out.}}'**
|
||
String exportMissingFiles(int count);
|
||
|
||
/// No description provided for @exportFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t export the studyset.'**
|
||
String get exportFailed;
|
||
|
||
/// No description provided for @exportQuestion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Q'**
|
||
String get exportQuestion;
|
||
|
||
/// No description provided for @exportAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A'**
|
||
String get exportAnswer;
|
||
|
||
/// No description provided for @exportHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hint'**
|
||
String get exportHint;
|
||
|
||
/// No description provided for @exportIfRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'If right'**
|
||
String get exportIfRight;
|
||
|
||
/// No description provided for @exportIfWrong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'If wrong'**
|
||
String get exportIfWrong;
|
||
|
||
/// No description provided for @exportSound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sound'**
|
||
String get exportSound;
|
||
|
||
/// No description provided for @exportVideo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'YouTube video'**
|
||
String get exportVideo;
|
||
|
||
/// No description provided for @exportSpoiler.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Spoiler'**
|
||
String get exportSpoiler;
|
||
|
||
/// No description provided for @exportUnavailable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'not available on this device'**
|
||
String get exportUnavailable;
|
||
|
||
/// No description provided for @studysetImportPath.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Learning paths'**
|
||
String get studysetImportPath;
|
||
|
||
/// No description provided for @studysetImportPathHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'From Halkyon path JSON files, one path each'**
|
||
String get studysetImportPathHint;
|
||
|
||
/// No description provided for @studysetImportAnki.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Anki deck'**
|
||
String get studysetImportAnki;
|
||
|
||
/// No description provided for @studysetImportAnkiHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'From an .apkg or .colpkg file'**
|
||
String get studysetImportAnkiHint;
|
||
|
||
/// No description provided for @studysetImportCards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcards'**
|
||
String get studysetImportCards;
|
||
|
||
/// No description provided for @studysetImportCardsHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pasted, or from a CSV or TSV file'**
|
||
String get studysetImportCardsHint;
|
||
|
||
/// No description provided for @cardTextImportTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import flashcards'**
|
||
String get cardTextImportTitle;
|
||
|
||
/// No description provided for @cardTextImportDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'One card per line: its front, a separator, then its back. Each line is split at its first separator; lines without one are left out. A field in double quotes, as spreadsheets write them, may hold separators and line breaks.'**
|
||
String get cardTextImportDescription;
|
||
|
||
/// No description provided for @cardTextImportHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Paste the cards here'**
|
||
String get cardTextImportHint;
|
||
|
||
/// No description provided for @cardTextImportLoadFile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Load a CSV or TSV file'**
|
||
String get cardTextImportLoadFile;
|
||
|
||
/// No description provided for @cardTextImportFileType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'CSV or TSV files'**
|
||
String get cardTextImportFileType;
|
||
|
||
/// No description provided for @cardTextImportUnreadable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This file doesn\'t hold text.'**
|
||
String get cardTextImportUnreadable;
|
||
|
||
/// No description provided for @cardTextImportSeparator.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Separator'**
|
||
String get cardTextImportSeparator;
|
||
|
||
/// No description provided for @cardTextSeparatorTab.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tab'**
|
||
String get cardTextSeparatorTab;
|
||
|
||
/// No description provided for @cardTextSeparatorComma.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Comma'**
|
||
String get cardTextSeparatorComma;
|
||
|
||
/// No description provided for @cardTextSeparatorSemicolon.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Semicolon'**
|
||
String get cardTextSeparatorSemicolon;
|
||
|
||
/// No description provided for @cardTextImportNone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No cards found yet.'**
|
||
String get cardTextImportNone;
|
||
|
||
/// No description provided for @cardTextImportReady.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 card ready to import.} other{{count} cards ready to import.}}'**
|
||
String cardTextImportReady(int count);
|
||
|
||
/// No description provided for @cardTextImportSubmit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import'**
|
||
String get cardTextImportSubmit;
|
||
|
||
/// No description provided for @cardTextImported.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Imported 1 flashcard.} other{Imported {count} flashcards.}}'**
|
||
String cardTextImported(int count);
|
||
|
||
/// No description provided for @studysetReorder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reorder'**
|
||
String get studysetReorder;
|
||
|
||
/// No description provided for @studysetReorderPaths.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reorder paths'**
|
||
String get studysetReorderPaths;
|
||
|
||
/// No description provided for @studysetReorderNotes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reorder notes'**
|
||
String get studysetReorderNotes;
|
||
|
||
/// No description provided for @studysetReorderFiles.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reorder files'**
|
||
String get studysetReorderFiles;
|
||
|
||
/// No description provided for @studysetReorderDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get studysetReorderDone;
|
||
|
||
/// No description provided for @studysetOpenTopics.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show topics'**
|
||
String get studysetOpenTopics;
|
||
|
||
/// No description provided for @studysetTopicCount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 topic} other{{count} topics}}'**
|
||
String studysetTopicCount(int count);
|
||
|
||
/// No description provided for @studysetShowInnerTopics.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show the topics inside'**
|
||
String get studysetShowInnerTopics;
|
||
|
||
/// No description provided for @studysetHideInnerTopics.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hide the topics inside'**
|
||
String get studysetHideInnerTopics;
|
||
|
||
/// 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 @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:
|
||
/// **'(current)'**
|
||
String get studysetMoveCurrent;
|
||
|
||
/// No description provided for @studysetMoveTopLevelRow.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Top level (no parent)'**
|
||
String get studysetMoveTopLevelRow;
|
||
|
||
/// No description provided for @studysetMoveArchived.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Archived'**
|
||
String get studysetMoveArchived;
|
||
|
||
/// No description provided for @studysetMoveNew.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New studyset'**
|
||
String get studysetMoveNew;
|
||
|
||
/// No description provided for @studysetMoveSelectDestination.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Select a destination'**
|
||
String get studysetMoveSelectDestination;
|
||
|
||
/// No description provided for @studysetMoveDestination.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Destination: {name}'**
|
||
String studysetMoveDestination(String name);
|
||
|
||
/// 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 sub-studysets'**
|
||
String get studysetMoveShowInside;
|
||
|
||
/// No description provided for @studysetMoveHideInside.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hide sub-studysets'**
|
||
String get studysetMoveHideInside;
|
||
|
||
/// No description provided for @studysetMoved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Moved \"{title}\" to {destination}.'**
|
||
String studysetMoved(String title, 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 @richTextSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get richTextSave;
|
||
|
||
/// 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:
|
||
/// **'Tap to add a description'**
|
||
String get studysetSheetDescriptionAdd;
|
||
|
||
/// No description provided for @studysetSheetDescriptionAdded.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Description added — tap to edit'**
|
||
String get studysetSheetDescriptionAdded;
|
||
|
||
/// No description provided for @studysetSheetInheritColor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Inherit'**
|
||
String get studysetSheetInheritColor;
|
||
|
||
/// No description provided for @studysetSheetLanguages.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Languages'**
|
||
String get studysetSheetLanguages;
|
||
|
||
/// No description provided for @studysetSheetSetLanguages.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set languages'**
|
||
String get studysetSheetSetLanguages;
|
||
|
||
/// No description provided for @studysetSheetLanguagesHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Which language each side of the cards is in. Chinese, Japanese and Korean then show in their own character shapes.'**
|
||
String get studysetSheetLanguagesHelper;
|
||
|
||
/// No description provided for @studysetSheetLanguagesInherited.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Off, or with neither side set, it takes the languages of the studyset it is in.'**
|
||
String get studysetSheetLanguagesInherited;
|
||
|
||
/// No description provided for @studysetSheetFrontLanguage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Front language'**
|
||
String get studysetSheetFrontLanguage;
|
||
|
||
/// No description provided for @studysetSheetBackLanguage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back language'**
|
||
String get studysetSheetBackLanguage;
|
||
|
||
/// No description provided for @studysetSheetLanguageNotSet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Not set'**
|
||
String get studysetSheetLanguageNotSet;
|
||
|
||
/// No description provided for @studysetSheetLicense.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Licence'**
|
||
String get studysetSheetLicense;
|
||
|
||
/// No description provided for @studysetSheetLicenseHelp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Help me choose'**
|
||
String get studysetSheetLicenseHelp;
|
||
|
||
/// No description provided for @studysetSheetLicenseLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Licence'**
|
||
String get studysetSheetLicenseLabel;
|
||
|
||
/// No description provided for @studysetSheetLicenseHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The terms others may use the content under, shown below the studyset with a link to them. Examples: CC-BY-4.0, CC-BY-SA-4.0, MIT, All Rights Reserved.'**
|
||
String get studysetSheetLicenseHelper;
|
||
|
||
/// No description provided for @studysetSheetLicenseYear.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Year'**
|
||
String get studysetSheetLicenseYear;
|
||
|
||
/// No description provided for @studysetSheetLicenseYearHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The copyright year, shown as “© 2019 Name”. Optional.'**
|
||
String get studysetSheetLicenseYearHelper;
|
||
|
||
/// No description provided for @studysetSheetLicenseYearInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Enter a year between {min} and {max}.'**
|
||
String studysetSheetLicenseYearInvalid(int min, int max);
|
||
|
||
/// No description provided for @studysetSheetLicenseHolder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Licence holder'**
|
||
String get studysetSheetLicenseHolder;
|
||
|
||
/// No description provided for @studysetSheetLicenseHolderHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Who to credit: a name or an organisation.'**
|
||
String get studysetSheetLicenseHolderHelper;
|
||
|
||
/// No description provided for @studysetSheetLicenseNewer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{license} is an older Creative Commons licence. Its current version, {current}, may fit better.'**
|
||
String studysetSheetLicenseNewer(String license, String current);
|
||
|
||
/// No description provided for @licenseChooserTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Choose a licence'**
|
||
String get licenseChooserTitle;
|
||
|
||
/// No description provided for @licenseChooserSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A few questions to find the Creative Commons licence that fits how you want your work shared.'**
|
||
String get licenseChooserSubtitle;
|
||
|
||
/// No description provided for @licenseChooserIntroPrompt.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Do you want to keep any rights to your work?'**
|
||
String get licenseChooserIntroPrompt;
|
||
|
||
/// No description provided for @licenseChooserIntroYes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Yes, share it under a licence'**
|
||
String get licenseChooserIntroYes;
|
||
|
||
/// No description provided for @licenseChooserIntroYesDetail.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Others must follow the conditions you choose next.'**
|
||
String get licenseChooserIntroYesDetail;
|
||
|
||
/// No description provided for @licenseChooserIntroNo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No, dedicate it to the public domain'**
|
||
String get licenseChooserIntroNo;
|
||
|
||
/// No description provided for @licenseChooserIntroNoDetail.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'CC0: anyone may use it for anything, without conditions.'**
|
||
String get licenseChooserIntroNoDetail;
|
||
|
||
/// No description provided for @licenseChooserCommercialPrompt.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Allow others to use your work commercially?'**
|
||
String get licenseChooserCommercialPrompt;
|
||
|
||
/// No description provided for @licenseChooserYes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Yes'**
|
||
String get licenseChooserYes;
|
||
|
||
/// No description provided for @licenseChooserCommercialYesDetail.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Including for profit.'**
|
||
String get licenseChooserCommercialYesDetail;
|
||
|
||
/// No description provided for @licenseChooserNo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No'**
|
||
String get licenseChooserNo;
|
||
|
||
/// No description provided for @licenseChooserCommercialNoDetail.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Non-commercial uses only (NC).'**
|
||
String get licenseChooserCommercialNoDetail;
|
||
|
||
/// No description provided for @licenseChooserAdaptationsPrompt.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Allow others to adapt or build upon your work?'**
|
||
String get licenseChooserAdaptationsPrompt;
|
||
|
||
/// No description provided for @licenseChooserAdaptationsYesDetail.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remixes and adaptations are allowed.'**
|
||
String get licenseChooserAdaptationsYesDetail;
|
||
|
||
/// No description provided for @licenseChooserAdaptationsShareAlike.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Yes, if they share alike'**
|
||
String get licenseChooserAdaptationsShareAlike;
|
||
|
||
/// No description provided for @licenseChooserAdaptationsShareAlikeDetail.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Adaptations carry this same licence (SA).'**
|
||
String get licenseChooserAdaptationsShareAlikeDetail;
|
||
|
||
/// No description provided for @licenseChooserAdaptationsNoDetail.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sharing only, no adaptations (ND).'**
|
||
String get licenseChooserAdaptationsNoDetail;
|
||
|
||
/// No description provided for @licenseChooserBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back'**
|
||
String get licenseChooserBack;
|
||
|
||
/// No description provided for @licenseChooserRecommended.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Recommended licence'**
|
||
String get licenseChooserRecommended;
|
||
|
||
/// No description provided for @licenseChooserUse.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Use this licence'**
|
||
String get licenseChooserUse;
|
||
|
||
/// No description provided for @licenseSummaryCc0.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Anyone may use it for anything, without conditions or credit.'**
|
||
String get licenseSummaryCc0;
|
||
|
||
/// No description provided for @licenseSummaryBy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Others may share and adapt it, even commercially, as long as they credit you.'**
|
||
String get licenseSummaryBy;
|
||
|
||
/// No description provided for @licenseSummaryBySa.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Others may share and adapt it, even commercially, if they credit you and license their adaptations the same way.'**
|
||
String get licenseSummaryBySa;
|
||
|
||
/// No description provided for @licenseSummaryByNc.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Others may share and adapt it for non-commercial purposes, with credit to you.'**
|
||
String get licenseSummaryByNc;
|
||
|
||
/// No description provided for @licenseSummaryByNcSa.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Others may share and adapt it non-commercially, with credit and the same licence on adaptations.'**
|
||
String get licenseSummaryByNcSa;
|
||
|
||
/// No description provided for @licenseSummaryByNd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Others may share it, even commercially, with credit, but may not share adaptations.'**
|
||
String get licenseSummaryByNd;
|
||
|
||
/// No description provided for @licenseSummaryByNcNd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Others may share it non-commercially, with credit, but may not adapt it: the strictest Creative Commons licence.'**
|
||
String get licenseSummaryByNcNd;
|
||
|
||
/// No description provided for @languageArabic.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Arabic'**
|
||
String get languageArabic;
|
||
|
||
/// No description provided for @languageGerman.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'German'**
|
||
String get languageGerman;
|
||
|
||
/// No description provided for @languageGreek.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Greek'**
|
||
String get languageGreek;
|
||
|
||
/// No description provided for @languageEnglish.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'English'**
|
||
String get languageEnglish;
|
||
|
||
/// No description provided for @languageSpanish.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Spanish'**
|
||
String get languageSpanish;
|
||
|
||
/// No description provided for @languageFrench.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'French'**
|
||
String get languageFrench;
|
||
|
||
/// No description provided for @languageHebrew.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hebrew'**
|
||
String get languageHebrew;
|
||
|
||
/// No description provided for @languageHindi.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hindi'**
|
||
String get languageHindi;
|
||
|
||
/// No description provided for @languageItalian.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Italian'**
|
||
String get languageItalian;
|
||
|
||
/// No description provided for @languageJapanese.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Japanese'**
|
||
String get languageJapanese;
|
||
|
||
/// No description provided for @languageKorean.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Korean'**
|
||
String get languageKorean;
|
||
|
||
/// No description provided for @languageDutch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Dutch'**
|
||
String get languageDutch;
|
||
|
||
/// No description provided for @languagePolish.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Polish'**
|
||
String get languagePolish;
|
||
|
||
/// No description provided for @languagePortuguese.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Portuguese'**
|
||
String get languagePortuguese;
|
||
|
||
/// No description provided for @languageRussian.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Russian'**
|
||
String get languageRussian;
|
||
|
||
/// No description provided for @languageSwedish.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Swedish'**
|
||
String get languageSwedish;
|
||
|
||
/// No description provided for @languageThai.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Thai'**
|
||
String get languageThai;
|
||
|
||
/// No description provided for @languageTurkish.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Turkish'**
|
||
String get languageTurkish;
|
||
|
||
/// No description provided for @languageUkrainian.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ukrainian'**
|
||
String get languageUkrainian;
|
||
|
||
/// No description provided for @languageVietnamese.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Vietnamese'**
|
||
String get languageVietnamese;
|
||
|
||
/// No description provided for @languageChineseSimplified.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Chinese (Simplified)'**
|
||
String get languageChineseSimplified;
|
||
|
||
/// No description provided for @languageChineseTraditional.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Chinese (Traditional)'**
|
||
String get languageChineseTraditional;
|
||
|
||
/// No description provided for @fieldRequired.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'required'**
|
||
String get fieldRequired;
|
||
|
||
/// 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 @publicProfileTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Public profile'**
|
||
String get publicProfileTitle;
|
||
|
||
/// No description provided for @publicProfileIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'How others see you once you publish: the handle they find you by, your name, a few words and links. Nothing here shows until you save it.'**
|
||
String get publicProfileIntro;
|
||
|
||
/// No description provided for @publicProfileAnonymousHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sign in with GitHub to have a public profile and publish.'**
|
||
String get publicProfileAnonymousHint;
|
||
|
||
/// No description provided for @publicProfileDisplayName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Display name'**
|
||
String get publicProfileDisplayName;
|
||
|
||
/// No description provided for @publicProfileDisplayNameHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The name shown beside your handle'**
|
||
String get publicProfileDisplayNameHint;
|
||
|
||
/// No description provided for @publicProfileHandle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Handle'**
|
||
String get publicProfileHandle;
|
||
|
||
/// No description provided for @publicProfileHandleHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Letters, digits and underscores, up to 30'**
|
||
String get publicProfileHandleHint;
|
||
|
||
/// No description provided for @publicProfileAddress.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Others find you as @{address}'**
|
||
String publicProfileAddress(String address);
|
||
|
||
/// No description provided for @publicProfileHandleFixed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fixed since you published: others refer to it.'**
|
||
String get publicProfileHandleFixed;
|
||
|
||
/// No description provided for @publicProfileBio.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bio'**
|
||
String get publicProfileBio;
|
||
|
||
/// No description provided for @publicProfileLinks.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Links'**
|
||
String get publicProfileLinks;
|
||
|
||
/// No description provided for @publicProfileLinksHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your site or other accounts, up to 4.'**
|
||
String get publicProfileLinksHint;
|
||
|
||
/// No description provided for @publicProfileLinkHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'https://…'**
|
||
String get publicProfileLinkHint;
|
||
|
||
/// No description provided for @publicProfileAddLink.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add link'**
|
||
String get publicProfileAddLink;
|
||
|
||
/// No description provided for @publicProfileRemoveLink.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove link'**
|
||
String get publicProfileRemoveLink;
|
||
|
||
/// No description provided for @publicProfileSaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Profile saved.'**
|
||
String get publicProfileSaved;
|
||
|
||
/// No description provided for @publicProfileRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove profile'**
|
||
String get publicProfileRemove;
|
||
|
||
/// No description provided for @publicProfileRemoveTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove your public profile?'**
|
||
String get publicProfileRemoveTitle;
|
||
|
||
/// No description provided for @publicProfileRemoveMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your handle becomes free for others to take.'**
|
||
String get publicProfileRemoveMessage;
|
||
|
||
/// No description provided for @publicProfileRemoved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Profile removed.'**
|
||
String get publicProfileRemoved;
|
||
|
||
/// No description provided for @publicProfileFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t reach the instance. Try again.'**
|
||
String get publicProfileFailed;
|
||
|
||
/// No description provided for @publicProfileUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your public profile can\'t be reached right now.'**
|
||
String get publicProfileUnreachable;
|
||
|
||
/// No description provided for @publicProfileRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Retry'**
|
||
String get publicProfileRetry;
|
||
|
||
/// No description provided for @profileProblemHandleInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A handle is 1 to 30 letters (a to z), digits or underscores.'**
|
||
String get profileProblemHandleInvalid;
|
||
|
||
/// No description provided for @profileProblemHandleReserved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This handle is kept for the instance.'**
|
||
String get profileProblemHandleReserved;
|
||
|
||
/// No description provided for @profileProblemHandleTaken.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Someone else has this handle.'**
|
||
String get profileProblemHandleTaken;
|
||
|
||
/// No description provided for @profileProblemPublished.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You have published: your handle can\'t change, nor your profile go.'**
|
||
String get profileProblemPublished;
|
||
|
||
/// No description provided for @profileProblemDisplayNameTooLong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'At most 30 characters.'**
|
||
String get profileProblemDisplayNameTooLong;
|
||
|
||
/// No description provided for @profileProblemBioTooLong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'At most 500 characters.'**
|
||
String get profileProblemBioTooLong;
|
||
|
||
/// No description provided for @profileProblemTooManyLinks.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'At most 4 links.'**
|
||
String get profileProblemTooManyLinks;
|
||
|
||
/// No description provided for @profileProblemLinkInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Links start with https:// or http://.'**
|
||
String get profileProblemLinkInvalid;
|
||
|
||
/// No description provided for @profileProblemAvatarInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This picture can\'t be used: choose a PNG, JPEG, WebP or GIF image.'**
|
||
String get profileProblemAvatarInvalid;
|
||
|
||
/// No description provided for @publicProfilePicture.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Picture'**
|
||
String get publicProfilePicture;
|
||
|
||
/// No description provided for @publicProfileChoosePicture.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Choose picture'**
|
||
String get publicProfileChoosePicture;
|
||
|
||
/// No description provided for @publicProfileRemovePicture.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove picture'**
|
||
String get publicProfileRemovePicture;
|
||
|
||
/// No description provided for @publicProfilePictureType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Images'**
|
||
String get publicProfilePictureType;
|
||
|
||
/// No description provided for @publicProfilePictureLater.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save your profile to add a picture.'**
|
||
String get publicProfilePictureLater;
|
||
|
||
/// 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 @instanceWelcome.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Welcome to Halkyon Learn'**
|
||
String get instanceWelcome;
|
||
|
||
/// No description provided for @instanceFirstStartSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Choose the instance to keep your studysets on. Someone runs each one; you can add others later.'**
|
||
String get instanceFirstStartSubtitle;
|
||
|
||
/// No description provided for @instanceAddress.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Instance address'**
|
||
String get instanceAddress;
|
||
|
||
/// No description provided for @instanceUseBuiltIn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Use {name}'**
|
||
String instanceUseBuiltIn(String name);
|
||
|
||
/// No description provided for @instanceContinue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Continue'**
|
||
String get instanceContinue;
|
||
|
||
/// No description provided for @instanceAddressRequired.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Enter the address of an instance.'**
|
||
String get instanceAddressRequired;
|
||
|
||
/// No description provided for @instanceAddressInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This isn\'t an address.'**
|
||
String get instanceAddressInvalid;
|
||
|
||
/// No description provided for @instanceUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No instance of Halkyon Learn answers at {name}.'**
|
||
String instanceUnreachable(String name);
|
||
|
||
/// No description provided for @instanceOpenFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t open the app on {name}.'**
|
||
String instanceOpenFailed(String name);
|
||
|
||
/// No description provided for @settingsSwitchAccount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Switch account'**
|
||
String get settingsSwitchAccount;
|
||
|
||
/// No description provided for @accountsTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Accounts'**
|
||
String get accountsTitle;
|
||
|
||
/// No description provided for @accountAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add account'**
|
||
String get accountAdd;
|
||
|
||
/// No description provided for @accountAddSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Choose the instance for the account to add.'**
|
||
String get accountAddSubtitle;
|
||
|
||
/// No description provided for @accountRemoveTooltip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove account'**
|
||
String get accountRemoveTooltip;
|
||
|
||
/// No description provided for @accountRemoveTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove account?'**
|
||
String get accountRemoveTitle;
|
||
|
||
/// No description provided for @accountRemoveMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Removes the account on {name} from this device, with all the device holds of it. What it synced stays on {name}: sign in there with GitHub to have it again. An anonymous account can\'t be signed into again.'**
|
||
String accountRemoveMessage(String name);
|
||
|
||
/// No description provided for @accountRemoveConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove'**
|
||
String get accountRemoveConfirm;
|
||
|
||
/// 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 @aboutLegalese.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Free software: the app is under the GNU Affero General Public License, version 3 or any later version, the server under the Server Side Public License, version 1.'**
|
||
String get aboutLegalese;
|
||
|
||
/// No description provided for @aboutSourceCode.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The source of what this instance runs:'**
|
||
String get aboutSourceCode;
|
||
|
||
/// No description provided for @aboutSourceUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t reach this instance to ask where its source is.'**
|
||
String get aboutSourceUnreachable;
|
||
|
||
/// No description provided for @settingsAppearance.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Appearance'**
|
||
String get settingsAppearance;
|
||
|
||
/// No description provided for @settingsAppearanceDevice.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Device theme'**
|
||
String get settingsAppearanceDevice;
|
||
|
||
/// No description provided for @settingsAppearanceLight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Light'**
|
||
String get settingsAppearanceLight;
|
||
|
||
/// No description provided for @settingsAppearanceDark.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Dark'**
|
||
String get settingsAppearanceDark;
|
||
|
||
/// No description provided for @settingsLanguage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Language'**
|
||
String get settingsLanguage;
|
||
|
||
/// No description provided for @settingsLanguageDevice.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Device language'**
|
||
String get settingsLanguageDevice;
|
||
|
||
/// No description provided for @settingsCitations.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Citations'**
|
||
String get settingsCitations;
|
||
|
||
/// No description provided for @settingsCitationsDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'How sources and studysets\' bibliographies are cited on this device. Type authors\' full names: each style abbreviates and orders them itself.'**
|
||
String get settingsCitationsDescription;
|
||
|
||
/// No description provided for @settingsCitationStyle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Style'**
|
||
String get settingsCitationStyle;
|
||
|
||
/// No description provided for @settingsCitationStyleApa.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'APA (7th edition)'**
|
||
String get settingsCitationStyleApa;
|
||
|
||
/// No description provided for @settingsCitationStyleMla.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'MLA (9th edition)'**
|
||
String get settingsCitationStyleMla;
|
||
|
||
/// No description provided for @settingsCitationStyleChicago.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Chicago (18th edition)'**
|
||
String get settingsCitationStyleChicago;
|
||
|
||
/// No description provided for @settingsCitationPreview.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Preview'**
|
||
String get settingsCitationPreview;
|
||
|
||
/// No description provided for @settingsCitationGuide.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Official guide'**
|
||
String get settingsCitationGuide;
|
||
|
||
/// No description provided for @settingsStudy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study'**
|
||
String get settingsStudy;
|
||
|
||
/// No description provided for @settingsStudyPomodoroTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show the Pomodoro timer while studying'**
|
||
String get settingsStudyPomodoroTitle;
|
||
|
||
/// No description provided for @settingsStudyPomodoroSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show the focus / break countdown inside the study session, so you can see the time left without opening the notification.'**
|
||
String get settingsStudyPomodoroSubtitle;
|
||
|
||
/// No description provided for @settingsVersion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Version {version} (build {build})'**
|
||
String settingsVersion(String version, String build);
|
||
|
||
/// No description provided for @syncTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sync'**
|
||
String get syncTitle;
|
||
|
||
/// No description provided for @syncStateSyncing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Syncing…'**
|
||
String get syncStateSyncing;
|
||
|
||
/// No description provided for @syncStateSynced.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Everything synced'**
|
||
String get syncStateSynced;
|
||
|
||
/// No description provided for @syncStateNotYet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Not synced yet'**
|
||
String get syncStateNotYet;
|
||
|
||
/// No description provided for @syncStateFailing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sync is failing'**
|
||
String get syncStateFailing;
|
||
|
||
/// No description provided for @syncStateMismatch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This app can\'t sync with {server}'**
|
||
String syncStateMismatch(String server);
|
||
|
||
/// No description provided for @syncMismatchDetail.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Update the app. If it is up to date, the server needs an update. What you do meanwhile stays on this device and syncs afterwards.'**
|
||
String get syncMismatchDetail;
|
||
|
||
/// No description provided for @syncLastCompleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Last completed at {time}'**
|
||
String syncLastCompleted(String time);
|
||
|
||
/// No description provided for @syncNoRunYet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No sync has completed since the app started'**
|
||
String get syncNoRunYet;
|
||
|
||
/// No description provided for @syncLastFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Last attempt failed at {time}'**
|
||
String syncLastFailed(String time);
|
||
|
||
/// No description provided for @syncNow.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sync now'**
|
||
String get syncNow;
|
||
|
||
/// No description provided for @syncPending.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 change waits to sync} other{{count} changes wait to sync}}'**
|
||
String syncPending(int count);
|
||
|
||
/// No description provided for @syncTroubleLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sync needs attention'**
|
||
String get syncTroubleLabel;
|
||
|
||
/// No description provided for @syncMismatchBanner.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This app can\'t sync with {server} any more. Update it to keep syncing.'**
|
||
String syncMismatchBanner(String server);
|
||
|
||
/// No description provided for @syncMismatchMore.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More'**
|
||
String get syncMismatchMore;
|
||
|
||
/// No description provided for @tagsReadFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t read the tags.'**
|
||
String get tagsReadFailed;
|
||
|
||
/// No description provided for @notesReadFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t read the notes.'**
|
||
String get notesReadFailed;
|
||
|
||
/// No description provided for @pathsReadFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t read the learning paths.'**
|
||
String get pathsReadFailed;
|
||
|
||
/// No description provided for @filesReadFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t read the files.'**
|
||
String get filesReadFailed;
|
||
|
||
/// 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:
|
||
/// **'Capitals don\'t make another tag: \'Noun\' and \'noun\' are one.'**
|
||
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:
|
||
/// **'Colour'**
|
||
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 @studySettingsNoTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No content tags yet. Add tags to your cards 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 @studySettingsHeadsUpTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heads up!'**
|
||
String get studySettingsHeadsUpTitle;
|
||
|
||
/// No description provided for @studySettingsHeadsUpBody.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The changes you’ve made will reload the session, and you’ll lose your current progress.'**
|
||
String get studySettingsHeadsUpBody;
|
||
|
||
/// No description provided for @studySettingsApplyChanges.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Apply changes'**
|
||
String get studySettingsApplyChanges;
|
||
|
||
/// No description provided for @studySettingsPerDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **' / day'**
|
||
String get studySettingsPerDay;
|
||
|
||
/// No description provided for @studySettingsMoreTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'+{count} more'**
|
||
String studySettingsMoreTags(int count);
|
||
|
||
/// 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 @tagChipsOverflow.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'+{count, plural, =1{1 tag} other{{count} tags}}'**
|
||
String tagChipsOverflow(int count);
|
||
|
||
/// No description provided for @cardHints.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hints'**
|
||
String get cardHints;
|
||
|
||
/// No description provided for @cardHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hint {number}'**
|
||
String cardHint(int number);
|
||
|
||
/// No description provided for @cardAddHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add hint'**
|
||
String get cardAddHint;
|
||
|
||
/// No description provided for @cardRemoveHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove hint'**
|
||
String get cardRemoveHint;
|
||
|
||
/// No description provided for @cardExplanation.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Explanation'**
|
||
String get cardExplanation;
|
||
|
||
/// No description provided for @cardAddExplanation.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add explanation'**
|
||
String get cardAddExplanation;
|
||
|
||
/// No description provided for @cardRemoveExplanation.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove explanation'**
|
||
String get cardRemoveExplanation;
|
||
|
||
/// No description provided for @cardHintsSheetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Hint} other{Hints {count}}}'**
|
||
String cardHintsSheetTitle(int count);
|
||
|
||
/// No description provided for @cardPreviousHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Previous hint'**
|
||
String get cardPreviousHint;
|
||
|
||
/// No description provided for @cardNextHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Next hint'**
|
||
String get cardNextHint;
|
||
|
||
/// No description provided for @cardReport.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Report'**
|
||
String get cardReport;
|
||
|
||
/// No description provided for @cardSenses.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Senses'**
|
||
String get cardSenses;
|
||
|
||
/// No description provided for @cardDictionaryEntry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Dictionary entry'**
|
||
String get cardDictionaryEntry;
|
||
|
||
/// No description provided for @cardDictionaryVersion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Dictionary version'**
|
||
String get cardDictionaryVersion;
|
||
|
||
/// No description provided for @studysetFromDictionary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'From the dictionary'**
|
||
String get studysetFromDictionary;
|
||
|
||
/// No description provided for @dictionaryTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Dictionary'**
|
||
String get dictionaryTitle;
|
||
|
||
/// No description provided for @dictionarySearchHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A word in kanji, kana or romaji, or a meaning'**
|
||
String get dictionarySearchHint;
|
||
|
||
/// No description provided for @dictionaryNothingFound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing found for “{query}”.'**
|
||
String dictionaryNothingFound(String query);
|
||
|
||
/// No description provided for @dictionaryUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The dictionary can\'t be reached right now.'**
|
||
String get dictionaryUnreachable;
|
||
|
||
/// No description provided for @dictionaryRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Retry'**
|
||
String get dictionaryRetry;
|
||
|
||
/// No description provided for @dictionaryAddFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t add the words. Try again.'**
|
||
String get dictionaryAddFailed;
|
||
|
||
/// No description provided for @dictionaryMakingCards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Making the cards…'**
|
||
String get dictionaryMakingCards;
|
||
|
||
/// No description provided for @dictionaryNone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This studyset\'s language has no dictionary on this instance.'**
|
||
String get dictionaryNone;
|
||
|
||
/// No description provided for @dictionaryAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add'**
|
||
String get dictionaryAdd;
|
||
|
||
/// No description provided for @dictionaryInStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'In this studyset'**
|
||
String get dictionaryInStudyset;
|
||
|
||
/// No description provided for @dictionaryAdded.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Added “{word}”.'**
|
||
String dictionaryAdded(String word);
|
||
|
||
/// No description provided for @dictionaryLevels.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a whole level'**
|
||
String get dictionaryLevels;
|
||
|
||
/// No description provided for @dictionaryLevelsHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Every word of a level becomes a flashcard, in the order of the level\'s list, tagged with its level and word class. Words already in this studyset are left out.'**
|
||
String get dictionaryLevelsHint;
|
||
|
||
/// No description provided for @dictionaryLabelCommon.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Common'**
|
||
String get dictionaryLabelCommon;
|
||
|
||
/// No description provided for @dictionaryAddLevel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Add 1 word} other{Add {count} words}}'**
|
||
String dictionaryAddLevel(int count);
|
||
|
||
/// No description provided for @dictionaryAddingLevel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Adding… {done} of {count}'**
|
||
String dictionaryAddingLevel(int done, int count);
|
||
|
||
/// No description provided for @dictionaryWordsAdded.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =0{No new words.} =1{Added 1 word.} other{Added {count} words.}}'**
|
||
String dictionaryWordsAdded(int count);
|
||
|
||
/// No description provided for @dictionaryWordsSkipped.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 was in this studyset already.} other{{count} were in this studyset already.}}'**
|
||
String dictionaryWordsSkipped(int count);
|
||
|
||
/// No description provided for @dictionaryConfirmTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add {count} words?'**
|
||
String dictionaryConfirmTitle(int count);
|
||
|
||
/// No description provided for @dictionaryConfirmMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Each becomes a flashcard in this studyset.'**
|
||
String get dictionaryConfirmMessage;
|
||
|
||
/// No description provided for @dictionaryConfirmAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add'**
|
||
String get dictionaryConfirmAdd;
|
||
|
||
/// No description provided for @dictionaryCredits.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Words from {sources}.'**
|
||
String dictionaryCredits(String sources);
|
||
|
||
/// No description provided for @dictionaryLookUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Look up in the dictionary'**
|
||
String get dictionaryLookUp;
|
||
|
||
/// No description provided for @dictionaryCharacterSearchHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A kanji or kana, a reading in kana or romaji, or a meaning'**
|
||
String get dictionaryCharacterSearchHint;
|
||
|
||
/// No description provided for @dictionaryTabWords.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Words'**
|
||
String get dictionaryTabWords;
|
||
|
||
/// No description provided for @dictionaryTabCharacters.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kanji & kana'**
|
||
String get dictionaryTabCharacters;
|
||
|
||
/// No description provided for @dictionaryLabelHiragana.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hiragana'**
|
||
String get dictionaryLabelHiragana;
|
||
|
||
/// No description provided for @dictionaryLabelKatakana.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Katakana'**
|
||
String get dictionaryLabelKatakana;
|
||
|
||
/// No description provided for @dictionaryGrade.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Grade {grade}'**
|
||
String dictionaryGrade(int grade);
|
||
|
||
/// No description provided for @dictionaryLabelSecondary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Secondary school'**
|
||
String get dictionaryLabelSecondary;
|
||
|
||
/// No description provided for @dictionaryGroupKana.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kana'**
|
||
String get dictionaryGroupKana;
|
||
|
||
/// No description provided for @dictionaryGroupJlpt.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'JLPT levels'**
|
||
String get dictionaryGroupJlpt;
|
||
|
||
/// No description provided for @dictionaryGroupGrades.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'School grades'**
|
||
String get dictionaryGroupGrades;
|
||
|
||
/// No description provided for @dictionaryStrokes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 stroke} other{{count} strokes}}'**
|
||
String dictionaryStrokes(int count);
|
||
|
||
/// No description provided for @dictionaryTabRadicals.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Radicals'**
|
||
String get dictionaryTabRadicals;
|
||
|
||
/// No description provided for @dictionaryRadicalsHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The 214 radicals that dictionaries order kanji by, grouped by their strokes. Choose one for the kanji written with it.'**
|
||
String get dictionaryRadicalsHint;
|
||
|
||
/// No description provided for @dictionaryAllRadicals.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All radicals'**
|
||
String get dictionaryAllRadicals;
|
||
|
||
/// No description provided for @dictionaryRadicalNumber.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Radical {number}'**
|
||
String dictionaryRadicalNumber(int number);
|
||
|
||
/// No description provided for @dictionaryRadicalKanjiCount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} kanji'**
|
||
String dictionaryRadicalKanjiCount(int count);
|
||
|
||
/// No description provided for @dictionaryRadicalNone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The instance\'s dictionary has no kanji under this radical yet.'**
|
||
String get dictionaryRadicalNone;
|
||
|
||
/// No description provided for @dictionaryCharacterLevelsHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Every character of a level becomes a flashcard, in the order of the level\'s list, tagged with its level, school grade or script. Characters already in this studyset are left out.'**
|
||
String get dictionaryCharacterLevelsHint;
|
||
|
||
/// No description provided for @dictionaryAddCharacters.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Add 1 character} other{Add {count} characters}}'**
|
||
String dictionaryAddCharacters(int count);
|
||
|
||
/// No description provided for @dictionaryCharactersAdded.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =0{No new characters.} =1{Added 1 character.} other{Added {count} characters.}}'**
|
||
String dictionaryCharactersAdded(int count);
|
||
|
||
/// No description provided for @dictionaryConfirmCharactersTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add {count} characters?'**
|
||
String dictionaryConfirmCharactersTitle(int count);
|
||
|
||
/// No description provided for @dictionaryCharacterCredits.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Characters from {sources}.'**
|
||
String dictionaryCharacterCredits(String sources);
|
||
|
||
/// No description provided for @dictionaryUpdatesBehind.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 card is behind the dictionary: its entry was corrected since it was made.} other{{count} cards are behind the dictionary: their entries were corrected since they were made.}}'**
|
||
String dictionaryUpdatesBehind(int count);
|
||
|
||
/// No description provided for @dictionaryUpdatesTake.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Take the corrections'**
|
||
String get dictionaryUpdatesTake;
|
||
|
||
/// No description provided for @dictionaryUpdatesTaken.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 card updated.} other{{count} cards updated.}}'**
|
||
String dictionaryUpdatesTaken(int count);
|
||
|
||
/// No description provided for @dictionaryUpdatesToSettle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{One has a change of yours there too: open it to choose.} other{{count} have a change of yours there too: open them to choose.}}'**
|
||
String dictionaryUpdatesToSettle(int count);
|
||
|
||
/// No description provided for @dictionaryUpdatesFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t take the corrections. Try again.'**
|
||
String get dictionaryUpdatesFailed;
|
||
|
||
/// No description provided for @kanjiStrokeOrder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Stroke order'**
|
||
String get kanjiStrokeOrder;
|
||
|
||
/// No description provided for @kanjiPlayAgain.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Play again'**
|
||
String get kanjiPlayAgain;
|
||
|
||
/// No description provided for @kanjiNoStrokes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'There\'s no stroke order for this character.'**
|
||
String get kanjiNoStrokes;
|
||
|
||
/// No description provided for @kanjiComponents.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Components'**
|
||
String get kanjiComponents;
|
||
|
||
/// No description provided for @studySettingsCharacters.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kanji & kana'**
|
||
String get studySettingsCharacters;
|
||
|
||
/// No description provided for @studySettingsWriteByHand.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Write by hand'**
|
||
String get studySettingsWriteByHand;
|
||
|
||
/// No description provided for @studySettingsWriteByHandDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kanji, kana and words are written stroke by stroke and checked as you go, on a schedule of their own. Words written aren\'t quizzed or typed.'**
|
||
String get studySettingsWriteByHandDescription;
|
||
|
||
/// No description provided for @writingHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hint'**
|
||
String get writingHint;
|
||
|
||
/// No description provided for @writingShow.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show it'**
|
||
String get writingShow;
|
||
|
||
/// No description provided for @writingMistakes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =0{No mistakes} =1{1 mistake} other{{count} mistakes}}'**
|
||
String writingMistakes(int count);
|
||
|
||
/// No description provided for @writingWrongOrder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Not yet: that stroke comes later.'**
|
||
String get writingWrongOrder;
|
||
|
||
/// No description provided for @writingWrong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'That isn\'t the next stroke.'**
|
||
String get writingWrong;
|
||
|
||
/// No description provided for @writingSuggested.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{rating} suggested'**
|
||
String writingSuggested(String rating);
|
||
|
||
/// No description provided for @writingNoStrokes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'There\'s no stroke order for these characters: rate how well you knew them.'**
|
||
String get writingNoStrokes;
|
||
|
||
/// No description provided for @aboutDictionaries.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Dictionaries on this instance'**
|
||
String get aboutDictionaries;
|
||
|
||
/// No description provided for @aboutAppData.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Data in the app'**
|
||
String get aboutAppData;
|
||
|
||
/// No description provided for @cardReportTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Report an error'**
|
||
String get cardReportTitle;
|
||
|
||
/// No description provided for @cardReportSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flag this card so you can find and fix it later.'**
|
||
String get cardReportSubtitle;
|
||
|
||
/// No description provided for @cardReportTypo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Typo'**
|
||
String get cardReportTypo;
|
||
|
||
/// No description provided for @cardReportGrammar.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Grammar'**
|
||
String get cardReportGrammar;
|
||
|
||
/// No description provided for @cardReportContent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Content'**
|
||
String get cardReportContent;
|
||
|
||
/// No description provided for @cardReportOther.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Other'**
|
||
String get cardReportOther;
|
||
|
||
/// No description provided for @cardReportNote.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Note'**
|
||
String get cardReportNote;
|
||
|
||
/// No description provided for @cardReportNoteHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What needs fixing?'**
|
||
String get cardReportNoteHint;
|
||
|
||
/// No description provided for @cardReportSubmit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Report'**
|
||
String get cardReportSubmit;
|
||
|
||
/// No description provided for @cardReported.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flagged for fixing'**
|
||
String get cardReported;
|
||
|
||
/// No description provided for @cardResolveReport.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Resolve report'**
|
||
String get cardResolveReport;
|
||
|
||
/// No description provided for @cardReportResolved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Report resolved'**
|
||
String get cardReportResolved;
|
||
|
||
/// No description provided for @cardBuriedBadge.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Buried'**
|
||
String get cardBuriedBadge;
|
||
|
||
/// No description provided for @cardUnbury.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unbury'**
|
||
String get cardUnbury;
|
||
|
||
/// No description provided for @cardTileBuried.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcard buried until tomorrow'**
|
||
String get cardTileBuried;
|
||
|
||
/// No description provided for @cardTileUnburied.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcard unburied'**
|
||
String get cardTileUnburied;
|
||
|
||
/// No description provided for @cardDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete flashcard?'**
|
||
String get cardDeleteTitle;
|
||
|
||
/// No description provided for @cardDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This flashcard will be removed from the studyset. You can undo this for a few seconds.'**
|
||
String get cardDeleteMessage;
|
||
|
||
/// No description provided for @cardDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcard deleted'**
|
||
String get cardDeleted;
|
||
|
||
/// 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 @cardListFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t read the cards.'**
|
||
String get cardListFailed;
|
||
|
||
/// 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 @composerEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit flashcards'**
|
||
String get composerEditTitle;
|
||
|
||
/// No description provided for @composerEditTitleFor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit flashcards in \"{title}\"'**
|
||
String composerEditTitleFor(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 @composerKindCharacter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Character'**
|
||
String get composerKindCharacter;
|
||
|
||
/// 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 @composerLabelCharacter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Character'**
|
||
String get composerLabelCharacter;
|
||
|
||
/// 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 @composerPlaceholderCharacter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a kanji or kana'**
|
||
String get composerPlaceholderCharacter;
|
||
|
||
/// 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 in two ways at once: on two of your devices, or by you and by a correction from the dictionary or a new release of what it was copied from. 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 @formatAlignLeft.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Align left'**
|
||
String get formatAlignLeft;
|
||
|
||
/// No description provided for @formatAlignCenter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Centre'**
|
||
String get formatAlignCenter;
|
||
|
||
/// No description provided for @formatAlignRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Align right'**
|
||
String get formatAlignRight;
|
||
|
||
/// No description provided for @formatBold.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bold'**
|
||
String get formatBold;
|
||
|
||
/// No description provided for @formatItalic.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Italic'**
|
||
String get formatItalic;
|
||
|
||
/// No description provided for @formatUnderline.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Underline'**
|
||
String get formatUnderline;
|
||
|
||
/// No description provided for @formatSuperscript.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Superscript'**
|
||
String get formatSuperscript;
|
||
|
||
/// No description provided for @formatSubscript.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Subscript'**
|
||
String get formatSubscript;
|
||
|
||
/// No description provided for @formatRuby.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Furigana (a reading above the text)'**
|
||
String get formatRuby;
|
||
|
||
/// No description provided for @rubyTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Furigana'**
|
||
String get rubyTitle;
|
||
|
||
/// No description provided for @rubyReading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reading'**
|
||
String get rubyReading;
|
||
|
||
/// No description provided for @rubyReadingHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'In kana, e.g. かんじ'**
|
||
String get rubyReadingHint;
|
||
|
||
/// No description provided for @rubySave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get rubySave;
|
||
|
||
/// No description provided for @rubyRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove'**
|
||
String get rubyRemove;
|
||
|
||
/// 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 @vocabularyGlossHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Translation'**
|
||
String get vocabularyGlossHint;
|
||
|
||
/// No description provided for @vocabularyAddGloss.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add translation'**
|
||
String get vocabularyAddGloss;
|
||
|
||
/// No description provided for @vocabularyRemoveGloss.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove translation'**
|
||
String get vocabularyRemoveGloss;
|
||
|
||
/// No description provided for @vocabularyAddSense.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add sense'**
|
||
String get vocabularyAddSense;
|
||
|
||
/// No description provided for @vocabularyRemoveSense.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove sense'**
|
||
String get vocabularyRemoveSense;
|
||
|
||
/// No description provided for @characterPrimaryMeaningHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Primary meaning, or a kana\'s romaji'**
|
||
String get characterPrimaryMeaningHint;
|
||
|
||
/// No description provided for @characterOnReadings.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'On readings'**
|
||
String get characterOnReadings;
|
||
|
||
/// No description provided for @characterOnReadingsHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'From Chinese, in katakana: ショク、ジキ'**
|
||
String get characterOnReadingsHint;
|
||
|
||
/// No description provided for @characterKunReadings.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kun readings'**
|
||
String get characterKunReadings;
|
||
|
||
/// No description provided for @characterKunReadingsHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Japanese, in hiragana, okurigana after a dot: た.べる'**
|
||
String get characterKunReadingsHint;
|
||
|
||
/// No description provided for @characterOn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'On'**
|
||
String get characterOn;
|
||
|
||
/// No description provided for @characterKun.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kun'**
|
||
String get characterKun;
|
||
|
||
/// 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 @cardTileOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Options'**
|
||
String get cardTileOptions;
|
||
|
||
/// No description provided for @cardTileEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit'**
|
||
String get cardTileEdit;
|
||
|
||
/// No description provided for @cardTileDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get cardTileDelete;
|
||
|
||
/// No description provided for @cardTileUntitled.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Untitled'**
|
||
String get cardTileUntitled;
|
||
|
||
/// No description provided for @cardTileConflict.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Changed on two devices'**
|
||
String get cardTileConflict;
|
||
|
||
/// No description provided for @studyClose.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Close session'**
|
||
String get studyClose;
|
||
|
||
/// No description provided for @studyReviewsDueTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You have reviews due'**
|
||
String get studyReviewsDueTitle;
|
||
|
||
/// No description provided for @studyReviewsDueBody.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{reviews, plural, =1{1 card is} other{{reviews} cards are}} due for review. Learning {news, plural, =1{1 new card} other{{news} new cards}} now will add to your review load.'**
|
||
String studyReviewsDueBody(int reviews, int news);
|
||
|
||
/// No description provided for @studyReviewsDueAllTagsNote.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'“Review first” studies the whole backlog across every tag — your tag filter doesn\'t apply until it\'s clear.'**
|
||
String get studyReviewsDueAllTagsNote;
|
||
|
||
/// No description provided for @studyReviewFirst.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Review first'**
|
||
String get studyReviewFirst;
|
||
|
||
/// No description provided for @studyLearnAnyway.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Learn anyway'**
|
||
String get studyLearnAnyway;
|
||
|
||
/// No description provided for @studySettingsTagFilterPausedForBacklog.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This session is clearing your review backlog across every tag, so these tags aren\'t narrowing it. They apply again to your next session.'**
|
||
String get studySettingsTagFilterPausedForBacklog;
|
||
|
||
/// No description provided for @studyBuryCard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bury until tomorrow'**
|
||
String get studyBuryCard;
|
||
|
||
/// No description provided for @studyCardBuried.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Card buried until tomorrow'**
|
||
String get studyCardBuried;
|
||
|
||
/// No description provided for @studyUndo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Undo'**
|
||
String get studyUndo;
|
||
|
||
/// No description provided for @studyLockScreen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Lock screen'**
|
||
String get studyLockScreen;
|
||
|
||
/// No description provided for @studyUnlock.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unlock'**
|
||
String get studyUnlock;
|
||
|
||
/// No description provided for @studyTapToUnlock.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tap to unlock'**
|
||
String get studyTapToUnlock;
|
||
|
||
/// No description provided for @studyLoadFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t read this session.'**
|
||
String get studyLoadFailed;
|
||
|
||
/// No description provided for @studyRatingFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t keep your rating. Rate the card again.'**
|
||
String get studyRatingFailed;
|
||
|
||
/// No description provided for @studyRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Retry'**
|
||
String get studyRetry;
|
||
|
||
/// No description provided for @studyScopeTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study scope'**
|
||
String get studyScopeTitle;
|
||
|
||
/// No description provided for @studyScopeDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This studyset has sub-studysets. Pick which cards to review.'**
|
||
String get studyScopeDescription;
|
||
|
||
/// No description provided for @studyScopeEverythingTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Everything'**
|
||
String get studyScopeEverythingTitle;
|
||
|
||
/// No description provided for @studyScopeEverythingSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This studyset and all sub-studysets'**
|
||
String get studyScopeEverythingSubtitle;
|
||
|
||
/// No description provided for @studyScopeSelfTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This studyset only'**
|
||
String get studyScopeSelfTitle;
|
||
|
||
/// No description provided for @studyScopeSelfSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Skip cards in sub-studysets'**
|
||
String get studyScopeSelfSubtitle;
|
||
|
||
/// No description provided for @studyBackFirstOn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Showing the back of cards first: tap to revert'**
|
||
String get studyBackFirstOn;
|
||
|
||
/// No description provided for @studyBackFirstOff.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show the back of cards first'**
|
||
String get studyBackFirstOff;
|
||
|
||
/// No description provided for @studyShowAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show answer'**
|
||
String get studyShowAnswer;
|
||
|
||
/// No description provided for @studyCheck.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Check'**
|
||
String get studyCheck;
|
||
|
||
/// No description provided for @studySelectAll.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Select all that apply'**
|
||
String get studySelectAll;
|
||
|
||
/// No description provided for @studySelectOne.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Select the correct answer'**
|
||
String get studySelectOne;
|
||
|
||
/// No description provided for @studyMatchingInstructions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'DRAG AND DROP ONTO CARDS ABOVE'**
|
||
String get studyMatchingInstructions;
|
||
|
||
/// No description provided for @studyMatchingAllPlaced.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All placed'**
|
||
String get studyMatchingAllPlaced;
|
||
|
||
/// No description provided for @studyMatchingDropHere.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Drop here'**
|
||
String get studyMatchingDropHere;
|
||
|
||
/// No description provided for @studyMapTapPrompt.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tap a region to answer'**
|
||
String get studyMapTapPrompt;
|
||
|
||
/// No description provided for @studyMapSelected.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Selected: {label}'**
|
||
String studyMapSelected(String label);
|
||
|
||
/// No description provided for @studyCorrect.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Correct'**
|
||
String get studyCorrect;
|
||
|
||
/// No description provided for @studyCorrectLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Correct — {label}'**
|
||
String studyCorrectLabel(String label);
|
||
|
||
/// No description provided for @studyMapAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Answer: {answer}'**
|
||
String studyMapAnswer(String answer);
|
||
|
||
/// No description provided for @studyMapPickedAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You picked {picked} · Answer: {answer}'**
|
||
String studyMapPickedAnswer(String picked, String answer);
|
||
|
||
/// No description provided for @studyRatingBad.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bad'**
|
||
String get studyRatingBad;
|
||
|
||
/// No description provided for @studyRatingOk.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'OK'**
|
||
String get studyRatingOk;
|
||
|
||
/// No description provided for @studyRatingGood.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Good'**
|
||
String get studyRatingGood;
|
||
|
||
/// No description provided for @studyRatingPerfect.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Perfect'**
|
||
String get studyRatingPerfect;
|
||
|
||
/// No description provided for @studyNothingTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing to study right now'**
|
||
String get studyNothingTitle;
|
||
|
||
/// No description provided for @studyNothingBody.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Come back later when more cards are due.'**
|
||
String get studyNothingBody;
|
||
|
||
/// No description provided for @studyNextDue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The next card is due in {interval}.'**
|
||
String studyNextDue(String interval);
|
||
|
||
/// No description provided for @studyDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get studyDone;
|
||
|
||
/// No description provided for @studySessionComplete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Session complete'**
|
||
String get studySessionComplete;
|
||
|
||
/// No description provided for @studyProgressReviewed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{reviewed} / {total} reviewed'**
|
||
String studyProgressReviewed(int reviewed, int total);
|
||
|
||
/// No description provided for @studyReviewedCount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{reviewed} reviewed'**
|
||
String studyReviewedCount(int reviewed);
|
||
|
||
/// No description provided for @studyStatCards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cards'**
|
||
String get studyStatCards;
|
||
|
||
/// No description provided for @studyStatAccuracy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Accuracy'**
|
||
String get studyStatAccuracy;
|
||
|
||
/// No description provided for @studyStatTime.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Time'**
|
||
String get studyStatTime;
|
||
|
||
/// No description provided for @studyDurationSec.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{sec} sec'**
|
||
String studyDurationSec(int sec);
|
||
|
||
/// No description provided for @studyDurationMin.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{min} min'**
|
||
String studyDurationMin(int min);
|
||
|
||
/// No description provided for @studyDurationMinSec.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{min} min {sec} sec'**
|
||
String studyDurationMinSec(int min, int sec);
|
||
|
||
/// No description provided for @studyLeaveTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Leave this study session?'**
|
||
String get studyLeaveTitle;
|
||
|
||
/// No description provided for @studyLeaveRated.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Your ratings so far are saved, but the last card in this round will be discarded if you leave now.} other{Your ratings so far are saved, but the {count} cards still left in this round will be discarded if you leave now.}}'**
|
||
String studyLeaveRated(int count);
|
||
|
||
/// No description provided for @studyLeaveUnrated.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{You haven’t rated this card yet — leaving ends the session without recording any progress for this round.} other{You haven’t rated any of the {count} cards in this round yet — leaving ends the session without recording any progress for it.}}'**
|
||
String studyLeaveUnrated(int count);
|
||
|
||
/// No description provided for @studyLeaveConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Leave'**
|
||
String get studyLeaveConfirm;
|
||
|
||
/// No description provided for @studyKeepStudying.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep studying'**
|
||
String get studyKeepStudying;
|
||
|
||
/// No description provided for @studyInMinutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{in 1 min} other{in {count} min}}'**
|
||
String studyInMinutes(int count);
|
||
|
||
/// No description provided for @studyInHours.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{in 1 hour} other{in {count} hours}}'**
|
||
String studyInHours(int count);
|
||
|
||
/// No description provided for @studyInDays.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{in 1 day} other{in {count} days}}'**
|
||
String studyInDays(int count);
|
||
|
||
/// No description provided for @studyInMonths.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{in 1 month} other{in {count} months}}'**
|
||
String studyInMonths(int count);
|
||
|
||
/// No description provided for @studyInYears.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{in 1 year} other{in {count} years}}'**
|
||
String studyInYears(int count);
|
||
|
||
/// No description provided for @studyContinue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Continue learning'**
|
||
String get studyContinue;
|
||
|
||
/// No description provided for @studyPrevious.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Previous card'**
|
||
String get studyPrevious;
|
||
|
||
/// No description provided for @studySkipCard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Skip card'**
|
||
String get studySkipCard;
|
||
|
||
/// No description provided for @studyMinutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} min'**
|
||
String studyMinutes(int count);
|
||
|
||
/// No description provided for @studyHours.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} h'**
|
||
String studyHours(int count);
|
||
|
||
/// No description provided for @studyDays.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 day} other{{count} days}}'**
|
||
String studyDays(int count);
|
||
|
||
/// No description provided for @studyMonths.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 month} other{{count} months}}'**
|
||
String studyMonths(int count);
|
||
|
||
/// No description provided for @studyYears.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 year} other{{count} years}}'**
|
||
String studyYears(int count);
|
||
|
||
/// No description provided for @studyFilteredBy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Narrowed to 1 tag} other{Narrowed to {count} tags}}'**
|
||
String studyFilteredBy(int count);
|
||
|
||
/// No description provided for @studySettingsCardsPerRound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cards per round'**
|
||
String get studySettingsCardsPerRound;
|
||
|
||
/// No description provided for @studySettingsNewPerDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New cards per day'**
|
||
String get studySettingsNewPerDay;
|
||
|
||
/// No description provided for @studySettingsNewPerDayHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'How many never-studied cards each studyset starts a day, unless its own study options say otherwise.'**
|
||
String get studySettingsNewPerDayHint;
|
||
|
||
/// No description provided for @studyOptionsTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study options'**
|
||
String get studyOptionsTitle;
|
||
|
||
/// No description provided for @studyOptionsDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'How many cards this studyset brings a day, and which come first, on every device. The studysets inside it keep their own.'**
|
||
String get studyOptionsDescription;
|
||
|
||
/// No description provided for @studyOptionsReviewsPerDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reviews per day'**
|
||
String get studyOptionsReviewsPerDay;
|
||
|
||
/// No description provided for @studyOptionsOrder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Order'**
|
||
String get studyOptionsOrder;
|
||
|
||
/// No description provided for @studyOptionsReviewsFirst.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reviews first'**
|
||
String get studyOptionsReviewsFirst;
|
||
|
||
/// No description provided for @studyOptionsMixed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Mixed'**
|
||
String get studyOptionsMixed;
|
||
|
||
/// No description provided for @studyOptionsNewFirst.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New first'**
|
||
String get studyOptionsNewFirst;
|
||
|
||
/// No description provided for @studyOptionsReset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset to defaults'**
|
||
String get studyOptionsReset;
|
||
|
||
/// No description provided for @studySettingsUnlimited.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unlimited'**
|
||
String get studySettingsUnlimited;
|
||
|
||
/// No description provided for @studySettingsSortBy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sort by'**
|
||
String get studySettingsSortBy;
|
||
|
||
/// No description provided for @studySettingsLearnMode.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Learn mode'**
|
||
String get studySettingsLearnMode;
|
||
|
||
/// No description provided for @studyModeSpaced.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Spaced repetition'**
|
||
String get studyModeSpaced;
|
||
|
||
/// No description provided for @studyModeSpacedHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Due cards on their schedules; ratings move them.'**
|
||
String get studyModeSpacedHint;
|
||
|
||
/// No description provided for @studyModeCram.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cram'**
|
||
String get studyModeCram;
|
||
|
||
/// No description provided for @studyModeCramHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Walk every card without touching the schedules.'**
|
||
String get studyModeCramHint;
|
||
|
||
/// No description provided for @studySettingsVocabulary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Vocabulary'**
|
||
String get studySettingsVocabulary;
|
||
|
||
/// No description provided for @studySettingsQuizMc.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Quiz with multiple choice'**
|
||
String get studySettingsQuizMc;
|
||
|
||
/// No description provided for @studySettingsQuizMcDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show vocabulary cards as a multiple-choice question, with wrong answers drawn from other vocabulary in this set.'**
|
||
String get studySettingsQuizMcDescription;
|
||
|
||
/// No description provided for @studySettingsTypeReading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Type the reading'**
|
||
String get studySettingsTypeReading;
|
||
|
||
/// No description provided for @studySettingsTypeReadingDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Words with kanji ask for their reading, typed in kana; romaji turn into kana as you type.'**
|
||
String get studySettingsTypeReadingDescription;
|
||
|
||
/// No description provided for @studyTypedHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The reading, in kana or romaji'**
|
||
String get studyTypedHint;
|
||
|
||
/// No description provided for @studyTypedRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Right'**
|
||
String get studyTypedRight;
|
||
|
||
/// No description provided for @studyTypedWrong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You typed {answer}'**
|
||
String studyTypedWrong(String answer);
|
||
|
||
/// No description provided for @studyAspectMeaning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Meaning'**
|
||
String get studyAspectMeaning;
|
||
|
||
/// No description provided for @studyAspectReading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reading'**
|
||
String get studyAspectReading;
|
||
|
||
/// No description provided for @studyAspectExpression.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Expression'**
|
||
String get studyAspectExpression;
|
||
|
||
/// No description provided for @studyAspectMixed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Mixed'**
|
||
String get studyAspectMixed;
|
||
|
||
/// No description provided for @studySettingsAspectDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What to recall — the meaning, the kana reading, or the expression itself (shown the meaning). Mixed varies meaning and reading per card; cards that can’t be quizzed stay a normal flip.'**
|
||
String get studySettingsAspectDescription;
|
||
|
||
/// No description provided for @studySortOldestFirst.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Oldest first'**
|
||
String get studySortOldestFirst;
|
||
|
||
/// No description provided for @studySortRandom.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Random'**
|
||
String get studySortRandom;
|
||
|
||
/// No description provided for @studySortNewestFirst.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Newest first'**
|
||
String get studySortNewestFirst;
|
||
|
||
/// No description provided for @studyFewer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Decrease'**
|
||
String get studyFewer;
|
||
|
||
/// No description provided for @studyMore.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Increase'**
|
||
String get studyMore;
|
||
|
||
/// No description provided for @countStepperType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Type a number'**
|
||
String get countStepperType;
|
||
|
||
/// No description provided for @studyLimitNewPerDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Limit new cards per day'**
|
||
String get studyLimitNewPerDay;
|
||
|
||
/// No description provided for @studyLimitReviewsPerDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Limit reviews per day'**
|
||
String get studyLimitReviewsPerDay;
|
||
|
||
/// No description provided for @studysetMenuReset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset progress'**
|
||
String get studysetMenuReset;
|
||
|
||
/// No description provided for @studysetResetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset progress?'**
|
||
String get studysetResetTitle;
|
||
|
||
/// No description provided for @studysetResetMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Every flashcard in it, and in the studysets inside it, starts afresh as new, on all your devices. Your study history stays. You can undo this for a few seconds.'**
|
||
String get studysetResetMessage;
|
||
|
||
/// No description provided for @studysetResetConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset'**
|
||
String get studysetResetConfirm;
|
||
|
||
/// No description provided for @studysetResetDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Progress reset'**
|
||
String get studysetResetDone;
|
||
|
||
/// No description provided for @mapUnknown.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This map needs a newer version of the app.'**
|
||
String get mapUnknown;
|
||
|
||
/// No description provided for @mapPickRegion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tap the region that answers the question; pinch or scroll to zoom.'**
|
||
String get mapPickRegion;
|
||
|
||
/// No description provided for @mapNonePicked.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No region picked yet'**
|
||
String get mapNonePicked;
|
||
|
||
/// No description provided for @composerPlaceholderQuestion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add question'**
|
||
String get composerPlaceholderQuestion;
|
||
|
||
/// No description provided for @composerLabelRegion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Answer'**
|
||
String get composerLabelRegion;
|
||
|
||
/// No description provided for @homeStreakTooltip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study streak'**
|
||
String get homeStreakTooltip;
|
||
|
||
/// No description provided for @homeArrange.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Arrange widgets'**
|
||
String get homeArrange;
|
||
|
||
/// No description provided for @homeDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get homeDone;
|
||
|
||
/// No description provided for @homeDragToReorder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Drag to reorder'**
|
||
String get homeDragToReorder;
|
||
|
||
/// No description provided for @homeShowWidget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show {label}'**
|
||
String homeShowWidget(String label);
|
||
|
||
/// No description provided for @homeHideWidget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hide {label}'**
|
||
String homeHideWidget(String label);
|
||
|
||
/// No description provided for @homeAllHidden.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All widgets are hidden'**
|
||
String get homeAllHidden;
|
||
|
||
/// No description provided for @homeAllHiddenBody.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bring some back to fill your dashboard.'**
|
||
String get homeAllHiddenBody;
|
||
|
||
/// No description provided for @homeCustomise.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Customise'**
|
||
String get homeCustomise;
|
||
|
||
/// No description provided for @homeWidgetGoal.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Daily goal'**
|
||
String get homeWidgetGoal;
|
||
|
||
/// No description provided for @homeWidgetWeek.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Week overview'**
|
||
String get homeWidgetWeek;
|
||
|
||
/// No description provided for @homeWidgetActivity.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Activity heatmap'**
|
||
String get homeWidgetActivity;
|
||
|
||
/// No description provided for @homeActivityTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your activity'**
|
||
String get homeActivityTitle;
|
||
|
||
/// No description provided for @streakDays.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 day streak} other{{count} day streak}}'**
|
||
String streakDays(num count);
|
||
|
||
/// No description provided for @streakStart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study today to start your streak.'**
|
||
String get streakStart;
|
||
|
||
/// No description provided for @streakGrow.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep it going: study at least once a day to grow your streak.'**
|
||
String get streakGrow;
|
||
|
||
/// No description provided for @streakFirstDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Review some cards today to light the first day.'**
|
||
String get streakFirstDay;
|
||
|
||
/// No description provided for @streakComeBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Come back tomorrow to keep your streak.'**
|
||
String get streakComeBack;
|
||
|
||
/// No description provided for @streakKeepAlive.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study today to keep your streak alive.'**
|
||
String get streakKeepAlive;
|
||
|
||
/// No description provided for @goalEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit study goal'**
|
||
String get goalEditTitle;
|
||
|
||
/// No description provided for @goalSetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set a study goal'**
|
||
String get goalSetTitle;
|
||
|
||
/// No description provided for @goalDescriptionDaily.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Review a number of flashcards each day. Every card you rate counts.'**
|
||
String get goalDescriptionDaily;
|
||
|
||
/// No description provided for @goalDescriptionWeekly.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Review a number of flashcards each week, from Monday. Every card you rate counts.'**
|
||
String get goalDescriptionWeekly;
|
||
|
||
/// No description provided for @goalPeriod.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Period'**
|
||
String get goalPeriod;
|
||
|
||
/// No description provided for @goalPerDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Per day'**
|
||
String get goalPerDay;
|
||
|
||
/// No description provided for @goalPerWeek.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Per week'**
|
||
String get goalPerWeek;
|
||
|
||
/// No description provided for @goalCardsPerDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cards per day'**
|
||
String get goalCardsPerDay;
|
||
|
||
/// No description provided for @goalCardsPerWeek.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cards per week'**
|
||
String get goalCardsPerWeek;
|
||
|
||
/// No description provided for @goalSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save goal'**
|
||
String get goalSave;
|
||
|
||
/// No description provided for @goalRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove goal'**
|
||
String get goalRemove;
|
||
|
||
/// No description provided for @goalEmptySubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Review a set number of cards each day or week.'**
|
||
String get goalEmptySubtitle;
|
||
|
||
/// No description provided for @goalDailyHeadline.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Daily goal'**
|
||
String get goalDailyHeadline;
|
||
|
||
/// No description provided for @goalWeeklyHeadline.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weekly goal'**
|
||
String get goalWeeklyHeadline;
|
||
|
||
/// No description provided for @goalProgressToday.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{reviewed} of {target} cards today'**
|
||
String goalProgressToday(int reviewed, int target);
|
||
|
||
/// No description provided for @goalProgressThisWeek.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{reviewed} of {target} cards this week'**
|
||
String goalProgressThisWeek(int reviewed, int target);
|
||
|
||
/// No description provided for @goalMet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Goal met: nice work!'**
|
||
String get goalMet;
|
||
|
||
/// No description provided for @goalRemaining.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} to go'**
|
||
String goalRemaining(int count);
|
||
|
||
/// No description provided for @weekToday.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Today'**
|
||
String get weekToday;
|
||
|
||
/// No description provided for @weekPreviousDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Previous day'**
|
||
String get weekPreviousDay;
|
||
|
||
/// No description provided for @weekNextDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Next day'**
|
||
String get weekNextDay;
|
||
|
||
/// No description provided for @weekRestDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rest day'**
|
||
String get weekRestDay;
|
||
|
||
/// No description provided for @heatmapLess.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Less'**
|
||
String get heatmapLess;
|
||
|
||
/// No description provided for @heatmapMore.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More'**
|
||
String get heatmapMore;
|
||
|
||
/// No description provided for @heatmapTotal.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 activity in the last year} other{{count} activities in the last year}}'**
|
||
String heatmapTotal(int count);
|
||
|
||
/// No description provided for @heatmapDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 activity} other{{count} activities}} · {date}'**
|
||
String heatmapDay(int count, String date);
|
||
|
||
/// No description provided for @commonCancel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cancel'**
|
||
String get commonCancel;
|
||
|
||
/// No description provided for @commonSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get commonSave;
|
||
|
||
/// 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 @moreInfo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More info'**
|
||
String get moreInfo;
|
||
|
||
/// No description provided for @moreInfoCreated.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Created'**
|
||
String get moreInfoCreated;
|
||
|
||
/// No description provided for @moreInfoModified.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Last modified'**
|
||
String get moreInfoModified;
|
||
|
||
/// No description provided for @moreInfoItemId.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Item ID'**
|
||
String get moreInfoItemId;
|
||
|
||
/// No description provided for @moreInfoStudysetId.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Studyset ID'**
|
||
String get moreInfoStudysetId;
|
||
|
||
/// No description provided for @moreInfoPdfId.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'PDF source ID'**
|
||
String get moreInfoPdfId;
|
||
|
||
/// No description provided for @moreInfoParentId.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Parent ID'**
|
||
String get moreInfoParentId;
|
||
|
||
/// No description provided for @moreInfoFile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'File'**
|
||
String get moreInfoFile;
|
||
|
||
/// No description provided for @moreInfoReviews.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reviews'**
|
||
String get moreInfoReviews;
|
||
|
||
/// No description provided for @moreInfoReviewCount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Review count'**
|
||
String get moreInfoReviewCount;
|
||
|
||
/// No description provided for @moreInfoLastReviewed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Last reviewed'**
|
||
String get moreInfoLastReviewed;
|
||
|
||
/// No description provided for @moreInfoCopy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Copy'**
|
||
String get moreInfoCopy;
|
||
|
||
/// No description provided for @copiedToClipboard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Copied to clipboard'**
|
||
String get copiedToClipboard;
|
||
|
||
/// No description provided for @commonTryAgain.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Try again'**
|
||
String get commonTryAgain;
|
||
|
||
/// No description provided for @personDataFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t open this device\'s data.'**
|
||
String get personDataFailed;
|
||
|
||
/// 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;
|
||
|
||
/// No description provided for @studysetBackToLibrary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back to library'**
|
||
String get studysetBackToLibrary;
|
||
|
||
/// No description provided for @fileImage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Image'**
|
||
String get fileImage;
|
||
|
||
/// No description provided for @fileSound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sound'**
|
||
String get fileSound;
|
||
|
||
/// No description provided for @fileImageUnavailable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This image isn\'t on this device yet. It shows once it\'s uploaded and you\'re online.'**
|
||
String get fileImageUnavailable;
|
||
|
||
/// No description provided for @fileImageUnreadable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This image can\'t be shown. Its file may be damaged, or in a format this device can\'t read.'**
|
||
String get fileImageUnreadable;
|
||
|
||
/// No description provided for @fileFromElsewhere.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Files from the web aren\'t shown.'**
|
||
String get fileFromElsewhere;
|
||
|
||
/// No description provided for @filePlaySound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Play sound'**
|
||
String get filePlaySound;
|
||
|
||
/// No description provided for @fileStopSound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Stop sound'**
|
||
String get fileStopSound;
|
||
|
||
/// No description provided for @fileSoundUnavailable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This sound isn\'t on this device yet. It plays once it\'s uploaded and you\'re online.'**
|
||
String get fileSoundUnavailable;
|
||
|
||
/// No description provided for @fileSoundUnplayable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This sound can\'t be played. Its file may be damaged, or in a format this device can\'t play.'**
|
||
String get fileSoundUnplayable;
|
||
|
||
/// No description provided for @fileImages.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Images'**
|
||
String get fileImages;
|
||
|
||
/// No description provided for @fileSounds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sounds'**
|
||
String get fileSounds;
|
||
|
||
/// No description provided for @fileNotAnImage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This file isn\'t an image the app can show.'**
|
||
String get fileNotAnImage;
|
||
|
||
/// No description provided for @fileNotASound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This file isn\'t a sound the app can play.'**
|
||
String get fileNotASound;
|
||
|
||
/// No description provided for @fileTooLarge.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This file is larger than {megabytes} MB.'**
|
||
String fileTooLarge(int megabytes);
|
||
|
||
/// No description provided for @fileNotKept.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The file couldn\'t be kept on this device.'**
|
||
String get fileNotKept;
|
||
|
||
/// No description provided for @fileRemoveImage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove image'**
|
||
String get fileRemoveImage;
|
||
|
||
/// No description provided for @fileRemoveSound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove sound'**
|
||
String get fileRemoveSound;
|
||
|
||
/// No description provided for @editorInsert.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Insert'**
|
||
String get editorInsert;
|
||
|
||
/// No description provided for @blockGroupText.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Text'**
|
||
String get blockGroupText;
|
||
|
||
/// No description provided for @blockGroupBlocks.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Blocks'**
|
||
String get blockGroupBlocks;
|
||
|
||
/// No description provided for @blockGroupMedia.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Media'**
|
||
String get blockGroupMedia;
|
||
|
||
/// No description provided for @blockHeading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heading {level}'**
|
||
String blockHeading(int level);
|
||
|
||
/// No description provided for @blockBulletedList.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bulleted list'**
|
||
String get blockBulletedList;
|
||
|
||
/// No description provided for @blockNumberedList.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Numbered list'**
|
||
String get blockNumberedList;
|
||
|
||
/// No description provided for @blockChecklist.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Checklist'**
|
||
String get blockChecklist;
|
||
|
||
/// No description provided for @blockQuote.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Quote'**
|
||
String get blockQuote;
|
||
|
||
/// No description provided for @blockListItem.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'List item'**
|
||
String get blockListItem;
|
||
|
||
/// No description provided for @blockChecklistItem.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'To-do'**
|
||
String get blockChecklistItem;
|
||
|
||
/// No description provided for @editorSlashHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Type / to insert a block, or just start typing'**
|
||
String get editorSlashHint;
|
||
|
||
/// No description provided for @blockDivider.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Divider'**
|
||
String get blockDivider;
|
||
|
||
/// No description provided for @blockTable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Table'**
|
||
String get blockTable;
|
||
|
||
/// No description provided for @blockRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove'**
|
||
String get blockRemove;
|
||
|
||
/// No description provided for @blockUnknown.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This part needs a newer version of the app.'**
|
||
String get blockUnknown;
|
||
|
||
/// No description provided for @blockCallout.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Callout'**
|
||
String get blockCallout;
|
||
|
||
/// No description provided for @blockSpoiler.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Spoiler'**
|
||
String get blockSpoiler;
|
||
|
||
/// No description provided for @calloutNote.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Note'**
|
||
String get calloutNote;
|
||
|
||
/// No description provided for @calloutInfo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Info'**
|
||
String get calloutInfo;
|
||
|
||
/// No description provided for @calloutTip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tip'**
|
||
String get calloutTip;
|
||
|
||
/// No description provided for @calloutSuccess.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Success'**
|
||
String get calloutSuccess;
|
||
|
||
/// No description provided for @calloutQuestion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Question'**
|
||
String get calloutQuestion;
|
||
|
||
/// No description provided for @calloutWarning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Warning'**
|
||
String get calloutWarning;
|
||
|
||
/// No description provided for @calloutDanger.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Danger'**
|
||
String get calloutDanger;
|
||
|
||
/// No description provided for @calloutQuote.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Quote'**
|
||
String get calloutQuote;
|
||
|
||
/// No description provided for @calloutOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Callout options'**
|
||
String get calloutOptions;
|
||
|
||
/// No description provided for @calloutEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit title…'**
|
||
String get calloutEditTitle;
|
||
|
||
/// No description provided for @calloutFoldedAtFirst.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Folded at first'**
|
||
String get calloutFoldedAtFirst;
|
||
|
||
/// No description provided for @calloutRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove callout'**
|
||
String get calloutRemove;
|
||
|
||
/// No description provided for @calloutShow.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show'**
|
||
String get calloutShow;
|
||
|
||
/// No description provided for @calloutHide.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hide'**
|
||
String get calloutHide;
|
||
|
||
/// No description provided for @calloutWriteInside.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Write inside'**
|
||
String get calloutWriteInside;
|
||
|
||
/// No description provided for @calloutTitleDialog.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Callout title'**
|
||
String get calloutTitleDialog;
|
||
|
||
/// No description provided for @calloutTitleLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title'**
|
||
String get calloutTitleLabel;
|
||
|
||
/// No description provided for @calloutTitleHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Leave it empty to show the kind\'s name.'**
|
||
String get calloutTitleHelper;
|
||
|
||
/// No description provided for @spoilerReveal.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reveal'**
|
||
String get spoilerReveal;
|
||
|
||
/// No description provided for @spoilerPlaceholder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hidden text, revealed on a tap'**
|
||
String get spoilerPlaceholder;
|
||
|
||
/// No description provided for @blockFormula.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Formula'**
|
||
String get blockFormula;
|
||
|
||
/// No description provided for @formatInlineMath.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Formula in the line'**
|
||
String get formatInlineMath;
|
||
|
||
/// No description provided for @formulaTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Formula'**
|
||
String get formulaTitle;
|
||
|
||
/// No description provided for @formulaInLineTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Formula in the line'**
|
||
String get formulaInLineTitle;
|
||
|
||
/// No description provided for @formulaPreview.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Preview'**
|
||
String get formulaPreview;
|
||
|
||
/// No description provided for @formulaPreviewEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The formula shows here'**
|
||
String get formulaPreviewEmpty;
|
||
|
||
/// No description provided for @formulaLatex.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'LaTeX'**
|
||
String get formulaLatex;
|
||
|
||
/// No description provided for @formulaLatexHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'\\\\ starts a new line in aligned, cases or a matrix.'**
|
||
String get formulaLatexHelper;
|
||
|
||
/// No description provided for @formulaEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'An empty formula. Tap to write it.'**
|
||
String get formulaEmpty;
|
||
|
||
/// No description provided for @formulaEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit formula'**
|
||
String get formulaEdit;
|
||
|
||
/// No description provided for @formulaRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove formula'**
|
||
String get formulaRemove;
|
||
|
||
/// No description provided for @blockYoutube.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'YouTube video'**
|
||
String get blockYoutube;
|
||
|
||
/// No description provided for @youtubeLink.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'YouTube link'**
|
||
String get youtubeLink;
|
||
|
||
/// No description provided for @youtubeLinkHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Paste a link from YouTube.'**
|
||
String get youtubeLinkHelper;
|
||
|
||
/// No description provided for @youtubeNotFound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No YouTube video in this link.'**
|
||
String get youtubeNotFound;
|
||
|
||
/// No description provided for @youtubeFound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Found the video.'**
|
||
String get youtubeFound;
|
||
|
||
/// No description provided for @youtubeFoundFrom.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Found the video, starting at {time}.'**
|
||
String youtubeFoundFrom(String time);
|
||
|
||
/// No description provided for @youtubeCaption.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Caption'**
|
||
String get youtubeCaption;
|
||
|
||
/// No description provided for @youtubeCaptionHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Shown in place of the video until it plays.'**
|
||
String get youtubeCaptionHelper;
|
||
|
||
/// No description provided for @youtubeVideo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'YouTube video'**
|
||
String get youtubeVideo;
|
||
|
||
/// No description provided for @youtubeSource.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'YouTube'**
|
||
String get youtubeSource;
|
||
|
||
/// No description provided for @youtubeFrom.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'YouTube · from {time}'**
|
||
String youtubeFrom(String time);
|
||
|
||
/// No description provided for @youtubeEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit video'**
|
||
String get youtubeEdit;
|
||
|
||
/// No description provided for @youtubePlay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Play video'**
|
||
String get youtubePlay;
|
||
|
||
/// No description provided for @youtubeOpen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Open on YouTube'**
|
||
String get youtubeOpen;
|
||
|
||
/// No description provided for @youtubeRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove video'**
|
||
String get youtubeRemove;
|
||
|
||
/// No description provided for @youtubeBroken.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This video\'s link can\'t be read.'**
|
||
String get youtubeBroken;
|
||
|
||
/// No description provided for @youtubeNotOpened.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t open YouTube.'**
|
||
String get youtubeNotOpened;
|
||
|
||
/// No description provided for @blockStudyButton.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study button'**
|
||
String get blockStudyButton;
|
||
|
||
/// No description provided for @studyButtonDefaultLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study'**
|
||
String get studyButtonDefaultLabel;
|
||
|
||
/// No description provided for @studyButtonStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Studyset to study'**
|
||
String get studyButtonStudyset;
|
||
|
||
/// No description provided for @studyButtonTag.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cards'**
|
||
String get studyButtonTag;
|
||
|
||
/// No description provided for @studyButtonAllCards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All cards'**
|
||
String get studyButtonAllCards;
|
||
|
||
/// No description provided for @studyButtonLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Label'**
|
||
String get studyButtonLabel;
|
||
|
||
/// No description provided for @studyButtonTopics.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'With its topics'**
|
||
String get studyButtonTopics;
|
||
|
||
/// No description provided for @studyButtonBackFirst.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back first'**
|
||
String get studyButtonBackFirst;
|
||
|
||
/// No description provided for @studyButtonBackFirstHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Front/back and vocabulary cards ask their back.'**
|
||
String get studyButtonBackFirstHelper;
|
||
|
||
/// No description provided for @studyButtonWithTag.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tagged {tag}'**
|
||
String studyButtonWithTag(String tag);
|
||
|
||
/// No description provided for @studyButtonAlone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Without its topics'**
|
||
String get studyButtonAlone;
|
||
|
||
/// No description provided for @studyButtonEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit study button'**
|
||
String get studyButtonEdit;
|
||
|
||
/// No description provided for @studyButtonRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove study button'**
|
||
String get studyButtonRemove;
|
||
|
||
/// No description provided for @studyButtonBroken.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This study button doesn\'t say what to study.'**
|
||
String get studyButtonBroken;
|
||
|
||
/// No description provided for @studyButtonGone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'That studyset no longer exists.'**
|
||
String get studyButtonGone;
|
||
|
||
/// No description provided for @pdfPageField.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'PDF page'**
|
||
String get pdfPageField;
|
||
|
||
/// No description provided for @studysetTabFiles.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Files'**
|
||
String get studysetTabFiles;
|
||
|
||
/// No description provided for @pdfUploadMenu.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Upload a PDF'**
|
||
String get pdfUploadMenu;
|
||
|
||
/// No description provided for @pdfFileType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'PDFs'**
|
||
String get pdfFileType;
|
||
|
||
/// No description provided for @pdfAdded.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Added \"{title}\".'**
|
||
String pdfAdded(String title);
|
||
|
||
/// No description provided for @pdfNotPdf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This file isn\'t a PDF.'**
|
||
String get pdfNotPdf;
|
||
|
||
/// No description provided for @pdfTooLarge.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This PDF is larger than {megabytes} MB.'**
|
||
String pdfTooLarge(int megabytes);
|
||
|
||
/// No description provided for @pdfDuplicateTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'PDF already here'**
|
||
String get pdfDuplicateTitle;
|
||
|
||
/// No description provided for @pdfDuplicateMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This file is \"{title}\", which this studyset holds already. Add it as a copy, or keep the one there?'**
|
||
String pdfDuplicateMessage(String title);
|
||
|
||
/// No description provided for @pdfDuplicateKeep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep the one there'**
|
||
String get pdfDuplicateKeep;
|
||
|
||
/// No description provided for @pdfDuplicateAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a copy'**
|
||
String get pdfDuplicateAdd;
|
||
|
||
/// No description provided for @filesEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No files yet'**
|
||
String get filesEmpty;
|
||
|
||
/// No description provided for @filesEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Use \"Add material → Upload a PDF\" to add one.'**
|
||
String get filesEmptyHint;
|
||
|
||
/// No description provided for @filesSort.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sort'**
|
||
String get filesSort;
|
||
|
||
/// No description provided for @filesSortCustom.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Custom order'**
|
||
String get filesSortCustom;
|
||
|
||
/// No description provided for @filesSortName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Name (A–Z)'**
|
||
String get filesSortName;
|
||
|
||
/// No description provided for @filesSortNewest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Newest first'**
|
||
String get filesSortNewest;
|
||
|
||
/// No description provided for @filesSortOldest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Oldest first'**
|
||
String get filesSortOldest;
|
||
|
||
/// No description provided for @filesSortLargest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Largest first'**
|
||
String get filesSortLargest;
|
||
|
||
/// No description provided for @pdfPages.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 page} other{{count} pages}}'**
|
||
String pdfPages(int count);
|
||
|
||
/// No description provided for @pdfPercentRead.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{percent}% read'**
|
||
String pdfPercentRead(int percent);
|
||
|
||
/// No description provided for @pdfDeadlineMet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reading deadline met'**
|
||
String get pdfDeadlineMet;
|
||
|
||
/// No description provided for @pdfDeadlineUpcoming.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Starts in {days, plural, =1{1 day} other{{days} days}} — {pages}/day planned'**
|
||
String pdfDeadlineUpcoming(int days, int pages);
|
||
|
||
/// No description provided for @pdfDeadlinePassed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Deadline passed — {pages, plural, =1{1 page} other{{pages} pages}} left'**
|
||
String pdfDeadlinePassed(int pages);
|
||
|
||
/// No description provided for @pdfDeadlineToday.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Due today — {pages, plural, =1{1 page} other{{pages} pages}} left'**
|
||
String pdfDeadlineToday(int pages);
|
||
|
||
/// No description provided for @pdfDeadlinePace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{pages}/day to reach page {target} in {days, plural, =1{1 day} other{{days} days}}'**
|
||
String pdfDeadlinePace(int pages, int target, int days);
|
||
|
||
/// No description provided for @pdfOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Actions'**
|
||
String get pdfOptions;
|
||
|
||
/// No description provided for @pdfRename.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rename'**
|
||
String get pdfRename;
|
||
|
||
/// No description provided for @pdfRenameTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rename PDF'**
|
||
String get pdfRenameTitle;
|
||
|
||
/// No description provided for @pdfRenameLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Title'**
|
||
String get pdfRenameLabel;
|
||
|
||
/// No description provided for @pdfSetDeadline.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set reading deadline'**
|
||
String get pdfSetDeadline;
|
||
|
||
/// No description provided for @pdfEditDeadline.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit reading deadline'**
|
||
String get pdfEditDeadline;
|
||
|
||
/// No description provided for @pdfMarkFinished.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Mark as finished'**
|
||
String get pdfMarkFinished;
|
||
|
||
/// No description provided for @pdfResetReading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset reading progress'**
|
||
String get pdfResetReading;
|
||
|
||
/// No description provided for @pdfResetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset reading progress?'**
|
||
String get pdfResetTitle;
|
||
|
||
/// No description provided for @pdfResetMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'How far you\'ve read \"{title}\" is forgotten. The PDF, its flashcards and notes stay.'**
|
||
String pdfResetMessage(String title);
|
||
|
||
/// No description provided for @pdfResetConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset'**
|
||
String get pdfResetConfirm;
|
||
|
||
/// No description provided for @pdfMoreInfo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More info'**
|
||
String get pdfMoreInfo;
|
||
|
||
/// No description provided for @pdfInfoFileName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'File name'**
|
||
String get pdfInfoFileName;
|
||
|
||
/// No description provided for @pdfInfoSize.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Size'**
|
||
String get pdfInfoSize;
|
||
|
||
/// No description provided for @pdfInfoPages.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pages'**
|
||
String get pdfInfoPages;
|
||
|
||
/// No description provided for @pdfInfoUnknown.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Known once it is opened'**
|
||
String get pdfInfoUnknown;
|
||
|
||
/// No description provided for @pdfDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get pdfDelete;
|
||
|
||
/// No description provided for @pdfDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete PDF?'**
|
||
String get pdfDeleteTitle;
|
||
|
||
/// No description provided for @pdfDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'\"{title}\" is removed from this studyset, with how far it was read. Flashcards and notes made from it stay.'**
|
||
String pdfDeleteMessage(String title);
|
||
|
||
/// No description provided for @pdfDeleteConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get pdfDeleteConfirm;
|
||
|
||
/// No description provided for @pdfDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'PDF deleted'**
|
||
String get pdfDeleted;
|
||
|
||
/// No description provided for @deadlineSheetSet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set a reading deadline'**
|
||
String get deadlineSheetSet;
|
||
|
||
/// No description provided for @deadlineSheetEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit reading deadline'**
|
||
String get deadlineSheetEdit;
|
||
|
||
/// No description provided for @deadlineSheetHelp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reach a page by a day. Progress follows the furthest page you reach as you read.'**
|
||
String get deadlineSheetHelp;
|
||
|
||
/// No description provided for @deadlineReachPageOf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reach page (of {count})'**
|
||
String deadlineReachPageOf(int count);
|
||
|
||
/// No description provided for @deadlineReachPage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reach page'**
|
||
String get deadlineReachPage;
|
||
|
||
/// No description provided for @deadlineDecrease.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Decrease'**
|
||
String get deadlineDecrease;
|
||
|
||
/// No description provided for @deadlineIncrease.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Increase'**
|
||
String get deadlineIncrease;
|
||
|
||
/// No description provided for @deadlineChapter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Or finish a chapter'**
|
||
String get deadlineChapter;
|
||
|
||
/// No description provided for @deadlineChapterEntry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{title} · to p.{page}'**
|
||
String deadlineChapterEntry(String title, int page);
|
||
|
||
/// No description provided for @deadlineBy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'By'**
|
||
String get deadlineBy;
|
||
|
||
/// No description provided for @deadlineStart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Start on'**
|
||
String get deadlineStart;
|
||
|
||
/// No description provided for @deadlineStartToday.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Today'**
|
||
String get deadlineStartToday;
|
||
|
||
/// No description provided for @deadlineStartReset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Start today'**
|
||
String get deadlineStartReset;
|
||
|
||
/// No description provided for @deadlineStartHelp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The daily pace counts from this day on. Until then the PDF waits under \"Upcoming\".'**
|
||
String get deadlineStartHelp;
|
||
|
||
/// No description provided for @deadlineSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save deadline'**
|
||
String get deadlineSave;
|
||
|
||
/// No description provided for @deadlineRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove deadline'**
|
||
String get deadlineRemove;
|
||
|
||
/// No description provided for @readerMissing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This PDF isn\'t on this device yet. It opens once the device that added it has uploaded it and you\'re online.'**
|
||
String get readerMissing;
|
||
|
||
/// No description provided for @readerUnreadable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This file can\'t be read as a PDF.'**
|
||
String get readerUnreadable;
|
||
|
||
/// No description provided for @readerBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back to studyset'**
|
||
String get readerBack;
|
||
|
||
/// No description provided for @readerSearch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search PDF'**
|
||
String get readerSearch;
|
||
|
||
/// No description provided for @readerFitWidth.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fit width'**
|
||
String get readerFitWidth;
|
||
|
||
/// No description provided for @readerFitHeight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fit height'**
|
||
String get readerFitHeight;
|
||
|
||
/// No description provided for @readerZoomIn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Zoom in'**
|
||
String get readerZoomIn;
|
||
|
||
/// No description provided for @readerZoomOut.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Zoom out'**
|
||
String get readerZoomOut;
|
||
|
||
/// No description provided for @readerSetZoom.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set zoom'**
|
||
String get readerSetZoom;
|
||
|
||
/// No description provided for @readerZoomTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Zoom'**
|
||
String get readerZoomTitle;
|
||
|
||
/// No description provided for @readerZoomApply.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Apply'**
|
||
String get readerZoomApply;
|
||
|
||
/// No description provided for @readerFullscreen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fullscreen'**
|
||
String get readerFullscreen;
|
||
|
||
/// No description provided for @readerExitFullscreen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Exit fullscreen'**
|
||
String get readerExitFullscreen;
|
||
|
||
/// No description provided for @readerPreviousPage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Previous page'**
|
||
String get readerPreviousPage;
|
||
|
||
/// No description provided for @readerNextPage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Next page'**
|
||
String get readerNextPage;
|
||
|
||
/// No description provided for @readerPageOf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'/ {count}'**
|
||
String readerPageOf(int count);
|
||
|
||
/// No description provided for @readerFindHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Find in PDF'**
|
||
String get readerFindHint;
|
||
|
||
/// No description provided for @readerMatchOf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{current} of {total}'**
|
||
String readerMatchOf(int current, int total);
|
||
|
||
/// No description provided for @readerPreviousMatch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Previous match'**
|
||
String get readerPreviousMatch;
|
||
|
||
/// No description provided for @readerNextMatch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Next match'**
|
||
String get readerNextMatch;
|
||
|
||
/// No description provided for @readerCloseSearch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Close search'**
|
||
String get readerCloseSearch;
|
||
|
||
/// No description provided for @readerExpand.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Expand'**
|
||
String get readerExpand;
|
||
|
||
/// No description provided for @readerCollapse.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Collapse'**
|
||
String get readerCollapse;
|
||
|
||
/// No description provided for @readerTabFlashcards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcards'**
|
||
String get readerTabFlashcards;
|
||
|
||
/// No description provided for @readerTabNotes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Notes'**
|
||
String get readerTabNotes;
|
||
|
||
/// No description provided for @readerCardCreated.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcard created'**
|
||
String get readerCardCreated;
|
||
|
||
/// No description provided for @readerCardDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete flashcard?'**
|
||
String get readerCardDeleteTitle;
|
||
|
||
/// No description provided for @readerCardDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The flashcard is deleted, with how it was studied.'**
|
||
String get readerCardDeleteMessage;
|
||
|
||
/// No description provided for @readerCardDeleteConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get readerCardDeleteConfirm;
|
||
|
||
/// No description provided for @readerFrontMatter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Front matter'**
|
||
String get readerFrontMatter;
|
||
|
||
/// No description provided for @readerPage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Page {page}'**
|
||
String readerPage(int page);
|
||
|
||
/// No description provided for @readerByPage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Page'**
|
||
String get readerByPage;
|
||
|
||
/// No description provided for @readerByChapter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Chapter'**
|
||
String get readerByChapter;
|
||
|
||
/// No description provided for @readerCardsEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Select text to make flashcards in no time'**
|
||
String get readerCardsEmpty;
|
||
|
||
/// No description provided for @readerCardsEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Select the lines that matter and send them to a question or an answer, or press \"Create flashcard\".'**
|
||
String get readerCardsEmptyHint;
|
||
|
||
/// No description provided for @readerCreateCard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create flashcard'**
|
||
String get readerCreateCard;
|
||
|
||
/// No description provided for @readerEditCard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit flashcard'**
|
||
String get readerEditCard;
|
||
|
||
/// No description provided for @readerBackToCards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back to flashcards'**
|
||
String get readerBackToCards;
|
||
|
||
/// No description provided for @readerReferencedPage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Referenced page: {page}'**
|
||
String readerReferencedPage(int page);
|
||
|
||
/// No description provided for @readerUseCurrentPage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Use current ({page})'**
|
||
String readerUseCurrentPage(int page);
|
||
|
||
/// No description provided for @readerQuestion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Question'**
|
||
String get readerQuestion;
|
||
|
||
/// No description provided for @readerAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Answer'**
|
||
String get readerAnswer;
|
||
|
||
/// No description provided for @readerKeepOpen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep creation mode open'**
|
||
String get readerKeepOpen;
|
||
|
||
/// No description provided for @readerClear.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Clear'**
|
||
String get readerClear;
|
||
|
||
/// No description provided for @readerCreate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create'**
|
||
String get readerCreate;
|
||
|
||
/// No description provided for @readerUntitledCard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Untitled flashcard'**
|
||
String get readerUntitledCard;
|
||
|
||
/// No description provided for @readerCardOptions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Card options'**
|
||
String get readerCardOptions;
|
||
|
||
/// No description provided for @readerNoteSaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Saved'**
|
||
String get readerNoteSaved;
|
||
|
||
/// No description provided for @readerNoteEditing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Editing…'**
|
||
String get readerNoteEditing;
|
||
|
||
/// No description provided for @readerNoteSaving.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Saving…'**
|
||
String get readerNoteSaving;
|
||
|
||
/// No description provided for @readerNoteFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save failed'**
|
||
String get readerNoteFailed;
|
||
|
||
/// No description provided for @readerToQuestion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Question'**
|
||
String get readerToQuestion;
|
||
|
||
/// No description provided for @readerToAnswer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Answer'**
|
||
String get readerToAnswer;
|
||
|
||
/// No description provided for @readerToNote.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Notes'**
|
||
String get readerToNote;
|
||
|
||
/// No description provided for @readerLineBreaksJoined.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Line breaks joined (tap to keep)'**
|
||
String get readerLineBreaksJoined;
|
||
|
||
/// No description provided for @readerLineBreaksKept.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Line breaks kept (tap to join)'**
|
||
String get readerLineBreaksKept;
|
||
|
||
/// No description provided for @blockScreenshot.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Screenshot of the page'**
|
||
String get blockScreenshot;
|
||
|
||
/// No description provided for @readerCaptureCancel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cancel screenshot'**
|
||
String get readerCaptureCancel;
|
||
|
||
/// No description provided for @readerCaptureHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Drag over the part of the page to keep'**
|
||
String get readerCaptureHint;
|
||
|
||
/// No description provided for @readerCaptureFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The page couldn\'t be drawn. Try again once it has loaded.'**
|
||
String get readerCaptureFailed;
|
||
|
||
/// No description provided for @readerScreenshotSaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Screenshot saved'**
|
||
String get readerScreenshotSaved;
|
||
|
||
/// No description provided for @imageOpenPdfPage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Open the PDF at this page'**
|
||
String get imageOpenPdfPage;
|
||
|
||
/// No description provided for @homeWidgetDeadlines.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'PDF reading deadlines'**
|
||
String get homeWidgetDeadlines;
|
||
|
||
/// No description provided for @deadlinesTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reading deadlines'**
|
||
String get deadlinesTitle;
|
||
|
||
/// No description provided for @deadlinesCurrent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Current'**
|
||
String get deadlinesCurrent;
|
||
|
||
/// No description provided for @deadlinesUpcoming.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Upcoming'**
|
||
String get deadlinesUpcoming;
|
||
|
||
/// No description provided for @deadlinesProgress.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'p.{furthest}/{target} · {when}'**
|
||
String deadlinesProgress(int furthest, int target, String when);
|
||
|
||
/// No description provided for @deadlinePassedShort.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'deadline passed'**
|
||
String get deadlinePassedShort;
|
||
|
||
/// No description provided for @deadlineDueTodayShort.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'due today'**
|
||
String get deadlineDueTodayShort;
|
||
|
||
/// No description provided for @deadlineDaysLeft.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{days, plural, =1{1 day left} other{{days} days left}}'**
|
||
String deadlineDaysLeft(int days);
|
||
|
||
/// No description provided for @deadlineToPageToday.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'to p.{page} today'**
|
||
String deadlineToPageToday(int page);
|
||
|
||
/// No description provided for @deadlineStartsIn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Starts in {days, plural, =1{1 day} other{{days} days}}'**
|
||
String deadlineStartsIn(int days);
|
||
|
||
/// No description provided for @deadlinesPlaceholder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Appears when you have reading deadlines'**
|
||
String get deadlinesPlaceholder;
|
||
|
||
/// No description provided for @deadlinesOpenTimeline.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Open the timeline'**
|
||
String get deadlinesOpenTimeline;
|
||
|
||
/// No description provided for @timelineTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reading timeline'**
|
||
String get timelineTitle;
|
||
|
||
/// No description provided for @timelineEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No reading deadlines yet'**
|
||
String get timelineEmpty;
|
||
|
||
/// No description provided for @timelineEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set a reading deadline on a PDF to see it here.'**
|
||
String get timelineEmptyHint;
|
||
|
||
/// No description provided for @timelineToday.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Today'**
|
||
String get timelineToday;
|
||
|
||
/// No description provided for @timelinePages.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'p.{furthest}/{target}'**
|
||
String timelinePages(int furthest, int target);
|
||
|
||
/// No description provided for @chapterFinished.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Finished “{chapter}” — study the {count, plural, =1{card} other{{count} cards}} you made?'**
|
||
String chapterFinished(String chapter, int count);
|
||
|
||
/// No description provided for @chapterStudyNow.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study now'**
|
||
String get chapterStudyNow;
|
||
|
||
/// No description provided for @chapterDismiss.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Dismiss'**
|
||
String get chapterDismiss;
|
||
|
||
/// No description provided for @deadlineChapterLoading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Loading chapters…'**
|
||
String get deadlineChapterLoading;
|
||
|
||
/// No description provided for @fileSizeKb.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{size} KB'**
|
||
String fileSizeKb(int size);
|
||
|
||
/// No description provided for @fileSizeMb.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{size} MB'**
|
||
String fileSizeMb(String size);
|
||
|
||
/// No description provided for @pdfPageShort.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'p. {page}'**
|
||
String pdfPageShort(int page);
|
||
|
||
/// No description provided for @ankiImportMenu.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import from Anki'**
|
||
String get ankiImportMenu;
|
||
|
||
/// No description provided for @ankiImportFileType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Anki decks'**
|
||
String get ankiImportFileType;
|
||
|
||
/// No description provided for @ankiImportTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import Anki deck'**
|
||
String get ankiImportTitle;
|
||
|
||
/// No description provided for @ankiImportOptionsTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'How should subdecks be imported?'**
|
||
String get ankiImportOptionsTitle;
|
||
|
||
/// No description provided for @ankiImportReading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reading the deck…'**
|
||
String get ankiImportReading;
|
||
|
||
/// No description provided for @ankiImportSummary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{cards, plural, =1{1 card.} other{{cards} cards.}}'**
|
||
String ankiImportSummary(int cards);
|
||
|
||
/// No description provided for @ankiImportSummaryDecks.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{cards, plural, =1{1 card} other{{cards} cards}} across {decks} subdecks.'**
|
||
String ankiImportSummaryDecks(int cards, int decks);
|
||
|
||
/// No description provided for @ankiImportModeFlatten.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flatten into this studyset'**
|
||
String get ankiImportModeFlatten;
|
||
|
||
/// No description provided for @ankiImportModeFlattenSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import every card here and ignore the subdecks.'**
|
||
String get ankiImportModeFlattenSubtitle;
|
||
|
||
/// No description provided for @ankiImportModeSubStudysets.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Recreate as sub-studysets'**
|
||
String get ankiImportModeSubStudysets;
|
||
|
||
/// No description provided for @ankiImportModeSubStudysetsSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Mirror the subdeck tree: each subdeck becomes a nested studyset.'**
|
||
String get ankiImportModeSubStudysetsSubtitle;
|
||
|
||
/// No description provided for @ankiImportModeTag.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tag cards by subdeck'**
|
||
String get ankiImportModeTag;
|
||
|
||
/// No description provided for @ankiImportModeTagSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep every card here, tagged with each subdeck it came from.'**
|
||
String get ankiImportModeTagSubtitle;
|
||
|
||
/// No description provided for @ankiImportProgress.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import study progress'**
|
||
String get ankiImportProgress;
|
||
|
||
/// No description provided for @ankiImportProgressSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bring Anki\'s review history over: cards continue where they left off. New cards stay new.'**
|
||
String get ankiImportProgressSubtitle;
|
||
|
||
/// No description provided for @ankiImportMedia.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Include media (1 file)} other{Include media ({count} files)}}'**
|
||
String ankiImportMedia(int count);
|
||
|
||
/// No description provided for @ankiImportMediaSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep the deck\'s images and sounds on the cards.'**
|
||
String get ankiImportMediaSubtitle;
|
||
|
||
/// No description provided for @ankiImportMediaMayNotFit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Its files take {size} MB, more than the {left} MB you have left: those that don\'t fit stay on this device, and your other devices won\'t show them.'**
|
||
String ankiImportMediaMayNotFit(String size, String left);
|
||
|
||
/// No description provided for @ankiImportRunning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Importing…'**
|
||
String get ankiImportRunning;
|
||
|
||
/// No description provided for @ankiImportConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import'**
|
||
String get ankiImportConfirm;
|
||
|
||
/// No description provided for @ankiImportNotAPackage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This isn\'t an Anki deck. In Anki, export a deck as an .apkg file and import that.'**
|
||
String get ankiImportNotAPackage;
|
||
|
||
/// No description provided for @ankiImportNewerFormat.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This deck comes from a newer Anki than this app knows. Export it again with “Support older Anki versions”.'**
|
||
String get ankiImportNewerFormat;
|
||
|
||
/// No description provided for @ankiImportUnreadable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This deck is damaged and can\'t be read.'**
|
||
String get ankiImportUnreadable;
|
||
|
||
/// No description provided for @ankiImportBrokeOff.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The import broke off. The cards it brought in so far stay.'**
|
||
String get ankiImportBrokeOff;
|
||
|
||
/// No description provided for @ankiImported.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Imported 1 flashcard from Anki.} other{Imported {count} flashcards from Anki.}}'**
|
||
String ankiImported(int count);
|
||
|
||
/// No description provided for @ankiImportedSubStudysets.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Imported 1 card into sub-studysets.} other{Imported {count} cards into sub-studysets.}}'**
|
||
String ankiImportedSubStudysets(int count);
|
||
|
||
/// No description provided for @ankiImportedTagged.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Imported 1 card, tagged by subdeck.} other{Imported {count} cards, tagged by subdeck.}}'**
|
||
String ankiImportedTagged(int count);
|
||
|
||
/// No description provided for @ankiImportFilesSkipped.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 media file couldn\'t be imported.} other{{count} media files couldn\'t be imported.}}'**
|
||
String ankiImportFilesSkipped(int count);
|
||
|
||
/// No description provided for @pomodoroTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pomodoro'**
|
||
String get pomodoroTitle;
|
||
|
||
/// No description provided for @pomodoroFocus.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Focus'**
|
||
String get pomodoroFocus;
|
||
|
||
/// No description provided for @pomodoroShortBreak.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Short break'**
|
||
String get pomodoroShortBreak;
|
||
|
||
/// No description provided for @pomodoroLongBreak.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Long break'**
|
||
String get pomodoroLongBreak;
|
||
|
||
/// No description provided for @pomodoroFocusOf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Focus {done} of {total}'**
|
||
String pomodoroFocusOf(int done, int total);
|
||
|
||
/// No description provided for @pomodoroStart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Start'**
|
||
String get pomodoroStart;
|
||
|
||
/// No description provided for @pomodoroPause.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pause'**
|
||
String get pomodoroPause;
|
||
|
||
/// No description provided for @pomodoroResume.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Resume'**
|
||
String get pomodoroResume;
|
||
|
||
/// No description provided for @pomodoroSkip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Skip'**
|
||
String get pomodoroSkip;
|
||
|
||
/// No description provided for @pomodoroStop.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Stop'**
|
||
String get pomodoroStop;
|
||
|
||
/// No description provided for @pomodoroPaused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Paused'**
|
||
String get pomodoroPaused;
|
||
|
||
/// No description provided for @pomodoroPausedProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Paused · {profile}'**
|
||
String pomodoroPausedProfile(String profile);
|
||
|
||
/// No description provided for @pomodoroClassic.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Classic'**
|
||
String get pomodoroClassic;
|
||
|
||
/// No description provided for @pomodoroUnnamed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unnamed profile'**
|
||
String get pomodoroUnnamed;
|
||
|
||
/// No description provided for @pomodoroProfiles.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pomodoro profiles'**
|
||
String get pomodoroProfiles;
|
||
|
||
/// No description provided for @pomodoroChooseProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Choose a profile'**
|
||
String get pomodoroChooseProfile;
|
||
|
||
/// No description provided for @pomodoroAddProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a profile'**
|
||
String get pomodoroAddProfile;
|
||
|
||
/// No description provided for @pomodoroEditProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit profile'**
|
||
String get pomodoroEditProfile;
|
||
|
||
/// No description provided for @pomodoroName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Name'**
|
||
String get pomodoroName;
|
||
|
||
/// No description provided for @pomodoroFocusLength.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Focus'**
|
||
String get pomodoroFocusLength;
|
||
|
||
/// No description provided for @pomodoroShortBreakLength.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Short break'**
|
||
String get pomodoroShortBreakLength;
|
||
|
||
/// No description provided for @pomodoroLongBreakLength.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Long break'**
|
||
String get pomodoroLongBreakLength;
|
||
|
||
/// No description provided for @pomodoroMinutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} min'**
|
||
String pomodoroMinutes(int count);
|
||
|
||
/// No description provided for @pomodoroNoLongBreak.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'None'**
|
||
String get pomodoroNoLongBreak;
|
||
|
||
/// No description provided for @pomodoroLongBreakAfter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Focus phases before a long break'**
|
||
String get pomodoroLongBreakAfter;
|
||
|
||
/// No description provided for @pomodoroAutoStartBreaks.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Start breaks by themselves'**
|
||
String get pomodoroAutoStartBreaks;
|
||
|
||
/// No description provided for @pomodoroAutoStartFocus.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Start focus by itself after a break'**
|
||
String get pomodoroAutoStartFocus;
|
||
|
||
/// No description provided for @pomodoroDoNotDisturb.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Do Not Disturb while focusing'**
|
||
String get pomodoroDoNotDisturb;
|
||
|
||
/// No description provided for @pomodoroDoNotDisturbHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The device keeps quiet while you focus; the alert at its end still sounds.'**
|
||
String get pomodoroDoNotDisturbHint;
|
||
|
||
/// No description provided for @pomodoroDoNotDisturbDenied.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The app may not keep this device quiet. Allow it in the system\'s settings.'**
|
||
String get pomodoroDoNotDisturbDenied;
|
||
|
||
/// No description provided for @pomodoroDeleteProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete profile'**
|
||
String get pomodoroDeleteProfile;
|
||
|
||
/// No description provided for @pomodoroSummary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{focus} min focus, {shortBreak} min break'**
|
||
String pomodoroSummary(int focus, int shortBreak);
|
||
|
||
/// No description provided for @pomodoroSummaryLong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{focus} min focus, {shortBreak} min break, {longBreak} min after {after}'**
|
||
String pomodoroSummaryLong(
|
||
int focus,
|
||
int shortBreak,
|
||
int longBreak,
|
||
int after,
|
||
);
|
||
|
||
/// No description provided for @pomodoroAlertFocusDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Time for a break'**
|
||
String get pomodoroAlertFocusDone;
|
||
|
||
/// No description provided for @pomodoroAlertBreakDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back to focus'**
|
||
String get pomodoroAlertBreakDone;
|
||
|
||
/// No description provided for @pomodoroAlertStarts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{phase} has started.'**
|
||
String pomodoroAlertStarts(String phase);
|
||
|
||
/// No description provided for @pomodoroAlertWaits.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{phase} is ready when you are.'**
|
||
String pomodoroAlertWaits(String phase);
|
||
|
||
/// No description provided for @homeWidgetPomodoro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pomodoro timer'**
|
||
String get homeWidgetPomodoro;
|
||
|
||
/// No description provided for @pomodoroAlerts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pomodoro alerts'**
|
||
String get pomodoroAlerts;
|
||
|
||
/// No description provided for @pomodoroUntil.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Until {time}'**
|
||
String pomodoroUntil(String time);
|
||
|
||
/// No description provided for @pomodoroLeft.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{left} left'**
|
||
String pomodoroLeft(String left);
|
||
|
||
/// No description provided for @pathImportAtStep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Step {step}: {problem}'**
|
||
String pathImportAtStep(int step, String problem);
|
||
|
||
/// No description provided for @pathImportNotJson.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This is no JSON: {detail}'**
|
||
String pathImportNotJson(String detail);
|
||
|
||
/// No description provided for @pathImportNoPath.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a \"path\" object is missing.'**
|
||
String get pathImportNoPath;
|
||
|
||
/// No description provided for @pathImportNoTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'the path has no \"title\".'**
|
||
String get pathImportNoTitle;
|
||
|
||
/// No description provided for @pathImportDescriptionNotText.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'the path\'s \"description\" is no text.'**
|
||
String get pathImportDescriptionNotText;
|
||
|
||
/// No description provided for @pathImportNotAnObject.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'no object.'**
|
||
String get pathImportNotAnObject;
|
||
|
||
/// No description provided for @pathImportUnknownStepType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'unknown \"type\": {detail}.'**
|
||
String pathImportUnknownStepType(String detail);
|
||
|
||
/// No description provided for @pathImportRightOptionMissing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'its right option {detail} is not among its options.'**
|
||
String pathImportRightOptionMissing(String detail);
|
||
|
||
/// No description provided for @pathImportRightOptionsMissing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'it names a right option that is not among its options.'**
|
||
String get pathImportRightOptionsMissing;
|
||
|
||
/// No description provided for @pathImportNoPairing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'no \"correct_pairing\".'**
|
||
String get pathImportNoPairing;
|
||
|
||
/// No description provided for @pathImportPairingTargetMissing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'it pairs items with a target that isn\'t there: {detail}.'**
|
||
String pathImportPairingTargetMissing(String detail);
|
||
|
||
/// No description provided for @pathImportPairingIncomplete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'every item must be paired with one target.'**
|
||
String get pathImportPairingIncomplete;
|
||
|
||
/// No description provided for @pathImportNoPassage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'no \"passage\".'**
|
||
String get pathImportNoPassage;
|
||
|
||
/// No description provided for @pathImportBlanksMismatch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'it needs one word in \"blanks\" for each ___ in its passage.'**
|
||
String get pathImportBlanksMismatch;
|
||
|
||
/// No description provided for @pathImportBlockWithoutType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a block without \"type\".'**
|
||
String get pathImportBlockWithoutType;
|
||
|
||
/// No description provided for @pathImportMalformedLevel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a heading with a malformed level.'**
|
||
String get pathImportMalformedLevel;
|
||
|
||
/// No description provided for @pathImportMalformedListItem.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a malformed list item.'**
|
||
String get pathImportMalformedListItem;
|
||
|
||
/// No description provided for @pathImportMalformedMath.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a malformed math block.'**
|
||
String get pathImportMalformedMath;
|
||
|
||
/// No description provided for @pathImportMalformedCode.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a malformed code block.'**
|
||
String get pathImportMalformedCode;
|
||
|
||
/// No description provided for @pathImportUnknownBlock.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'an unknown block: {detail}.'**
|
||
String pathImportUnknownBlock(String detail);
|
||
|
||
/// No description provided for @pathImportTextlessBlock.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a {detail} without \"text\" or \"runs\".'**
|
||
String pathImportTextlessBlock(String detail);
|
||
|
||
/// No description provided for @pathImportMalformedRun.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a malformed run of text.'**
|
||
String get pathImportMalformedRun;
|
||
|
||
/// No description provided for @pathImportListExpected.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a list was expected.'**
|
||
String get pathImportListExpected;
|
||
|
||
/// No description provided for @pathImportNotText.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'\"{detail}\" must be text.'**
|
||
String pathImportNotText(String detail);
|
||
|
||
/// No description provided for @pathImportTooFew.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'it needs at least two \"{detail}\".'**
|
||
String pathImportTooFew(String detail);
|
||
|
||
/// No description provided for @pathImportMalformedNumber.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a malformed number.'**
|
||
String get pathImportMalformedNumber;
|
||
|
||
/// No description provided for @pathImportTitleNotText.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a title must be text.'**
|
||
String get pathImportTitleNotText;
|
||
|
||
/// No description provided for @pathImportMalformedSource.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a source must be an object or text, and its parts text.'**
|
||
String get pathImportMalformedSource;
|
||
|
||
/// No description provided for @pathImportMalformedTable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a table needs \"rows\" of cells, each as long as the first.'**
|
||
String get pathImportMalformedTable;
|
||
|
||
/// No description provided for @pathImportMalformedCallout.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a callout with a malformed {detail}.'**
|
||
String pathImportMalformedCallout(String detail);
|
||
|
||
/// No description provided for @pathImportNotInCallout.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'a {detail} can\'t be inside a callout.'**
|
||
String pathImportNotInCallout(String detail);
|
||
|
||
/// No description provided for @pomodoroTopBarHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The timer can count down in GNOME\'s top bar, with its buttons, once the AppIndicator extension is on.'**
|
||
String get pomodoroTopBarHint;
|
||
|
||
/// No description provided for @pomodoroTopBarSetUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set up'**
|
||
String get pomodoroTopBarSetUp;
|
||
|
||
/// No description provided for @pomodoroTopBarDismiss.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Don\'t suggest again'**
|
||
String get pomodoroTopBarDismiss;
|
||
|
||
/// No description provided for @cardBrowserTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcards'**
|
||
String get cardBrowserTitle;
|
||
|
||
/// No description provided for @cardBrowserTitleWithName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{title} — flashcards'**
|
||
String cardBrowserTitleWithName(String title);
|
||
|
||
/// No description provided for @cardBrowserTitleSubtree.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{title} (incl. sub-studysets)'**
|
||
String cardBrowserTitleSubtree(String title);
|
||
|
||
/// No description provided for @cardBrowserBrowse.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Browse'**
|
||
String get cardBrowserBrowse;
|
||
|
||
/// No description provided for @cardBrowserBrowseTooltip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Browse flashcards'**
|
||
String get cardBrowserBrowseTooltip;
|
||
|
||
/// No description provided for @cardBrowserStudy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Study'**
|
||
String get cardBrowserStudy;
|
||
|
||
/// No description provided for @cardBrowserEditor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Editor'**
|
||
String get cardBrowserEditor;
|
||
|
||
/// No description provided for @cardBrowserMore.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More'**
|
||
String get cardBrowserMore;
|
||
|
||
/// No description provided for @cardBrowserImport.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Import flashcards'**
|
||
String get cardBrowserImport;
|
||
|
||
/// No description provided for @cardBrowserGrid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Grid'**
|
||
String get cardBrowserGrid;
|
||
|
||
/// No description provided for @cardBrowserDetail.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Detail'**
|
||
String get cardBrowserDetail;
|
||
|
||
/// No description provided for @cardBrowserSearch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search'**
|
||
String get cardBrowserSearch;
|
||
|
||
/// No description provided for @cardBrowserSort.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sort'**
|
||
String get cardBrowserSort;
|
||
|
||
/// No description provided for @cardBrowserFilter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Filter'**
|
||
String get cardBrowserFilter;
|
||
|
||
/// No description provided for @cardBrowserSelect.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Select'**
|
||
String get cardBrowserSelect;
|
||
|
||
/// No description provided for @cardBrowserSortManual.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Manual order'**
|
||
String get cardBrowserSortManual;
|
||
|
||
/// No description provided for @cardBrowserSortNewest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Newest first'**
|
||
String get cardBrowserSortNewest;
|
||
|
||
/// No description provided for @cardBrowserSortOldest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Oldest first'**
|
||
String get cardBrowserSortOldest;
|
||
|
||
/// No description provided for @cardBrowserSortAlphabetical.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A–Z (front)'**
|
||
String get cardBrowserSortAlphabetical;
|
||
|
||
/// No description provided for @cardBrowserSortDue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Due first'**
|
||
String get cardBrowserSortDue;
|
||
|
||
/// No description provided for @cardBrowserSearchHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search flashcards'**
|
||
String get cardBrowserSearchHint;
|
||
|
||
/// No description provided for @cardBrowserCloseSearch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Close search'**
|
||
String get cardBrowserCloseSearch;
|
||
|
||
/// No description provided for @cardBrowserClearQuery.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Clear query'**
|
||
String get cardBrowserClearQuery;
|
||
|
||
/// No description provided for @cardBrowserFilterTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Filter flashcards'**
|
||
String get cardBrowserFilterTitle;
|
||
|
||
/// No description provided for @cardBrowserFilterType.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Type'**
|
||
String get cardBrowserFilterType;
|
||
|
||
/// No description provided for @cardBrowserTypeAll.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All cards'**
|
||
String get cardBrowserTypeAll;
|
||
|
||
/// No description provided for @cardBrowserTypeFrontBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Q&A only'**
|
||
String get cardBrowserTypeFrontBack;
|
||
|
||
/// No description provided for @cardBrowserTypeMultipleChoice.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Multiple-choice only'**
|
||
String get cardBrowserTypeMultipleChoice;
|
||
|
||
/// No description provided for @cardBrowserTypeVocabulary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Words only'**
|
||
String get cardBrowserTypeVocabulary;
|
||
|
||
/// No description provided for @cardBrowserTypeMatching.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Matching only'**
|
||
String get cardBrowserTypeMatching;
|
||
|
||
/// No description provided for @cardBrowserTypeMap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Maps only'**
|
||
String get cardBrowserTypeMap;
|
||
|
||
/// No description provided for @cardBrowserTypeCharacter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Characters only'**
|
||
String get cardBrowserTypeCharacter;
|
||
|
||
/// No description provided for @cardBrowserFilterTag.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tag'**
|
||
String get cardBrowserFilterTag;
|
||
|
||
/// No description provided for @cardBrowserAllTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All tags'**
|
||
String get cardBrowserAllTags;
|
||
|
||
/// No description provided for @cardBrowserFilterStatus.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Status'**
|
||
String get cardBrowserFilterStatus;
|
||
|
||
/// No description provided for @cardBrowserStatusNew.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New'**
|
||
String get cardBrowserStatusNew;
|
||
|
||
/// No description provided for @cardBrowserStatusLearning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Learning'**
|
||
String get cardBrowserStatusLearning;
|
||
|
||
/// No description provided for @cardBrowserStatusDue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Due'**
|
||
String get cardBrowserStatusDue;
|
||
|
||
/// No description provided for @cardBrowserStatusBuried.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Buried'**
|
||
String get cardBrowserStatusBuried;
|
||
|
||
/// No description provided for @cardBrowserStatusReported.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reported'**
|
||
String get cardBrowserStatusReported;
|
||
|
||
/// No description provided for @cardBrowserClearAll.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Clear all'**
|
||
String get cardBrowserClearAll;
|
||
|
||
/// No description provided for @cardBrowserApply.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Apply'**
|
||
String get cardBrowserApply;
|
||
|
||
/// No description provided for @cardBrowserEmptyTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No flashcards yet'**
|
||
String get cardBrowserEmptyTitle;
|
||
|
||
/// No description provided for @cardBrowserEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create some to browse them here.'**
|
||
String get cardBrowserEmptyHint;
|
||
|
||
/// No description provided for @cardBrowserCreate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Create flashcards'**
|
||
String get cardBrowserCreate;
|
||
|
||
/// No description provided for @cardBrowserNoMatches.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No flashcards match'**
|
||
String get cardBrowserNoMatches;
|
||
|
||
/// No description provided for @cardBrowserNoMatchesHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Try a different search or filter.'**
|
||
String get cardBrowserNoMatchesHint;
|
||
|
||
/// No description provided for @cardBrowserClearFilters.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Clear search & filters'**
|
||
String get cardBrowserClearFilters;
|
||
|
||
/// No description provided for @cardBrowserRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Retry'**
|
||
String get cardBrowserRetry;
|
||
|
||
/// No description provided for @cardBrowserPrevious.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Previous'**
|
||
String get cardBrowserPrevious;
|
||
|
||
/// No description provided for @cardBrowserNext.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Next'**
|
||
String get cardBrowserNext;
|
||
|
||
/// No description provided for @cardBrowserBuried.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Buried'**
|
||
String get cardBrowserBuried;
|
||
|
||
/// No description provided for @cardBrowserSelectAll.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Select all'**
|
||
String get cardBrowserSelectAll;
|
||
|
||
/// No description provided for @cardBrowserDeselectAll.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Deselect all'**
|
||
String get cardBrowserDeselectAll;
|
||
|
||
/// No description provided for @cardBrowserSelected.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} selected'**
|
||
String cardBrowserSelected(int count);
|
||
|
||
/// No description provided for @cardBrowserRangeHintTouch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Long-press another card to select everything in between.'**
|
||
String get cardBrowserRangeHintTouch;
|
||
|
||
/// No description provided for @cardBrowserRangeHintPointer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Shift-click another card to select everything in between.'**
|
||
String get cardBrowserRangeHintPointer;
|
||
|
||
/// No description provided for @cardBrowserMove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Move'**
|
||
String get cardBrowserMove;
|
||
|
||
/// No description provided for @cardBrowserAddTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add tags'**
|
||
String get cardBrowserAddTags;
|
||
|
||
/// No description provided for @cardBrowserRemoveTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove tags'**
|
||
String get cardBrowserRemoveTags;
|
||
|
||
/// No description provided for @cardBrowserResetProgress.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset progress'**
|
||
String get cardBrowserResetProgress;
|
||
|
||
/// No description provided for @cardBrowserDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get cardBrowserDelete;
|
||
|
||
/// No description provided for @cardBrowserMoreActions.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More actions'**
|
||
String get cardBrowserMoreActions;
|
||
|
||
/// No description provided for @cardBrowserDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get cardBrowserDone;
|
||
|
||
/// No description provided for @cardBrowserDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 flashcard deleted} other{{count} flashcards deleted}}'**
|
||
String cardBrowserDeleted(int count);
|
||
|
||
/// No description provided for @cardBrowserMoveTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Move 1 flashcard to} other{Move {count} flashcards to}}'**
|
||
String cardBrowserMoveTitle(int count);
|
||
|
||
/// No description provided for @cardBrowserMoved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Moved 1 flashcard to “{title}”} other{Moved {count} flashcards to “{title}”}}'**
|
||
String cardBrowserMoved(int count, String title);
|
||
|
||
/// No description provided for @cardBrowserAddTagsTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Add tags to 1 flashcard} other{Add tags to {count} flashcards}}'**
|
||
String cardBrowserAddTagsTitle(int count);
|
||
|
||
/// No description provided for @cardBrowserAddTo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Add to 1 flashcard} other{Add to {count} flashcards}}'**
|
||
String cardBrowserAddTo(int count);
|
||
|
||
/// No description provided for @cardBrowserRemoveTagsTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Remove tags from 1 flashcard} other{Remove tags from {count} flashcards}}'**
|
||
String cardBrowserRemoveTagsTitle(int count);
|
||
|
||
/// No description provided for @cardBrowserRemoveFrom.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Remove from 1 flashcard} other{Remove from {count} flashcards}}'**
|
||
String cardBrowserRemoveFrom(int count);
|
||
|
||
/// No description provided for @cardBrowserNoTags.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No tags yet. Create tags from a flashcard\'s editor, then apply them here.'**
|
||
String get cardBrowserNoTags;
|
||
|
||
/// No description provided for @cardBrowserNoTagsOnCards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The flashcards chosen have no tags.'**
|
||
String get cardBrowserNoTagsOnCards;
|
||
|
||
/// No description provided for @cardBrowserTagsAdded.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{tags, plural, =1{Added 1 tag to {count, plural, =1{1 flashcard} other{{count} flashcards}}} other{Added {tags} tags to {count, plural, =1{1 flashcard} other{{count} flashcards}}}}'**
|
||
String cardBrowserTagsAdded(int tags, int count);
|
||
|
||
/// No description provided for @cardBrowserTagsRemoved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{tags, plural, =1{Removed 1 tag from {count, plural, =1{1 flashcard} other{{count} flashcards}}} other{Removed {tags} tags from {count, plural, =1{1 flashcard} other{{count} flashcards}}}}'**
|
||
String cardBrowserTagsRemoved(int tags, int count);
|
||
|
||
/// No description provided for @cardBrowserResetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{Start 1 flashcard afresh?} other{Start {count} flashcards afresh?}}'**
|
||
String cardBrowserResetTitle(int count);
|
||
|
||
/// No description provided for @cardBrowserResetMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'They count as new again. Their reviews stay in your history and streaks.'**
|
||
String get cardBrowserResetMessage;
|
||
|
||
/// No description provided for @cardBrowserResetConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset'**
|
||
String get cardBrowserResetConfirm;
|
||
|
||
/// No description provided for @cardBrowserReset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 flashcard starts afresh} other{{count} flashcards start afresh}}'**
|
||
String cardBrowserReset(int count);
|
||
|
||
/// No description provided for @studysetShare.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Share'**
|
||
String get studysetShare;
|
||
|
||
/// No description provided for @studysetSharePrivate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Share: private'**
|
||
String get studysetSharePrivate;
|
||
|
||
/// No description provided for @studysetSharePublished.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Share: published'**
|
||
String get studysetSharePublished;
|
||
|
||
/// No description provided for @publishTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Publish'**
|
||
String get publishTitle;
|
||
|
||
/// No description provided for @publishPrivate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Private · only you can see it'**
|
||
String get publishPrivate;
|
||
|
||
/// No description provided for @publishPublished.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Published · v{version} · {date}'**
|
||
String publishPublished(int version, String date);
|
||
|
||
/// No description provided for @publishIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A release is this studyset with everything inside it, as it is now. Others can find it, learn from it and copy it. Each release stays as it was; later changes go into the next one.'**
|
||
String get publishIntro;
|
||
|
||
/// No description provided for @publishAnonymous.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sign in with GitHub to have a public profile and publish.'**
|
||
String get publishAnonymous;
|
||
|
||
/// No description provided for @publishName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Name'**
|
||
String get publishName;
|
||
|
||
/// No description provided for @publishNameHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'japanese'**
|
||
String get publishNameHint;
|
||
|
||
/// No description provided for @publishLocation.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Found at {location}'**
|
||
String publishLocation(String location);
|
||
|
||
/// No description provided for @publishNameFixed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fixed since you first published: others refer to it.'**
|
||
String get publishNameFixed;
|
||
|
||
/// No description provided for @publishLicence.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Licence'**
|
||
String get publishLicence;
|
||
|
||
/// No description provided for @publishLicenceNone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'None'**
|
||
String get publishLicenceNone;
|
||
|
||
/// No description provided for @publishLicenceOpen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Allows publishing.'**
|
||
String get publishLicenceOpen;
|
||
|
||
/// No description provided for @publishLicenceNoDerivatives.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Allows publishing as it is: learners keep their changes to themselves.'**
|
||
String get publishLicenceNoDerivatives;
|
||
|
||
/// No description provided for @publishLicenceClosed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Doesn\'t allow passing it on. Choose another under Edit.'**
|
||
String get publishLicenceClosed;
|
||
|
||
/// No description provided for @publishLicenceNotOpen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'These studysets\' licences don\'t allow passing them on: {titles}'**
|
||
String publishLicenceNotOpen(String titles);
|
||
|
||
/// No description provided for @publishNotes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What changed'**
|
||
String get publishNotes;
|
||
|
||
/// No description provided for @publishNotesHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New in this release…'**
|
||
String get publishNotesHint;
|
||
|
||
/// No description provided for @publishReleases.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Releases'**
|
||
String get publishReleases;
|
||
|
||
/// No description provided for @publishRelease.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'v{version} · {date}'**
|
||
String publishRelease(int version, String date);
|
||
|
||
/// No description provided for @publishButton.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Publish v{version}'**
|
||
String publishButton(int version);
|
||
|
||
/// No description provided for @publishNoProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A release names you by your public profile. Make one first.'**
|
||
String get publishNoProfile;
|
||
|
||
/// No description provided for @publishMakeProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Make a public profile'**
|
||
String get publishMakeProfile;
|
||
|
||
/// No description provided for @publishConflicts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'These were changed differently on two devices. Settle them first:'**
|
||
String get publishConflicts;
|
||
|
||
/// No description provided for @publishConflictsElsewhere.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Some cards, notes or steps were changed differently on two devices. Sync, then try again.'**
|
||
String get publishConflictsElsewhere;
|
||
|
||
/// No description provided for @publishUntitled.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Untitled'**
|
||
String get publishUntitled;
|
||
|
||
/// No description provided for @publishFilesMissing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Some files haven\'t reached your instance yet. Try again in a moment.'**
|
||
String get publishFilesMissing;
|
||
|
||
/// No description provided for @publishNothingChanged.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing has changed since the last release.'**
|
||
String get publishNothingChanged;
|
||
|
||
/// No description provided for @publishBusy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This studyset is being published already. Try again in a moment.'**
|
||
String get publishBusy;
|
||
|
||
/// No description provided for @publishSlugInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Lower-case letters, digits and hyphens, starting with a letter or digit.'**
|
||
String get publishSlugInvalid;
|
||
|
||
/// No description provided for @publishSlugTaken.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Another of your studysets has this name.'**
|
||
String get publishSlugTaken;
|
||
|
||
/// No description provided for @publishNotesTooLong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'At most 5,000 characters.'**
|
||
String get publishNotesTooLong;
|
||
|
||
/// No description provided for @publishDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Published v{version}.'**
|
||
String publishDone(int version);
|
||
|
||
/// No description provided for @publishFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t reach your instance. Nothing was published.'**
|
||
String get publishFailed;
|
||
|
||
/// No description provided for @publishUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Publishing can\'t be reached right now.'**
|
||
String get publishUnreachable;
|
||
|
||
/// No description provided for @publishRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Retry'**
|
||
String get publishRetry;
|
||
|
||
/// No description provided for @publishCopyLocation.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Copy address'**
|
||
String get publishCopyLocation;
|
||
|
||
/// No description provided for @publishLocationCopied.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Address copied.'**
|
||
String get publishLocationCopied;
|
||
|
||
/// No description provided for @publishedField.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Release'**
|
||
String get publishedField;
|
||
|
||
/// No description provided for @publishedVersion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'v{version}'**
|
||
String publishedVersion(int version);
|
||
|
||
/// No description provided for @exploreSearch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search titles and authors'**
|
||
String get exploreSearch;
|
||
|
||
/// No description provided for @exploreLanguages.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Languages'**
|
||
String get exploreLanguages;
|
||
|
||
/// No description provided for @exploreAnyLanguage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Any'**
|
||
String get exploreAnyLanguage;
|
||
|
||
/// No description provided for @exploreLanguagePair.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{front} → {back}'**
|
||
String exploreLanguagePair(String front, String back);
|
||
|
||
/// No description provided for @exploreKinds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Content'**
|
||
String get exploreKinds;
|
||
|
||
/// No description provided for @exploreKindsChosen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 kind of content} other{{count} kinds of content}}'**
|
||
String exploreKindsChosen(int count);
|
||
|
||
/// No description provided for @exploreKindCards.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Flashcards'**
|
||
String get exploreKindCards;
|
||
|
||
/// No description provided for @exploreKindNotes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Notes'**
|
||
String get exploreKindNotes;
|
||
|
||
/// No description provided for @exploreKindPaths.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Learning paths'**
|
||
String get exploreKindPaths;
|
||
|
||
/// No description provided for @exploreKindPdfs.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'PDFs'**
|
||
String get exploreKindPdfs;
|
||
|
||
/// No description provided for @exploreKindsIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Only studysets holding each of these.'**
|
||
String get exploreKindsIntro;
|
||
|
||
/// No description provided for @exploreClearFilters.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Clear filters'**
|
||
String get exploreClearFilters;
|
||
|
||
/// No description provided for @exploreNothingMatches.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing published here matches.'**
|
||
String get exploreNothingMatches;
|
||
|
||
/// No description provided for @exploreBy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'by {author}'**
|
||
String exploreBy(String author);
|
||
|
||
/// No description provided for @exploreRelease.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'v{version} · {date}'**
|
||
String exploreRelease(int version, String date);
|
||
|
||
/// No description provided for @exploreLatestRelease.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Latest release: v{version} · {date}'**
|
||
String exploreLatestRelease(int version, String date);
|
||
|
||
/// No description provided for @exploreAddToLibrary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add to library'**
|
||
String get exploreAddToLibrary;
|
||
|
||
/// No description provided for @exploreInLibrary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'In your library'**
|
||
String get exploreInLibrary;
|
||
|
||
/// No description provided for @explorePercent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{percent} %'**
|
||
String explorePercent(int percent);
|
||
|
||
/// No description provided for @exploreAdded.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Added to your library.'**
|
||
String get exploreAdded;
|
||
|
||
/// No description provided for @exploreOpen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Open'**
|
||
String get exploreOpen;
|
||
|
||
/// No description provided for @exploreNeedsNewerApp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This studyset needs a newer version of the app.'**
|
||
String get exploreNeedsNewerApp;
|
||
|
||
/// No description provided for @exploreFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t reach your instance. Try again.'**
|
||
String get exploreFailed;
|
||
|
||
/// No description provided for @exploreUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Explore can\'t be reached right now.'**
|
||
String get exploreUnreachable;
|
||
|
||
/// No description provided for @exploreRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Retry'**
|
||
String get exploreRetry;
|
||
|
||
/// No description provided for @exploreMore.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show more'**
|
||
String get exploreMore;
|
||
|
||
/// No description provided for @exploreNoDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No description.'**
|
||
String get exploreNoDescription;
|
||
|
||
/// No description provided for @exploreReadLicence.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Read the licence'**
|
||
String get exploreReadLicence;
|
||
|
||
/// No description provided for @publishWithdraw.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Take off Explore'**
|
||
String get publishWithdraw;
|
||
|
||
/// No description provided for @publishWithdrawTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Take it off Explore?'**
|
||
String get publishWithdrawTitle;
|
||
|
||
/// No description provided for @publishWithdrawMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nobody can add it any more, and copies get no updates. Its releases stay as they are; publishing it again brings it back.'**
|
||
String get publishWithdrawMessage;
|
||
|
||
/// No description provided for @publishWithdrawn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Withdrawn · copies get no updates'**
|
||
String get publishWithdrawn;
|
||
|
||
/// No description provided for @publishWithdrawnDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Taken off Explore.'**
|
||
String get publishWithdrawnDone;
|
||
|
||
/// No description provided for @copyUpdateOut.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'v{version} is out: {summary}.'**
|
||
String copyUpdateOut(int version, String summary);
|
||
|
||
/// No description provided for @copyUpdateChanged.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} changed'**
|
||
String copyUpdateChanged(int count);
|
||
|
||
/// No description provided for @copyUpdateAdded.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} new'**
|
||
String copyUpdateAdded(int count);
|
||
|
||
/// No description provided for @copyUpdateWithdrawn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} withdrawn'**
|
||
String copyUpdateWithdrawn(int count);
|
||
|
||
/// No description provided for @copyUpdateNothing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'nothing in your copy changes'**
|
||
String get copyUpdateNothing;
|
||
|
||
/// No description provided for @copyUpdate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Update'**
|
||
String get copyUpdate;
|
||
|
||
/// No description provided for @copyUpdated.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Updated to v{version}.'**
|
||
String copyUpdated(int version);
|
||
|
||
/// No description provided for @copyUpdatedToSettle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{One has a change of yours there too: open it to choose.} other{{count} have a change of yours there too: open them to choose.}}'**
|
||
String copyUpdatedToSettle(int count);
|
||
|
||
/// No description provided for @copyUpdateFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t reach your instance. Try again.'**
|
||
String get copyUpdateFailed;
|
||
|
||
/// No description provided for @cardBrowserStatusWithdrawn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Withdrawn by the author'**
|
||
String get cardBrowserStatusWithdrawn;
|
||
|
||
/// No description provided for @settingsPrivacy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Privacy'**
|
||
String get settingsPrivacy;
|
||
|
||
/// No description provided for @settingsCountLearning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Count my learning in Explore'**
|
||
String get settingsCountLearning;
|
||
|
||
/// No description provided for @settingsCountLearningSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Explore shows how many people on this instance learn a published studyset: those with an identity who chose this and studied it on 3 or more days in the last 30, rounded, from 5 on. Nothing about you is shown, and nothing leaves the instance.'**
|
||
String get settingsCountLearningSubtitle;
|
||
|
||
/// No description provided for @exploreLearners.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count}+ learn this here'**
|
||
String exploreLearners(int count);
|
||
|
||
/// No description provided for @publishLearnersFew.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fewer than 5 learn it here, of those who chose to be counted.'**
|
||
String get publishLearnersFew;
|
||
|
||
/// No description provided for @publishForkForbidden.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Its original forbids passing on adaptations: only its author publishes it.'**
|
||
String get publishForkForbidden;
|
||
|
||
/// No description provided for @publishLicenseMustStay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Its original asks adaptations to stay under {license}: choose it under Edit, for every studyset in it.'**
|
||
String publishLicenseMustStay(String license);
|
||
|
||
/// No description provided for @exploreBasedOn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'based on {location}'**
|
||
String exploreBasedOn(String location);
|
||
|
||
/// No description provided for @feedbackReport.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Report'**
|
||
String get feedbackReport;
|
||
|
||
/// No description provided for @feedbackSuggestion.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Suggestion'**
|
||
String get feedbackSuggestion;
|
||
|
||
/// No description provided for @feedbackOnStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'On the studyset'**
|
||
String get feedbackOnStudyset;
|
||
|
||
/// No description provided for @feedbackOnCard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'On a flashcard'**
|
||
String get feedbackOnCard;
|
||
|
||
/// No description provided for @feedbackOnNote.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'On a note'**
|
||
String get feedbackOnNote;
|
||
|
||
/// No description provided for @feedbackOnStep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'On a step'**
|
||
String get feedbackOnStep;
|
||
|
||
/// No description provided for @feedbackByOn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{name} · {date}'**
|
||
String feedbackByOn(String name, String date);
|
||
|
||
/// No description provided for @feedbackStatusClosed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Closed'**
|
||
String get feedbackStatusClosed;
|
||
|
||
/// No description provided for @feedbackStatusAccepted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Accepted'**
|
||
String get feedbackStatusAccepted;
|
||
|
||
/// No description provided for @feedbackStatusDeclined.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Declined'**
|
||
String get feedbackStatusDeclined;
|
||
|
||
/// No description provided for @feedbackStatusHidden.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hidden'**
|
||
String get feedbackStatusHidden;
|
||
|
||
/// No description provided for @feedbackReplyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Write a reply…'**
|
||
String get feedbackReplyHint;
|
||
|
||
/// No description provided for @feedbackSend.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Send'**
|
||
String get feedbackSend;
|
||
|
||
/// No description provided for @feedbackAccept.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Accept'**
|
||
String get feedbackAccept;
|
||
|
||
/// No description provided for @feedbackDecline.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Decline'**
|
||
String get feedbackDecline;
|
||
|
||
/// No description provided for @feedbackClose.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Close'**
|
||
String get feedbackClose;
|
||
|
||
/// No description provided for @feedbackReopen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reopen'**
|
||
String get feedbackReopen;
|
||
|
||
/// No description provided for @feedbackHide.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hide'**
|
||
String get feedbackHide;
|
||
|
||
/// No description provided for @feedbackShow.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show'**
|
||
String get feedbackShow;
|
||
|
||
/// No description provided for @feedbackBlock.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Block {name}'**
|
||
String feedbackBlock(String name);
|
||
|
||
/// No description provided for @feedbackBlockTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Block {name}?'**
|
||
String feedbackBlockTitle(String name);
|
||
|
||
/// No description provided for @feedbackBlockMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What they wrote on your studysets, and write, shows to nobody but them.'**
|
||
String get feedbackBlockMessage;
|
||
|
||
/// No description provided for @feedbackProposed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Proposed'**
|
||
String get feedbackProposed;
|
||
|
||
/// No description provided for @feedbackYours.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Yours now'**
|
||
String get feedbackYours;
|
||
|
||
/// No description provided for @feedbackAuthor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Author'**
|
||
String get feedbackAuthor;
|
||
|
||
/// No description provided for @feedbackAccepted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Taken into your studyset. The next release credits its writer.'**
|
||
String get feedbackAccepted;
|
||
|
||
/// No description provided for @feedbackDecided.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done.'**
|
||
String get feedbackDecided;
|
||
|
||
/// No description provided for @feedbackReplied.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reply sent.'**
|
||
String get feedbackReplied;
|
||
|
||
/// No description provided for @feedbackBlocked.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Blocked.'**
|
||
String get feedbackBlocked;
|
||
|
||
/// No description provided for @feedbackNotTaken.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This can\'t be taken: what it is about isn\'t in your studyset any more.'**
|
||
String get feedbackNotTaken;
|
||
|
||
/// No description provided for @feedbackFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Couldn\'t reach your instance. Try again.'**
|
||
String get feedbackFailed;
|
||
|
||
/// No description provided for @feedbackUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reports and suggestions can\'t be reached right now.'**
|
||
String get feedbackUnreachable;
|
||
|
||
/// No description provided for @feedbackRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Retry'**
|
||
String get feedbackRetry;
|
||
|
||
/// No description provided for @inboxTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Inbox'**
|
||
String get inboxTitle;
|
||
|
||
/// No description provided for @inboxIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reports and suggestions on your published studysets, and those you wrote.'**
|
||
String get inboxIntro;
|
||
|
||
/// No description provided for @inboxEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing yet.'**
|
||
String get inboxEmpty;
|
||
|
||
/// No description provided for @studysetFeedback.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reports and suggestions'**
|
||
String get studysetFeedback;
|
||
|
||
/// No description provided for @studysetFeedbackEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nobody has reported or suggested anything yet.'**
|
||
String get studysetFeedbackEmpty;
|
||
|
||
/// No description provided for @reportToAuthor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Report to the author'**
|
||
String get reportToAuthor;
|
||
|
||
/// No description provided for @cardReportToAuthor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Send to the author too'**
|
||
String get cardReportToAuthor;
|
||
|
||
/// No description provided for @cardReportToAuthorHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Public: everyone learning it reads it, with your public profile.'**
|
||
String get cardReportToAuthorHint;
|
||
|
||
/// No description provided for @feedbackReportSent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sent to the author.'**
|
||
String get feedbackReportSent;
|
||
|
||
/// No description provided for @suggestToAuthor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Suggest to the author'**
|
||
String get suggestToAuthor;
|
||
|
||
/// No description provided for @suggestHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What it changes, and why'**
|
||
String get suggestHint;
|
||
|
||
/// No description provided for @suggestIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The author sees it as you have it now, beside theirs. Public: everyone learning it reads it, with your public profile.'**
|
||
String get suggestIntro;
|
||
|
||
/// No description provided for @suggestSent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Suggestion sent.'**
|
||
String get suggestSent;
|
||
|
||
/// No description provided for @suggestNoDerivatives.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Its licence forbids adaptations: no suggestions.'**
|
||
String get suggestNoDerivatives;
|
||
|
||
/// No description provided for @feedbackNeedsIdentity.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sign in with GitHub to report to the author and suggest.'**
|
||
String get feedbackNeedsIdentity;
|
||
|
||
/// No description provided for @kanjiExampleWords.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Words with it'**
|
||
String get kanjiExampleWords;
|
||
|
||
/// No description provided for @settingsAssistant.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Assistant'**
|
||
String get settingsAssistant;
|
||
|
||
/// No description provided for @settingsAskClaude.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ask Claude or search the web'**
|
||
String get settingsAskClaude;
|
||
|
||
/// No description provided for @settingsAskClaudeSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Off unless you turn it on. Adds a field on Home and a button in the Library, on a studyset and while studying. A question opens in Claude or as a web search, with only the context you choose; nothing is sent from here.'**
|
||
String get settingsAskClaudeSubtitle;
|
||
|
||
/// No description provided for @assistantHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ask Claude…'**
|
||
String get assistantHint;
|
||
|
||
/// No description provided for @assistantHintStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ask Claude about {title}…'**
|
||
String assistantHintStudyset(String title);
|
||
|
||
/// No description provided for @assistantHintCard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ask Claude about this card…'**
|
||
String get assistantHintCard;
|
||
|
||
/// No description provided for @assistantSend.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ask in Claude'**
|
||
String get assistantSend;
|
||
|
||
/// No description provided for @assistantOpen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ask or search'**
|
||
String get assistantOpen;
|
||
|
||
/// No description provided for @assistantClose.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Close'**
|
||
String get assistantClose;
|
||
|
||
/// No description provided for @assistantOpenFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Claude couldn\'t be opened.'**
|
||
String get assistantOpenFailed;
|
||
|
||
/// No description provided for @assistantConnectTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Connect Claude'**
|
||
String get assistantConnectTitle;
|
||
|
||
/// No description provided for @assistantConnectSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Let Claude read your studysets'**
|
||
String get assistantConnectSubtitle;
|
||
|
||
/// No description provided for @assistantConnectIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Claude can read your studysets, cards, notes and progress on {instance} through Halkyon Learn\'s connector, and answer about them. It can\'t change anything. What it reads goes to Anthropic, under their privacy policy.'**
|
||
String assistantConnectIntro(String instance);
|
||
|
||
/// No description provided for @assistantStepAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'In Claude, open Settings › Connectors and add a custom connector named Halkyon Learn, with this address. Added once, it works in Claude\'s apps too.'**
|
||
String get assistantStepAdd;
|
||
|
||
/// No description provided for @assistantStepCode.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Claude then opens a page asking for a code. Get one here: it works once, for ten minutes.'**
|
||
String get assistantStepCode;
|
||
|
||
/// No description provided for @assistantShowCode.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show a code'**
|
||
String get assistantShowCode;
|
||
|
||
/// No description provided for @assistantNewCode.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New code'**
|
||
String get assistantNewCode;
|
||
|
||
/// No description provided for @assistantCodeValid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Valid until {time}'**
|
||
String assistantCodeValid(String time);
|
||
|
||
/// No description provided for @assistantCopy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Copy'**
|
||
String get assistantCopy;
|
||
|
||
/// No description provided for @assistantCopied.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Copied'**
|
||
String get assistantCopied;
|
||
|
||
/// No description provided for @assistantConnected.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Connected'**
|
||
String get assistantConnected;
|
||
|
||
/// No description provided for @assistantNoneConnected.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing connected yet.'**
|
||
String get assistantNoneConnected;
|
||
|
||
/// No description provided for @assistantConnectedOn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'connected {date}'**
|
||
String assistantConnectedOn(String date);
|
||
|
||
/// No description provided for @assistantLastRead.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'last read {date}'**
|
||
String assistantLastRead(String date);
|
||
|
||
/// No description provided for @assistantDisconnect.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Disconnect'**
|
||
String get assistantDisconnect;
|
||
|
||
/// No description provided for @assistantDisconnectTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Disconnect {name}?'**
|
||
String assistantDisconnectTitle(String name);
|
||
|
||
/// No description provided for @assistantDisconnectMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'It can\'t read your studysets any more. You can connect it again with a new code.'**
|
||
String get assistantDisconnectMessage;
|
||
|
||
/// No description provided for @assistantNotOffered.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This instance doesn\'t offer a connector yet. Questions still open in Claude with what they are about.'**
|
||
String get assistantNotOffered;
|
||
|
||
/// No description provided for @assistantUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The instance can\'t be reached. Try again once you are online.'**
|
||
String get assistantUnreachable;
|
||
|
||
/// No description provided for @assistantRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Try again'**
|
||
String get assistantRetry;
|
||
|
||
/// A line of context handed to Claude after the question.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Front: {text}'**
|
||
String assistantLineFront(String text);
|
||
|
||
/// No description provided for @assistantLineBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back: {text}'**
|
||
String assistantLineBack(String text);
|
||
|
||
/// No description provided for @assistantLineHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hint {number}: {text}'**
|
||
String assistantLineHint(int number, String text);
|
||
|
||
/// No description provided for @assistantLineExplanation.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Explanation: {text}'**
|
||
String assistantLineExplanation(String text);
|
||
|
||
/// No description provided for @assistantLineStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Studyset: “{title}” in Halkyon Learn on {instance}'**
|
||
String assistantLineStudyset(String title, String instance);
|
||
|
||
/// No description provided for @assistantLineDescription.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Description: {text}'**
|
||
String assistantLineDescription(String text);
|
||
|
||
/// No description provided for @assistantChipStudyset.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Studyset: {title}'**
|
||
String assistantChipStudyset(String title);
|
||
|
||
/// No description provided for @assistantContextLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Send along'**
|
||
String get assistantContextLabel;
|
||
|
||
/// No description provided for @assistantTargetClaude.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Claude'**
|
||
String get assistantTargetClaude;
|
||
|
||
/// No description provided for @assistantTargetWeb.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Web'**
|
||
String get assistantTargetWeb;
|
||
|
||
/// No description provided for @assistantSwitchToWeb.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search the web instead'**
|
||
String get assistantSwitchToWeb;
|
||
|
||
/// No description provided for @assistantSwitchToClaude.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ask Claude instead'**
|
||
String get assistantSwitchToClaude;
|
||
|
||
/// No description provided for @assistantHintWeb.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search the web…'**
|
||
String get assistantHintWeb;
|
||
|
||
/// No description provided for @assistantSendWeb.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search'**
|
||
String get assistantSendWeb;
|
||
|
||
/// No description provided for @assistantSearchFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The search couldn\'t be opened.'**
|
||
String get assistantSearchFailed;
|
||
|
||
/// No description provided for @settingsSearchEngine.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search engine'**
|
||
String get settingsSearchEngine;
|
||
|
||
/// No description provided for @searchEngineDevice.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The device\'s search'**
|
||
String get searchEngineDevice;
|
||
|
||
/// No description provided for @searchEngineCustom.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your own address'**
|
||
String get searchEngineCustom;
|
||
|
||
/// No description provided for @searchEngineCustomHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'https://example.org/search?q=%s'**
|
||
String get searchEngineCustomHint;
|
||
|
||
/// No description provided for @searchEngineCustomInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'An http or https address with %s where the question goes.'**
|
||
String get searchEngineCustomInvalid;
|
||
|
||
/// No description provided for @searchEngineCustomSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Use'**
|
||
String get searchEngineCustomSave;
|
||
}
|
||
|
||
class _AppLocalizationsDelegate
|
||
extends LocalizationsDelegate<AppLocalizations> {
|
||
const _AppLocalizationsDelegate();
|
||
|
||
@override
|
||
Future<AppLocalizations> load(Locale locale) {
|
||
return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));
|
||
}
|
||
|
||
@override
|
||
bool isSupported(Locale locale) =>
|
||
<String>['de', 'en'].contains(locale.languageCode);
|
||
|
||
@override
|
||
bool shouldReload(_AppLocalizationsDelegate old) => false;
|
||
}
|
||
|
||
AppLocalizations lookupAppLocalizations(Locale locale) {
|
||
// Lookup logic when language+country codes are specified.
|
||
switch (locale.languageCode) {
|
||
case 'en':
|
||
{
|
||
switch (locale.countryCode) {
|
||
case 'GB':
|
||
return AppLocalizationsEnGb();
|
||
case 'US':
|
||
return AppLocalizationsEnUs();
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
|
||
// Lookup logic when only language code is specified.
|
||
switch (locale.languageCode) {
|
||
case 'de':
|
||
return AppLocalizationsDe();
|
||
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.',
|
||
);
|
||
}
|