Files
BadNote/lib/l10n/app_localizations_en.dart
Akiba So 2b1c6ba7e0
All checks were successful
CI / Windows build (push) Successful in 8m42s
feat: OneNote-style notebooks, text fonts, and page navigation
Add notebook.json containers with multi-member pages, fix PDF text
editing (size/bold/drag/double-tap), index SidecarText in search, and
share keyboard page shortcuts plus a PDF scrubber.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 20:27:35 +08:00

624 lines
13 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 importFile => 'Import file';
@override
String get createNotebook => 'Create notebook';
@override
String get newNotebookTitle => 'New notebook';
@override
String get notebookTitleHint => 'Notebook title';
@override
String get create => 'Create';
@override
String get untitledNote => 'Untitled';
@override
String get noNotesYetHint => 'No ink notes yet — tap + to create one';
@override
String get noDocumentsYet => 'No documents yet — tap Import file';
@override
String get processingImport => 'Importing…';
@override
String importFailed(String error) {
return 'Couldn\'t import that file: $error';
}
@override
String get convertNeedsLibreOffice =>
'Importing Word documents needs LibreOffice installed. Convert to PDF first, or install LibreOffice.';
@override
String unsupportedFileType(String ext) {
return 'Unsupported file type: $ext';
}
@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 toolText => 'Text (tap or double-click to add)';
@override
String get textPlaceholder => 'Type…';
@override
String get scratchLinkDeleteTitle => 'Delete scratch link?';
@override
String get scratchLinkDeleteBody =>
'This removes the anchor and its private scratchpad.';
@override
String get toolAddBookmark => 'Add bookmark (here or at selection)';
@override
String get toolBookmarks => 'Bookmarks';
@override
String get bookmarksTitle => 'Bookmarks';
@override
String get bookmarksEmpty => 'No bookmarks yet.';
@override
String bookmarkDefaultLabel(int page) {
return 'Page $page';
}
@override
String bookmarkPageLabel(int page) {
return 'Page $page';
}
@override
String get bookmarkDeleteTitle => 'Delete bookmark?';
@override
String get bookmarkDeleteBody => 'This removes the saved location.';
@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 libraryTab => 'Library';
@override
String get boardTab => 'Stickies';
@override
String get shellTagline => 'Ink · Annotate · Know';
@override
String get notesSection => 'Notes';
@override
String get documentsSection => 'Documents';
@override
String get emptyLibraryTitle => 'Nothing here yet';
@override
String get emptyLibraryBody => 'Create a note, or import PDF / PPT / Word';
@override
String get diagnosticsSection => 'Diagnostics';
@override
String get diagnosticsExport => 'Export diagnostic pack';
@override
String get diagnosticsExportHint =>
'Reproduce on Surface, export, and send the zip back';
@override
String get diagnosticsToggle => 'Input diagnostics overlay';
@override
String get penSettingsUnified => 'Pen & ink';
@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';
@override
String get syncSection => 'Sync (WebDAV)';
@override
String get syncServerUrl => 'Server URL';
@override
String get syncServerUrlHint =>
'https://dav.example.com/remote.php/dav/files/me';
@override
String get syncUsername => 'Username';
@override
String get syncPassword => 'Password';
@override
String get syncRemoteFolder => 'Remote folder';
@override
String get syncRemoteFolderHint => 'BadNote';
@override
String get syncSave => 'Save';
@override
String get syncSaved => 'Sync settings saved';
@override
String get syncTestConnection => 'Test connection';
@override
String get syncTestOk => 'Connection OK';
@override
String syncTestFailed(String error) {
return 'Connection failed: $error';
}
@override
String get syncNow => 'Sync now';
@override
String get syncRunning => 'Syncing…';
@override
String get syncNeverRun => 'Never synced';
@override
String syncLastRun(String when) {
return 'Last synced: $when';
}
@override
String syncResultSummary(int uploaded, int downloaded, int conflicts) {
return '$uploaded uploaded · $downloaded downloaded · $conflicts conflicts';
}
@override
String syncFailed(String error) {
return 'Sync failed: $error';
}
@override
String get syncAuto => 'Sync automatically on launch';
@override
String get syncCredentialsNote =>
'Credentials are stored locally in plain text. Use a dedicated app password.';
@override
String get syncNotConfigured => 'Enter a server URL to enable sync.';
@override
String get settingsDefaults => 'Defaults';
@override
String get settingsAppearance => 'Appearance';
@override
String get settingsAbout => 'About';
@override
String get settingsDefaultTool => 'Default tool';
@override
String get settingsDefaultColor => 'Default color';
@override
String get settingsDefaultWidth => 'Default stroke width';
@override
String get settingsPressureCurve => 'Pressure curve';
@override
String get settingsClearConfirmBody =>
'This resets pen defaults and appearance. Notes and documents are not affected.';
@override
String get serverSection => 'BadNote Server';
@override
String get serverUrl => 'Server URL';
@override
String get serverUrlHint => 'http://192.168.1.10:8080';
@override
String get serverUsername => 'Username';
@override
String get serverPassword => 'Password';
@override
String get serverSave => 'Save & sign in';
@override
String get serverTest => 'Test connection';
@override
String serverTestOk(String version) {
return 'Connected · API $version';
}
@override
String serverTestFail(String error) {
return 'Connection failed: $error';
}
@override
String get serverLoggedIn => 'Signed in';
@override
String get serverHint =>
'Optional. Self-hosted vault assist + deferred OCR; notes stay fully offline.';
@override
String get boardEmptyTitle => 'No sticky notes yet';
@override
String get boardEmptyBody =>
'Tap + to add a card. Write [[other-card-id]] in the body to create a backlink.';
@override
String get relativeJustNow => 'Just now';
@override
String relativeMinutesAgo(int n) {
return '${n}m ago';
}
@override
String relativeHoursAgo(int n) {
return '${n}h ago';
}
@override
String get relativeYesterday => 'Yesterday';
@override
String diagExported(int bytes) {
return 'Diagnostic pack exported ($bytes bytes)\nPath copied';
}
@override
String diagExportFail(String error) {
return 'Export failed: $error';
}
@override
String get processingOcr => 'Processing OCR…';
@override
String get notebooksSection => 'Notebooks';
@override
String get addBlankPage => 'Blank page';
@override
String get importIntoNotebook => 'Import into notebook';
@override
String get notebookMembersEmpty => 'No pages yet';
@override
String memberCount(int count) {
return '$count items';
}
@override
String get textFontSmall => 'S';
@override
String get textFontMedium => 'M';
@override
String get textFontLarge => 'L';
@override
String get textBold => 'Bold';
@override
String get textDragHint => 'Drag to move';
}