All checks were successful
CI / Windows build (push) Successful in 14m54s
Replace the 2-tool ink system with a data-driven, Krita-style BrushProfile (lib/editor/engine/brush.dart). Adding a brush is a const map entry, not render-path branching. Four presets from the rnote/krita spec: - fountain pen: quadratic (p^2) pressure, wide dynamic width - ballpoint: near-constant width (thinning 0.15) - highlighter: flat width, square caps - pencil: sqrt(p) pressure, moderate width Pressure is pre-warped per brush via PressureCurve(gamma) before perfect_freehand; geometry fields (thinning/streamline/smoothing/ caps) flow through the shared stroke recipe so the PDF overlay and the note/slide PenCanvas both honor the brush. Brush kind is now persisted on the stroke model. Picker added to all three toolbars. Opacity/multiply and pencil grain are carried as data but not yet composited (TODO brush-opacity / brush-texture); this increment is width + pressure-curve differentiation. analyze clean, 283 tests.
192 lines
3.7 KiB
Dart
192 lines
3.7 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 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 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';
|
|
}
|
|
}
|