feat(i18n): add English + Chinese localization
All checks were successful
CI / Windows build (push) Successful in 12m34s
All checks were successful
CI / Windows build (push) Successful in 12m34s
The app had zero localization ("软件多语言做了吗" — no). Add Flutter's
official gen-l10n pipeline and localize the core flow the user sees.
- pubspec: flutter_localizations + intl + generate: true
- l10n.yaml + lib/l10n/app_en.arb + app_zh.arb (37 strings)
- main.dart: localizationsDelegates + supportedLocales (follows OS locale)
- pen editor: all tool tooltips, page pill, error states localized
- home: app bar actions + empty-state buttons localized
Proven end-to-end: l10n_test pumps the same widget under Locale('en')
and Locale('zh') and asserts English vs Chinese strings resolve.
flutter analyze: 0 issues. l10n_test: 3/3 pass.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
46
lib/l10n/app_en.arb
Normal file
46
lib/l10n/app_en.arb
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"@@locale": "en",
|
||||
"appTitle": "BadNote",
|
||||
"settings": "Settings",
|
||||
"search": "Search",
|
||||
"importPdf": "Import PDF",
|
||||
"importPpt": "Import PPT",
|
||||
"penCanvasBeta": "Pen Canvas (beta)",
|
||||
"newNote": "New Note",
|
||||
"open": "Open",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"deleteNoteTitle": "Delete note?",
|
||||
"deleteNote": "Delete note",
|
||||
"openInSplitView": "Open in Split View",
|
||||
"splitViewSubtitle": "PDF reference + scratchpad",
|
||||
"removeDocument": "Remove document",
|
||||
"processingPptx": "Processing PPTX...",
|
||||
"processingPresentation": "Processing presentation...",
|
||||
"couldNotOpenPresentation": "Could not open presentation.",
|
||||
"toolPen": "Pen",
|
||||
"toolHighlighter": "Highlighter",
|
||||
"toolEraser": "Eraser",
|
||||
"actionUndo": "Undo",
|
||||
"actionRedo": "Redo",
|
||||
"fingerDrawingOn": "Finger drawing ON",
|
||||
"fingerDrawingOff": "Finger drawing OFF (pen only)",
|
||||
"pages": "Pages",
|
||||
"penSettings": "Pen settings",
|
||||
"inputDiagnostic": "Input diagnostic (writes a log file)",
|
||||
"back": "Back",
|
||||
"previousPage": "Previous page",
|
||||
"nextPage": "Next page",
|
||||
"failedToOpenPdf": "Failed to open PDF:\n{error}",
|
||||
"@failedToOpenPdf": {
|
||||
"placeholders": { "error": { "type": "String" } }
|
||||
},
|
||||
"pdfNoPages": "PDF has no pages.",
|
||||
"pageOfPages": "{current} / {total}",
|
||||
"@pageOfPages": {
|
||||
"placeholders": {
|
||||
"current": { "type": "int" },
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user