The studyset's options offer Reset progress: after asking, every card in it and in the studysets inside it starts afresh as new (a 'reset' entry each), its history kept; an undo for a few seconds deletes those entries again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
979 lines
22 KiB
Dart
979 lines
22 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 homeLibraryIntro =>
|
|
'Your studysets and cards are in your library.';
|
|
|
|
@override
|
|
String get homeOpenLibrary => 'Open library';
|
|
|
|
@override
|
|
String get libraryTitle => 'Library';
|
|
|
|
@override
|
|
String get libraryNewStudyset => 'New 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.';
|
|
|
|
@override
|
|
String get studysetSheetColor => 'Color';
|
|
|
|
@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 'Color: $color';
|
|
}
|
|
|
|
@override
|
|
String studysetCountFlashcards(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '$count flashcards',
|
|
one: '1 flashcard',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get studysetNoContent => 'No content yet';
|
|
|
|
@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 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 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 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 studysetReorder => 'Reorder';
|
|
|
|
@override
|
|
String get studysetReorderDone => 'Done';
|
|
|
|
@override
|
|
String get studysetDragToReorder => 'Drag to reorder';
|
|
|
|
@override
|
|
String get studysetMoveTitle => 'Move studyset to';
|
|
|
|
@override
|
|
String get studysetMoveTopLevel => 'Top level';
|
|
|
|
@override
|
|
String get studysetMoveCurrent => 'Where it is now';
|
|
|
|
@override
|
|
String get studysetMoveConfirm => 'Move';
|
|
|
|
@override
|
|
String get studysetMoveShowInside => 'Show what is inside';
|
|
|
|
@override
|
|
String get studysetMoveHideInside => 'Hide what is inside';
|
|
|
|
@override
|
|
String studysetMoved(String destination) {
|
|
return 'Moved to $destination.';
|
|
}
|
|
|
|
@override
|
|
String get studysetReadMore => 'Read more';
|
|
|
|
@override
|
|
String get studysetDescriptionTitle => 'Description';
|
|
|
|
@override
|
|
String get studysetDescriptionEditTitle => 'Edit description';
|
|
|
|
@override
|
|
String get studysetDescriptionSave => 'Save';
|
|
|
|
@override
|
|
String get studysetSheetDescription => 'Description';
|
|
|
|
@override
|
|
String get studysetSheetDescriptionAdd => 'Add a description';
|
|
|
|
@override
|
|
String get studysetSheetInheritColor => 'Same color as the studyset it is in';
|
|
|
|
@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 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 => 'Color';
|
|
|
|
@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 studySettingsFilterHint =>
|
|
'Study only the flashcards with any of the tags chosen.';
|
|
|
|
@override
|
|
String get studySettingsNoTags =>
|
|
'No tags yet. Add tags to your flashcards to filter them here.';
|
|
|
|
@override
|
|
String get studySettingsReset => 'Reset';
|
|
|
|
@override
|
|
String get studySettingsSave => 'Save';
|
|
|
|
@override
|
|
String get cardTagsLabel => 'Tags';
|
|
|
|
@override
|
|
String get cardTagsAdd => 'Add tags';
|
|
|
|
@override
|
|
String get cardTagsEdit => 'Edit tags';
|
|
|
|
@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 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 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 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 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 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 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 studyRoundDone => 'Round complete';
|
|
|
|
@override
|
|
String get studyContinue => 'Continue learning';
|
|
|
|
@override
|
|
String get studyPrevious => 'Previous card';
|
|
|
|
@override
|
|
String get studyNext => 'Next card';
|
|
|
|
@override
|
|
String get studyReading => 'Reading';
|
|
|
|
@override
|
|
String get studyMeanings => 'Meanings';
|
|
|
|
@override
|
|
String get studyPlaceItems =>
|
|
'Drag each item onto its category, or tap an item and then a category.';
|
|
|
|
@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. Due reviews are never limited.';
|
|
|
|
@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 studySortOldestFirst => 'Oldest first';
|
|
|
|
@override
|
|
String get studySortRandom => 'Random';
|
|
|
|
@override
|
|
String get studySortNewestFirst => 'Newest first';
|
|
|
|
@override
|
|
String get studyFewer => 'Fewer';
|
|
|
|
@override
|
|
String get studyMore => 'More';
|
|
|
|
@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 commonCancel => 'Cancel';
|
|
|
|
@override
|
|
String get commonClose => 'Close';
|
|
|
|
@override
|
|
String get commonUndo => 'Undo';
|
|
|
|
@override
|
|
String get commonTryAgain => 'Try again';
|
|
|
|
@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.';
|
|
}
|