Wherever the old menus offered it: the studyset's options, a path's (in the list and in the runner), a note's, and a PDF's, all on the shared sheet the cards use: when it was made (from its UUID v7 id) and last changed where that is kept, its ids to copy (parent, studyset, PDF), and for a PDF its file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
3796 lines
84 KiB
Dart
3796 lines
84 KiB
Dart
// 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 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 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 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 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.';
|
||
|
||
@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 => 'Notes will appear here when you add them.';
|
||
|
||
@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 => 'Add some to start studying.';
|
||
|
||
@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 studysetImportPath => 'Learning path';
|
||
|
||
@override
|
||
String get studysetImportPathHint => 'From a Halkyon path JSON file';
|
||
|
||
@override
|
||
String get studysetImportAnki => 'Anki deck';
|
||
|
||
@override
|
||
String get studysetImportAnkiHint => 'From an .apkg or .colpkg file';
|
||
|
||
@override
|
||
String get studysetReorder => 'Reorder';
|
||
|
||
@override
|
||
String get studysetReorderPaths => 'Reorder paths';
|
||
|
||
@override
|
||
String get studysetReorderDone => 'Done';
|
||
|
||
@override
|
||
String get studysetOpenTopics => 'Show topics';
|
||
|
||
@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 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 settingsTitle => 'Settings';
|
||
|
||
@override
|
||
String get settingsAccount => 'Account';
|
||
|
||
@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 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 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 => 'Stored and displayed in lowercase.';
|
||
|
||
@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 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 composerLabelFront => 'Front';
|
||
|
||
@override
|
||
String get composerLabelQuestion => 'Question';
|
||
|
||
@override
|
||
String get composerLabelExpression => 'Expression';
|
||
|
||
@override
|
||
String get composerLabelPrompt => 'Prompt';
|
||
|
||
@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 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 differently on two devices. 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 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 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 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 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 =>
|
||
'Tap the region that answers the question; pinch or scroll to zoom.';
|
||
|
||
@override
|
||
String get mapNonePicked => 'No region picked yet';
|
||
|
||
@override
|
||
String get composerPlaceholderQuestion => 'Add question';
|
||
|
||
@override
|
||
String get composerLabelRegion => 'Answer';
|
||
|
||
@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 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 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';
|
||
}
|
||
|
||
/// 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 tagSheetColor => 'Color';
|
||
|
||
@override
|
||
String get formatAlignCenter => 'Center';
|
||
|
||
@override
|
||
String get homeCustomise => 'Customize';
|
||
}
|