halkyon/halkyon_learn_flutter/lib/l10n/app_localizations_en.dart
Tizian 「ティツィアーン」 9dc9b6a5ed
feat(app): choose, manage and filter by tags
The card editor offers its tags: a picker that searches by the start of
a name, creates a tag (name and colour) and chooses it, and saves the
choice with the card. A sheet lists every tag with its count, to add,
rename (merging into a tag of that name), recolour and delete them, with
an undo. The card list shows each card's tags and narrows to one tag.

The editor closed twice once tags changed after saving; it now closes
on becoming done only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-01 17:40:10 +02:00

522 lines
12 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 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 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.';
}