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