Some checks failed
CI / Windows build (push) Has been cancelled
Phase 2 (core swap). The PDF editor and split-view scratchpad stop writing SQLite and persist to a per-file sidecar `<pdfPath>.badnote.json` (debounced, atomic temp+rename+.bak) — so annotations travel with the file. The source path is the identity (no more djb2 doc-id). - SidecarRepository wraps the Phase-1 store with debounced autosave. - pen_editor: per-page ink, scratch-links AND highlights now persist to the sidecar and restore on reopen (closes persist-highlights). - New "un-highlight" tool: tap a stored highlight to remove it — the highlight could not be removed before. - split_view: each anchor's scratchpad lives in the sidecar's scratchLinks[id].scratchpad, keyed by anchor id. Note: pre-existing SQLite annotations are migrated later (Phase 5); note/slide editors swap in Phase 4. analyze clean, tests green.
308 lines
6.3 KiB
Dart
308 lines
6.3 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 => 'BadNote';
|
|
|
|
@override
|
|
String get settings => 'Settings';
|
|
|
|
@override
|
|
String get search => 'Search';
|
|
|
|
@override
|
|
String get importPdf => 'Import PDF';
|
|
|
|
@override
|
|
String get importPpt => 'Import PPT';
|
|
|
|
@override
|
|
String get penCanvasBeta => 'Pen Canvas (beta)';
|
|
|
|
@override
|
|
String get newNote => 'New Note';
|
|
|
|
@override
|
|
String get open => 'Open';
|
|
|
|
@override
|
|
String get cancel => 'Cancel';
|
|
|
|
@override
|
|
String get delete => 'Delete';
|
|
|
|
@override
|
|
String get deleteNoteTitle => 'Delete note?';
|
|
|
|
@override
|
|
String get deleteNote => 'Delete note';
|
|
|
|
@override
|
|
String get openInSplitView => 'Open in Split View';
|
|
|
|
@override
|
|
String get splitViewSubtitle => 'PDF reference + scratchpad';
|
|
|
|
@override
|
|
String get removeDocument => 'Remove document';
|
|
|
|
@override
|
|
String get ok => 'OK';
|
|
|
|
@override
|
|
String get pickColor => 'Pick a color';
|
|
|
|
@override
|
|
String get clearSettingsTitle => 'Clear all local settings?';
|
|
|
|
@override
|
|
String get clear => 'Clear';
|
|
|
|
@override
|
|
String get settingsReset => 'Settings reset to defaults';
|
|
|
|
@override
|
|
String get themeSystem => 'System';
|
|
|
|
@override
|
|
String get themeLight => 'Light';
|
|
|
|
@override
|
|
String get themeDark => 'Dark';
|
|
|
|
@override
|
|
String get seedColorDesc => 'Seed color for Material 3 theme';
|
|
|
|
@override
|
|
String get searchHint => 'Search notes and documents...';
|
|
|
|
@override
|
|
String searchError(String error) {
|
|
return 'Search error: $error';
|
|
}
|
|
|
|
@override
|
|
String noResultsFor(String query) {
|
|
return 'No results for \"$query\"';
|
|
}
|
|
|
|
@override
|
|
String get typeToSearch => 'Type to search your notes and documents';
|
|
|
|
@override
|
|
String get sectionNotes => 'Notes';
|
|
|
|
@override
|
|
String get sectionDocuments => 'Documents';
|
|
|
|
@override
|
|
String pageLabel(int page) {
|
|
return 'Page $page';
|
|
}
|
|
|
|
@override
|
|
String get processingPptx => 'Processing PPTX...';
|
|
|
|
@override
|
|
String get processingPresentation => 'Processing presentation...';
|
|
|
|
@override
|
|
String get couldNotOpenPresentation => 'Could not open presentation.';
|
|
|
|
@override
|
|
String get toolPen => 'Pen';
|
|
|
|
@override
|
|
String get toolHighlighter => 'Highlighter';
|
|
|
|
@override
|
|
String get toolEraser => 'Eraser';
|
|
|
|
@override
|
|
String get brushPicker => 'Brush';
|
|
|
|
@override
|
|
String get brushFountainPen => 'Fountain pen';
|
|
|
|
@override
|
|
String get brushBallpoint => 'Ballpoint';
|
|
|
|
@override
|
|
String get brushPencil => 'Pencil';
|
|
|
|
@override
|
|
String get brushHighlighter => 'Highlighter';
|
|
|
|
@override
|
|
String get toolSelect => 'Select';
|
|
|
|
@override
|
|
String get toolShape => 'Shape';
|
|
|
|
@override
|
|
String get shapePicker => 'Shape';
|
|
|
|
@override
|
|
String get shapeLine => 'Line';
|
|
|
|
@override
|
|
String get shapeRectangle => 'Rectangle';
|
|
|
|
@override
|
|
String get shapeEllipse => 'Ellipse';
|
|
|
|
@override
|
|
String get shapeArrow => 'Arrow';
|
|
|
|
@override
|
|
String get actionDeleteSelection => 'Delete selection';
|
|
|
|
@override
|
|
String get actionUndo => 'Undo';
|
|
|
|
@override
|
|
String get actionRedo => 'Redo';
|
|
|
|
@override
|
|
String get fingerDrawingOn => 'Finger drawing ON';
|
|
|
|
@override
|
|
String get fingerDrawingOff => 'Finger drawing OFF (pen only)';
|
|
|
|
@override
|
|
String get pages => 'Pages';
|
|
|
|
@override
|
|
String get penSettings => 'Pen settings';
|
|
|
|
@override
|
|
String get inputDiagnostic => 'Input diagnostic (writes a log file)';
|
|
|
|
@override
|
|
String get back => 'Back';
|
|
|
|
@override
|
|
String get previousPage => 'Previous page';
|
|
|
|
@override
|
|
String get nextPage => 'Next page';
|
|
|
|
@override
|
|
String get toolSelectText => 'Select text';
|
|
|
|
@override
|
|
String get actionHighlightSelection => 'Highlight selection';
|
|
|
|
@override
|
|
String get toolRemoveHighlight => 'Remove highlight (tap a highlight)';
|
|
|
|
@override
|
|
String get toolPlaceScratchLink => 'Place scratch link';
|
|
|
|
@override
|
|
String get scratchLinkDeleteTitle => 'Delete scratch link?';
|
|
|
|
@override
|
|
String get scratchLinkDeleteBody =>
|
|
'This removes the anchor and its private scratchpad.';
|
|
|
|
@override
|
|
String failedToOpenPdf(String error) {
|
|
return 'Failed to open PDF:\n$error';
|
|
}
|
|
|
|
@override
|
|
String get pdfNoPages => 'PDF has no pages.';
|
|
|
|
@override
|
|
String pageOfPages(int current, int total) {
|
|
return '$current / $total';
|
|
}
|
|
|
|
@override
|
|
String get board => 'Board';
|
|
|
|
@override
|
|
String get boardTitle => 'Sticky Board';
|
|
|
|
@override
|
|
String get boardOpen => 'Sticky note board';
|
|
|
|
@override
|
|
String get boardAddCard => 'Add card';
|
|
|
|
@override
|
|
String get boardNewCardText => 'New note';
|
|
|
|
@override
|
|
String get boardDeleteCard => 'Delete card';
|
|
|
|
@override
|
|
String get boardDeleteCardTitle => 'Delete this card?';
|
|
|
|
@override
|
|
String get boardBacklinks => 'Linked from';
|
|
|
|
@override
|
|
String get boardNoBacklinks => 'Nothing links here yet';
|
|
|
|
@override
|
|
String boardDanglingLink(String target) {
|
|
return 'No card named \"$target\"';
|
|
}
|
|
|
|
@override
|
|
String get close => 'Close';
|
|
|
|
@override
|
|
String get vaultSetupTitle => 'Choose your vault';
|
|
|
|
@override
|
|
String get vaultSetupHeadline => 'Pick a folder for your notebooks';
|
|
|
|
@override
|
|
String get vaultSetupBody =>
|
|
'BadNote stores your notebooks inside one folder you choose — like an Obsidian vault. Pick a folder you control (e.g. a synced folder) so your notes travel with their files.';
|
|
|
|
@override
|
|
String get vaultChooseFolder => 'Choose folder';
|
|
|
|
@override
|
|
String get vaultMissingTitle => 'Your vault folder is missing';
|
|
|
|
@override
|
|
String get vaultMissingBody =>
|
|
'The folder you picked can\'t be found (it may have been moved, deleted, or on a drive that\'s unplugged). Relocate it or pick a new one.';
|
|
|
|
@override
|
|
String vaultPickFailed(String error) {
|
|
return 'Couldn\'t open the folder picker: $error';
|
|
}
|
|
|
|
@override
|
|
String get vaultNotWritable =>
|
|
'That folder isn\'t writable. Please choose another.';
|
|
|
|
@override
|
|
String get vaultSection => 'Vault';
|
|
|
|
@override
|
|
String get vaultFolderLabel => 'Vault folder';
|
|
|
|
@override
|
|
String get vaultNoneSelected => 'No folder selected';
|
|
|
|
@override
|
|
String get vaultChangeFolder => 'Change vault folder';
|
|
|
|
@override
|
|
String get vaultUpdated => 'Vault folder updated';
|
|
}
|